4e5f0cbd04be2f4d46f5321f32f6e727b126402c
[gnulib.git] / ChangeLog
1 2011-05-21  Bruno Haible  <bruno@clisp.org>
2
3         mkfifoat: Move AC_LIBOBJ invocations to module description.
4         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
5         here...
6         * modules/mkfifoat (configure.ac): ... to here.
7
8 2011-05-21  Bruno Haible  <bruno@clisp.org>
9
10         mkfifo: Respect rules for use of AC_LIBOBJ.
11         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
12         here...
13         * modules/mkfifo (configure.ac): ... to here.
14
15 2011-05-21  Bruno Haible  <bruno@clisp.org>
16
17         mkdtemp: Move AC_LIBOBJ invocations to module description.
18         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
19         invocations from here...
20         * modules/mkdtemp (configure.ac): ... to here.
21
22 2011-05-21  Bruno Haible  <bruno@clisp.org>
23
24         mkdir: Move AC_LIBOBJ invocations to module description.
25         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
26         * modules/mkdir (configure.ac): ... to here.
27
28 2011-05-21  Bruno Haible  <bruno@clisp.org>
29
30         memset: Move AC_LIBOBJ invocations to module description.
31         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
32         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
33         here...
34         * modules/memset (configure.ac): ... to here.
35
36 2011-05-21  Bruno Haible  <bruno@clisp.org>
37
38         memrchr: Move AC_LIBOBJ invocations to module description.
39         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
40         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
41         here...
42         * modules/memrchr (configure.ac): ... to here.
43
44 2011-05-21  Bruno Haible  <bruno@clisp.org>
45
46         mempcpy: Move AC_LIBOBJ invocations to module description.
47         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
48         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
49         here...
50         * modules/mempcpy (configure.ac): ... to here.
51
52 2011-05-21  Bruno Haible  <bruno@clisp.org>
53
54         memmove: Move AC_LIBOBJ invocations to module description.
55         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
56         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
57         here...
58         * modules/memmove (configure.ac): ... to here.
59
60 2011-05-21  Bruno Haible  <bruno@clisp.org>
61
62         memmem*: Move AC_LIBOBJ invocations to module description.
63         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
64         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
65         here...
66         (gl_FUNC_MEMMEM): ... and here...
67         * modules/memmem-simple (configure.ac): ... to here.
68         * modules/memmem (configure.ac): ... and here.
69
70 2011-05-21  Bruno Haible  <bruno@clisp.org>
71
72         memcpy: Move AC_LIBOBJ invocations to module description.
73         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
74         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
75         here...
76         * modules/memcpy (configure.ac): ... to here.
77
78 2011-05-21  Bruno Haible  <bruno@clisp.org>
79
80         memcmp: Simplify autoconf macro.
81         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
82         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
83         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
84
85 2011-05-21  Bruno Haible  <bruno@clisp.org>
86
87         memcmp: Move AC_LIBOBJ invocations to module description.
88         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
89         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
90         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
91         * modules/memcmp (configure.ac): ... to here.
92         (Depends-on): Update conditions.
93
94 2011-05-21  Bruno Haible  <bruno@clisp.org>
95
96         memchr: Respect rules for use of AC_LIBOBJ.
97         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
98         invocations from here...
99         * modules/memchr (configure.ac): ... to here.
100
101 2011-05-21  Bruno Haible  <bruno@clisp.org>
102
103         mbtowc: Move AC_LIBOBJ invocations to module description.
104         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
105         invocations from here...
106         * modules/mbtowc (configure.ac): ... to here.
107
108 2011-05-21  Bruno Haible  <bruno@clisp.org>
109
110         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
111         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
112         gl_PREREQ_MBSRTOWCS invocations from here...
113         * modules/mbsrtowcs (configure.ac): ... to here.
114
115 2011-05-21  Bruno Haible  <bruno@clisp.org>
116
117         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
118         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
119         gl_PREREQ_MBSNRTOWCS invocations from here...
120         * modules/mbsnrtowcs (configure.ac): ... to here.
121
122 2011-05-21  Bruno Haible  <bruno@clisp.org>
123
124         mbsinit: Move AC_LIBOBJ invocations to module description.
125         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
126         invocations from here...
127         * modules/mbsinit (configure.ac): ... to here.
128
129 2011-05-21  Bruno Haible  <bruno@clisp.org>
130
131         mbrlen: Move AC_LIBOBJ invocations to module description.
132         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
133         invocations from here...
134         * modules/mbrlen (configure.ac): ... to here.
135
136 2011-05-21  Bruno Haible  <bruno@clisp.org>
137
138         mbrtowc: Respect rules for use of AC_LIBOBJ.
139         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
140         invocations from here...
141         * modules/mbrtowc (configure.ac): ... to here.
142
143 2011-05-21  Bruno Haible  <bruno@clisp.org>
144
145         malloc-*: Move AC_LIBOBJ invocations to module description.
146         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
147         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
148         AC_LIBOBJ invocations from here...
149         * modules/malloc-gnu (configure.ac): ... to here.
150         * modules/malloc-posix (configure.ac): ... and here.
151
152 2011-05-21  Bruno Haible  <bruno@clisp.org>
153
154         lstat, openat: Respect rules for use of AC_LIBOBJ.
155         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
156         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
157         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
158         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
159         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
160         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
161         here.
162         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
163
164 2011-05-21  Bruno Haible  <bruno@clisp.org>
165
166         lseek: Move AC_LIBOBJ invocations to module description.
167         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
168         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
169         * modules/lseek (configure.ac): ... to here.
170
171 2011-05-21  Bruno Haible  <bruno@clisp.org>
172
173         linkat: Move AC_LIBOBJ invocations to module description.
174         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
175         here...
176         * modules/linkat (configure.ac): ... to here.
177
178 2011-05-21  Bruno Haible  <bruno@clisp.org>
179
180         link: Respect rules for use of AC_LIBOBJ.
181         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
182         * modules/link (configure.ac): ... to here.
183
184 2011-05-21  Bruno Haible  <bruno@clisp.org>
185
186         lchown: Move AC_LIBOBJ invocations to module description.
187         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
188         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
189         * modules/lchown (configure.ac): ... to here.
190
191 2011-05-21  Bruno Haible  <bruno@clisp.org>
192
193         iswctype: Move AC_LIBOBJ invocations to module description.
194         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
195         here...
196         * modules/iswctype (configure.ac): ... to here.
197
198 2011-05-21  Bruno Haible  <bruno@clisp.org>
199
200         iswblank: Move AC_LIBOBJ invocations to module description.
201         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
202         here...
203         * modules/iswblank (configure.ac): ... to here.
204
205 2011-05-21  Bruno Haible  <bruno@clisp.org>
206
207         atanl: Move AC_LIBOBJ invocations to module description.
208         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
209         * modules/atanl (configure.ac): ... to here.
210
211 2011-05-21  Bruno Haible  <bruno@clisp.org>
212
213         acosl: Move AC_LIBOBJ invocations to module description.
214         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
215         * modules/acosl (configure.ac): ... to here.
216
217 2011-05-21  Bruno Haible  <bruno@clisp.org>
218
219         asinl: Respect rules for use of AC_LIBOBJ.
220         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
221         * modules/asinl (configure.ac): ... to here.
222
223 2011-05-21  Bruno Haible  <bruno@clisp.org>
224
225         tanl: Move AC_LIBOBJ invocations to module description.
226         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
227         * modules/tanl (configure.ac): ... to here.
228
229 2011-05-21  Bruno Haible  <bruno@clisp.org>
230
231         cosl: Move AC_LIBOBJ invocations to module description.
232         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
233         * modules/cosl (configure.ac): ... to here.
234
235 2011-05-21  Bruno Haible  <bruno@clisp.org>
236
237         sinl: Move AC_LIBOBJ invocations to module description.
238         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
239         * modules/sinl (configure.ac): ... to here.
240
241 2011-05-21  Bruno Haible  <bruno@clisp.org>
242
243         logl: Move AC_LIBOBJ invocations to module description.
244         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
245         * modules/logl (configure.ac): ... to here.
246
247 2011-05-21  Bruno Haible  <bruno@clisp.org>
248
249         expl: Move AC_LIBOBJ invocations to module description.
250         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
251         * modules/expl (configure.ac): ... to here.
252
253 2011-05-21  Bruno Haible  <bruno@clisp.org>
254
255         roundl: Move AC_LIBOBJ invocations to module description.
256         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
257         * modules/roundl (configure.ac): ... to here.
258
259 2011-05-21  Bruno Haible  <bruno@clisp.org>
260
261         round: Move AC_LIBOBJ invocations to module description.
262         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
263         * modules/round (configure.ac): ... to here.
264
265 2011-05-21  Bruno Haible  <bruno@clisp.org>
266
267         roundf: Move AC_LIBOBJ invocations to module description.
268         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
269         * modules/roundf (configure.ac): ... to here.
270
271 2011-05-21  Bruno Haible  <bruno@clisp.org>
272
273         truncl: Move AC_LIBOBJ invocations to module description.
274         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
275         * modules/truncl (configure.ac): ... to here.
276
277 2011-05-21  Bruno Haible  <bruno@clisp.org>
278
279         trunc: Move AC_LIBOBJ invocations to module description.
280         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
281         * modules/trunc (configure.ac): ... to here.
282
283 2011-05-21  Bruno Haible  <bruno@clisp.org>
284
285         truncf: Move AC_LIBOBJ invocations to module description.
286         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
287         * modules/truncf (configure.ac): ... to here.
288
289 2011-05-21  Bruno Haible  <bruno@clisp.org>
290
291         ceill: Move AC_LIBOBJ invocations to module description.
292         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
293         * modules/ceill (configure.ac): ... to here.
294
295 2011-05-21  Bruno Haible  <bruno@clisp.org>
296
297         ceil: Move AC_LIBOBJ invocations to module description.
298         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
299         * modules/ceil (configure.ac): ... to here.
300
301 2011-05-21  Bruno Haible  <bruno@clisp.org>
302
303         ceilf: Move AC_LIBOBJ invocations to module description.
304         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
305         * modules/ceilf (configure.ac): ... to here.
306
307 2011-05-21  Bruno Haible  <bruno@clisp.org>
308
309         floorl: Respect rules for use of AC_LIBOBJ.
310         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
311         * modules/floorl (configure.ac): ... to here.
312
313 2011-05-21  Bruno Haible  <bruno@clisp.org>
314
315         floor: Respect rules for use of AC_LIBOBJ.
316         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
317         * modules/floor (configure.ac): ... to here.
318
319 2011-05-21  Bruno Haible  <bruno@clisp.org>
320
321         floorf: Move AC_LIBOBJ invocations to module description.
322         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
323         * modules/floorf (configure.ac): ... to here.
324
325 2011-05-20  Bruno Haible  <bruno@clisp.org>
326
327         sqrtl: Respect rules for use of AC_LIBOBJ.
328         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
329         * modules/sqrtl (configure.ac): ... to here.
330
331 2011-05-20  Bruno Haible  <bruno@clisp.org>
332
333         ldexpl: Respect rules for use of AC_LIBOBJ.
334         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
335         * modules/ldexpl (configure.ac): ... to here.
336
337 2011-05-20  Bruno Haible  <bruno@clisp.org>
338
339         frexpl*: Respect rules for use of AC_LIBOBJ.
340         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
341         invocation from here...
342         * modules/frexpl (configure.ac): ... to here.
343         * modules/frexpl-nolibm (configure.ac): ... and here.
344
345 2011-05-20  Bruno Haible  <bruno@clisp.org>
346
347         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
348         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
349         invocation from here...
350         * modules/frexp (configure.ac): ... to here.
351         * modules/frexp-nolibm (configure.ac): ... and here.
352
353 2011-05-20  Bruno Haible  <bruno@clisp.org>
354
355         isnan: Respect rules for use of AC_LIBOBJ.
356         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
357         invocations here.
358         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
359         REPLACE_ISNAN.
360         * modules/isnand (configure.ac): Likewise.
361         * modules/isnanl (configure.ac): Likewise.
362
363 2011-05-20  Bruno Haible  <bruno@clisp.org>
364
365         isnanl*: Respect rules for use of AC_LIBOBJ.
366         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
367         invocation from here...
368         * modules/isnanl (configure.ac): ... to here.
369         * modules/isnanl-nolibm (configure.ac): ... and here.
370
371 2011-05-20  Bruno Haible  <bruno@clisp.org>
372
373         isnand*: Move AC_LIBOBJ invocations to module description.
374         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
375         invocation from here...
376         * modules/isnand (configure.ac): ... to here.
377         * modules/isnand-nolibm (configure.ac): ... and here.
378
379 2011-05-20  Bruno Haible  <bruno@clisp.org>
380
381         isnanf*: Move AC_LIBOBJ invocations to module description.
382         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
383         invocation from here...
384         * modules/isnanf (configure.ac): ... to here.
385         * modules/isnanf-nolibm (configure.ac): ... and here.
386
387 2011-05-20  Bruno Haible  <bruno@clisp.org>
388
389         isnan*: Separate the AC_LIBOBJ invocations.
390         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
391         AC_LIBOBJ invocation.
392         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
393         here.
394         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
395         AC_LIBOBJ invocation.
396         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
397         here.
398         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
399         AC_LIBOBJ invocation.
400         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
401         here.
402         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
403
404 2011-05-08  Bruno Haible  <bruno@clisp.org>
405
406         isinf: Move AC_LIBOBJ invocations to module description.
407         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
408         * modules/isinf (configure.ac): ... to here.
409
410 2011-05-08  Bruno Haible  <bruno@clisp.org>
411
412         isfinite: Move AC_LIBOBJ invocations to module description.
413         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
414         * modules/isfinite (configure.ac): ... to here.
415
416 2011-05-08  Bruno Haible  <bruno@clisp.org>
417
418         isblank: Move AC_LIBOBJ invocations to module description.
419         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
420         here...
421         * modules/isblank (configure.ac): ... to here.
422
423 2011-05-08  Bruno Haible  <bruno@clisp.org>
424
425         isapipe: Move AC_LIBOBJ invocations to module description.
426         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
427         gl_PREREQ_ISAPIPE invocations from here...
428         * modules/isapipe (configure.ac): ... to here.
429         (Depends-on): Update condition.
430
431 2011-05-08  Bruno Haible  <bruno@clisp.org>
432
433         ioctl: Move AC_LIBOBJ invocations to module description.
434         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
435         invocations from here...
436         * modules/ioctl (configure.ac): ... to here.
437         (Depends-on): Update condition.
438
439 2011-05-08  Bruno Haible  <bruno@clisp.org>
440
441         imaxdiv: Move AC_LIBOBJ invocations to module description.
442         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
443         invocations from here...
444         * modules/imaxdiv (configure.ac): ... to here.
445
446 2011-05-08  Bruno Haible  <bruno@clisp.org>
447
448         imaxabs: Move AC_LIBOBJ invocations to module description.
449         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
450         invocations from here...
451         * modules/imaxabs (configure.ac): ... to here.
452
453 2011-05-08  Bruno Haible  <bruno@clisp.org>
454
455         getaddrinfo: Move AC_LIBOBJ invocations to module description.
456         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
457         AC_LIBOBJ invocations from here...
458         * modules/getaddrinfo (configure.ac): ... to here.
459         (Depends-on): Add conditions.
460
461 2011-05-08  Bruno Haible  <bruno@clisp.org>
462
463         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
464         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
465         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
466         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
467         (gl_PREREQ_INET_PTON): ... from here.
468         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
469         gl_PREREQ_INET_PTON here.
470         (Depends-on): Update condition.
471
472 2011-05-08  Bruno Haible  <bruno@clisp.org>
473
474         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
475         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
476         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
477         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
478         (gl_PREREQ_INET_NTOP): ... from here.
479         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
480         gl_PREREQ_INET_NTOP here.
481         (Depends-on): Update condition.
482
483 2011-05-08  Bruno Haible  <bruno@clisp.org>
484
485         iconv_open: Move AC_LIBOBJ invocations to module description.
486         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
487         AC_LIBOBJ invocations from here...
488         * modules/iconv_open (configure.ac): ... to here.
489
490 2011-05-08  Bruno Haible  <bruno@clisp.org>
491
492         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
493         If module 'iconv_open' is among the main modules and module
494         'iconv_open-utf' is among the tests dependencies, then
495         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
496         return the special iconv_t values. Therefore iconv() and iconv_close()
497         must support these special iconv_t values, already in lib, not only in
498         tests.
499         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
500         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
501         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
502         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
503         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
504         (Depends-on): Add the dependencies of iconv_open-utf.
505         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
506         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
507         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
508
509 2011-05-08  Bruno Haible  <bruno@clisp.org>
510
511         group-member: Move AC_LIBOBJ invocations to module description.
512         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
513         gl_PREREQ_GROUP_MEMBER invocations from here...
514         * modules/group-member (configure.ac): ... to here.
515
516 2011-05-08  Bruno Haible  <bruno@clisp.org>
517
518         grantpt: Move AC_LIBOBJ invocations to module description.
519         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
520         invocations from here...
521         * modules/grantpt (configure.ac): ... to here.
522
523 2011-05-08  Bruno Haible  <bruno@clisp.org>
524
525         glob: Move AC_LIBOBJ invocations to module description.
526         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
527         from here...
528         * modules/glob (configure.ac): ... to here.
529
530 2011-05-08  Bruno Haible  <bruno@clisp.org>
531
532         getusershell: Move AC_LIBOBJ invocations to module description.
533         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
534         Move AC_LIBOBJ invocation from here...
535         * modules/getusershell (configure.ac): ... to here.
536         (Depends-on): Update condition.
537
538 2011-05-08  Bruno Haible  <bruno@clisp.org>
539
540         gettimeofday: Move AC_LIBOBJ invocations to module description.
541         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
542         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
543         gl_PREREQ_GETTIMEOFDAY invocations from here...
544         * modules/gettimeofday (configure.ac): ... to here.
545
546 2011-05-08  Bruno Haible  <bruno@clisp.org>
547
548         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
549         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
550         just gl_FUNC_TZSET.
551         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
552         (gl_FUNC_TZSET_CLOBBER): Remove actions.
553         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
554         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
555
556 2011-05-08  Bruno Haible  <bruno@clisp.org>
557
558         getsubopt: Move AC_LIBOBJ invocations to module description.
559         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
560         gl_PREREQ_GETSUBOPT invocations from here...
561         * modules/getsubopt (configure.ac): ... to here.
562
563 2011-05-08  Bruno Haible  <bruno@clisp.org>
564
565         getpass-gnu: Move AC_LIBOBJ invocations to module description.
566         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
567         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
568         * modules/getpass-gnu (configure.ac): ... to here.
569
570 2011-05-08  Bruno Haible  <bruno@clisp.org>
571
572         getpass: Move AC_LIBOBJ invocations to module description.
573         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
574         gl_PREREQ_GETPASS invocations from here...
575         * modules/getpass (configure.ac): ... to here.
576
577 2011-05-08  Bruno Haible  <bruno@clisp.org>
578
579         getpagesize: Move AC_LIBOBJ invocations to module description.
580         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
581         from here...
582         * modules/getpagesize (configure.ac): ... to here.
583
584 2011-05-08  Bruno Haible  <bruno@clisp.org>
585
586         getopt: Move AC_LIBOBJ invocations to module description.
587         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
588         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
589         invocations from here...
590         * modules/getopt-gnu (configure.ac): ... to here.
591         * modules/getopt-posix (configure.ac): ... and here.
592         (Depends-on): Update condition.
593
594 2011-05-08  Bruno Haible  <bruno@clisp.org>
595
596         getopt, argp: Respect rules for use of AC_LIBOBJ.
597         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
598         (gl_REPLACE_GETOPT_ALWAYS): New macro.
599         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
600         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
601
602 2011-05-08  Bruno Haible  <bruno@clisp.org>
603
604         getlogin_r: Move AC_LIBOBJ invocations to module description.
605         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
606         gl_PREREQ_GETLOGIN_R invocations from here...
607         * modules/getlogin_r (configure.ac): ... to here.
608
609 2011-05-08  Bruno Haible  <bruno@clisp.org>
610
611         getlogin: Move AC_LIBOBJ invocations to module description.
612         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
613         here...
614         * modules/getlogin (configure.ac): ... to here.
615
616 2011-05-08  Bruno Haible  <bruno@clisp.org>
617
618         getloadavg: Move AC_LIBOBJ invocations to module description.
619         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
620         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
621         * modules/getloadavg (configure.ac): ... to here.
622
623 2011-05-08  Bruno Haible  <bruno@clisp.org>
624
625         gethrxtime: Move AC_LIBOBJ invocations to module description.
626         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
627         LIB_GETHRXTIME from here...
628         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
629         invocations from here...
630         * modules/gethrxtime (configure.ac): ... to here.
631
632 2011-05-08  Bruno Haible  <bruno@clisp.org>
633
634         gethostname: Move AC_LIBOBJ invocations to module description.
635         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
636         gl_PREREQ_GETHOSTNAME invocations from here...
637         * modules/gethostname (configure.ac): ... to here.
638
639 2011-05-08  Bruno Haible  <bruno@clisp.org>
640
641         getgroups: Move AC_LIBOBJ invocations to module description.
642         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
643         here...
644         * modules/getgroups (configure.ac): ... to here.
645
646 2011-05-08  Bruno Haible  <bruno@clisp.org>
647
648         getdtablesize: Move AC_LIBOBJ invocations to module description.
649         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
650         invocation from here...
651         * modules/getdtablesize (configure.ac): ... to here.
652
653 2011-05-08  Bruno Haible  <bruno@clisp.org>
654
655         getdomainname: Move AC_LIBOBJ invocations to module description.
656         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
657         gl_PREREQ_GETDOMAINNAME invocations from here...
658         * modules/getdomainname (configure.ac): ... to here.
659
660 2011-05-08  Bruno Haible  <bruno@clisp.org>
661
662         getline: Move AC_LIBOBJ invocations to module description.
663         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
664         invocations from here...
665         * modules/getline (configure.ac): ... to here.
666
667 2011-05-08  Bruno Haible  <bruno@clisp.org>
668
669         getline: Simplify.
670         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
671         It's already handled through the module dependency.
672
673 2011-05-08  Bruno Haible  <bruno@clisp.org>
674
675         getdelim: Move AC_LIBOBJ invocations to module description.
676         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
677         and gl_PREREQ_GETDELIM invocations from here...
678         * modules/getdelim (configure.ac): ... to here.
679         (Depends-on): Fix condition.
680
681 2011-05-08  Bruno Haible  <bruno@clisp.org>
682
683         getcwd: Move AC_LIBOBJ invocations to module description.
684         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
685         invocations from here...
686         * modules/getcwd (configure.ac): ... to here.
687
688 2011-05-08  Bruno Haible  <bruno@clisp.org>
689
690         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
691         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
692         here...
693         * modules/getcwd-lgpl (configure.ac): ... to here.
694
695 2011-05-07  Bruno Haible  <bruno@clisp.org>
696
697         crypto/gc: Move AC_LIBOBJ invocations to module description.
698         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
699         * modules/crypto/gc (configure.ac): ... to here.
700
701 2011-05-07  Bruno Haible  <bruno@clisp.org>
702
703         fwriting: Move AC_LIBOBJ invocations to module description.
704         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
705         here...
706         * modules/fwriting (configure.ac): ... to here.
707
708 2011-05-07  Bruno Haible  <bruno@clisp.org>
709
710         fwritable: Move AC_LIBOBJ invocations to module description.
711         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
712         here...
713         * modules/fwritable (configure.ac): ... to here.
714
715 2011-05-07  Bruno Haible  <bruno@clisp.org>
716
717         futimens: Move AC_LIBOBJ invocations to module description.
718         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
719         here...
720         * modules/futimens (configure.ac): ... to here.
721
722 2011-05-07  Bruno Haible  <bruno@clisp.org>
723
724         ftruncate: Move AC_LIBOBJ invocations to module description.
725         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
726         gl_PREREQ_FTRUNCATE invocations from here...
727         * modules/ftruncate (configure.ac): ... to here.
728
729 2011-05-07  Bruno Haible  <bruno@clisp.org>
730
731         fsync: Move AC_LIBOBJ invocations to module description.
732         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
733         invocations from here...
734         * modules/fsync (configure.ac): ... to here.
735
736 2011-05-07  Bruno Haible  <bruno@clisp.org>
737
738         fsusage: Move AC_LIBOBJ invocations to module description.
739         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
740         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
741         * modules/fsusage (configure.ac): ... to here.
742
743 2011-05-07  Bruno Haible  <bruno@clisp.org>
744
745         freopen: Move AC_LIBOBJ invocations to module description.
746         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
747         invocations from here...
748         * modules/freopen (configure.ac): ... to here.
749
750 2011-05-07  Bruno Haible  <bruno@clisp.org>
751
752         free: Move AC_LIBOBJ invocations to module description.
753         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
754         invocations from here...
755         * modules/free (configure.ac): ... to here.
756
757 2011-05-07  Bruno Haible  <bruno@clisp.org>
758
759         freadable: Move AC_LIBOBJ invocations to module description.
760         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
761         here...
762         * modules/freadable (configure.ac): ... to here.
763
764 2011-05-07  Bruno Haible  <bruno@clisp.org>
765
766         fpurge: Move AC_LIBOBJ invocations to module description.
767         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
768         invocations from here...
769         * modules/fpurge (configure.ac): ... to here.
770
771 2011-05-07  Bruno Haible  <bruno@clisp.org>
772
773         fpending: Move AC_LIBOBJ invocations to module description.
774         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
775         gl_FUNC_FPENDING.
776         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
777         invocations from here...
778         * modules/fpending (configure.ac): ... to here.
779
780 2011-05-07  Bruno Haible  <bruno@clisp.org>
781
782         fopen: Move AC_LIBOBJ invocations to module description.
783         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
784         invocations from here...
785         * modules/fopen (configure.ac): ... to here.
786
787 2011-05-07  Bruno Haible  <bruno@clisp.org>
788
789         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
790         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
791         gl_FUNC_FNMATCH_POSIX.
792         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
793         invocations from here...
794         * modules/fnmatch (configure.ac): ... to here.
795         * modules/fnmatch-gnu (configure.ac): ... and here.
796
797 2011-05-07  Bruno Haible  <bruno@clisp.org>
798
799         flock: Move AC_LIBOBJ invocations to module description.
800         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
801         invocations from here...
802         * modules/flock (configure.ac): ... to here.
803
804 2011-05-07  Bruno Haible  <bruno@clisp.org>
805
806         fileblocks: Move AC_LIBOBJ invocations to module description.
807         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
808         gl_PREREQ_FILEBLOCKS invocations from here...
809         * modules/fileblocks (configure.ac): ... to here.
810
811 2011-05-06  Bruno Haible  <bruno@clisp.org>
812
813         fflush: Move AC_LIBOBJ invocations to module description.
814         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
815         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
816         invocations from here...
817         * modules/fflush (configure.ac): ... to here.
818
819 2011-05-06  Bruno Haible  <bruno@clisp.org>
820
821         fdopendir: Move AC_LIBOBJ invocations to module description.
822         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
823         here...
824         * modules/fdopendir (configure.ac): ... to here.
825         (Depends-on): Improve conditions.
826
827 2011-05-06  Bruno Haible  <bruno@clisp.org>
828
829         _Exit: Move AC_LIBOBJ invocations to module description.
830         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
831         invocations from here...
832         * modules/_Exit (configure.ac): ... to here.
833
834 2011-05-21  Bruno Haible  <bruno@clisp.org>
835
836         euidaccess: Respect rules for use of AC_LIBOBJ.
837         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
838         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
839         from here...
840         * modules/euidaccess (configure.ac): ... to here.
841
842 2011-05-06  Bruno Haible  <bruno@clisp.org>
843
844         error: Move AC_LIBOBJ invocations to module description.
845         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
846         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
847         invocations from here...
848         * modules/error (configure.ac): ... to here.
849
850 2011-05-06  Bruno Haible  <bruno@clisp.org>
851
852         duplocale: Move AC_LIBOBJ invocations to module description.
853         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
854         gl_PREREQ_DUPLOCALE invocations from here...
855         * modules/duplocale (configure.ac): ... to here.
856
857 2011-05-05  Bruno Haible  <bruno@clisp.org>
858
859         dirfd: Move AC_LIBOBJ invocations to module description.
860         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
861         gl_FUNC_DIRFD.
862         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
863         here...
864         * modules/dirfd (configure.ac): ... to here.
865         (Depends-on): Fix condition.
866
867 2011-05-05  Bruno Haible  <bruno@clisp.org>
868
869         chown: Respect rules for use of AC_LIBOBJ.
870         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
871         * modules/chown (configure.ac): ... to here.
872
873 2011-05-05  Bruno Haible  <bruno@clisp.org>
874
875         chdir-long: Move AC_LIBOBJ invocations to module description.
876         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
877         gl_PREREQ_CHDIR_LONG invocations from here...
878         * modules/chdir-long (configure.ac): ... to here.
879
880 2011-05-05  Bruno Haible  <bruno@clisp.org>
881
882         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
883         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
884         from here...
885         * modules/canonicalize-lgpl (configure.ac): ... to here.
886
887 2011-05-05  Bruno Haible  <bruno@clisp.org>
888
889         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
890         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
891         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
892         REPLACE_CALLOC.
893         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
894         * modules/calloc-gnu (configure.ac): Likewise.
895
896 2011-05-05  Bruno Haible  <bruno@clisp.org>
897
898         btowc: Move AC_LIBOBJ invocations to module description.
899         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
900         invocations from here...
901         * modules/btowc (configure.ac): ... to here.
902
903 2011-05-21  Bruno Haible  <bruno@clisp.org>
904
905         atexit: Move AC_LIBOBJ invocations to module description.
906         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
907         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
908         here...
909         * modules/atexit (configure.ac): ... to here.
910
911 2011-05-05  Bruno Haible  <bruno@clisp.org>
912
913         atoll: Move AC_LIBOBJ invocations to module description.
914         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
915         invocations from here...
916         * modules/atoll (configure.ac): ... to here.
917
918 2011-05-05  Bruno Haible  <bruno@clisp.org>
919
920         argz: Move AC_LIBOBJ invocations to module description.
921         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
922         * modules/argz (configure.ac): ... to here.
923
924 2011-05-05  Bruno Haible  <bruno@clisp.org>
925
926         alphasort: Move AC_LIBOBJ invocations to module description.
927         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
928         gl_PREREQ_ALPHASORT invocations from here...
929         * modules/alphasort (configure.ac): ... to here.
930
931 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
932
933         verify: new macro verify_expr; verify_true deprecated
934         * NEWS: Mention this.
935         * doc/verify.texi (Compile-time Assertions): Document this.
936         * lib/verify.h (verify_true): Deprecate.
937         (verify_expr): New macro.
938         * tests/test-verify.c (function): Test verify_expr.
939
940 2011-06-14  Jim Meyering  <meyering@redhat.com>
941
942         init.sh: give more portable redirection-related advice in a comment
943         * tests/init.sh (stderr_fileno_): Update the advice in comments.
944         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
945         for lots of discussion.  Stefano Lattarini suggested the solution
946         of putting "9>&2" after the command.  Reported by Bruno Haible.
947
948 2011-06-13  Bruno Haible  <bruno@clisp.org>
949
950         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
951         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
952         'none'.
953
954 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
955
956         ftoastr: use strtof only if HAVE_STRTOF
957         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
958         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00154.html>.
959         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
960         * modules/ftoastr (configure.ac): Check for strtof.
961
962 2011-06-13  Bruno Haible  <bruno@clisp.org>
963
964         gnulib-tool: Addendum to 2011-06-08 commit.
965         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
966         and --witness-c-macro have been given, augment AM_CPPFLAGS.
967
968 2011-06-13  Bruno Haible  <bruno@clisp.org>
969
970         fseeko: Provide a non-inline replacement of fseek().
971         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
972         * modules/fseeko (Depends-on): Add fseek.
973         * modules/fseek (License): Change to LGPLv2+.
974
975 2011-06-13  Bruno Haible  <bruno@clisp.org>
976
977         ftello: Provide a non-inline replacement of ftell().
978         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
979         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
980         not have ftello() (such as on mingw).
981         * modules/ftello (Depends-on): Add ftell.
982         * modules/ftell (License): Change to LGPLv2+.
983
984 2011-05-07  Bruno Haible  <bruno@clisp.org>
985
986         ftell: Move AC_LIBOBJ invocations to module description.
987         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
988         * modules/ftell (configure.ac): ... to here.
989
990 2011-05-07  Bruno Haible  <bruno@clisp.org>
991
992         ftello: Respect rules for use of AC_LIBOBJ.
993         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
994         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
995         here...
996         * modules/ftello (configure.ac): ... to here.
997
998 2011-05-07  Bruno Haible  <bruno@clisp.org>
999
1000         fseeko: Simplify.
1001         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
1002         (gl_FUNC_FSEEKO): Inline it here.
1003
1004 2011-05-07  Bruno Haible  <bruno@clisp.org>
1005
1006         fseek: Move AC_LIBOBJ invocations to module description.
1007         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
1008         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
1009         * modules/fseek (configure.ac): ... to here.
1010
1011 2011-05-07  Bruno Haible  <bruno@clisp.org>
1012
1013         fseek: Respect rules for use of AC_LIBOBJ.
1014         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
1015         here...
1016         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
1017
1018 2011-05-07  Bruno Haible  <bruno@clisp.org>
1019
1020         fseeko: Respect rules for use of AC_LIBOBJ.
1021         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
1022         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
1023         here...
1024         * modules/fseeko (configure.ac): ... to here.
1025
1026 2011-06-13  Bruno Haible  <bruno@clisp.org>
1027
1028         gnulib-tool: Allow comments in the 'Depends-on' section.
1029         * doc/gnulib.texi (Module description): Mention comment syntax in the
1030         Depends-on section.
1031         * gnulib-tool (func_get_dependencies): Filter out comment lines.
1032
1033 2011-06-13  Bruno Haible  <bruno@clisp.org>
1034
1035         file-set.h: guard __attibute__ use, now that it's not always defined
1036         * lib/file-set.h (record_file): Use __attribute__ only with compiler
1037         versions that support it.  This fixes a coreutils build failure with
1038         the vendor cc on HP-UX 11.31.
1039
1040 2011-06-12  Bruno Haible  <bruno@clisp.org>
1041
1042         acl: Add support for HP-UX >= 11.11 JFS ACLs.
1043         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
1044         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
1045         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
1046         (acl, aclsort): New declarations.
1047         (aclv_nontrivial): New declaration.
1048         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
1049         (file_has_acl): Read also the second kind of HP-UX ACLs.
1050         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
1051         kind of HP-UX ACLs if the first kind fails.
1052         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
1053         second kind of HP-UX ACLs.
1054         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
1055         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
1056         agree.
1057         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
1058         hpuxjfs.
1059         Handle hpuxjfs.
1060         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
1061         hpuxjfs.
1062         Handle hpuxjfs.
1063         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
1064         (func_test_same_acls): Use both lsacl and getacl.
1065         Handle hpuxjfs.
1066         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
1067         (func_test_same_acls): Use both lsacl and getacl.
1068         Handle hpuxjfs.
1069
1070 2011-06-12  Bruno Haible  <bruno@clisp.org>
1071
1072         acl: Complete the 2010-08-10 fix.
1073         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
1074         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
1075         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
1076         explicitly.
1077         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
1078         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
1079
1080 2011-06-12  Bruno Haible  <bruno@clisp.org>
1081
1082         spawn-pipe tests: Comments.
1083         * tests/test-spawn-pipe-child.c (main): Update comment.
1084         Reported by James Youngman <jay@gnu.org>.
1085
1086 2011-06-11  James Youngman  <jay@gnu.org>
1087
1088         New module 'stat-size'.
1089         * modules/stat-size: New module.  Provides macros for accessing
1090         file size information in instances of struct stat.  Depends on the
1091         fileblocks module because it calls st_blocks.
1092         * lib/stat-size.h: New file, adapted from coreutils' system.h.
1093         * doc/gnulib.texi: Include stat-size.texi.
1094         * doc/stat-size.texi: Documentation for this module.
1095         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
1096         * m4/fileblocks.m4: Mention that stat-size depends on the call to
1097         AC_STRUCT_ST_BLOCKS.
1098
1099 2011-06-09  Bruno Haible  <bruno@clisp.org>
1100
1101         thread: Support pthreads-win32.
1102         * lib/glthread/thread.h (gl_thread_self): Define differently on
1103         pthreads-win32.
1104         (gl_null_thread): New declaration.
1105         (gl_thread_self_pointer): New macro.
1106         * lib/glthread/thread.c (gl_null_thread): New constant.
1107         * tests/test-lock.c: Use gl_thread_self_pointer instead of
1108         gl_thread_self.
1109         * tests/test-tls.c: Likewise.
1110         Suggested by Paul Eggert. Reported by Eric Blake.
1111
1112 2011-06-09  Bruno Haible  <bruno@clisp.org>
1113
1114         thread: Fix confusion between NULL and 0.
1115         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
1116         Reported by Paul Eggert.
1117
1118 2011-06-09  Bruno Haible  <bruno@clisp.org>
1119
1120         spawn-pipe tests: Avoid test failure on HP-UX 11.
1121         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
1122         is closed.
1123
1124 2011-06-09  Bruno Haible  <bruno@clisp.org>
1125
1126         acl tests: Fix compilation error on HP-UX 11.
1127         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
1128
1129 2011-06-09  Bruno Haible  <bruno@clisp.org>
1130
1131         rmdir: Avoid test failure on HP-UX 10.20.
1132         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
1133         EEXIST.
1134
1135 2011-06-08  Eric Blake  <eblake@redhat.com>
1136
1137         perror: fix test on mingw
1138         * modules/perror-tests (Depends-on): Add dup2.
1139
1140         strerror_r-posix: fix on MacOS
1141         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
1142         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
1143         logic bug.
1144         * lib/strerror_r.c (strerror_r): Fix the bug.
1145         * lib/strerror.c (strerror): Likewise.
1146         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
1147         problem.
1148         * doc/posix-functions/strerror.texi (strerror): Likewise.
1149         * doc/posix-functions/perror.texi (perror): Likewise.
1150         * tests/test-strerror.c (main): Enhance test.
1151         * tests/test-strerror_r.c (main): Likewise.
1152
1153 2011-06-08  Bruno Haible  <bruno@clisp.org>
1154
1155         gnulib-tool: Better isolation between different gnulib-tool invocations.
1156         * gnulib-tool: New option --witness-c-macro.
1157         (witness_c_macro): New variable.
1158         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
1159         AM_CPPFLAGS define it as a C macro.
1160         (func_emit_tests_Makefile_am): Likewise.
1161         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
1162         read it from there.
1163         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
1164         m4_define, not AC_DEFUN.
1165         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
1166         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
1167         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
1168         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
1169         s|...|...|, to substitute the values of the GNULIB_* module indicator
1170         variables.
1171         * modules/dirent (Makefile.am): Likewise.
1172         * modules/fcntl-h (Makefile.am): Likewise.
1173         * modules/iconv-h (Makefile.am): Likewise.
1174         * modules/langinfo (Makefile.am): Likewise.
1175         * modules/locale (Makefile.am): Likewise.
1176         * modules/math (Makefile.am): Likewise.
1177         * modules/netdb (Makefile.am): Likewise.
1178         * modules/poll-h (Makefile.am): Likewise.
1179         * modules/pty (Makefile.am): Likewise.
1180         * modules/search (Makefile.am): Likewise.
1181         * modules/signal (Makefile.am): Likewise.
1182         * modules/spawn (Makefile.am): Likewise.
1183         * modules/stdio (Makefile.am): Likewise.
1184         * modules/stdlib (Makefile.am): Likewise.
1185         * modules/string (Makefile.am): Likewise.
1186         * modules/sys_ioctl (Makefile.am): Likewise.
1187         * modules/sys_select (Makefile.am): Likewise.
1188         * modules/sys_socket (Makefile.am): Likewise.
1189         * modules/sys_stat (Makefile.am): Likewise.
1190         * modules/sys_times (Makefile.am): Likewise.
1191         * modules/sys_utsname (Makefile.am): Likewise.
1192         * modules/sys_wait (Makefile.am): Likewise.
1193         * modules/termios (Makefile.am): Likewise.
1194         * modules/time (Makefile.am): Likewise.
1195         * modules/unistd (Makefile.am): Likewise.
1196         * modules/wchar (Makefile.am): Likewise.
1197
1198 2011-06-08  Eric Blake  <eblake@redhat.com>
1199
1200         strerror: simplify replacement
1201         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
1202         * modules/strerror (configure.ac): No prereqs needed here...
1203         * modules/strerror-override (configure.ac): ...but this needs it.
1204         (Files): Add file for needed prereq macro.
1205
1206 2011-06-08  Bruno Haible  <bruno@clisp.org>
1207
1208         strerror_r-posix: Tweaks.
1209         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
1210         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
1211         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
1212         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
1213         (gl_FUNC_STRERROR_R): ... to here.
1214         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
1215
1216 2011-06-07  Eric Blake  <eblake@redhat.com>
1217
1218         perror: document fixed bugs
1219         * doc/posix-functions/perror.texi (perror): Document recent
1220         patches.
1221
1222 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
1223
1224         stat-time: get_stat_birthtime failure is better-defined
1225         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
1226         return a timestamp whose tv_sec and tv_nsec values are both -1.
1227         Previously, the spec said only that the tv_nsec value was negative.
1228         This upward-compatible change simplifies GNU tar a bit.
1229
1230 2011-06-07  Eric Blake  <eblake@redhat.com>
1231
1232         strerror_r-posix: work around cygwin 1.7.9
1233         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
1234         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
1235         bug without replacing strerror_r.
1236         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
1237         strerror_r is buggy, but without requiring strerror_r compilation.
1238         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
1239
1240         test-perror: relax test to ignore cygwin bug
1241         * tests/test-perror2.c (main): Relax test on requiring detection
1242         of stream errors, and use unbuffered stream.
1243         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
1244         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
1245         * doc/posix-functions/fputc.texi (fputc): Likewise.
1246         * doc/posix-functions/fputs.texi (fputs): Likewise.
1247         * doc/posix-functions/fputws.texi (fputws): Likewise.
1248         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
1249         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
1250         * doc/posix-functions/getopt.texi (getopt): Likewise.
1251         * doc/posix-functions/perror.texi (perror): Likewise.
1252         * doc/posix-functions/printf.texi (printf): Likewise.
1253         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
1254         * doc/posix-functions/psignal.texi (psignal): Likewise.
1255         * doc/posix-functions/putc.texi (putc): Likewise.
1256         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
1257         Likewise.
1258         * doc/posix-functions/putchar.texi (putchar): Likewise.
1259         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
1260         Likewise.
1261         * doc/posix-functions/puts.texi (puts): Likewise.
1262         * doc/posix-functions/putwc.texi (putwc): Likewise.
1263         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
1264         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
1265         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
1266         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
1267         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
1268         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
1269         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
1270         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
1271
1272 2011-05-22  Bruno Haible  <bruno@clisp.org>
1273
1274         strerror: Move AC_LIBOBJ invocations to module description.
1275         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
1276         gl_PREREQ_STRERROR invocations from here...
1277         * modules/strerror (configure.ac): ... to here.
1278
1279 2011-05-21  Bruno Haible  <bruno@clisp.org>
1280
1281         perror: Use common idiom.
1282         * modules/perror (configure.ac): Reorder statements.
1283
1284 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
1285
1286         tests: fix usage message in 'mktempd_'
1287         * tests/init.sh (mktempd_): In the usage message, use literal
1288         'mktempd_', not '$ME' (which is even undefined), as the name of
1289         the subroutine.
1290
1291 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
1292
1293         tests init: new function 'fatal_', for hard errors
1294         Before this patch, the only way offered by tests/init.sh to
1295         properly signal a hard error was the `framework_failure_'
1296         function.  But the error message issued by that function,
1297         as its name would suggest, refers to a set-up failure in the
1298         testsuite, while hard errors can obviously also be due to
1299         other reasons.  The best way to fix this inconsistency is to
1300         introduce a new function with a more general error message.
1301         * tests/init.sh (fatal_): New function.
1302
1303 2011-06-06  Eric Blake  <eblake@redhat.com>
1304
1305         canonicalize-lgpl: use common idiom
1306         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
1307         over newer POSIX -Rf.
1308         Reported by Bruno Haible.
1309
1310         canonicalize-lgpl: work around AIX realpath bug
1311         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
1312         * doc/posix-functions/realpath.texi (realpath): Document it.
1313         Reported by Bruno Haible.
1314
1315         strerror: work around FreeBSD bug
1316         * lib/strerror.c (strerror): Special case 0.
1317         Reported by Bruno Haible.
1318
1319         strerror-override: avoid bloating errno module
1320         * modules/errno (Files, configure.ac): Move replacement strings...
1321         * modules/strerror-override: ...to new module.
1322         * modules/strerror (Depends-on): Add strerror-override.
1323         * modules/strerror_r-posix (Depends-on): Likewise.
1324         * MODULES.html.sh: Document new module.
1325         Reported by Bruno Haible.
1326
1327 2011-06-06  Bruno Haible  <bruno@clisp.org>
1328
1329         spawn-pipe tests: Rename program.
1330         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
1331         * tests/test-spawn-pipe-child.c: Update comment.
1332         * tests/test-spawn-pipe.sh: Update.
1333         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
1334
1335         spawn-pipe tests: Link the child program only against libc.
1336         * tests/test-spawn-pipe-child.c: New file, extracted from
1337         tests/test-spawn-pipe.c.
1338         (main): Expect only one argument.
1339         (is_open): New function, copied from tests/test-pipe.c.
1340         * tests/test-spawn-pipe.c: Don't include <errno.h>.
1341         (child_main): Remove function.
1342         (test_pipe): Pass only one argument to the child program.
1343         (main): Remove child process code. Expect the child program's name as
1344         first argument.
1345         * tests/test-spawn-pipe.sh: Pass the child program's name as first
1346         argument.
1347         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
1348         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
1349         test-spawn-pipe-child against no libraries.
1350
1351 2011-06-06  Bruno Haible  <bruno@clisp.org>
1352
1353         careadlinkat: Avoid mismatch between ssize_t and int.
1354         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
1355         * lib/careadlinkat.c (careadlinkatcwd): Define always.
1356
1357 2011-06-06  Jim Meyering  <meyering@redhat.com>
1358
1359         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
1360         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
1361         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
1362
1363 2011-06-05  Bruno Haible  <bruno@clisp.org>
1364
1365         ansi-c++-opt: Interoperability with libtool.
1366         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
1367         set the variable to "no", not to ":".
1368         * NEWS: Mention the change.
1369
1370 2011-06-05  Bruno Haible  <bruno@clisp.org>
1371
1372         acl: Fix test failure on AIX 7.
1373         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
1374         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
1375
1376 2011-06-05  Bruno Haible  <bruno@clisp.org>
1377
1378         pipe-filter-ii: Fix test failure on AIX and IRIX.
1379         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
1380         with EAGAIN, retry with a smaller buffer size.
1381
1382 2011-06-05  Bruno Haible  <bruno@clisp.org>
1383
1384         localename: Fix link dependencies.
1385         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
1386         * modules/localename-tests (Makefile.am): Link test-localename with
1387         $(LIBTHREAD).
1388
1389 2011-06-05  Bruno Haible  <bruno@clisp.org>
1390
1391         error: Avoid gcc warning.
1392         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
1393
1394 2011-06-05  Bruno Haible  <bruno@clisp.org>
1395
1396         unsetenv: Avoid gcc warning.
1397         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
1398
1399 2011-06-05  Bruno Haible  <bruno@clisp.org>
1400
1401         setenv: Avoid gcc warning.
1402         * lib/setenv.c (setenv): Provide declaration if system lacks it.
1403
1404 2011-06-05  Bruno Haible  <bruno@clisp.org>
1405
1406         sys_select: Ensure memset is declared also on AIX 7.
1407         * lib/sys_select.in.h: Include <string.h> also on AIX.
1408         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
1409         self-contained also on AIX 7.1.
1410
1411 2011-06-04  Jim Meyering  <meyering@redhat.com>
1412
1413         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
1414         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
1415         function name, "error".
1416         (_gl_translatable_diag_func_re): New configurable variable.
1417
1418 2011-06-04  Bruno Haible  <bruno@clisp.org>
1419
1420         getopt: Avoid gcc warning.
1421         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
1422
1423 2011-06-04  Bruno Haible  <bruno@clisp.org>
1424
1425         strerror_r: Fix comments.
1426         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
1427         commit.
1428
1429 2011-06-04  Bruno Haible  <bruno@clisp.org>
1430
1431         perror: Fix compilation error.
1432         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
1433         Undefine fprintf, not sprintf.
1434         * modules/perror (Depends-on): Remove intprops, verify.
1435
1436 2011-06-04  Bruno Haible  <bruno@clisp.org>
1437
1438         setlocale: Enable replacement on Cygwin 1.5.
1439         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
1440         Cygwin 1.5.x.
1441         * doc/posix-functions/setlocale.texi: Mention that the problem with the
1442         LC_CTYPE category also exists on Cygwin 1.5.x.
1443
1444 2011-06-04  Bruno Haible  <bruno@clisp.org>
1445
1446         strerror-override: Don't disable symbol renamings.
1447         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
1448         * lib/strerror-override.c: Include config.h.
1449         (strerror_override): Don't undefine.
1450
1451 2011-06-03  Bruno Haible  <bruno@clisp.org>
1452
1453         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
1454         * lib/localename.h: Update copyright header.
1455         * lib/localename.c: Likewise.
1456         * lib/relocatable.h: Likewise.
1457         * lib/relocatable.c: Likewise.
1458
1459 2011-06-02  Bruno Haible  <bruno@clisp.org>
1460
1461         doc: Fix a module name.
1462         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
1463
1464 2011-06-02  Bruno Haible  <bruno@clisp.org>
1465
1466         pipe2: Remove dependency on 'nonblocking' module.
1467         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
1468         O_NONBLOCK is defined by gnulib.
1469         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
1470         is zero.
1471         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
1472         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
1473         defined by gnulib.
1474         (get_nonblocking_flag): New function.
1475         (main): Test O_NONBLOCK flag only if it is nonzero.
1476         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
1477
1478 2011-06-03  Jim Meyering  <meyering@redhat.com>
1479
1480         maint: three new prohibit-header-without-use rules
1481         Prohibit use of cloexec.h, posixver.h, same.h without use.
1482         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
1483         (sc_prohibit_posixver_without_use): Likewise.
1484         (sc_prohibit_same_without_use): Likewise.
1485
1486 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
1487
1488         allocator: 'die' routine is now given requested size
1489         * lib/allocator.h (struct allocator.die): New size arg.
1490         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
1491         If the actual problem is an ssize_t limitation, not a size_t or
1492         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
1493
1494 2011-06-01  Eric Blake  <eblake@redhat.com>
1495
1496         strerror: drop strerror_r dependency
1497         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
1498         * lib/strerror-override.c (strerror_override): ...to new file.
1499         * lib/strerror-override.h: Add prototype.
1500         * lib/strerror-impl.h: Delete.
1501         * lib/strerror.c (strerror): New implementation.
1502         * modules/errno (Files): Add new files.
1503         (configure.ac): Compile new file as appropriate.
1504         * modules/strerror (Files): Drop unused file.
1505         (Depends-on): Drop strerror_r-posix.
1506         * MODULES.html.sh: Document strerror_r-posix.
1507         Requested by Sam Steingold.
1508
1509         perror: call strerror_r directly
1510         * modules/perror (Files): Drop strerror-impl.h.
1511         * lib/perror.c (perror): Use our own stack buffer, rather than
1512         calling a wrapper that uses static storage.
1513         * doc/posix-functions/perror.texi (perror): Document a limitation
1514         of our replacement.
1515
1516         strerror_r: fix includes for FreeBSD
1517         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
1518         since we use abort on some platforms.
1519         Reported by Matthias Bolte.
1520
1521 2011-05-31  Bruno Haible  <bruno@clisp.org>
1522
1523         Fix link errors in tests: openat-die uses gettext-h.
1524         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
1525         against $(LIBINTL).
1526         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
1527         against $(LIBINTL).
1528         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
1529         $(LIBINTL).
1530         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
1531         against $(LIBINTL).
1532         * modules/linkat-tests (Makefile.am): Link test-linkat against
1533         $(LIBINTL).
1534         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
1535         $(LIBINTL).
1536         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
1537         against $(LIBINTL).
1538         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
1539         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
1540         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
1541         $(LIBINTL).
1542         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
1543         $(LIBINTL).
1544         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
1545         $(LIBINTL).
1546         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
1547
1548 2011-05-31  Bruno Haible  <bruno@clisp.org>
1549
1550         Fix link errors in tests: wait-process uses gettext-h.
1551         * modules/nonblocking-pipe-tests (Makefile.am): Set
1552         test_nonblocking_pipe_main_LDADD.
1553         * modules/nonblocking-socket-tests (Makefile.am): Link
1554         test-nonblocking-socket-main against $(LIBINTL).
1555         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
1556
1557 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
1558
1559         assert-h: work around 'verify' incompatibility
1560         * lib/verify.h: Use @...@ directives, not ifdef.
1561         * modules/assert-h (assert.h): Implement the directives.
1562         (assert.h): Substitute the symbol-prefix more consistently.
1563
1564 2011-05-29  Jim Meyering  <meyering@redhat.com>
1565
1566         trim: remove three superfluous assignments
1567         * lib/trim.c (trim2): Remove three superfluous assignments
1568         and correct brace positioning.
1569
1570 2011-05-29  Bruno Haible  <bruno@clisp.org>
1571
1572         wctype-h: Avoid namespace pollution on Solaris 2.6.
1573         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
1574         identifiers.
1575         * doc/posix-headers/wctype.texi: Mention the problem.
1576         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
1577
1578 2011-05-28  Jim Meyering  <meyering@redhat.com>
1579
1580         parse-datetime.y: accommodate -Wstrict-overflow
1581         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
1582         placate -Wstrict-overflow.
1583
1584         trim: avoid a warning from -O2 -Wstrict-overflow
1585         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
1586
1587 2011-05-29  Bruno Haible  <bruno@clisp.org>
1588
1589         gnulib-tool: Fix bug in yesterday's commit.
1590         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
1591         twice.
1592
1593 2011-05-29  Bruno Haible  <bruno@clisp.org>
1594
1595         Allow multiple gnulib generated include files to be combined.
1596         * gnulib-tool (func_compute_include_guard_prefix): New function.
1597         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
1598         ${gl_include_guard_prefix} references.
1599         (func_import, func_create_testdir): Invoke
1600         func_compute_include_guard_prefix.
1601         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
1602         * lib/ctype.in.h: Likewise.
1603         * lib/dirent.in.h: Likewise.
1604         * lib/errno.in.h: Likewise.
1605         * lib/fcntl.in.h: Likewise.
1606         * lib/float.in.h: Likewise.
1607         * lib/getopt.in.h: Likewise.
1608         * lib/iconv.in.h: Likewise.
1609         * lib/langinfo.in.h: Likewise.
1610         * lib/locale.in.h: Likewise.
1611         * lib/math.in.h: Likewise.
1612         * lib/netdb.in.h: Likewise.
1613         * lib/netinet_in.in.h: Likewise.
1614         * lib/poll.in.h: Likewise.
1615         * lib/pthread.in.h: Likewise.
1616         * lib/pty.in.h: Likewise.
1617         * lib/sched.in.h: Likewise.
1618         * lib/se-selinux.in.h: Likewise.
1619         * lib/search.in.h: Likewise.
1620         * lib/signal.in.h: Likewise.
1621         * lib/spawn.in.h: Likewise.
1622         * lib/stdarg.in.h: Likewise.
1623         * lib/stddef.in.h: Likewise.
1624         * lib/stdint.in.h: Likewise.
1625         * lib/stdio.in.h: Likewise.
1626         * lib/stdlib.in.h: Likewise.
1627         * lib/string.in.h: Likewise.
1628         * lib/strings.in.h: Likewise.
1629         * lib/sys_file.in.h: Likewise.
1630         * lib/sys_ioctl.in.h: Likewise.
1631         * lib/sys_select.in.h: Likewise.
1632         * lib/sys_socket.in.h: Likewise.
1633         * lib/sys_stat.in.h: Likewise.
1634         * lib/sys_time.in.h: Likewise.
1635         * lib/sys_times.in.h: Likewise.
1636         * lib/sys_uio.in.h: Likewise.
1637         * lib/sys_utsname.in.h: Likewise.
1638         * lib/sys_wait.in.h: Likewise.
1639         * lib/sysexits.in.h: Likewise.
1640         * lib/termios.in.h: Likewise.
1641         * lib/time.in.h: Likewise.
1642         * lib/unistd.in.h: Likewise.
1643         * lib/wchar.in.h: Likewise.
1644         * lib/wctype.in.h: Likewise.
1645         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
1646         * modules/ctype (Makefile.am): Likewise.
1647         * modules/dirent (Makefile.am): Likewise.
1648         * modules/errno (Makefile.am): Likewise.
1649         * modules/fcntl-h (Makefile.am): Likewise.
1650         * modules/float (Makefile.am): Likewise.
1651         * modules/getopt-posix (Makefile.am): Likewise.
1652         * modules/iconv-h (Makefile.am): Likewise.
1653         * modules/langinfo (Makefile.am): Likewise.
1654         * modules/locale (Makefile.am): Likewise.
1655         * modules/math (Makefile.am): Likewise.
1656         * modules/netdb (Makefile.am): Likewise.
1657         * modules/netinet_in (Makefile.am): Likewise.
1658         * modules/poll-h (Makefile.am): Likewise.
1659         * modules/pthread (Makefile.am): Likewise.
1660         * modules/pty (Makefile.am): Likewise.
1661         * modules/sched (Makefile.am): Likewise.
1662         * modules/search (Makefile.am): Likewise.
1663         * modules/selinux-h (Makefile.am): Likewise.
1664         * modules/signal (Makefile.am): Likewise.
1665         * modules/spawn (Makefile.am): Likewise.
1666         * modules/stdarg (Makefile.am): Likewise.
1667         * modules/stddef (Makefile.am): Likewise.
1668         * modules/stdint (Makefile.am): Likewise.
1669         * modules/stdio (Makefile.am): Likewise.
1670         * modules/stdlib (Makefile.am): Likewise.
1671         * modules/string (Makefile.am): Likewise.
1672         * modules/strings (Makefile.am): Likewise.
1673         * modules/sys_file (Makefile.am): Likewise.
1674         * modules/sys_ioctl (Makefile.am): Likewise.
1675         * modules/sys_select (Makefile.am): Likewise.
1676         * modules/sys_socket (Makefile.am): Likewise.
1677         * modules/sys_stat (Makefile.am): Likewise.
1678         * modules/sys_time (Makefile.am): Likewise.
1679         * modules/sys_times (Makefile.am): Likewise.
1680         * modules/sys_uio (Makefile.am): Likewise.
1681         * modules/sys_utsname (Makefile.am): Likewise.
1682         * modules/sys_wait (Makefile.am): Likewise.
1683         * modules/sysexits (Makefile.am): Likewise.
1684         * modules/termios (Makefile.am): Likewise.
1685         * modules/time (Makefile.am): Likewise.
1686         * modules/unistd (Makefile.am): Likewise.
1687         * modules/wchar (Makefile.am): Likewise.
1688         * modules/wctype-h (Makefile.am): Likewise.
1689         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
1690
1691 2011-05-29  Bruno Haible  <bruno@clisp.org>
1692
1693         assert-h: Allow multiple gnulib generated replacements to coexist.
1694         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
1695
1696 2011-05-29  Bruno Haible  <bruno@clisp.org>
1697
1698         argp: Allow coexistence with strerror_r-posix module.
1699         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
1700         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
1701         by gnulib's <string.h> replacement), assume it has the POSIX signature,
1702         not the glibc signature.
1703
1704 2011-05-28  Bruno Haible  <bruno@clisp.org>
1705
1706         gnulib-tool: Alternative structure of testdirs, similar to --import.
1707         * gnulib-tool: New option --single-configure.
1708         (func_usage): Document it.
1709         (single_configure): New variable.
1710         (func_modules_transitive_closure_separately,
1711         func_modules_transitive_closure_separately,
1712         func_determine_use_libtests, func_modules_add_dummy_separately,
1713         func_modules_to_filelist_separately): New functions, extracted from
1714         func_import.
1715         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
1716         (func_import): Use the new functions.
1717         (func_create_testdir): Set final_modules. Handle $single_configure =
1718         true case.
1719
1720 2011-05-28  Bruno Haible  <bruno@clisp.org>
1721
1722         getloadavg: Remove an unreliable safety check.
1723         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
1724         getloadavg.c is in place.
1725         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
1726         Reported by Sam Steingold <sds@gnu.org>.
1727
1728 2011-05-28  Bruno Haible  <bruno@clisp.org>
1729
1730         doc: Cleanup yet another file produced by texinfo.tex.
1731         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
1732
1733 2011-05-28  Bruno Haible  <bruno@clisp.org>
1734
1735         Finish the conditional dependencies mechanism.
1736         * gnulib-tool: New option --no-conditional-dependencies.
1737         (func_usage): Document it. Don't mark --conditional-dependencies as
1738         experimental.
1739         (cond_dependencies): The possible values can now be true, false, empty.
1740         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
1741         (func_import): Store setting in gnulib-cache.m4 and read it from there.
1742         * doc/gnulib-tool.texi (Conditional dependencies): New section.
1743
1744 2011-05-28  Bruno Haible  <bruno@clisp.org>
1745
1746         doc: Use a recent texinfo.tex.
1747         * doc/Makefile (tex_opts): New variable.
1748         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
1749
1750 2011-05-28  Jim Meyering  <meyering@redhat.com>
1751
1752         intprops.h: adjust comment to match code change
1753         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
1754         only once, it *may* have side effects.  Also fix an unrelated typo.
1755         (_GL_INT_SIGNED): Likewise.
1756
1757 2011-05-26  Simon Josefsson  <simon@josefsson.org>
1758
1759         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
1760
1761 2011-05-26  Bruno Haible  <bruno@clisp.org>
1762
1763         mbsrchr: Avoid collision with system function on Interix.
1764         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
1765         Reported by Markus Duft <mduft@gentoo.org>.
1766
1767 2011-05-15  James Youngman  <jay@gnu.org>
1768
1769         getopt: for ambiguous options, enumerate the possibilities.
1770         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
1771         the ambiguous options when an ambiguous prefix is given. This was
1772         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
1773         glibc change was
1774         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
1775
1776 2011-05-25  Eric Blake  <eblake@redhat.com>
1777
1778         getcwd: work around mingw bug
1779         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
1780         * doc/posix-functions/getcwd.texi (getcwd): Document it.
1781         Reported by Matthias Bolte.
1782
1783 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
1784
1785         test-intprops: disable -Wtype-limits diagnostics
1786         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
1787         diagnostics.  Otherwise, the integer overflow macros generate many
1788         diagnostics.  Reported by Jim Meyering in
1789         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
1790
1791         intprops: shorten, to pacify gcc -Woverlength-strings
1792         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
1793         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
1794         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
1795         likely to run afoul of C compiler limits for string constant lengths.
1796         See <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
1797
1798 2011-05-24  Eric Blake  <eblake@redhat.com>
1799
1800         docs: document recently fixed glibc printf bug
1801         * doc/posix-functions/fprintf.texi (fprintf): Document it.
1802         * doc/posix-functions/printf.texi (printf): Likewise.
1803         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
1804         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
1805
1806         closein-tests: convert to init.sh
1807         * modules/closein-tests (Files): Add init.sh
1808         * tests/test-closein.sh Use it.
1809
1810         yesno-tests: convert to init.sh
1811         * modules/yesno-tests (Files): Add init.sh.
1812         * tests/test-yesno.sh: Use it.
1813
1814         atexit-tests: ensure reliable exit status
1815         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
1816         Reported by Bruno Haible.
1817
1818 2011-05-24  Bruno Haible  <bruno@clisp.org>
1819
1820         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
1821         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
1822         gl_PREREQ_STRERROR_R invocations from here...
1823         * modules/strerror_r-posix (configure.ac): ... to here.
1824
1825 2011-05-24  Eric Blake  <eblake@redhat.com>
1826
1827         strerror_r: fix missing header
1828         * lib/strerror_r.c: Avoid compiler warning about snprintf.
1829
1830         strerror_r: fix AIX test failures
1831         * lib/strerror_r.c (strerror_r): Convert silent truncation to
1832         ERANGE failure.
1833
1834         strerror_r: fix Solaris test failures
1835         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
1836         failures.
1837         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
1838
1839         strerror_r: enforce POSIX recommendations
1840         * lib/strerror_r.c (safe_copy): New helper method.
1841         (strerror_r): Guarantee a non-empty string.
1842         * tests/test-strerror_r.c (main): Enhance tests to incorporate
1843         recent POSIX rulings and to match our strerror guarantees.
1844         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
1845
1846 2011-05-24  Jim Meyering  <meyering@redhat.com>
1847
1848         test-perror2.c: avoid warning about unused variable
1849         * tests/test-perror2.c (main): Remove declaration of unused "fp".
1850
1851 2011-05-24  Eric Blake  <eblake@redhat.com>
1852
1853         perror: avoid spurious test failure on HP-UX
1854         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
1855
1856         tests: fix logic bug in init.sh
1857         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
1858         shell.
1859
1860 2011-05-24  Jim Meyering  <meyering@redhat.com>
1861
1862         utimensat: do not reference an out-of-scope buffer
1863         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
1864         declared in an inner scope, yet "times" would be dereferenced outside
1865         the scope in which "ts" was valid.
1866         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
1867         of ts[2] "out/up", so that the use of aliased "times" (via
1868         "times = ts;") does not end up referencing an out-of-scope "ts"
1869
1870         opendir-safer.c: don't clobber errno; don't close negative FD
1871         * lib/opendir-safer.c (opendir_safer):
1872         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
1873         file descriptor, and more importantly, don't clobber the
1874         offending errno value with EINVAL.  Before, upon failure
1875         of dup_safer, we would pass the negative file descriptor to
1876         fdopendir, which would clobber errno.
1877
1878 2011-05-23  Bruno Haible  <bruno@clisp.org>
1879
1880         idcache: Fix module description.
1881         * modules/idcache (Include): Set to "idcache.h".
1882
1883 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
1884
1885         gnulib-tool: fix portability problem with MacOS sed
1886         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
1887         before the "}".  Problem reported by Leo in
1888         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
1889         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
1890         sed_extract_condition1, sed_extract_condition2.
1891
1892 2011-05-23  Bruno Haible  <bruno@clisp.org>
1893
1894         hash: Simplify autoconf macro.
1895         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
1896
1897 2011-05-23  Bruno Haible  <bruno@clisp.org>
1898
1899         getugroups: Fix module description.
1900         * modules/getugroups (Include): Set to "getugroups.h".
1901
1902 2011-05-23  Bruno Haible  <bruno@clisp.org>
1903
1904         linkat: Simplify autoconf macro.
1905         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
1906
1907 2011-05-23  Bruno Haible  <bruno@clisp.org>
1908             Eric Blake  <eblake@redhat.com>
1909
1910         linkat, renameat: Update dependencies.
1911         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
1912         * modules/linkat (Depends-on): Likewise. Remove also readlink,
1913         symlinkat.
1914
1915 2011-05-23  Jim Meyering  <meyering@redhat.com>
1916
1917         maint.mk: more tight_scope improvements
1918         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
1919         (_gl_TS_headers): Define only in if-0'd block.
1920         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
1921         sometimes we must *not* use it.  Adjust uses accordingly.
1922         (sc_tight_scope): Use much simpler grep-based test to determine
1923         whether we skip this rule.
1924
1925         maint.mk: generalize/improve the tight-scope rule
1926         * top/maint.mk: Emit a warning when the test is skipped.
1927         (_gl_TS_dir): Add $(srcdir)/ prefix.
1928         (_gl_TS_function_match): Simplify, rather than trying
1929         to enumerate common types.  Otherwise, it would fail to match an
1930         "extern unsigned char const *" declaration in idutils.
1931         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
1932         a way to support use of that type of macro.
1933         (_gl_TS_var_match): Simplify regexp.
1934         (_gl_TS_obj_files): New configurable variable.
1935         (_gl_TS_headers): Likewise.
1936
1937 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
1938
1939         verify: fix bug when gnulib <assert.h> is also included
1940         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
1941         is defined, not if _GL_STATIC_ASSERT_H is not defined.
1942         Perhaps there's a better way, but this fixes the immediate problem.
1943         Problem reported by Bruno Haible in
1944         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
1945
1946 2011-05-22  Bruno Haible  <bruno@clisp.org>
1947
1948         xgetcwd: Simplify autoconf macro.
1949         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
1950
1951 2011-05-22  Bruno Haible  <bruno@clisp.org>
1952
1953         New module 'mktime-internal'.
1954         * modules/mktime-internal: New file.
1955         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
1956         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
1957         mktime_internal as a C macro if libc has __mktime_internal.
1958         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
1959         conditions.
1960         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
1961
1962 2011-05-22  Bruno Haible  <bruno@clisp.org>
1963
1964         timegm: Correct mktime replacement statements.
1965         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
1966         defining mktime as a C macro. This completes a 2009-07-28 commit.
1967
1968 2011-05-22  Bruno Haible  <bruno@clisp.org>
1969
1970         timegm: Simplify autoconf macro.
1971         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
1972
1973 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
1974
1975         clock-time: change to LGPLv2+.
1976         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
1977         BSD-like but we have no mark for that; this is good enough for now.
1978
1979 2011-05-21  Bruno Haible  <bruno@clisp.org>
1980
1981         strerror_r: Fix comments.
1982         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
1983
1984 2011-05-21  Bruno Haible  <bruno@clisp.org>
1985
1986         relocatable-prog-wrapper: Fix possible link error.
1987         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
1988         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
1989         (gl_FUNC_SETENV): ... to here.
1990         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
1991         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
1992
1993 2011-05-21  Bruno Haible  <bruno@clisp.org>
1994
1995         relocatable-prog-wrapper: Assume strerror() exists.
1996         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
1997         m4/strerror.m4.
1998         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
1999         * lib/relocwrapper.c: Remove mention of strerror module.
2000         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
2001         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
2002         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
2003         C macro.
2004
2005 2011-05-21  Bruno Haible  <bruno@clisp.org>
2006
2007         select: Simplify replacement idiom.
2008         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
2009         Win32 platforms.
2010         * lib/sys_select.in.h (select): Simplify accordingly.
2011         * modules/select (Depends-on): Likewise.
2012
2013 2011-05-21  Bruno Haible  <bruno@clisp.org>
2014
2015         mkdir-p: Simplify autoconf macro.
2016         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
2017         gl_FUNC_LCHOWN.
2018
2019 2011-05-21  Eric Blake  <eblake@redhat.com>
2020
2021         strerror_r: avoid clobbering strerror on cygwin
2022         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
2023         fall back instead to sys_errlist.
2024         * modules/strerror (configure.ac): Add witness.
2025         * tests/test-strerror_r.c (main): Enhance test.
2026         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
2027         * tests/test-perror2.c (main): Free memory before exit.
2028
2029 2011-05-21  Bruno Haible  <bruno@clisp.org>
2030
2031         mkdtemp: Use gnulib naming conventions.
2032         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
2033         * modules/mkdtemp (configure.ac): Update.
2034
2035 2011-05-20  Eric Blake  <eblake@redhat.com>
2036
2037         strerror_r: avoid corrupting errno on Solaris
2038         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
2039         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
2040
2041         strerror_r: avoid compiler warning
2042         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
2043
2044         strerror_r: simplify AIX code
2045         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
2046
2047         test-perror: avoid spurious failure on FreeBSD
2048         * modules/perror-tests (Depends-on): Add strerror, now that
2049         strerror_r no longer pulls it in.
2050
2051 2011-05-20  Bruno Haible  <bruno@clisp.org>
2052
2053         strerror_r-posix: Remove unused dependencies.
2054         * modules/strerror_r-posix (Depends-on): Remove strerror.
2055         Reported by Eric Blake.
2056
2057 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
2058
2059         intprops: remove assumption about A|B representation
2060         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
2061         is a valid integer if both A and B are.  Although this is true for
2062         all known practical hosts, the C standard doesn't guarantee it,
2063         and the code need not assume it.  Also, this change may work around
2064         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
2065         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00426.html>.
2066
2067 2011-05-20  Eric Blake  <eblake@redhat.com>
2068
2069         perror: work around FreeBSD bug
2070         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
2071         is broken.  Move AC_LIBOBJ...
2072         * modules/perror (configure.ac): Here.
2073         * doc/posix-functions/perror.texi (perror): Document this.
2074         * tests/test-perror2.c (main): Enhance test.
2075
2076         test-perror: check for strerror interactions
2077         * tests/macros.h (STREQ): Add macro.
2078         * modules/perror-tests (Files): Add second test.
2079         * tests/test-perror2.c (main): New file.
2080         * doc/posix-functions/perror.texi (perror): Document glibc bug.
2081
2082         test-perror: rewrite to use init script
2083         * modules/perror-tests (Files): Add init.sh.
2084         * tests/test-perror.sh: Use temporary directory.
2085
2086 2011-05-20  Jim Meyering  <meyering@redhat.com>
2087
2088         maint: replace misused "a" with "an"
2089         * doc/intprops.texi: "a integer"
2090         * doc/regex.texi: "a explanation"
2091         * lib/alignof.h: "a object"
2092         * lib/argmatch.h: "a explanation"
2093         * lib/argp-help.c: "a option" and "a OPTION_DOC"
2094         * lib/stdint.in.h: "a integer"
2095         * lib/userspec.c: "a owner"
2096         * doc/gnulib.texi: Fix "a idea", and reword.
2097
2098 2011-05-19  Jim Meyering  <meyering@redhat.com>
2099
2100         maint: correct misuse of "a" and "an"
2101         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
2102         * lib/argp-help.c: "an docum...": s/an/a/
2103         * lib/argp-parse.c: "An vector": s/An/A/
2104         * lib/execute.c: "an native": s/an/a/
2105         * lib/spawn-pipe.c: Likewise.
2106         * lib/gc.h: "an Gc_rc": s/an/a/
2107         * lib/unigbrk.in.h: "an grapheme": s/an/a/
2108         * lib/fts.c: "an stat.st_dev": s/an/a/
2109
2110 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
2111
2112         intprops-tests: work around HP-UX 11.23 cc bug with constants
2113         * tests/test-intprops.c (VERIFY): New macro.
2114         (main): Use it, instead of verify, to work around the compiler bug; see
2115         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
2116
2117         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
2118         See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
2119         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
2120         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
2121         (_GL_REMAINDER_OVERFLOW): Use it.
2122
2123         intprops-tests: revert unsigned part of previous change
2124         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
2125         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
2126         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
2127         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.
2128
2129 2011-05-19  Bruno Haible  <bruno@clisp.org>
2130
2131         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
2132         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
2133         strerror_r() returned without filling the buffer.
2134         Reported by Eric Blake.
2135
2136 2011-05-19  Eric Blake  <eblake@redhat.com>
2137
2138         strerror_r: guarantee unchanged errno
2139         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
2140         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
2141         failure.
2142         * tests/test-strerror_r.c (main): Enhance test.
2143
2144 2011-05-19  Bruno Haible  <bruno@clisp.org>
2145
2146         strerror_r: Reorder #if blocks.
2147         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
2148         for consistency with the previous commit.
2149
2150 2011-05-19  Bruno Haible  <bruno@clisp.org>
2151
2152         perror: Avoid clobbering the strerror buffer when possible.
2153         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
2154         * lib/strerror.c: Include it.
2155         * modules/strerror (Files): Add lib/strerror-impl.h.
2156         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
2157         (my_strerror): New function, defined through lib/strerror-impl.h.
2158         (perror): Use it instead of strerror.
2159         * modules/perror (Files): Add lib/strerror-impl.h.
2160         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
2161
2162 2011-05-19  Eric Blake  <eblake@redhat.com>
2163
2164         strerror_r: fix on newer cygwin
2165         * lib/strerror_r.c (strerror_r): Cygwin now has
2166         __xpg_strerror_r, use it.
2167
2168 2011-05-19  Bruno Haible  <bruno@clisp.org>
2169
2170         strerror_r: Avoid clobbering the strerror buffer when possible.
2171         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
2172         (sys_nerr, sys_errlist): New declarations.
2173         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
2174         HP-UX, native Win32, IRIX, and 32-bit Solaris.
2175         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
2176
2177 2011-05-19  Bruno Haible  <bruno@clisp.org>
2178
2179         strerror_r: Fix test failure on mingw.
2180         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
2181         EXTEND_STRERROR_R.
2182         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
2183         macros from errno.in.h instead.
2184
2185 2011-05-19  Eric Blake  <eblake@redhat.com>
2186
2187         strerror: relax test for Solaris
2188         * tests/test-strerror.c (main): Permit Solaris behavior.
2189         * tests/test-strerror_r.c (main): Likewise.
2190
2191         strerror: enforce POSIX ruling on strerror(0)
2192         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
2193         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
2194         * lib/strerror_r.c (rpl_strerror_r): Work around it.
2195         * doc/posix-functions/strerror.texi (strerror): Document it.
2196         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
2197         * tests/test-strerror.c (main): Strengthen test.
2198         * tests/test-strerror_r.c (main): Likewise.
2199
2200 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
2201
2202         intprop-tests: port to older and more-pedantic compilers
2203         * modules/intprops-tests (Files): Add tests/macros.h.
2204         * tests/test-intprops.c: Include macros.h.
2205         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
2206         it's no longer documented to expand to an integer constant expression.
2207         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
2208         argument is floating point, as it's no longer documented to expand
2209         to an integer constant expression in that case.
2210         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
2211         compiler bugs reported by Bruno Haible.  See
2212         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
2213         (U0, U1): New constants, to work around the same bugs.  Also,
2214         in tests, use e.g., "(unsigned int) 39" rather than "39u".
2215
2216         intprops: work around C compiler bugs
2217         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
2218         bug in Sun C 5.11 2010/08/13 and other compilers; see
2219         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
2220
2221         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
2222         * doc/intprops.texi (Integer Type Determination): Fix
2223         documentation for TYPE_IS_INTEGER: it returns an constant
2224         expression, not an integer constant expression.  Fix doc for
2225         TYPE_SIGNED: it returns an integer constant expression only if its
2226         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
2227         hardly worth documented that way....)
2228
2229 2011-05-18  Bruno Haible  <bruno@clisp.org>
2230
2231         strerror_r: Avoid clobbering the strerror buffer when possible.
2232         * lib/strerror_r.c (strerror_r): Merge the three implementations.
2233         Handle gnulib defined errno values here. When strerror() returns NULL
2234         or an empty string, return EINVAL.
2235         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
2236         gnulib defined errno values here.
2237         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
2238
2239 2011-05-18  Eric Blake  <eblake@redhat.com>
2240
2241         fnmatch: avoid compiler warning
2242         * lib/fnmatch_loop.c (FCT): Use correct type.
2243         Reported by Matthias Bolte.
2244
2245 2011-05-13  Jim Meyering  <meyering@redhat.com>
2246
2247         maint.mk: three new prohibit_<HDR>_without_use rules
2248         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
2249         (sc_prohibit_stdio-safer_without_use): Likewise.
2250         (sc_prohibit_xfreopen_without_use): Likewise.
2251
2252 2011-05-17  Jim Meyering  <meyering@redhat.com>
2253
2254         announce-gen: fail if the NEWS delta is empty
2255         If there's nothing noteworthy in NEWS, then either you forgot
2256         or you shouldn't be releasing.
2257         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
2258
2259 2011-05-17  Pádraig Brady <P@draigBrady.com>
2260
2261         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
2262         reserved symbols starting with double underscore from the check.
2263
2264 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
2265
2266         intprops: add doc
2267         * doc/intprops.texi: New file, documenting intprops.
2268         * doc/gnulib.texi (Particular Modules): Include it.
2269
2270         verify: add doc to gnulib manual and fix example
2271         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
2272         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
2273         (Compile-time Assertions): Fix example so it can't overflow.
2274
2275 2011-05-17  Jim Meyering  <meyering@redhat.com>
2276
2277         warnings.m4: don't usurp save_CPPFLAGS variable name
2278         * m4/warnings.m4: Prefix local temporary variable name with gl_.
2279
2280         doc: fix typo
2281         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
2282
2283 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
2284             Bruno Haible  <bruno@clisp.org>
2285
2286         doc: Tweak recent change.
2287         * README (Portability guidelines): Tweak new text.
2288         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
2289         Interix 6.1.
2290
2291 2011-05-16  Eric Blake  <eblake@redhat.com>
2292
2293         inttypes: avoid autoconf warning
2294         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
2295         * m4/stdint.m4 (gl_STDINT_H): Likewise.
2296
2297 2011-05-16  Sam Steingold <sds@gnu.org>
2298         and Eric Blake  <eblake@redhat.com>
2299
2300         vc-list-files: accept multiple directory operands
2301         * build-aux/vc-list-files: Iterate over all remaining operands.
2302
2303 2011-05-16  Bruno Haible  <bruno@clisp.org>
2304
2305         Fix confusion regarding deprecated modules.
2306         * modules/calloc (Status, Notice): Mark module as deprecated, not
2307         obsolete.
2308         * modules/fnmatch-posix (Status, Notice): Likewise.
2309         * modules/getdate (Status, Notice): Likewise.
2310         * modules/getopt (Status, Notice): Likewise.
2311         * modules/malloc (Status, Notice): Likewise.
2312         * modules/pipe (Status, Notice): Likewise.
2313         * modules/realloc (Status, Notice): Likewise.
2314         * modules/rename-dest-slash (Status, Notice): Likewise.
2315         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
2316         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
2317         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
2318         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
2319         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
2320
2321 2011-05-16  Bruno Haible  <bruno@clisp.org>
2322
2323         doc: List the target platforms.
2324         * doc/gnulib-intro.texi (Target Platforms): New section.
2325         * doc/gnulib.texi (Introduction): Update menu.
2326         * README (Portability guidelines): Refer to the new section. Update
2327         statement about oldest supported environment. Remove rationale why
2328         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
2329         unportable C89 function.
2330         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
2331         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
2332
2333 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
2334
2335         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
2336
2337 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
2338
2339         intprops-tests: new module
2340         * modules/intprops-tests, tests/test-intprops.c: New files.
2341
2342         intprops: add safe, portable integer overflow checking
2343         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
2344         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
2345         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
2346         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
2347         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
2348         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
2349         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
2350         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
2351         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
2352         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
2353         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
2354
2355 2011-05-12  James Youngman  <jay@gnu.org>
2356
2357         Add a test for glibc's Bugzilla bug #12378.
2358         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
2359         doesn't allow the literal matching of a lone "[" (which is
2360         required by POSIX).
2361         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
2362
2363 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
2364
2365         Sync glibc change fixing Bugzilla bug #12378.
2366         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
2367         beginning and fall back to matching as normal character if the
2368         string ends before the matching ']' is found.  This is what POSIX
2369         requires.
2370
2371 2011-05-13  Eric Blake  <eblake@redhat.com>
2372
2373         getcwd-lgpl: relax test for FreeBSD
2374         * doc/posix-functions/getcwd.texi (getcwd): Document portability
2375         issue.
2376         * tests/test-getcwd-lgpl.c (main): Relax test.
2377         Reported by Matthias Bolte.
2378
2379 2011-05-11  Eric Blake  <eblake@redhat.com>
2380
2381         test-fflush: silence compiler warning
2382         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
2383
2384 2011-05-11  Bruno Haible  <bruno@clisp.org>
2385
2386         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
2387         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
2388         * modules/canonicalize (Depends-on): Add 'nocrash'.
2389         * modules/canonicalize-lgpl (Depends-on): Likewise.
2390         * doc/posix-functions/realpath.texi: Update platforms list.
2391         Reported by Ryan Schmidt <ryandesign@macports.org>.
2392
2393 2011-05-11  Bruno Haible  <bruno@clisp.org>
2394
2395         group-member: Declare function in <unistd.h>.
2396         * lib/unistd.in.h (group_member): New declaration.
2397         * lib/group-member.h: Remove file.
2398         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
2399         * tests/test-unistd-c++.cc: Check signature of group_member.
2400         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
2401         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
2402         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
2403         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
2404         HAVE_GROUP_MEMBER.
2405         * modules/group-member (Files): Remove lib/group-member.h.
2406         (Depends-on): Add unistd. Specify conditions.
2407         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
2408         (Include): Change to <unistd.h>.
2409         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
2410         HAVE_GROUP_MEMBER.
2411         * NEWS: Mention the change.
2412         * lib/euidaccess.c: Don't include group-member.h.
2413
2414 2011-05-11  Bruno Haible  <bruno@clisp.org>
2415
2416         group-member: Document module.
2417         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
2418         module.
2419
2420 2011-05-11  Bruno Haible  <bruno@clisp.org>
2421
2422         fclose: Fix mistake earlier today.
2423         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
2424
2425 2011-05-11  Eric Blake  <eblake@redhat.com>
2426
2427         fclose: preserve fflush errors
2428         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
2429         Reported by Jim Meyering.
2430
2431         bootstrap: support a prereq of 'rpcgen -' on RHEL5
2432         * build-aux/bootstrap (check_versions): When no specific version
2433         is required, merely check that the app produces an exit status
2434         that indicates its existence.
2435
2436         maint.mk: drop redundant check
2437         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
2438         the same but better.
2439
2440 2011-05-11  Bruno Haible  <bruno@clisp.org>
2441
2442         fclose: Fix possible link error.
2443         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
2444         unregister_shadow_fd. Improve comments.
2445         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
2446         Eric Blake.
2447
2448 2011-05-11  Jim Meyering  <meyering@redhat.com>
2449
2450         maint.mk: improve "can not" detection and generalize rule name
2451         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
2452         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
2453         Use the same technique as in sc_prohibit_doubled_word, so that
2454         we recognize "can not" also when the words are separated by a newline.
2455         Suggested by Eric Blake.
2456         (perl_filename_lineno_text_): Define.  Factored out of...
2457         (prohibit_doubled_word_): ...here.  Use the new definition.
2458         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
2459         (prohibit_undesirable_word_seq_RE_): New overridable variable.
2460         (ignore_undesirable_word_sequence_RE_): New overridable variable.
2461
2462 2011-05-10  Eric Blake  <eblake@redhat.com>
2463
2464         fclose: avoid double close race when possible
2465         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
2466         all but WINDOWS_SOCKETS.
2467
2468 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
2469
2470         openat: correct new comment
2471         * lib/openat-proc.c (openat_proc_name): Correct the comment.
2472
2473 2011-05-10  Jim Meyering  <meyering@redhat.com>
2474
2475         openat: add comments
2476         * lib/openat-proc.c (openat_proc_name): Add comments,
2477         mostly from Eric Blake.
2478
2479 2011-05-09  Eric Blake  <eblake@redhat.com>
2480
2481         openat: reduce syscalls in first probe of /proc
2482         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
2483         be a directory.  Simplify the probe for .. bugs.
2484         * modules/openat (Depends-on): Drop same-inode.
2485         Reported by Bastien ROUCARIES.
2486
2487 2011-05-09  Jim Meyering  <meyering@redhat.com>
2488
2489         maint.mk: change semantics/name of tight_scope variables
2490         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
2491         Rename variables to align with semantics that make them more useful.
2492
2493         maint.mk: tweak new rule's name not to impinge
2494         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
2495         (sc_tight_scope): Use new rule name rather than $@-0.
2496
2497         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
2498         * top/maint.mk (sc_tight_scope): New rule.
2499         (sc_tight_scope-0): New rule, ifdef'd out.
2500         (_gl_TS_dir): Default.
2501         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
2502         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
2503
2504 2011-05-09  Simon Josefsson  <simon@josefsson.org>
2505
2506         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
2507         Haible <bruno@clisp.org>.
2508
2509 2011-05-08  Bruno Haible  <bruno@clisp.org>
2510
2511         Comments.
2512         * m4/isnanf.m4: Add comment.
2513         * m4/isnanl.m4: Likewise.
2514
2515 2011-05-08  Bruno Haible  <bruno@clisp.org>
2516
2517         glob: Remove obsolete macro.
2518         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
2519
2520 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
2521
2522         intprops: Sun C 5.11 supports __typeof__
2523         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
2524         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
2525         which is new.
2526         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
2527
2528         intprops: switch to usual gnulib indenting and naming
2529         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
2530         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
2531
2532         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
2533
2534 2011-05-08  Jim Meyering  <meyering@redhat.com>
2535
2536         maint.mk: suppress "Entering/Leaving directory" diag in announcement
2537         * top/maint.mk (release-prep): Use make's --no-print-directory
2538         option when generating the announcement.  This eliminates the
2539         pesky "make[2]: Entering/Leaving directory" diagnostics in the
2540         generated announcement template.
2541
2542 2011-05-08  Bruno Haible  <bruno@clisp.org>
2543
2544         tzset: Fix gettimeofday wrapper on Solaris 2.6.
2545         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
2546         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
2547
2548 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
2549
2550         ignore-value, verify: Omit include files from lib_SOURCES.
2551         * modules/ignore-value, modules/verify (Makefile.am):
2552         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
2553         that leads Automake to duplicate use of am__objects_... variables
2554         in Makefile.in.  See
2555         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
2556
2557 2011-05-07  Bruno Haible  <bruno@clisp.org>
2558
2559         fclose: Simplify autoconf macro.
2560         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
2561         defined.
2562
2563 2011-05-07  Bruno Haible  <bruno@clisp.org>
2564
2565         canonicalize-lgpl: Fix autoconf macro ordering bug.
2566         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
2567         gl_STDLIB_H_DEFAULTS.
2568
2569 2011-05-06  Eric Blake  <eblake@redhat.com>
2570
2571         maintainer-makefile: make sc_po_check easier to tune
2572         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
2573         to probe for strings, such as an alternate location for gnulib.
2574
2575         fclose: guarantee behavior on seekable stdin
2576         * modules/fclose (Depends-on): Add fflush.
2577         * doc/posix-functions/fclose.texi (fclose): Document this.
2578         * tests/test-fclose.c (main): Make test for this unconditional.
2579
2580 2011-05-06  Bruno Haible  <bruno@clisp.org>
2581
2582         fflush, fpurge: Relicense under LGPLv2+.
2583         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
2584         * modules/fpurge (License): Likewise.
2585         With permission from Eric Blake and Jim Meyering.
2586         Suggested by Eric Blake.
2587
2588 2011-05-06  Karl Berry  <karl@gnu.org>
2589
2590         * MODULES.html.sh (func_all_modules): remove exit.
2591
2592 2011-05-06  Jim Meyering  <meyering@redhat.com>
2593
2594         maint.mk: use info-gnu@ as the default only for a stable release
2595         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
2596         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
2597         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
2598         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
2599
2600 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
2601
2602         assert-h: new module, which supports C1X-style static_assert
2603         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
2604         * lib/verify.h: Revamp so that this can be copied into assert.h,
2605         while retaining the ability to use it standalone as before.
2606         Rename private identifiers so as not to encroach on the
2607         standard C namespace, since this is now used by assert.h.
2608         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
2609         the old verify_true.
2610         (_GL_VERIFY_TRUE): New macro, with much of the contents of
2611         the old verify_true.  Use _GL_VERIFY_TYPE.
2612         (_GL_VERIFY): New macro, with much of the contents of the old verify.
2613         (static_assert): New macro, if _GL_STATIC_ASSERT_H
2614         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
2615         defined when this file is copied into the replacement assert.h.
2616         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
2617         and _Static_assert is not built in.
2618         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
2619         defined, and use the new macros mentioned above.
2620         * doc/posix-headers/assert.texi: Document this.
2621
2622 2011-05-05  Bruno Haible  <bruno@clisp.org>
2623
2624         fclose, fflush: Respect rules for use of AC_LIBOBJ.
2625         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
2626         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
2627         gl_REPLACE_FCLOSE here.
2628         * modules/fflush (Depends-on): Remove fclose.
2629         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
2630         combination with module 'fclose'.
2631
2632 2011-05-05  Bruno Haible  <bruno@clisp.org>
2633
2634         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
2635         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
2636         gl_FUNC_FFLUSH.
2637         (gl_FUNC_FFLUSH): Use it.
2638         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
2639         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
2640         gl_REPLACE_FSEEKO here.
2641
2642 2011-05-05  Bruno Haible  <bruno@clisp.org>
2643
2644         tzset: Relicense under LGPL.
2645         * modules/tzset (License): Change to LGPL.
2646         No agreement needed; it's a no-op.
2647
2648         strtoimax, strtoumax: Relicense under LGPL.
2649         * modules/strtoimax (License): Change to LGPL.
2650         * modules/strtoumax (License): Likewise.
2651         With permission from Jim Meyering, Paul Eggert:
2652         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
2653         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
2654
2655         getgroups: Relicense under LGPL.
2656         * modules/getgroups (License): Change to LGPL.
2657         With permission from Jim Meyering, Paul Eggert, Eric Blake:
2658         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
2659         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
2660         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
2661
2662         nanosleep: Relicense under LGPL.
2663         * modules/nanosleep (License): Change to LGPL.
2664         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
2665         Haible:
2666         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
2667         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
2668         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
2669         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
2670
2671         futimens: Relicense under LGPL.
2672         * modules/futimens (License): Change to LGPL.
2673         With permission from Eric Blake:
2674         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
2675
2676         fflush: Relicense under LGPL.
2677         * modules/fflush (License): Change to LGPL.
2678         With permission from Eric Blake, Bruno Haible, Jim Meyering:
2679         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
2680         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
2681         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
2682
2683         tmpfile: Relicense under LGPL.
2684         * modules/tmpfile (License): Change to LGPL.
2685         With permission from Ben Pfaff:
2686         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
2687
2688         isfinite: Relicense under LGPL.
2689         * modules/isfinite (License): Change to LGPL.
2690         With permission from Ben Pfaff, Bruno Haible:
2691         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
2692         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
2693
2694         acosl..tanl: Relicense under LGPL.
2695         * modules/acosl (License): Change to LGPL.
2696         * modules/asinl (License): Likewise.
2697         * modules/atanl (License): Likewise.
2698         * modules/cosl (License): Likewise.
2699         * modules/expl (License): Likewise.
2700         * modules/logl (License): Likewise.
2701         * modules/sinl (License): Likewise.
2702         * modules/sqrtl (License): Likewise.
2703         * modules/tanl (License): Likewise.
2704         Source code originally from glibc and Paolo Bonzini. Agreements:
2705         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
2706         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
2707
2708 2011-05-05  Bruno Haible  <bruno@clisp.org>
2709
2710         signal: Define sighandler_t.
2711         * lib/signal.in.h (sighandler_t): New type.
2712         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
2713         whether sighandler_t is defined.
2714         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
2715         * modules/signal (Depends-on): Add extensions.
2716         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
2717         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
2718         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
2719
2720 2011-05-05  Eric Blake  <eblake@redhat.com>
2721
2722         maint: remove useless REPLACE_*_H macros
2723         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
2724         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
2725         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
2726         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
2727         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
2728         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
2729         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
2730         * m4/btowc.m4: Update callers.
2731         * m4/dirfd.m4: Likewise.
2732         * m4/duplocale.m4: Likewise.
2733         * m4/fchdir.m4: Likewise.
2734         * m4/fdopendir.m4: Likewise.
2735         * m4/inet_ntop.m4: Likewise.
2736         * m4/inet_pton.m4: Likewise.
2737         * m4/ioctl.m4: Likewise.
2738         * m4/mbrlen.m4: Likewise.
2739         * m4/mbrtowc.m4: Likewise.
2740         * m4/mbsinit.m4: Likewise.
2741         * m4/mbsnrtowcs.m4: Likewise.
2742         * m4/mbsrtowcs.m4: Likewise.
2743         * m4/poll.m4: Likewise.
2744         * m4/setlocale.m4: Likewise.
2745         * m4/wcrtomb.m4: Likewise.
2746         * m4/wcsnrtombs.m4: Likewise.
2747         * m4/wcsrtombs.m4: Likewise.
2748         * m4/wctob.m4: Likewise.
2749         * m4/wcwidth.m4: Likewise.
2750         * modules/posix_spawn: Likewise.
2751         * modules/posix_spawn_file_actions_addclose: Likewise.
2752         * modules/posix_spawn_file_actions_adddup2: Likewise.
2753         * modules/posix_spawn_file_actions_addopen: Likewise.
2754         * modules/posix_spawn_file_actions_destroy: Likewise.
2755         * modules/posix_spawn_file_actions_init: Likewise.
2756         * modules/posix_spawnattr_destroy: Likewise.
2757         * modules/posix_spawnattr_getflags: Likewise.
2758         * modules/posix_spawnattr_getpgroup: Likewise.
2759         * modules/posix_spawnattr_getschedparam: Likewise.
2760         * modules/posix_spawnattr_getschedpolicy: Likewise.
2761         * modules/posix_spawnattr_getsigdefault: Likewise.
2762         * modules/posix_spawnattr_getsigmask: Likewise.
2763         * modules/posix_spawnattr_init: Likewise.
2764         * modules/posix_spawnattr_setflags: Likewise.
2765         * modules/posix_spawnattr_setpgroup: Likewise.
2766         * modules/posix_spawnattr_setschedparam: Likewise.
2767         * modules/posix_spawnattr_setschedpolicy: Likewise.
2768         * modules/posix_spawnattr_setsigdefault: Likewise.
2769         * modules/posix_spawnattr_setsigmask: Likewise.
2770         * modules/posix_spawnp: Likewise.
2771
2772 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
2773
2774         Add option to do-release-commit-and-tag to specify branch.
2775         * build-aux/do-release-commit-and-tag: Add --branch.
2776
2777 2011-05-03  Bruno Haible  <bruno@clisp.org>
2778
2779         Avoid unnecessary compilation units, through conditional dependencies.
2780         * modules/accept (Depends-on): Add conditions to the dependencies.
2781         * modules/acosl (Depends-on): Likewise.
2782         * modules/argz (Depends-on): Likewise.
2783         * modules/asinl (Depends-on): Likewise.
2784         * modules/atanl (Depends-on): Likewise.
2785         * modules/atoll (Depends-on): Likewise.
2786         * modules/bind (Depends-on): Likewise.
2787         * modules/btowc (Depends-on): Likewise.
2788         * modules/canonicalize-lgpl (Depends-on): Likewise.
2789         * modules/ceil (Depends-on): Likewise.
2790         * modules/ceilf (Depends-on): Likewise.
2791         * modules/ceill (Depends-on): Likewise.
2792         * modules/chdir-long (Depends-on): Likewise.
2793         * modules/chown (Depends-on): Likewise.
2794         * modules/close (Depends-on): Likewise.
2795         * modules/connect (Depends-on): Likewise.
2796         * modules/cosl (Depends-on): Likewise.
2797         * modules/dirfd (Depends-on): Likewise.
2798         * modules/dprintf (Depends-on): Likewise.
2799         * modules/dprintf-posix (Depends-on): Likewise.
2800         * modules/error (Depends-on): Likewise.
2801         * modules/euidaccess (Depends-on): Likewise.
2802         * modules/expl (Depends-on): Likewise.
2803         * modules/faccessat (Depends-on): Likewise.
2804         * modules/fchdir (Depends-on): Likewise.
2805         * modules/fclose (Depends-on): Likewise.
2806         * modules/fcntl (Depends-on): Likewise.
2807         * modules/fdopendir (Depends-on): Likewise.
2808         * modules/fflush (Depends-on): Likewise.
2809         * modules/floor (Depends-on): Likewise.
2810         * modules/floorf (Depends-on): Likewise.
2811         * modules/floorl (Depends-on): Likewise.
2812         * modules/fnmatch (Depends-on): Likewise.
2813         * modules/fopen (Depends-on): Likewise.
2814         * modules/fprintf-posix (Depends-on): Likewise.
2815         * modules/frexp (Depends-on): Likewise.
2816         * modules/frexp-nolibm (Depends-on): Likewise.
2817         * modules/frexpl (Depends-on): Likewise.
2818         * modules/frexpl-nolibm (Depends-on): Likewise.
2819         * modules/fseek (Depends-on): Likewise.
2820         * modules/fsusage (Depends-on): Likewise.
2821         * modules/ftell (Depends-on): Likewise.
2822         * modules/ftello (Depends-on): Likewise.
2823         * modules/futimens (Depends-on): Likewise.
2824         * modules/getcwd (Depends-on): Likewise.
2825         * modules/getcwd-lgpl (Depends-on): Likewise.
2826         * modules/getdelim (Depends-on): Likewise.
2827         * modules/getdomainname (Depends-on): Likewise.
2828         * modules/getgroups (Depends-on): Likewise.
2829         * modules/gethostname (Depends-on): Likewise.
2830         * modules/getline (Depends-on): Likewise.
2831         * modules/getlogin_r (Depends-on): Likewise.
2832         * modules/getopt-posix (Depends-on): Likewise.
2833         * modules/getpeername (Depends-on): Likewise.
2834         * modules/getsockname (Depends-on): Likewise.
2835         * modules/getsockopt (Depends-on): Likewise.
2836         * modules/getsubopt (Depends-on): Likewise.
2837         * modules/getusershell (Depends-on): Likewise.
2838         * modules/glob (Depends-on): Likewise.
2839         * modules/grantpt (Depends-on): Likewise.
2840         * modules/iconv_open (Depends-on): Likewise.
2841         * modules/iconv_open-utf (Depends-on): Likewise.
2842         * modules/inet_ntop (Depends-on): Likewise.
2843         * modules/inet_pton (Depends-on): Likewise.
2844         * modules/ioctl (Depends-on): Likewise.
2845         * modules/isapipe (Depends-on): Likewise.
2846         * modules/isfinite (Depends-on): Likewise.
2847         * modules/isinf (Depends-on): Likewise.
2848         * modules/lchown (Depends-on): Likewise.
2849         * modules/ldexpl (Depends-on): Likewise.
2850         * modules/link (Depends-on): Likewise.
2851         * modules/linkat (Depends-on): Likewise.
2852         * modules/listen (Depends-on): Likewise.
2853         * modules/logl (Depends-on): Likewise.
2854         * modules/lstat (Depends-on): Likewise.
2855         * modules/mbrlen (Depends-on): Likewise.
2856         * modules/mbrtowc (Depends-on): Likewise.
2857         * modules/mbsinit (Depends-on): Likewise.
2858         * modules/mbsnrtowcs (Depends-on): Likewise.
2859         * modules/mbsrtowcs (Depends-on): Likewise.
2860         * modules/mbtowc (Depends-on): Likewise.
2861         * modules/memcmp (Depends-on): Likewise.
2862         * modules/mkdir (Depends-on): Likewise.
2863         * modules/mkdtemp (Depends-on): Likewise.
2864         * modules/mkfifo (Depends-on): Likewise.
2865         * modules/mkfifoat (Depends-on): Likewise.
2866         * modules/mknod (Depends-on): Likewise.
2867         * modules/mkostemp (Depends-on): Likewise.
2868         * modules/mkostemps (Depends-on): Likewise.
2869         * modules/mkstemp (Depends-on): Likewise.
2870         * modules/mkstemps (Depends-on): Likewise.
2871         * modules/mktime (Depends-on): Likewise.
2872         * modules/nanosleep (Depends-on): Likewise.
2873         * modules/open (Depends-on): Likewise.
2874         * modules/openat (Depends-on): Likewise.
2875         * modules/perror (Depends-on): Likewise.
2876         * modules/poll (Depends-on): Likewise.
2877         * modules/popen (Depends-on): Likewise.
2878         * modules/posix_spawn (Depends-on): Likewise.
2879         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
2880         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
2881         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
2882         * modules/posix_spawnp (Depends-on): Likewise.
2883         * modules/pread (Depends-on): Likewise.
2884         * modules/printf-posix (Depends-on): Likewise.
2885         * modules/ptsname (Depends-on): Likewise.
2886         * modules/putenv (Depends-on): Likewise.
2887         * modules/pwrite (Depends-on): Likewise.
2888         * modules/readline (Depends-on): Likewise.
2889         * modules/readlink (Depends-on): Likewise.
2890         * modules/readlinkat (Depends-on): Likewise.
2891         * modules/recv (Depends-on): Likewise.
2892         * modules/recvfrom (Depends-on): Likewise.
2893         * modules/regex (Depends-on): Likewise.
2894         * modules/remove (Depends-on): Likewise.
2895         * modules/rename (Depends-on): Likewise.
2896         * modules/renameat (Depends-on): Likewise.
2897         * modules/rmdir (Depends-on): Likewise.
2898         * modules/round (Depends-on): Likewise.
2899         * modules/roundf (Depends-on): Likewise.
2900         * modules/roundl (Depends-on): Likewise.
2901         * modules/rpmatch (Depends-on): Likewise.
2902         * modules/select (Depends-on): Likewise.
2903         * modules/send (Depends-on): Likewise.
2904         * modules/sendto (Depends-on): Likewise.
2905         * modules/setenv (Depends-on): Likewise.
2906         * modules/setlocale (Depends-on): Likewise.
2907         * modules/setsockopt (Depends-on): Likewise.
2908         * modules/shutdown (Depends-on): Likewise.
2909         * modules/sigaction (Depends-on): Likewise.
2910         * modules/signbit (Depends-on): Likewise.
2911         * modules/sigprocmask (Depends-on): Likewise.
2912         * modules/sinl (Depends-on): Likewise.
2913         * modules/sleep (Depends-on): Likewise.
2914         * modules/snprintf (Depends-on): Likewise.
2915         * modules/snprintf-posix (Depends-on): Likewise.
2916         * modules/socket (Depends-on): Likewise.
2917         * modules/sprintf-posix (Depends-on): Likewise.
2918         * modules/sqrtl (Depends-on): Likewise.
2919         * modules/stat (Depends-on): Likewise.
2920         * modules/strchrnul (Depends-on): Likewise.
2921         * modules/strdup-posix (Depends-on): Likewise.
2922         * modules/strerror (Depends-on): Likewise.
2923         * modules/strerror_r-posix (Depends-on): Likewise.
2924         * modules/strndup (Depends-on): Likewise.
2925         * modules/strnlen (Depends-on): Likewise.
2926         * modules/strptime (Depends-on): Likewise.
2927         * modules/strsep (Depends-on): Likewise.
2928         * modules/strsignal (Depends-on): Likewise.
2929         * modules/strstr-simple (Depends-on): Likewise.
2930         * modules/strtod (Depends-on): Likewise.
2931         * modules/strtoimax (Depends-on): Likewise.
2932         * modules/strtok_r (Depends-on): Likewise.
2933         * modules/strtoumax (Depends-on): Likewise.
2934         * modules/symlink (Depends-on): Likewise.
2935         * modules/symlinkat (Depends-on): Likewise.
2936         * modules/tanl (Depends-on): Likewise.
2937         * modules/tcgetsid (Depends-on): Likewise.
2938         * modules/tmpfile (Depends-on): Likewise.
2939         * modules/trunc (Depends-on): Likewise.
2940         * modules/truncf (Depends-on): Likewise.
2941         * modules/truncl (Depends-on): Likewise.
2942         * modules/uname (Depends-on): Likewise.
2943         * modules/unlink (Depends-on): Likewise.
2944         * modules/unlockpt (Depends-on): Likewise.
2945         * modules/unsetenv (Depends-on): Likewise.
2946         * modules/usleep (Depends-on): Likewise.
2947         * modules/utimensat (Depends-on): Likewise.
2948         * modules/vasprintf (Depends-on): Likewise.
2949         * modules/vdprintf (Depends-on): Likewise.
2950         * modules/vdprintf-posix (Depends-on): Likewise.
2951         * modules/vfprintf-posix (Depends-on): Likewise.
2952         * modules/vprintf-posix (Depends-on): Likewise.
2953         * modules/vsnprintf (Depends-on): Likewise.
2954         * modules/vsnprintf-posix (Depends-on): Likewise.
2955         * modules/vsprintf-posix (Depends-on): Likewise.
2956         * modules/wcrtomb (Depends-on): Likewise.
2957         * modules/wcscasecmp (Depends-on): Likewise.
2958         * modules/wcscspn (Depends-on): Likewise.
2959         * modules/wcsdup (Depends-on): Likewise.
2960         * modules/wcsncasecmp (Depends-on): Likewise.
2961         * modules/wcsnrtombs (Depends-on): Likewise.
2962         * modules/wcspbrk (Depends-on): Likewise.
2963         * modules/wcsrtombs (Depends-on): Likewise.
2964         * modules/wcsspn (Depends-on): Likewise.
2965         * modules/wcsstr (Depends-on): Likewise.
2966         * modules/wcstok (Depends-on): Likewise.
2967         * modules/wcswidth (Depends-on): Likewise.
2968         * modules/wctob (Depends-on): Likewise.
2969         * modules/wctomb (Depends-on): Likewise.
2970         * modules/wctype (Depends-on): Likewise.
2971         * modules/wcwidth (Depends-on): Likewise.
2972         * modules/write (Depends-on): Likewise.
2973
2974 2011-05-03  Bruno Haible  <bruno@clisp.org>
2975
2976         Support for conditional dependencies.
2977         * doc/gnulib.texi (Module description): Document the syntax of
2978         conditional dependencies.
2979         * gnulib-tool: New option --conditional-dependencies.
2980         (func_usage): Document it.
2981         (cond_dependencies): New variable.
2982         (func_get_automake_snippet_conditional,
2983         func_get_automake_snippet_unconditional): New functions, extracted from
2984         func_get_automake_snippet.
2985         (func_get_automake_snippet): Use them.
2986         (sed_first_32_chars): New variable.
2987         (func_module_shellfunc_name): New function.
2988         (func_module_shellvar_name): New function.
2989         (func_module_conditional_name): New function.
2990         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
2991         func_cond_module_condition): New functions.
2992         (func_modules_transitive_closure): Add support for conditional
2993         dependencies.
2994         (func_emit_lib_Makefile_am): For a conditional module, enclose the
2995         conditional automake snippet in an automake conditional.
2996         (func_emit_autoconf_snippets): Emit shell functions that contain the
2997         code for conditional modules.
2998         (func_import, func_create_testdir): Update specification.
2999
3000 2011-05-03  Eric Blake  <eblake@redhat.com>
3001
3002         test-getaddrinfo: report error information
3003         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
3004
3005 2011-05-03  Jim Meyering  <meyering@redhat.com>
3006
3007         bootstrap: avoid build failure when $GZIP is set
3008         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
3009         program name.  If defined at all, it is supposed to list gzip options.
3010         Reported by Alan Curry in http://debbugs.gnu.org/8609
3011
3012 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
3013
3014         readme-release: new module with release instructions
3015         * modules/readme-release: New module.
3016         * top/README-release: New file, from coreutils, grep, diffutils.
3017         * MODULES.html.sh (Support for maintaining and releasing): Add it.
3018
3019 2011-05-02  Eric Blake  <eblake@redhat.com>
3020
3021         fflush: also replace fclose when fixing fflush
3022         * modules/fflush (Depends-on): Add fclose.
3023         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
3024         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
3025         memstreams with no backing fd.
3026         * doc/posix-functions/fclose.texi (fclose): Document the use of
3027         fflush module to fix the bug.
3028         * tests/test-fclose.c (main): Relax test when fclose is used in
3029         isolation.
3030
3031         fclose: add some tests
3032         * modules/fclose-tests: New test module.
3033         * tests/test-fclose.c: New file.
3034         * doc/posix-functions/fclose.texi (fclose): Document the bug.
3035
3036         fclose: reduced dependencies
3037         * modules/fclose (Depends-on): Switch from fflush/fseeko to
3038         simpler lseek.
3039         * lib/fclose.c (rpl_fclose): Likewise.
3040         Reported by Simon Josefsson.
3041
3042         exit: drop remaining clients
3043         * modules/argmatch (Depends-on): Replace exit with stdlib.
3044         * modules/copy-file (Depends-on): Likewise.
3045         * modules/execute (Depends-on): Likewise.
3046         * modules/exitfail (Depends-on): Likewise.
3047         * modules/obstack (Depends-on): Likewise.
3048         * modules/pagealign_alloc (Depends-on): Likewise.
3049         * modules/pipe-filter-gi (Depends-on): Likewise.
3050         * modules/pipe-filter-ii (Depends-on): Likewise.
3051         * modules/savewd (Depends-on): Likewise.
3052         * modules/spawn-pipe (Depends-on): Likewise.
3053         * modules/wait-process (Depends-on): Likewise.
3054         * modules/xsetenv (Depends-on): Likewise.
3055         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
3056         * modules/git-merge-changelog (Depends-on): Likewise.
3057         * modules/long-options (Depends-on): Likewise.
3058         * modules/pt_chown (Depends-on): Likewise.
3059         * modules/sysexits (Depends-on): Likewise.
3060
3061         freading: relax license from LGPLv3+ to LGPLv2+
3062         * modules/freading (License): Relax LGPL version.
3063
3064 2011-05-02  Bruno Haible  <bruno@clisp.org>
3065
3066         fchdir: Remove unused dependencies.
3067         * modules/fchdir (Depends-on): Remove include_next.
3068
3069 2011-05-02  Bruno Haible  <bruno@clisp.org>
3070
3071         gnulib-tool: Refactor.
3072         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
3073         from func_emit_autoconf_snippets.
3074         (func_emit_autoconf_snippets): Use it.
3075
3076 2011-05-02  Simon Josefsson  <simon@josefsson.org>
3077
3078         * NEWS: Document removal of 'exit'.
3079         * modules/exit: Remove file.
3080
3081 2011-05-01  Bruno Haible  <bruno@clisp.org>
3082
3083         Update DEPENDENCIES.
3084         * DEPENDENCIES (gettext): Recommend the newest release.
3085         Reported by Simon Josefsson.
3086
3087 2011-05-01  Bruno Haible  <bruno@clisp.org>
3088
3089         gnulib-tool: Reduce code duplication.
3090         * gnulib-tool (func_emit_autoconf_snippets): New function.
3091         (func_import, func_create_testdir): Use it.
3092
3093 2011-04-30  Eric Blake  <eblake@redhat.com>
3094
3095         fclose: don't fail on non-seekable input stream
3096         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
3097         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
3098         since fflush is allowed to fail in that case.
3099
3100 2011-04-30  Bruno Haible  <bruno@clisp.org>
3101
3102         dup3: cleanup
3103         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
3104
3105 2011-04-30  Bruno Haible  <bruno@clisp.org>
3106
3107         netdb: Make it work in C++ mode.
3108         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
3109         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
3110         module.
3111         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
3112         gl_MODULE_INDICATOR_FOR_TESTS.
3113         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
3114         * modules/netdb-c++-tests: New file.
3115         * tests/test-netdb-c++.cc: New file.
3116
3117 2011-04-30  Bruno Haible  <bruno@clisp.org>
3118
3119         New modules 'vfscanf', 'vscanf'.
3120         * modules/vfscanf: New file.
3121         * modules/vscanf: New file.
3122         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
3123         here.
3124         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
3125         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
3126
3127 2011-04-30  Bruno Haible  <bruno@clisp.org>
3128
3129         passfd: Add comments.
3130         * lib/passfd.c: Add comments about platforms.
3131
3132 2011-04-30  Bruno Haible  <bruno@clisp.org>
3133
3134         sys_uio: Make <sys/uio.h> self-contained.
3135         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
3136         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
3137
3138 2011-04-30  Bruno Haible  <bruno@clisp.org>
3139
3140         sys_socket: Ensure 'struct iovec' definition.
3141         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
3142         <sys/socket.h>.
3143         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
3144
3145 2011-04-30  Bruno Haible  <bruno@clisp.org>
3146
3147         sys_uio: Protect definition of 'struct iovec'.
3148         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
3149         it as a C struct.
3150
3151 2011-04-30  Bruno Haible  <bruno@clisp.org>
3152
3153         manywarnings: fix indentation
3154         * m4/manywarnings.m4: Indent by 2 spaces consistently.
3155
3156 2011-04-30  Pádraig Brady <P@draigBrady.com>
3157
3158         manywarnings: add -Wno-missing-field-initializers if needed.
3159         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
3160         option if it's needed to allow initialization with { 0, }
3161
3162 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
3163
3164         announce-gen: cosmetic improvement
3165         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
3166
3167 2011-04-29  Jim Meyering  <meyering@redhat.com>
3168
3169         vc-list-files: indent with spaces, not TABs
3170         * build-aux/vc-list-files: Convert leading TABs to spaces,
3171         to match the style of most other files in gnulib.
3172
3173         announce-gen: indent with spaces, not TABs
3174         * build-aux/announce-gen: Convert all TABs to spaces, to match
3175         the style of most other files in gnulib.
3176
3177 2011-04-29  Eric Blake  <eblake@redhat.com>
3178
3179         quotearg: avoid uninitialized variable use
3180         * lib/quotearg.c (quoting_options_from_style): Initialize
3181         remaining fields, and ensure that custom styles are only used via
3182         quoting_options rather than quoting_style.
3183
3184 2011-04-29  Jim Meyering  <meyering@redhat.com>
3185
3186         maint.mk: remove unused VC-tag variable
3187         * top/maint.mk (VC-tag): Remove unused variable.
3188
3189 2011-04-29  Bruno Haible  <bruno@clisp.org>
3190
3191         netdb: fix gai_strerror replacements
3192         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
3193         * modules/netdb: Substitute it.
3194
3195 2011-04-29  Jim Meyering  <meyering@redhat.com>
3196
3197         test-getcwd.c: avoid new set-but-not-used warning
3198         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
3199         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
3200         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
3201         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
3202
3203         test-hash.c: avoid a new shadowing warning
3204         * tests/test-hash.c (main): Don't shadow "dup".
3205
3206 2011-04-28  Eric Blake  <eblake@redhat.com>
3207
3208         getaddrinfo: fix gai_strerror signature
3209         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
3210         and work around mingw with UNICODE defined.
3211         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
3212         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
3213         * modules/netdb (Makefile.am): Substitute it.
3214         * lib/netdb.in.h (gai_strerror): Declare replacement.
3215         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
3216         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
3217         the fix.
3218
3219         getsockopt: avoid compiler warning
3220         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
3221         Reported by Matthias Bolte.
3222
3223         tests: drop unused link dependency
3224         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
3225         * modules/dirent-safer-tests (Makefile.am): Likewise.
3226         * modules/fdopendir-tests (Makefile.am): Likewise.
3227         * modules/mkfifoat-tests (Makefile.am): Likewise.
3228         * modules/openat-safer-tests (Makefile.am): Likewise.
3229         * modules/openat-tests (Makefile.am): Likewise.
3230         * modules/readlinkat-tests (Makefile.am): Likewise.
3231         * modules/symlinkat-tests (Makefile.am): Likewise.
3232         * modules/linkat-tests (Makefile.am): Likewise.
3233         (Depends-on): Switch to filenamecat-lgpl.
3234         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
3235         LIBINTL.
3236         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
3237         * tests/test-linkat.c (main): Don't require xalloc.
3238
3239         hash, mgetgroups: drop xalloc dependency
3240         * lib/hash.c (includes): Adjust includes.
3241         * lib/mgetgroups.c (includes): Likewise.
3242         (xgetgroups): Move...
3243         * lib/xgetgroups.c: ...to new file.
3244         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
3245         * modules/xgetgroups: New file, split from...
3246         * modules/mgetgroups: ...here.
3247         (Depends-on): Add xalloc-oversized.
3248         * modules/hash (Depends-on): Likewise.
3249         * modules/hash-tests (Depends-on): Drop xalloc.
3250         (test_hash_LDADD): Drop unused library.
3251         * tests/test-hash.c (main): Break xalloc dependency.
3252         (includes): Drop unused include.
3253
3254         xalloc-oversized: new module
3255         * modules/xalloc-oversized: New module.
3256         * modules/xalloc (Depends-on): Add it.
3257         * lib/xalloc.h (xalloc_oversized): Move...
3258         * lib/xalloc-oversized.h: ...into new file.
3259
3260         utimecmp: drop dependency on xmalloc
3261         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
3262         due to memory pressure.
3263         * modules/utimecmp (Depends-on): Drop xalloc.
3264
3265 2011-04-27  Eric Blake  <eblake@redhat.com>
3266
3267         getcwd: fix mingw bugs
3268         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
3269         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
3270         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
3271
3272 2011-04-27  Bruno Haible  <bruno@clisp.org>
3273
3274         mkstemps: Ensure declaration on MacOS X 10.5.
3275         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
3276         * doc/glibc-functions/mkstemps.texi: Document header file problem on
3277         MacOS X.
3278
3279 2011-04-27  Bruno Haible  <bruno@clisp.org>
3280
3281         mkstemp: More documentation.
3282         * doc/posix-functions/mkstemp.texi: Document header file problem on
3283         MacOS X.
3284
3285 2011-04-27  Bruno Haible  <bruno@clisp.org>
3286
3287         mkstemp: Tweak configure message when cross-compiling.
3288         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
3289         result as a guess.
3290
3291 2011-04-27  Bruno Haible  <bruno@clisp.org>
3292
3293         clean-temp: Clarify what it does.
3294         * lib/clean-temp.h: Add more comments.
3295         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
3296         module.
3297         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
3298         * doc/glibc-functions/mkstemps.texi: Likewise.
3299         * doc/glibc-functions/mkostemps.texi: Likewise.
3300
3301 2011-04-27  Eric Blake  <eblake@redhat.com>
3302
3303         fchdir: avoid extra chdir and fix test
3304         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
3305         getcwd-lgpl.
3306         * lib/fchdir.c (get_name): Any absolute name will do; it does not
3307         have to be canonical.
3308         (canonicalize_file_name): Drop unused macro.
3309         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
3310
3311         filenamecat-lgpl: fix licence
3312         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
3313         when it was first created.
3314
3315         linkat, renameat: add missing dependency
3316         * modules/linkat (Depends-on): Require getcwd-lgpl.
3317         * modules/renameat (Depends-on): Likewise.
3318
3319         tests: reduce dependencies
3320         * tests/test-linkat.c (main): Use lighter-weight getcwd.
3321         * tests/test-renameat.c (main): Likewise.
3322         * modules/linkat-tests (Depends-on): Relax dependency.
3323         * modules/renameat-tests (Depends-on): Likewise.
3324         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
3325         dependency explicit.
3326
3327         save-cwd: reduce default dependency
3328         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
3329         * lib/save-cwd.c: Update comments.
3330         * NEWS: Document the semantic change.
3331
3332         getcwd: enhance tests
3333         * tests/test-getcwd-lgpl.c: New file, taken from...
3334         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
3335         repeat long path stress tests from m4 probe.
3336         * modules/getcwd-lgpl-tests: New module.
3337         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
3338         * m4/getcwd-abort-bug.m4: Update comment.
3339         * m4/getcwd-path-max.m4: Likewise.
3340
3341         getcwd-lgpl: new module
3342         * modules/getcwd-lgpl: New module.
3343         * lib/getcwd-lgpl.c: New file.
3344         * doc/posix-functions/getcwd.texi (getcwd): Document it.
3345         * MODULES.html.sh (lacking POSIX:2008): Likewise.
3346         * modules/getcwd (configure.ac): Set C witness.
3347         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
3348
3349         getcwd: tweak comments
3350         * m4/getcwd-abort-bug.m4: Fix comments.
3351         * m4/getcwd-path-max.m4: Likewise.
3352         * m4/getcwd.m4: Likewise.
3353
3354 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
3355         and Eric Blake  <eblake@redhat.com>
3356
3357         mkstemp: replace if system version uses wrong permissions
3358         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
3359         read/write mode bits set in file created by mkstemp.
3360         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
3361
3362 2011-04-27  Eric Blake  <eblake@redhat.com>
3363
3364         passfd: avoid compiler warning
3365         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
3366         Reported by Laine Stump.
3367
3368 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
3369
3370         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
3371         required by the NetBSD (and perhaps other 4.4BSD derived) join.
3372
3373 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
3374         and Eric Blake  <eblake@redhat.com>
3375
3376         mkstemp: mention clean-temp module
3377         * lib/mkstemp.c: Add comment.
3378         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
3379
3380 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
3381
3382         inttypes: also provide default values for 32-bit tests
3383         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
3384         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
3385
3386 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
3387
3388         strtoumax: remove dependency on strtoimax
3389         This is like the strtoull change of yesterday.
3390         * modules/strtoumax (Files): Add lib/strtoimax.c.
3391         (Depends-on): Remove strtoimax and add verify.
3392
3393         inttypes-incomplete: new module
3394         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
3395         all but the PRI* and SCN* parts of gl_INTTYPES_H.
3396         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
3397         of gl_INTTYPES_H.
3398         (gl_INTTYPES_H): Rewrite in terms of these new macros.
3399         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
3400         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
3401         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
3402         * modules/strtoumax, modules/xstrtol (Depends-on):
3403         Depend on inttypes-incomplete, not inttypes.
3404         * modules/inttypes-incomplete: New module, containing the contents
3405         of the old modules/inttypes module, except that the Files: section
3406         omits m4/inttypes-pri.m4, and the configure.ac section invokes
3407         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
3408         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
3409         (Depends-on): Depend only on inttypes-incomplete.
3410         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
3411
3412         inttypes: omit now-redundant strtoimax and strtoumax work
3413         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
3414         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
3415
3416         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
3417         This supports apps that need pointers to strtoimax and strtoumax,
3418         and ports to HP-UX 11.00 64.bit, which has macros that expand to
3419         nonexistent functions.  See
3420         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
3421         et seq.
3422         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
3423         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
3424         a macro.
3425         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
3426
3427 2011-04-25  Simon Josefsson  <simon@josefsson.org>
3428
3429         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
3430
3431 2011-04-25  Bruno Haible  <bruno@clisp.org>
3432
3433         strtol, strtoul: Mark modules as obsolete.
3434         * modules/strtol (Status, Notice): New sections.
3435         * modules/strtoul (Status, Notice): New sections.
3436
3437 2011-04-25  Bruno Haible  <bruno@clisp.org>
3438
3439         strtod: Remove check for strtod, unless supporting old platforms.
3440         * modules/strtod-obsolete: New file.
3441         * m4/strtod-obsolete.m4: New file.
3442         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
3443         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
3444         * modules/strtod (Depends-on): Add strtod-obsolete.
3445         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
3446
3447 2011-04-25  Bruno Haible  <bruno@clisp.org>
3448
3449         strcase: Make module obsolete.
3450         * modules/strcase (Status, Notice): New sections.
3451
3452 2011-04-25  Bruno Haible  <bruno@clisp.org>
3453
3454         dup2: Remove check for dup2, unless supporting old obsolete platforms.
3455         * modules/dup2-obsolete: New file.
3456         * m4/dup2-obsolete.m4: New file.
3457         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
3458         gl_FUNC_DUP2_OBSOLETE is not also defined.
3459         * modules/dup2 (Depends-on): Add dup2-obsolete.
3460         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
3461
3462 2011-04-25  Bruno Haible  <bruno@clisp.org>
3463
3464         strnlen: Avoid memchr related link error on old obsolete platforms.
3465         * modules/memchr-obsolete: New file.
3466         * m4/memchr-obsolete.m4: New file.
3467         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
3468         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
3469         * modules/memchr (Depends-on): Add memchr-obsolete.
3470         * modules/strnlen (Depends-on): Likewise.
3471         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
3472
3473 2011-04-25  Jim Meyering  <meyering@redhat.com>
3474
3475         maint.mk: makefile_at_at_check extend and clean up
3476         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
3477         in addition to */Makefile.am.
3478         Exempt legitimate uses of @VAR@ notation, e.g.,
3479         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
3480         Remove obsolete coreutils-specific comment.
3481         Prompted by discussion here:
3482         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
3483
3484 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
3485
3486         strtoul: remove dependency on strtol
3487         This is so that 'configure' need not check for strtol merely because
3488         the application needs strtoul.
3489         * modules/strtoul (Files): Add lib/strtol.c.
3490         (Depends-on): Remove strtol.
3491
3492         strtoull: remove dependency on strtoul
3493         This is like the strtoll change.
3494         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
3495         (Depends-on): Remove strtoul.
3496
3497         strtoll: remove dependency on strtol
3498         This is so that 'configure' need not check for strtol merely because
3499         the application needs strtoll.
3500         * modules/strtoll (Files): Add lib/strtol.c.
3501         (Depends-on): Remove strtol.
3502
3503 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
3504
3505         inttypes: Move some configure check to module 'imaxdiv'.
3506         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
3507         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
3508         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
3509
3510 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
3511
3512         inttypes: Move some configure check to module 'imaxabs'.
3513         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
3514         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
3515         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
3516
3517 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
3518
3519         inttypes: Remove configure tests that are not needed since 2009-12-31.
3520         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
3521         gl_cv_header_working_inttypes_h.
3522
3523 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
3524
3525         * modules/strnlen (Depends-on): Remove memchr.
3526         The strnlen implementation doesn't need the memchr module's fixes; see
3527         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
3528
3529         strtol: remove dependency on wchar
3530         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
3531         * modules/strtol (Depends-on): Remove wchar.
3532
3533 2011-04-21  Eric Blake  <eblake@redhat.com>
3534
3535         passfd: fix test regression on Linux
3536         * modules/passfd-tests (configure.ac): Correct socketpair check.
3537
3538         passfd: speed up configure and drop unused code
3539         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
3540         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
3541         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
3542         Instead of probing at configure for unix_scm_rights_bsd44_way,
3543         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
3544         check to a struct member probe.
3545         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
3546         (sendfd, recvfd): Update preprocessor checks.
3547         * modules/passfd (Files): Reflect rename, and drop unused file.
3548         (Depends-on): Drop unused dependency.
3549
3550         passfd: allow compilation on mingw
3551         * modules/sys_socket (Depends-on): Add sys_uio.
3552         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
3553         iovec and a minimal struct msghdr.
3554         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
3555         * tests/test-sys_socket.c (main): Enhance test.
3556         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
3557         guaranteed to provide what we need.
3558         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
3559         * modules/passfd-tests (Depends-on): Add sys_wait.
3560         * tests/test-passfd.c (main): Skip test on mingw, for now.
3561         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
3562         partial 'struct msghdr' implementation.
3563
3564         sys_uio: new module
3565         * modules/sys_uio: New module.
3566         * modules/sys_uio-tests: Likewise.
3567         * lib/sys_uio.in.h: New file.
3568         * m4/sys_uio_h.m4: Likewise.
3569         * tests/test-sys_uio.c: Likewise.
3570         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
3571         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
3572
3573 2011-04-20  Jim Meyering  <meyering@redhat.com>
3574
3575         useless-if-before-free: avoid false-positive
3576         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
3577         disjunct so that it too requires a terminating ";".  Without that,
3578         this script would identify as useless one statement from gcc that
3579         was not:
3580           if (aligned_ptr)
3581             free (((void **) aligned_ptr) [-1]);
3582
3583 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
3584
3585         doc: update users.txt.
3586         * users.txt: Add barcode.
3587
3588 2011-04-19  Bruno Haible  <bruno@clisp.org>
3589
3590         ioctl: Remove link dependency on native Windows.
3591         * lib/fd-hook.h: Renamed from lib/close-hook.h.
3592         (gl_close_fn, gl_ioctl_fn): New types.
3593         (struct fd_hook): Renamed from struct close_hook. Change type of
3594         private_close_fn field. Add private_ioctl_fn field.
3595         (close_hook_fn): Add parameter for primary close method.
3596         (execute_close_hooks, execute_all_close_hooks): Likewise.
3597         (ioctl_hook_fn): New type.
3598         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
3599         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
3600         argument.
3601         (unregister_fd_hook): Renamed from unregister_close_hook.
3602         * lib/fd-hook.c: Renamed from lib/close-hook.c.
3603         Don't include <unistd.h>.
3604         (close): Remove undef.
3605         (anchor): Update.
3606         (execute_close_hooks): Add argument for primary close method.
3607         (execute_all_close_hooks): Likewise.
3608         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
3609         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
3610         argument. Allow each argument to be NULL.
3611         (unregister_fd_hook): Renamed from unregister_close_hook.
3612         * lib/close.c (rpl_close): Pass 'close' function pointer to
3613         execute_all_close_hooks.
3614         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
3615         (primary_ioctl): New function.
3616         (ioctl): Don't call ioctlsocket here. Instead, call
3617         execute_all_ioctl_hooks.
3618         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
3619         close method.
3620         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
3621         (fd_sockets_hook): Renamed from close_sockets_hook.
3622         (gl_sockets_startup, gl_sockets_cleanup): Update.
3623         * modules/fd-hook: Renamed from modules/close-hook. Update.
3624         * modules/close (Depends-on): Add fd-hook, remove close-hook.
3625         * modules/sockets (Depends-on): Likewise.
3626         * modules/ioctl (Depends-on): Add fd-hook.
3627         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
3628         GNULIB_SOCKET.
3629
3630 2011-04-19  Bruno Haible  <bruno@clisp.org>
3631
3632         Move the support of O_NONBLOCK in open() to the 'open' module.
3633         * modules/nonblocking (Depends-on): Remove 'open'.
3634         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
3635         gl_cv_have_open_O_NONBLOCK.
3636         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
3637         O_NONBLOCK support.
3638         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
3639
3640 2011-04-17  Bruno Haible  <bruno@clisp.org>
3641
3642         pipe2: Simplify code.
3643         * lib/pipe2.c (pipe2): Reduce code duplication.
3644
3645 2011-04-17  Bruno Haible  <bruno@clisp.org>
3646
3647         nonblocking: Add comment.
3648         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
3649
3650 2011-04-17  Bruno Haible  <bruno@clisp.org>
3651
3652         nonblocking: Add tests for sockets.
3653         * tests/test-nonblocking-socket.sh: New file.
3654         * tests/test-nonblocking-socket-main.c: New file.
3655         * tests/test-nonblocking-socket-child.c: New file.
3656         * tests/test-nonblocking-socket.h: New file.
3657         * tests/socket-server.h: New file.
3658         * tests/socket-client.h: New file.
3659         * modules/nonblocking-socket-tests: New file.
3660         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
3661
3662 2011-04-17  Bruno Haible  <bruno@clisp.org>
3663
3664         nonblocking: Add tests for pipes.
3665         * tests/test-nonblocking-pipe.sh: New file.
3666         * tests/test-nonblocking-pipe-main.c: New file.
3667         * tests/test-nonblocking-pipe-child.c: New file.
3668         * tests/test-nonblocking-pipe.h: New file.
3669         * tests/test-nonblocking-writer.h: New file.
3670         * tests/test-nonblocking-reader.h: New file.
3671         * tests/test-nonblocking-misc.h: New file.
3672         * modules/nonblocking-pipe-tests: New file.
3673         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
3674
3675 2011-04-16  Bruno Haible  <bruno@clisp.org>
3676
3677         gettext: Clarify the needed programmer actions.
3678         * modules/gettext (Notice): New field.
3679         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
3680
3681 2011-04-16  Bruno Haible  <bruno@clisp.org>
3682
3683         strchrnul: Tweak last commit.
3684         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
3685         bug.
3686         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
3687         as in _GL_FUNCDECL_SYS.
3688         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
3689         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
3690
3691 2011-04-15  Eric Blake  <eblake@redhat.com>
3692
3693         strchrnul: work around cygwin bug
3694         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
3695         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
3696         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
3697         * modules/string (Makefile.am): Substitute it.
3698         * lib/string.in.h (strchrnul): Use it.
3699
3700 2011-04-15  Bruno Haible  <bruno@clisp.org>
3701
3702         Don't require lib/stdio-write.c when only module 'stdio' is used.
3703         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
3704         invocation.
3705         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
3706
3707 2011-04-14  Bruno Haible  <bruno@clisp.org>
3708
3709         Support non-blocking pipe I/O in read() on native Windows.
3710         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
3711         (read): New declaration.
3712         * lib/read.c: New file.
3713         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
3714         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
3715         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
3716         vscanf): New declarations.
3717         * lib/stdio-read.c: New file.
3718         * m4/read.m4: New file.
3719         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
3720         REPLACE_READ.
3721         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
3722         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
3723         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
3724         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
3725         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
3726         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
3727         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
3728         * modules/read: New file.
3729         * modules/nonblocking (Files): Add lib/stdio-read.c.
3730         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
3731         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
3732         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
3733         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
3734         * modules/pread (Depends-on): Add read.
3735         * modules/safe-read (Depends-on): Likewise.
3736         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
3737         gets, scanf, vfscanf, vscanf): Verify signatures.
3738         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
3739         problem with non-blocking pipes.
3740         * doc/posix-functions/fgetc.texi: Likewise.
3741         * doc/posix-functions/fgets.texi: Likewise.
3742         * doc/posix-functions/fread.texi: Likewise.
3743         * doc/posix-functions/fscanf.texi: Likewise.
3744         * doc/posix-functions/getc.texi: Likewise.
3745         * doc/posix-functions/getchar.texi: Likewise.
3746         * doc/posix-functions/gets.texi: Likewise.
3747         * doc/posix-functions/scanf.texi: Likewise.
3748         * doc/posix-functions/vfscanf.texi: Likewise.
3749         * doc/posix-functions/vscanf.texi: Likewise.
3750
3751 2011-04-14  Bruno Haible  <bruno@clisp.org>
3752
3753         Support non-blocking pipe I/O in write() on native Windows.
3754         * lib/write.c (rpl_write): Split a write request that failed merely
3755         because the byte count was larger than the pipe buffer's size.
3756         * doc/posix-functions/write.texi: Mention the problem with large byte
3757         counts.
3758
3759 2011-04-14  Bruno Haible  <bruno@clisp.org>
3760
3761         wchar: Ensure that wchar_t gets defined on uClibc.
3762         * lib/wchar.in.h: On uClibc, include <stddef.h>.
3763         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
3764
3765 2011-04-13  Bruno Haible  <bruno@clisp.org>
3766
3767         safe-write, full-read: Avoid unnecessary compilation units.
3768         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
3769         (Depends-on): Remove safe-read. Add ssize_t.
3770         * modules/full-read (Files): Add lib/full-write.c.
3771         (Depends-on): Add full-write.
3772
3773 2011-04-13  Bruno Haible  <bruno@clisp.org>
3774
3775         Support non-blocking pipe I/O and SIGPIPE in pwrite().
3776         * modules/pwrite (Depends-on): Add 'write'.
3777
3778 2011-04-13  Bruno Haible  <bruno@clisp.org>
3779
3780         Support non-blocking pipe I/O in write() on native Windows.
3781         * lib/unistd.in.h (write): Enable replacement also if
3782         GNULIB_UNISTD_H_NONBLOCKING is 1.
3783         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
3784         (rpl_write): When failing to write on a non-blocking pipe, change
3785         errno from ENOSPC to EAGAIN.
3786         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
3787         putchar, puts, vfprintf, vprintf): Enable replacement also if
3788         GNULIB_STDIO_H_NONBLOCKING is 1.
3789         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
3790         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
3791         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
3792         CALL_WITH_SIGPIPE_EMULATION.
3793         (CALL_WITH_SIGPIPE_EMULATION): Use them.
3794         * m4/nonblocking.m4: New file.
3795         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
3796         for non-blocking I/O support.
3797         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
3798         GNULIB_UNISTD_H_NONBLOCKING.
3799         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
3800         required for non-blocking I/O support.
3801         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
3802         * modules/nonblocking (Files): Add m4/nonblocking.m4,
3803         lib/stdio-write.c, m4/asm-underscore.m4.
3804         (Depends-on): Add stdio, unistd.
3805         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
3806         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
3807         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
3808         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
3809         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
3810         problem with non-blocking pipes.
3811         * doc/posix-functions/fputc.texi: Likewise.
3812         * doc/posix-functions/fputs.texi: Likewise.
3813         * doc/posix-functions/fwrite.texi: Likewise.
3814         * doc/posix-functions/printf.texi: Likewise.
3815         * doc/posix-functions/putc.texi: Likewise.
3816         * doc/posix-functions/putchar.texi: Likewise.
3817         * doc/posix-functions/puts.texi: Likewise.
3818         * doc/posix-functions/vfprintf.texi: Likewise.
3819         * doc/posix-functions/vprintf.texi: Likewise.
3820         * doc/posix-functions/write.texi: Likewise.
3821
3822 2011-04-10  Jim Meyering  <meyering@redhat.com>
3823
3824         maint.mk: prohibit doubled words
3825         Detect them also when they're separated by a newline.
3826         There are 3 ways to customize it:
3827           - disable the test on a per file basis, as usual with rules using
3828             $(VC_LIST_EXCEPT)
3829           - replace the default doubled-word-selecting regexp (affects all files)
3830           - ignore a particular file-vs-doubled-word match
3831         I nearly used that last one to ignore the "is is" match in
3832         coreutils' NEWS file, since the text was "ls -is is ..."
3833         To do that, I would have added this line to cfg.mk:
3834           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
3835         but it would have ignored any "is is" match in NEWS.
3836         Low probability, but still...
3837         Instead, I changed the text, slightly:
3838           -  ls -is is now consistent with ls -lis in ignoring values returned
3839           +  "ls -is" is now consistent with ls -lis in ignoring values returned
3840         * top/maint.mk (prohibit_double_word_RE_): Provide default.
3841         (prohibit_doubled_word_): Define.
3842         (sc_prohibit_doubled_word): New rule.
3843         (sc_prohibit_the_the): Remove.  Subsumed by the above.
3844
3845 2011-04-10  Jim Meyering  <meyering@redhat.com>
3846
3847         maint: fix doubled-word typo in comment
3848         * m4/gethostname.m4: s/is is/it is/
3849         * m4/getdomainname.m4: Likewise.
3850
3851 2011-04-10  Jim Meyering  <meyering@redhat.com>
3852
3853         maint: remove doubled word: s/it it/it/
3854         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
3855
3856 2011-04-10  Jim Meyering  <meyering@redhat.com>
3857
3858         maint.mk: remove useless semicolon and backslash
3859         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
3860         semicolon and backslash.
3861
3862 2011-04-10  Bruno Haible  <bruno@clisp.org>
3863
3864         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
3865         * modules/stdint-tests (Depends-on): Add wchar.
3866
3867 2011-04-10  Jim Meyering  <meyering@redhat.com>
3868
3869         maint: remove doubled words in comments, e.g., s/a a/a/
3870         * lib/strptime.c (day_of_the_week): s/the the/the/
3871         * tests/test-chown.h (test_chown): s/a a/a/
3872
3873         test-chown.h: correct a cast
3874         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
3875         when the destination is a stat.st_gid.
3876
3877 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
3878
3879         getaddrinfo: Fix test for sa_len member.
3880         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
3881         include <sys/types.h> before <sys/socket.h>.
3882
3883 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
3884
3885         maint: change "can not" to "cannot"
3886         * doc/posix-functions/iconv.texi (iconv): This one crossed line
3887         boundaries.
3888
3889 2011-04-09  Jim Meyering  <meyering@redhat.com>
3890
3891         maint: change "a a" to "a"
3892         * tests/test-lchown.h (test_lchown): s/a a/a/
3893
3894         maint.mk: prohibit \<the the\>
3895         * top/maint.mk (sc_prohibit_the_the): New rule.
3896
3897         maint: fix "the the" in comment
3898         * lib/count-one-bits.h: s/the the/the/
3899
3900         maint: change "can not" to "cannot"
3901         But do not change the occurrences in maintain.texi or in
3902         build-aux/po/Makefile.in.in, which I presume comes from gettext.
3903         * doc/gnulib-tool.texi: s/can not/cannot/
3904         * doc/posix-functions/accept.texi (accept): Likewise.
3905         * doc/posix-functions/socket.texi (socket): Likewise.
3906         * lib/mbrtowc.c: Likewise.
3907
3908         maint.mk: prohibit use of "can not"
3909         * top/maint.mk (sc_prohibit_can_not): New rule.
3910         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
3911
3912 2011-04-09  Bruno Haible  <bruno@clisp.org>
3913
3914         careadlinkat: Guard against misuse of careadlinkatcwd.
3915         * lib/careadlinkat.c: Include <stdlib.h>.
3916         (careadlinkatcwd): Check that the fd argument is as expected.
3917
3918 2011-04-09  Bruno Haible  <bruno@clisp.org>
3919
3920         careadlinkat: Use common coding style.
3921         * lib/careadlinkat.c: Move gnulib includes after system includes.
3922
3923 2011-04-09  Bruno Haible  <bruno@clisp.org>
3924
3925         careadlinkat: Clarify specification.
3926         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
3927         (careadlinkatcwd): Add comment.
3928         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
3929
3930 2011-04-09  Bruno Haible  <bruno@clisp.org>
3931
3932         areadlinkat: Avoid link error on many platforms.
3933         * modules/areadlinkat (Depends-on): Add areadlink.
3934
3935 2011-04-09  Bruno Haible  <bruno@clisp.org>
3936
3937         allocator, careadlinkat: Fix double-inclusion guard.
3938         * lib/allocator.h: Fix double-inclusion guard.
3939         * lib/careadlinkat.h: Likewise.
3940
3941 2011-04-09  Bruno Haible  <bruno@clisp.org>
3942
3943         relocatable-prog-wrapper: Update after module 'areadlink' changed.
3944         * lib/relocwrapper.c: Update dependencies hierarchy.
3945         * build-aux/install-reloc: Update list of files to be compiled.
3946         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
3947         lib/allocator.[hc].
3948
3949 2011-04-08  Eric Blake  <eblake@redhat.com>
3950
3951         strftime: silence gnulib-tool warning
3952         * modules/strftime-tests (Depends-on): Drop automatic dependency.
3953
3954 2011-04-08  Bruno Haible  <bruno@clisp.org>
3955
3956         verify: Fix syntax error with GCC 4.6 in C++ mode.
3957         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
3958         (HAVE_STATIC_ASSERT): New macro.
3959         (verify_true, verify): Use 'static_assert' if it is supported and
3960         '_Static_assert' is not supported.
3961
3962 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
3963
3964         allocator: New module.
3965         * modules/allocator, lib/allocator.c: New files.
3966         * lib/allocator.h (stdlib_allocator): New decl.
3967         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
3968         Remove.  Do not include <stdlib.h>.
3969         (careadlinkat): Use stdlib_allocator instead of rolling our own.
3970         * modules/careadlinkat (Files): Remove lib/allocator.h.
3971         (Depends-on): Add allocator.
3972
3973         stdlib: let modules use system malloc, realloc
3974         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
3975         if !_GL_USE_STDLIB_ALLOC.
3976         (malloc, realloc): Limit this change to a smaller scope.
3977
3978         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
3979         (malloc, realloc): Don't #undef; no longer needed.
3980         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
3981         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
3982         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
3983         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
3984         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
3985         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
3986         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
3987         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
3988
3989         careadlinkat: rename members to avoid problem
3990         * lib/allocator.h (struct allocator): Rename members from
3991         malloc/realloc to allocate/reallocate, to avoid problems if malloc
3992         and realloc are #define'd.  Reported by Eric Blake in
3993         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
3994         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
3995
3996 2011-04-08  Eric Blake  <eblake@redhat.com>
3997
3998         nonblocking: reduce dependency
3999         * tests/test-nonblocking.c: Only test sockets when in use.
4000         * modules/nonblocking-tests (Depends-on): Drop socket.
4001         (Makefile.am): Link even if sockets are not present.
4002         * modules/pipe2-tests (Makefile.am): Likewise.
4003         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
4004
4005         pipe2: fix O_NONBLOCK support on mingw
4006         * modules/pipe2 (Depends-on): Add nonblocking.
4007         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
4008         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
4009         * tests/test-nonblocking.c (main): Likewise.
4010         * modules/pipe2-tests (Makefile.am): Avoid link failure.
4011
4012         fcntl-h: fix O_ACCMODE on cygwin
4013         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
4014         * lib/fcntl.in.h (O_ACCMODE): Fix it.
4015
4016         pipe-filter: drop O_NONBLOCK workarounds
4017         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
4018         * modules/pipe-filter-ii (Depends-on): Likewise.
4019         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
4020
4021         nonblocking: provide O_NONBLOCK for mingw
4022         * modules/nonblocking (Depends-on): Add open.
4023         (configure.ac): Set new witness macro.
4024         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
4025         * modules/fcntl-h (Makefile.am): Substitute it.
4026         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
4027         nonblocking module is in use.
4028         * lib/nonblocking.c: Adjust portability test.
4029         * lib/open.c (open): Don't let native open see gnulib flag.
4030         * tests/test-fcntl-h.c (main): Enhance test.
4031         * tests/test-open.h (test_open): Likewise.
4032         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
4033
4034         careadlinkat: fix compilation error on mingw
4035         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
4036         within struct allocator.
4037
4038 2011-04-06  Eric Blake  <eblake@redhat.com>
4039
4040         binary-io: relicense under LGPLv2+
4041         * modules/binary-io (License): Relax to LGPLv2+.
4042         Requested for libvirt, and required by pipe2.
4043
4044 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
4045
4046         verify: use _Static_assert if available
4047         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
4048         (verify_true, verify): Use it if available.  This generates better
4049         diagnostics with GCC 4.6.0 and later.
4050
4051 2011-04-05  Bruno Haible  <bruno@clisp.org>
4052
4053         Remove leftover generated .h files after config.status changed.
4054
4055         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
4056         GL_GENERATE_ALLOCA_H.
4057         * modules/alloca-opt (Makefile.am): Remove alloca.h if
4058         GL_GENERATE_ALLOCA_H evaluates to false.
4059
4060         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
4061         GL_GENERATE_ARGZ_H.
4062         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
4063         evaluates to false.
4064
4065         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
4066         GL_GENERATE_BYTESWAP_H.
4067         * modules/byteswap (Makefile.am): Remove byteswap.h if
4068         GL_GENERATE_BYTESWAP_H evaluates to false.
4069
4070         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
4071         GL_GENERATE_ERRNO_H.
4072         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
4073         evaluates to false.
4074
4075         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
4076         GL_GENERATE_FLOAT_H.
4077         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
4078         evaluates to false.
4079
4080         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
4081         GL_GENERATE_FNMATCH_H.
4082         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
4083         GL_GENERATE_FNMATCH_H evaluates to false.
4084
4085         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
4086         GL_GENERATE_GLOB_H.
4087         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
4088         evaluates to false.
4089
4090         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
4091         automake conditional GL_GENERATE_ICONV_H.
4092         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
4093         evaluates to false.
4094
4095         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
4096         GL_GENERATE_NETINET_IN_H.
4097         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
4098         GL_GENERATE_NETINET_IN_H evaluates to false.
4099
4100         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
4101         conditional GL_GENERATE_PTHREAD_H.
4102         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
4103         * modules/pthread (Makefile.am): Remove pthread.h if
4104         GL_GENERATE_PTHREAD_H evaluates to false.
4105
4106         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
4107         GL_GENERATE_SCHED_H.
4108         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
4109         evaluates to false.
4110
4111         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
4112         conditional GL_GENERATE_SELINUX_CONTEXT_H.
4113         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
4114         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
4115
4116         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
4117         GL_GENERATE_STDARG_H.
4118         * modules/stdarg (Makefile.am): Remove stdarg.h if
4119         GL_GENERATE_STDARG_H evaluates to false.
4120
4121         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
4122         GL_GENERATE_STDBOOL_H.
4123         * modules/stdbool (Makefile.am): Remove stdbool.h if
4124         GL_GENERATE_STDBOOL_H evaluates to false.
4125
4126         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
4127         conditional GL_GENERATE_STDDEF_H.
4128         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
4129         * modules/stddef (Makefile.am): Remove stddef.h if
4130         GL_GENERATE_STDDEF_H evaluates to false.
4131
4132         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
4133         GL_GENERATE_STDINT_H.
4134         * modules/stdint (Makefile.am): Remove stdint.h if
4135         GL_GENERATE_STDINT_H evaluates to false.
4136
4137         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
4138         GL_GENERATE_SYSEXITS_H.
4139         * modules/sysexits (Makefile.am): Remove sysexits.h if
4140         GL_GENERATE_SYSEXITS_H evaluates to false.
4141
4142         Reported by Karl Berry and Ralf Wildenhues.
4143
4144 2011-04-05  Bruno Haible  <bruno@clisp.org>
4145
4146         Ensure to rebuild generated .h files when config.status has changed.
4147         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
4148         config.status.
4149         * modules/ctype (Makefile.am): Likewise.
4150         * modules/dirent (Makefile.am): Likewise.
4151         * modules/errno (Makefile.am): Likewise.
4152         * modules/fcntl-h (Makefile.am): Likewise.
4153         * modules/float (Makefile.am): Likewise.
4154         * modules/getopt-posix (Makefile.am): Likewise.
4155         * modules/glob (Makefile.am): Likewise.
4156         * modules/iconv-h (Makefile.am): Likewise.
4157         * modules/inttypes (Makefile.am): Likewise.
4158         * modules/langinfo (Makefile.am): Likewise.
4159         * modules/locale (Makefile.am): Likewise.
4160         * modules/math (Makefile.am): Likewise.
4161         * modules/netdb (Makefile.am): Likewise.
4162         * modules/netinet_in (Makefile.am): Likewise.
4163         * modules/poll-h (Makefile.am): Likewise.
4164         * modules/pthread (Makefile.am): Likewise.
4165         * modules/pty (Makefile.am): Likewise.
4166         * modules/sched (Makefile.am): Likewise.
4167         * modules/search (Makefile.am): Likewise.
4168         * modules/selinux-h (Makefile.am): Likewise.
4169         * modules/signal (Makefile.am): Likewise.
4170         * modules/spawn (Makefile.am): Likewise.
4171         * modules/stdarg (Makefile.am): Likewise.
4172         * modules/stdbool (Makefile.am): Likewise.
4173         * modules/stddef (Makefile.am): Likewise.
4174         * modules/stdint (Makefile.am): Likewise.
4175         * modules/stdio (Makefile.am): Likewise.
4176         * modules/stdlib (Makefile.am): Likewise.
4177         * modules/string (Makefile.am): Likewise.
4178         * modules/strings (Makefile.am): Likewise.
4179         * modules/sys_file (Makefile.am): Likewise.
4180         * modules/sys_ioctl (Makefile.am): Likewise.
4181         * modules/sys_select (Makefile.am): Likewise.
4182         * modules/sys_socket (Makefile.am): Likewise.
4183         * modules/sys_stat (Makefile.am): Likewise.
4184         * modules/sys_time (Makefile.am): Likewise.
4185         * modules/sys_times (Makefile.am): Likewise.
4186         * modules/sys_utsname (Makefile.am): Likewise.
4187         * modules/sys_wait (Makefile.am): Likewise.
4188         * modules/sysexits (Makefile.am): Likewise.
4189         * modules/termios (Makefile.am): Likewise.
4190         * modules/time (Makefile.am): Likewise.
4191         * modules/unistd (Makefile.am): Likewise.
4192         * modules/wchar (Makefile.am): Likewise.
4193         * modules/wctype-h (Makefile.am): Likewise.
4194         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
4195
4196 2011-04-05  Bruno Haible  <bruno@clisp.org>
4197
4198         pipe2: Relicense under LGPLv2+.
4199         * modules/pipe2 (License): Change to LGPLv2+.
4200         Requested by Eric Blake, for libvirt.
4201
4202 2011-04-05  Bruce Korb  <bkorb@gnu.org>
4203
4204         bootstrap: compute gnulib_extra_files after updating build_aux
4205         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
4206         change build_aux or also supply gnulib_extra_files.  Handle correctly.
4207
4208 2011-04-05  Eric Blake  <eblake@redhat.com>
4209
4210         bootstrap: preserve git whitelist item sorting
4211         * build-aux/bootstrap (sort_patterns): New function.
4212         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
4213
4214 2011-04-05  Simon Josefsson  <simon@josefsson.org>
4215
4216         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
4217         sc_space_tab check.
4218
4219 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
4220
4221         areadlink, areadlinkat: rewrite in terms of careadlinkat
4222         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
4223         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
4224         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
4225         (malloc, realloc): Remove #undefs.
4226         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
4227         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
4228         readlink, ssize_t, stdint, unistd.
4229         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
4230         areadlink, stdint.
4231
4232         careadlinkat: new module
4233         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
4234         * modules/careadlinkat: New files, written by me with
4235         a review and feedback from Ben Pfaff in
4236         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
4237
4238 2011-04-01  Bruno Haible  <bruno@clisp.org>
4239
4240         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
4241         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
4242         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
4243         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
4244         Reported by Bruce Korb <bruce.korb@gmail.com>.
4245
4246 2011-04-01  Bruno Haible  <bruno@clisp.org>
4247
4248         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
4249         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
4250         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
4251         * modules/wcpcpy (Depends-on): Add extensions.
4252         * modules/wcpncpy (Depends-on): Likewise.
4253         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
4254         systems.
4255         * doc/posix-functions/wcpncpy.texi: Likewise.
4256         * doc/posix-functions/wcwidth.texi: Likewise.
4257
4258 2011-03-31  Eric Blake  <eblake@redhat.com>
4259
4260         nonblocking: fix mingw test failures
4261         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
4262         non-blocking flag on regular file.
4263         (get_nonblocking_flag): Set errno on invalid fd.
4264         * tests/test-nonblocking.c (main): Avoid test failure on
4265         directories if fchdir is not active.
4266         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
4267
4268 2011-03-31  Bruno Haible  <bruno@clisp.org>
4269
4270         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
4271         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
4272         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
4273         Reported by Simon Josefsson <simon@josefsson.org>.
4274
4275 2011-03-31  Bruno Haible  <bruno@clisp.org>
4276         and Eric Blake  <eblake@redhat.com>
4277
4278         nonblocking: new module
4279         * modules/nonblocking: New module.
4280         * modules/nonblocking-tests: Likewise.
4281         * lib/nonblocking.h: New file.
4282         * lib/nonblocking.c: Likewise.
4283         * tests/test-nonblocking.c: New test.
4284         * lib/ioctl.c (ioctl) [mingw]: Update comment.
4285
4286 2011-03-30  Bruno Haible  <bruno@clisp.org>
4287
4288         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
4289         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
4290         instead of 'printf' format for GCC >= 4.4.
4291         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
4292         (fprintf, printf, vfprintf, vprintf): Declare with
4293         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
4294         the system's vfprintf() function.
4295         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
4296
4297 2011-03-30  Eric Blake  <eblake@redhat.com>
4298
4299         passfd: fix scoping bug
4300         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
4301         before sendmsg/recvmsg.
4302
4303         passfd: standardize coding conventions
4304         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
4305         can be learned at compile time.
4306         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
4307         ifdefs.
4308         (sendfd, recvfd): Follow gnulib code conventions.
4309
4310         passfd: fix incorrect sendmsg arguments
4311         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
4312         incorrect msg_controllen value.
4313         * modules/passfd-tests (Depends-on): Check for alarm.
4314         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
4315         Reported by Bastien ROUCARIES.
4316
4317 2011-03-30  Bruno Haible  <bruno@clisp.org>
4318
4319         c-strcasestr: Relicense under LGPLv2+.
4320         * modules/c-strcasestr (License): Change to LGPLv2+.
4321         Requested by Eric Blake, for libvirt.
4322
4323 2011-03-30  Simon Josefsson  <simon@josefsson.org>
4324
4325         * users.txt: Add libidn2.  Fix libtasn1 link.
4326
4327 2011-03-30  Jim Meyering  <meyering@redhat.com>
4328
4329         tests: readlink* ("",... fails with EINVAL on newer kernels
4330         readlink and readlinkat have typically failed with ENOENT for
4331         the invalid, empty file name,  "".  However, with the advent
4332         of linux-2.6.39, they fail with EINVAL.
4333         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
4334         when operating on the empty file name.
4335         * tests/test-readlink.h (test_readlink): Likewise.
4336
4337 2011-03-29  Bruno Haible  <bruno@clisp.org>
4338
4339         Relicense some modules under LGPLv2+, for libidn2.
4340         * modules/array-mergesort (License): Change to LGPLv2+.
4341         * modules/c-strcaseeq (License): Likewise.
4342         * modules/striconveh (License): Likewise.
4343         * modules/striconveha (License): Likewise.
4344         * modules/uniconv/base (License): Likewise.
4345         * modules/uniconv/u8-conv-from-enc (License): Likewise.
4346         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
4347         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
4348         * modules/unictype/base (License): Likewise.
4349         * modules/unictype/bidiclass-of (License): Likewise.
4350         * modules/unictype/category-M (License): Likewise.
4351         * modules/unictype/category-none (License): Likewise.
4352         * modules/unictype/category-of (License): Likewise.
4353         * modules/unictype/category-test (License): Likewise.
4354         * modules/unictype/category-test-withtable (License): Likewise.
4355         * modules/unictype/combining-class (License): Likewise.
4356         * modules/unictype/joiningtype-of (License): Likewise.
4357         * modules/unictype/scripts (License): Likewise.
4358         * modules/uninorm/base (License): Likewise.
4359         * modules/uninorm/canonical-decomposition (License): Likewise.
4360         * modules/uninorm/composition (License): Likewise.
4361         * modules/uninorm/decompose-internal (License): Likewise.
4362         * modules/uninorm/decomposition-table (License): Likewise.
4363         * modules/uninorm/nfc (License): Likewise.
4364         * modules/uninorm/nfd (License): Likewise.
4365         * modules/uninorm/u32-normalize (License): Likewise.
4366         * modules/unistr/base (License): Likewise.
4367         * modules/unistr/u32-cpy (License): Likewise.
4368         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
4369         * modules/unistr/u32-to-u8 (License): Likewise.
4370         * modules/unistr/u32-uctomb (License): Likewise.
4371         * modules/unistr/u8-check (License): Likewise.
4372         * modules/unistr/u8-mblen (License): Likewise.
4373         * modules/unistr/u8-mbtouc (License): Likewise.
4374         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
4375         * modules/unistr/u8-mbtoucr (License): Likewise.
4376         * modules/unistr/u8-prev (License): Likewise.
4377         * modules/unistr/u8-strlen (License): Likewise.
4378         * modules/unistr/u8-to-u32 (License): Likewise.
4379         * modules/unistr/u8-uctomb (License): Likewise.
4380         * modules/unitypes (License): Likewise.
4381         Requested by Simon Josefsson.
4382
4383 2011-03-29  Simon Josefsson  <simon@josefsson.org>
4384
4385         lib-symbol-visibility: Add a notice.
4386         * modules/lib-symbol-visibility (Notice): New field.
4387
4388 2011-03-29  Bruno Haible  <bruno@clisp.org>
4389
4390         getaddrinfo: Doc fix.
4391         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
4392         section "fixed in Gnulib".
4393
4394 2011-03-28  Simon Josefsson  <simon@josefsson.org>
4395
4396         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
4397         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
4398
4399 2011-03-26  Bruno Haible  <bruno@clisp.org>
4400
4401         unictype/property-byname: Reduce the number of load-time relocations.
4402         * lib/unictype/pr_byname.c: Include <stdlib.h>.
4403         (UC_PROPERTY_INDEX_*): New enumeration values.
4404         (uc_property_byname): Convert an index from the lookup table to an
4405         uc_property_t.
4406         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
4407         values.
4408
4409 2011-03-26  Bruno Haible  <bruno@clisp.org>
4410
4411         unictype/property-byname: Allow omitted word separators and aliases.
4412         * lib/unictype/pr_byname.gperf: Add property names without word
4413         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
4414         for 'space'.
4415
4416 2011-03-26  Bruno Haible  <bruno@clisp.org>
4417
4418         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
4419         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
4420         also hyphens to space.
4421         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
4422         without spaces.
4423         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
4424
4425 2011-03-26  Bruno Haible  <bruno@clisp.org>
4426
4427         unictype/joiningtype-byname: Recognize long names as well.
4428         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
4429         a long name.
4430         * lib/unictype/joiningtype_byname.c: Include <string.h>,
4431         unictype/joiningtype_byname.h.
4432         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
4433         * lib/unictype/joiningtype_byname.gperf: New file.
4434         * modules/unictype/joiningtype-byname (Files): Add
4435         lib/unictype/joiningtype_byname.gperf.
4436         (Depends-on): Add gperf.
4437         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
4438         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
4439         long names.
4440
4441         Tests for module 'unictype/joiningtype-longname'.
4442         * modules/unictype/joiningtype-longname-tests: New file.
4443         * tests/unictype/test-joiningtype_longname.c: New file.
4444
4445         New module 'unictype/joiningtype-longname'.
4446         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
4447         * lib/unictype/joiningtype_longname.c: New file.
4448         * modules/unictype/joiningtype-longname: New file.
4449         * modules/unictype/joiningtype-all (Depends-on): Add
4450         unictype/joiningtype-longname.
4451
4452 2011-03-26  Bruno Haible  <bruno@clisp.org>
4453
4454         unictype/bidiclass-byname: Recognize long names as well.
4455         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
4456         name.
4457         * lib/unictype/bidi_byname.c: Include <string.h>,
4458         unictype/bidi_byname.h.
4459         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
4460         * lib/unictype/bidi_byname.gperf: New file.
4461         * modules/unictype/bidiclass-byname (Files): Add
4462         lib/unictype/bidi_byname.gperf.
4463         (Depends-on): Add gperf.
4464         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
4465         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
4466         long names.
4467
4468         Tests for module 'unictype/bidiclass-longname'.
4469         * modules/unictype/bidiclass-longname-tests: New file.
4470         * tests/unictype/test-bidi_longname.c: New file.
4471
4472         New module 'unictype/bidiclass-longname'.
4473         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
4474         * lib/unictype/bidi_longname.c: New file.
4475         * modules/unictype/bidiclass-longname: New file.
4476         * modules/unictype/bidiclass-all (Depends-on): Add
4477         unictype/bidiclass-longname.
4478
4479 2011-03-26  Bruno Haible  <bruno@clisp.org>
4480
4481         unictype/bidi*: Rename modules.
4482         * modules/unictype/bidiclass-all: Renamed from
4483         modules/unictype/bidicategory-all.
4484         * modules/unictype/bidiclass-name: Renamed from
4485         modules/unictype/bidiclass-name.
4486         (Description): Update.
4487         * modules/unictype/bidiclass-name-tests: Renamed from
4488         modules/unictype/bidicategory-name-tests.
4489         * modules/unictype/bidiclass-byname: Renamed from
4490         modules/unictype/bidicategory-byname.
4491         (Description): Update.
4492         * modules/unictype/bidiclass-byname-tests: Renamed from
4493         modules/unictype/bidicategory-byname-tests.
4494         * modules/unictype/bidiclass-of: Renamed from
4495         modules/unictype/bidicategory-of.
4496         (Description): Update.
4497         * modules/unictype/bidiclass-of-tests: Renamed from
4498         modules/unictype/bidicategory-of-tests.
4499         * modules/unictype/bidiclass-test: Renamed from
4500         modules/unictype/bidicategory-test.
4501         (Description): Update.
4502         * modules/unictype/bidiclass-test-tests: Renamed from
4503         modules/unictype/bidicategory-test-tests.
4504         * modules/unictype/bidicategory-all: New file, a simple redirection.
4505         * modules/unictype/bidicategory-name: Likewise.
4506         * modules/unictype/bidicategory-byname: Likewise.
4507         * modules/unictype/bidicategory-of: Likewise.
4508         * modules/unictype/bidicategory-test: Likewise.
4509         * modules/unictype/property-bidi-* (Dependencies): Update.
4510         * lib/unictype/bidi_*.c: Update comment.
4511
4512 2011-03-26  Bruno Haible  <bruno@clisp.org>
4513
4514         unictype/bidi*: Rename functions, part 2.
4515         * modules/unictype/bidicategory-name (configure.ac): Update required
4516         libunistring version.
4517         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
4518
4519 2011-03-25  Bruno Haible  <bruno@clisp.org>
4520
4521         New module 'unictype/combining-class-all'.
4522         * modules/unictype/combining-class-all: New file.
4523
4524         Tests for module 'unictype/combining-class-byname'.
4525         * modules/unictype/combining-class-byname-tests: New file.
4526         * tests/unictype/test-combiningclass_byname.c: New file.
4527
4528         New module 'unictype/combining-class-byname'.
4529         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
4530         * lib/unictype/combiningclass_byname.c: New file.
4531         * lib/unictype/combiningclass_byname.gperf: New file.
4532         * modules/unictype/combining-class-byname: New file.
4533
4534         Tests for module 'unictype/combining-class-longname'.
4535         * modules/unictype/combining-class-longname-tests: New file.
4536         * tests/unictype/test-combiningclass_longname.c: New file.
4537
4538         New module 'unictype/combining-class-longname'.
4539         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
4540         * lib/unictype/combiningclass_longname.c: New file.
4541         * modules/unictype/combining-class-longname: New file.
4542
4543         Tests for module 'unictype/combining-class-name'.
4544         * modules/unictype/combining-class-name-tests: New file.
4545         * tests/unictype/test-combiningclass_name.c: New file.
4546
4547         New module 'unictype/combining-class-name'.
4548         * lib/unictype.in.h (uc_combining_class_name): New declaration.
4549         * lib/unictype/combiningclass_name.c: New file.
4550         * modules/unictype/combining-class-name: New file.
4551
4552 2011-03-25  Bruno Haible  <bruno@clisp.org>
4553
4554         unictype/combining-class: Rename source files.
4555         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
4556         of unictype/combining.h.
4557         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
4558         Update.
4559         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
4560         * modules/unictype/combining-class (Description): Fix.
4561         (Files, Makefile.am): Update.
4562         * tests/unictype/test-combiningclass.c: Renamed from
4563         tests/unictype/test-combining.c.
4564         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
4565
4566 2011-03-25  Bruno Haible  <bruno@clisp.org>
4567
4568         unictype: Update list of canonical combining classes.
4569         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
4570
4571 2011-03-25  Bruno Haible  <bruno@clisp.org>
4572
4573         unictype/category-byname: Recognize long names as well.
4574         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
4575         a long name.
4576         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
4577         unictype/categ_byname.h.
4578         (UC_CATEGORY_INDEX_*): New enumeration values.
4579         (uc_general_category_byname): Use uc_general_category_lookup and
4580         convert from index to value.
4581         * lib/unictype/categ_byname.gperf: New file.
4582         * modules/unictype/category-byname (Files): Add
4583         lib/unictype/categ_byname.gperf.
4584         (Depends-on): Add gperf.
4585         (Makefile.am): Add rule for generating unictype/categ_byname.h.
4586         * tests/unictype/test-categ_byname.c (main): Test the recognition of
4587         long names.
4588
4589         Tests for module 'unictype/category-longname'.
4590         * modules/unictype/category-longname-tests: New file.
4591         * tests/unictype/test-categ_longname.c: New file.
4592
4593         New module 'unictype/category-longname'.
4594         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
4595         * lib/unictype/categ_longname.c: New file.
4596         * modules/unictype/category-longname: New file.
4597         * modules/unictype/category-all (Depends-on): Add it.
4598
4599 2011-03-25  Bruno Haible  <bruno@clisp.org>
4600
4601         Tests for module 'unictype/category-LC'.
4602         * modules/unictype/category-LC-tests: New file.
4603         * tests/unictype/test-categ_LC.c: New file, automatically generated.
4604
4605         New module 'unictype/category-LC'.
4606         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
4607         (UC_CATEGORY_LC): New declaration.
4608         (UC_CASED_LETTER): New macro.
4609         * lib/gen-uni-tables.c (is_category_LC): New function.
4610         (output_categories): Also handle category LC.
4611         (UC_CATEGORY_MASK_LC): New enumeration value.
4612         (general_category_byname): Also handle category LC.
4613         * lib/unictype/categ_LC.c: New file.
4614         * lib/unictype/categ_LC.h: New file, automatically generated.
4615         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
4616         category LC.
4617         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
4618         * modules/unictype/category-LC: New file.
4619         * modules/unictype/category-byname (Depends-on): Add
4620         unictype/category-LC.
4621         * modules/unictype/category-all (Depends-on): Likewise.
4622
4623 2011-03-25  Eric Blake  <eblake@redhat.com>
4624
4625         xmalloc: revert yesterday's regression
4626         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
4627         realloc's underlying behavior (allowing allocation of zero-size
4628         objects, especially if malloc-gnu is also in use).
4629
4630 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
4631
4632         maint.mk: add missing version to VC-tag
4633         * top/maint.mk: git tag was missing actual tag name; add it.
4634
4635         valgrind: do leak checking, and exit with code 1 on error (not 0)
4636         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
4637         to VALGRIND.
4638
4639 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
4640
4641         posix-modules: say what it does.
4642         * posix-modules: Add a line to the --help output saying what it does.
4643
4644 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
4645
4646         xmalloc: Do not leak if underlying realloc is C99 compatible.
4647         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
4648         This avoids a leak on C99-based systems.  See
4649         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
4650
4651 2011-03-24  Eric Blake  <eblake@redhat.com>
4652
4653         realloc: document portability problem
4654         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
4655         passing 0 size to realloc.
4656
4657 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
4658
4659         doc: update users.txt
4660         * users.txt: Add cvsps, tmpwatch
4661
4662 2011-03-23  Matt Rice  <ratmice@gmail.com>
4663
4664         doc: update users.txt
4665         * users.txt: Add gdb.
4666
4667 2011-03-23  Jim Meyering  <meyering@redhat.com>
4668
4669         doc: update users.txt
4670         Looking through matches up to the following URL (there are still
4671         several more pages), I found several projects that use gnulib:
4672         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
4673         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
4674         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
4675
4676 2011-03-22  Bruno Haible  <bruno@clisp.org>
4677
4678         unictype/bidi*: Rename functions.
4679         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
4680         uc_bidi_class, uc_is_bidi_class): New declarations.
4681         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
4682         uc_bidi_category_byname.
4683         (uc_bidi_category_byname): New function.
4684         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
4685         u_bidi_category_name.
4686         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
4687         (uc_bidi_category_name): New function.
4688         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
4689         uc_bidi_category.
4690         (uc_bidi_category): New function.
4691         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
4692         uc_is_bidi_category. Invoke uc_bidi_class.
4693         (uc_is_bidi_category): New function.
4694         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
4695         instead of uc_bidi_category_byname.
4696         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
4697         instead of uc_bidi_category_name.
4698         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
4699         uc_bidi_category.
4700         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
4701         instead of uc_is_bidi_category.
4702
4703 2011-03-21  Bruno Haible  <bruno@clisp.org>
4704
4705         New module 'unictype/joininggroup-all'.
4706         * modules/unictype/joininggroup-all: New file.
4707
4708         Tests for module 'unictype/joininggroup-of'.
4709         * modules/unictype/joininggroup-of-tests: New file.
4710         * tests/unictype/test-joininggroup_of.c: New file.
4711         * tests/unictype/test-joininggroup_of.h: New file, automatically
4712         generated by gen-uni-tables.
4713
4714         New module 'unictype/joininggroup-of'.
4715         * modules/unictype/joininggroup-of: New file.
4716         * lib/unictype/joininggroup_of.c: New file.
4717         * lib/unictype/joininggroup_of.h: New file, automatically generated by
4718         gen-uni-tables.
4719
4720         Tests for module 'unictype/joininggroup-byname'.
4721         * modules/unictype/joininggroup-byname-tests: New file.
4722         * tests/unictype/test-joininggroup_byname.c: New file.
4723
4724         New module 'unictype/joininggroup-byname'.
4725         * modules/unictype/joininggroup-byname: New file.
4726         * lib/unictype/joininggroup_byname.c: New file.
4727         * lib/unictype/joininggroup_byname.gperf: New file.
4728
4729         Tests for module 'unictype/joininggroup-name'.
4730         * modules/unictype/joininggroup-name-tests: New file.
4731         * tests/unictype/test-joininggroup_name.c: New file.
4732
4733         New module 'unictype/joininggroup-name'.
4734         * modules/unictype/joininggroup-name: New file.
4735         * lib/unictype/joininggroup_name.c: New file.
4736         * lib/unictype/joininggroup_name.h: New file.
4737
4738         New module 'unictype/joiningtype-all'.
4739         * modules/unictype/joiningtype-all: New file.
4740
4741         Tests for module 'unictype/joiningtype-of'.
4742         * modules/unictype/joiningtype-of-tests: New file.
4743         * tests/unictype/test-joiningtype_of.c: New file.
4744         * tests/unictype/test-joiningtype_of.h: New file, automatically
4745         generated by gen-uni-tables.
4746
4747         New module 'unictype/joiningtype-of'.
4748         * modules/unictype/joiningtype-of: New file.
4749         * lib/unictype/joiningtype_of.c: New file.
4750         * lib/unictype/joiningtype_of.h: New file, automatically generated by
4751         gen-uni-tables.
4752
4753         Tests for module 'unictype/joiningtype-byname'.
4754         * modules/unictype/joiningtype-byname-tests: New file.
4755         * tests/unictype/test-joiningtype_byname.c: New file.
4756
4757         New module 'unictype/joiningtype-byname'.
4758         * modules/unictype/joiningtype-byname: New file.
4759         * lib/unictype/joiningtype_byname.c: New file.
4760
4761         Tests for module 'unictype/joiningtype-name'.
4762         * modules/unictype/joiningtype-name-tests: New file.
4763         * tests/unictype/test-joiningtype_name.c: New file.
4764
4765         New module 'unictype/joiningtype-name'.
4766         * modules/unictype/joiningtype-name: New file.
4767         * lib/unictype/joiningtype_name.c: New file.
4768
4769         unictype: Add support for Arabic shaping properties.
4770         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
4771         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
4772         declarations.
4773         (UC_JOINING_GROUP_*): New enumeration values.
4774         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
4775         declarations.
4776         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
4777         (unicode_joining_type): New variable.
4778         (UC_JOINING_GROUP_*): New enumeration values.
4779         (unicode_joining_group): New variable.
4780         (fill_arabicshaping, joining_type_as_c_identifier,
4781         output_joining_type_test, output_joining_type,
4782         joining_group_as_c_identifier, output_joining_group_test,
4783         output_joining_group): New functions.
4784         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
4785         fill_arabicshaping and output_joining_type_test, output_joining_type,
4786         output_joining_group_test, output_joining_group.
4787         Reported by Simon Josefsson.
4788
4789 2011-03-21  Jim Meyering  <meyering@redhat.com>
4790
4791         strftime: fix a bug in yesterday's change
4792         * lib/strftime.c (add): Accommodate width's initial value of -1.
4793         Otherwise, nstrftime would copy uninitialized data into
4794         the result buffer.
4795
4796 2011-03-21  Jim Meyering  <meyering@redhat.com>
4797
4798         tests: add strftime-tests module
4799         * tests/test-strftime.c: New file.
4800         * modules/strftime-tests: New module.
4801
4802 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
4803
4804         strftime: don't assume a byte count fits in 'int'
4805         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
4806         found this problem by static analysis, using gcc -Wstrict-overflow
4807         (GCC 4.5.2, x86-64).  This reported an optimization that depended
4808         on an integer overflow having undefined behavior, but it turns out
4809         that the argument is a size, which might not fit in 'int' anyway,
4810
4811 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
4812
4813         stdio: don't require ignore_value around fwrite
4814
4815         This patch works around libc bug 11959
4816         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
4817         Without this patch, applications must often write
4818         ignore_value (fwrite (...)) even though the ignore_value is
4819         not helpful here.  It's common to write many objects, using
4820         fwrite/printf/etc., and then use ferror to detect output error.
4821
4822         I considered making this patch optional, but decided against it,
4823         because libc is obviously being inconsistent here: there is no
4824         reason libc should insist that user code must inspect fwrite
4825         return's value without also insisting that it inspect printf's,
4826         putchar's, etc.  If user code wants to have a strict style where
4827         all these functions' values are checked (so that ferror need not
4828         be checked), we could add support for that style in a new gnulib
4829         module, but in the meantime it's better to be consistent and to
4830         support common usage.
4831
4832         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
4833         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
4834         that we are compiling in checking mode, and if not C++, and
4835         if not already wrapping fwrite for some other reason.
4836         (fwrite): #define to rpl_fwrite if the latter is defined.
4837
4838 2011-03-20  Bruno Haible  <bruno@clisp.org>
4839
4840         verror: Fix compilation error introduced on 2011-02-13.
4841         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
4842         instead of __attribute__.
4843         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
4844
4845 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
4846             Bruno Haible  <bruno@clisp.org>
4847
4848         socklen: do not depend on sys_socket
4849         While trying to modify Emacs to use gnulib's socklen module,
4850         I discovered a circular dependency: socklen depends on sys_socket
4851         and vice versa.  Emacs can use socklen, but it does not need
4852         sys_socket because it has its own substitute for sys/socket.h.
4853         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
4854         gl_TYPE_SOCKLEN_T.
4855         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
4856         gl_PREREQ_SYS_H_SOCKET.
4857         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
4858         gl_PREREQ_SYS_H_SOCKET.
4859         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
4860         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
4861         * modules/socklen (Depends-on): Do not depend on sys_socket.
4862         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
4863
4864 2011-03-20  Jim Meyering  <meyering@redhat.com>
4865
4866         maint.mk: sort file names *after* new transformation
4867         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
4868         prefix would have led to an unwarranted failure in GNU parted.
4869         Sort after that transformation.
4870
4871 2011-03-19  Jim Meyering  <meyering@redhat.com>
4872
4873         maint.mk: fix po-file syntax-check rule
4874         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
4875         Patch by Bruno Haible.
4876
4877 2011-03-19  Bruno Haible  <bruno@clisp.org>
4878
4879         socklen: Update comment.
4880         * m4/socklen.m4: Update comment about platforms.
4881
4882 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
4883             Bruno Haible  <bruno@clisp.org>
4884
4885         inet_ntop, inet_pton: Simplify.
4886         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
4887         documented to provide socklen_t and we already depend on sys_socket.
4888         * modules/inet_pton (Depends-on): Likewise.
4889         * lib/arpa_inet.in.h: Adjust comment.
4890
4891 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
4892             Bruno Haible  <bruno@clisp.org>
4893
4894         netdb: Simplify.
4895         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
4896         documented to provide socklen_t and we already depend on sys_socket.
4897         * lib/netdb.in.h: Adjust comment.
4898
4899 2011-03-19  Bruno Haible  <bruno@clisp.org>
4900
4901         sys_socket, netdb: Document problem with socklen_t.
4902         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
4903         platforms.
4904         * doc/posix-headers/netdb.texi: Likewise.
4905
4906 2011-03-18  Eric Blake  <eblake@redhat.com>
4907
4908         maint.mk: let po check work in VPATH build
4909         * top/maint.mk (po_file): Allow cfg.mk override.
4910         (sc_po_check): Allow VPATH use.
4911         Reported by Jiri Denemark.
4912
4913 2011-03-16  Jim Meyering  <meyering@redhat.com>
4914
4915         maint.mk: allow fine-grained syntax-check exclusion via Make variables
4916         Before, you would have had to create one .x-sc_ file per rule in order
4917         to exempt offending files.  Now, you may instead use a Make variable --
4918         usually defined in cfg.mk -- whose name identifies the affected rule.
4919         * top/maint.mk (_sc_excl): Define.
4920         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
4921         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
4922
4923 2011-03-13  Bruno Haible  <bruno@clisp.org>
4924
4925         ignore-value tests: Avoid warnings.
4926         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
4927         empty for gcc < 3.4.
4928
4929 2011-03-13  Bruno Haible  <bruno@clisp.org>
4930
4931         passfd: Fix link error on Solaris.
4932         * modules/passfd (Description): Correct.
4933         (Depends-on): Add socketlib.
4934         (Link): New section.
4935         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
4936
4937 2011-03-13  Bruno Haible  <bruno@clisp.org>
4938
4939         passfd: Fix link error on AIX 5.2.
4940         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
4941
4942 2011-03-13  Bruno Haible  <bruno@clisp.org>
4943
4944         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
4945         * lib/sys_socket.in.h: Include <stddef.h>.
4946         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
4947         CMSG_FIRSTHDR. Remove unused variable.
4948
4949 2011-03-13  Bruno Haible  <bruno@clisp.org>
4950
4951         passfd: Fix compilation error on OpenBSD.
4952         * lib/passfd.c: Include <sys/uio.h>.
4953
4954 2011-03-13  Bruno Haible  <bruno@clisp.org>
4955
4956         passfd test: Fix warnings.
4957         * tests/test-passfd.c: Include <sys/wait.h>.
4958         (main): Fix typo.
4959
4960 2011-03-13  Bruno Haible  <bruno@clisp.org>
4961
4962         passfd module, part 4, tweaks.
4963         * tests/test-passfd.c: Reorder includes.
4964         (main): Fix perror and printf calls.
4965
4966 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
4967
4968         passfd module, part 4.
4969         * modules/passfd-tests: New file.
4970         * tests/test-passfd.c: New file.
4971
4972 2011-03-13  Jim Meyering  <meyering@redhat.com>
4973
4974         Makefile: rely on GNU make; derive syntax-check rule names
4975         Rather than requiring that each sc_ rule be listed as a dependent
4976         of "check", use features of GNU make to derive the list.
4977         * Makefile (syntax-check-rules): Define.
4978         (check): Depend on the new variable, not the hard-coded list.
4979
4980 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
4981             Bruno Haible  <bruno@clisp.org>
4982
4983         passfd module, part 3.
4984         * lib/passfd.h (recvfd): Add a flags argument.
4985         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
4986         (recvfd): Add a flags argument.
4987         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
4988         exists.
4989         * modules/passfd (Depends-on): Add cloexec.
4990         Suggested by Eric Blake.
4991
4992 2011-03-13  Bruno Haible  <bruno@clisp.org>
4993
4994         passfd module, part 2, tweaks.
4995         * modules/passfd (Files): Reorder.
4996         (Depends-on): Remove errno.
4997         (Include): Remove <sys/socket.h>, <sys/un.h>.
4998         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
4999         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
5000         specification header. Include <sys/socket.h> always. Don't include
5001         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
5002         (sendfd): Clarify that it sets errno when it fails.
5003         (recvfd): Fix specification.
5004
5005 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
5006
5007         passfd module, part 2.
5008         * modules/passfd: New file.
5009         * lib/passfd.h: New file.
5010         * lib/passfd.c: New file.
5011
5012 2011-03-12  Bruno Haible  <bruno@clisp.org>
5013
5014         wcswidth, mbswidth: Avoid integer overflow.
5015         * lib/wcswidth.c: Include <limits.h>.
5016         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
5017         * lib/mbswidth.c: Include <limits.h>.
5018         (mbsnwidth): Avoid 'int' overflow.
5019         Reported by Jim Meyering.
5020
5021 2011-03-12  Bruno Haible  <bruno@clisp.org>
5022
5023         futimens, utimensat: Avoid endless recursion on Solaris 10.
5024         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
5025         Solaris.
5026         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
5027         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
5028
5029 2011-03-11  Jim Meyering  <meyering@redhat.com>
5030
5031         maint.mk: relax a regexp to accommodate other formatting styles
5032         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
5033         between "ngettext" and the following "(".
5034
5035 2011-03-11  Pádraig Brady <P@draigBrady.com>
5036
5037         maint.mk: suppress a false positive warning
5038         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
5039         diagnostics are marked with ngettext.
5040
5041 2011-03-10  Eric Blake  <eblake@redhat.com>
5042
5043         wchar: add explicit dependencies, for Tru64
5044         * modules/mbmemcasecoll (Depends-on): Add wchar.
5045         * modules/mbtowc (Depends-on): Likewise.
5046         * modules/vasnprintf (Depends-on): Likewise.
5047         * modules/unistdio/u-printf-args (Depends-on): Likewise.
5048         * modules/wctomb (Depends-on): Likewise.
5049         Reported by Peter O'Gorman.
5050
5051 2011-03-08  Bruno Haible  <bruno@clisp.org>
5052
5053         passfd module, part 1, tweaks.
5054         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
5055         Improve indentation. Improve AC_MSG_CHECKING messages.
5056         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
5057         gl_SOCKET_FAMILIES.
5058
5059 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
5060
5061         passfd module, part 1.
5062         * m4/afunix.m4: New file.
5063         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
5064         sockets.
5065
5066 2011-03-08  Bruno Haible  <bruno@clisp.org>
5067
5068         regex-quote: New API.
5069         * lib/regex-quote.h: Include <stdbool.h>.
5070         (struct regex_quote_spec): New type.
5071         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
5072         New declarations.
5073         (regex_quote_length, regex_quote_copy, regex_quote): Take a
5074         'const struct regex_quote_spec *' argument.
5075         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
5076         (pcre_special): New constant.
5077         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
5078         New functions.
5079         (regex_quote_length, regex_quote_copy, regex_quote): Take a
5080         'const struct regex_quote_spec *' argument.
5081         * modules/regex-quote (Depends-on): Add stdbool.
5082         * tests/test-regex-quote.c (check): Update for new API. Add test for
5083         anchored results.
5084         * NEWS: Mention the API change.
5085         Reported by Reuben Thomas and Eric Blake.
5086
5087 2011-03-06  Bruno Haible  <bruno@clisp.org>
5088
5089         regex-quote: Fix creation of POSIX extended regular expressions.
5090         * lib/regex-quote.c (ere_special): Add grouping and alternation
5091         operators.
5092
5093 2011-03-05  Bruno Haible  <bruno@clisp.org>
5094
5095         doc: Improve doc regarding autopoint vs. gnulib.
5096         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
5097         disable autopoint while running autoreconf.
5098         Suggested by Ralf Wildenhues.
5099
5100 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5101
5102         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
5103         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
5104
5105 2011-03-03  Bruce Korb  <bkorb@gnu.org>
5106
5107         parse-duration: remove xalloc.h dependency
5108         * lib/parse-duration.c (parse_period): handle NULL return from
5109         strdup instead of calling xstrdup().
5110         * modules/parse-duration: remove "xalloc" dependency
5111
5112 2011-03-03  Matthew Booth  <mbooth@redhat.com>
5113
5114         bootstrap: honor m4_base when running aclocal
5115         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
5116
5117 2011-03-02  Jim Meyering  <meyering@redhat.com>
5118
5119         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
5120         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
5121         on request from Matt Booth.
5122
5123 2011-03-01  Eric Blake  <eblake@redhat.com>
5124
5125         test-link: work on Hurd
5126         * tests/test-link.h (test_link): Hurd rejects linking directories
5127         with EISDIR instead of the POSIX-mandated EPERM.
5128
5129 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
5130
5131         stdio: simplify by moving files to printf-posix, sigpipe
5132         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
5133         since this symbol is needed only if printf is replaced.
5134         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
5135         Require gl_ASM_SYMBOL_PREFIX.
5136         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
5137         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
5138         (Depends-on): Add 'raise'.
5139         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
5140         * modules/stdio (Files): Remove lib/stdio-write.c,
5141         m4/asm-underscore.m4.
5142         (Depends-on): Remove 'raise'.
5143
5144         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
5145         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
5146         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
5147         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
5148
5149 2011-02-28  Bruno Haible  <bruno@clisp.org>
5150
5151         localcharset: Assume ANSI C behaviour of free().
5152         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
5153         calling free().
5154         Suggested by Simon Josefsson <simon@josefsson.org>.
5155
5156 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
5157             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
5158             Bruno Haible  <bruno@clisp.org>  (tiny change)
5159
5160         On Cygwin, use /proc file system instead of win32 API.
5161         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
5162         Win32 file names.
5163         (DllMain): Simplify by removing Cygwin specific code.
5164         (find_shared_library_fullname): Use Linux specific implementation also
5165         for Cygwin.
5166         (get_shared_library_fullname): Update accordingly.
5167         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
5168         Win32 file names.
5169         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
5170         Cygwin specific code.
5171
5172 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
5173             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
5174
5175         Fix OpenMP flag detection for various Fortran compilers.
5176         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
5177         OpenMP-conditional compilation construct, to force compile
5178         failure with missing OpenMP flag.
5179         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
5180
5181 2011-02-25  Eric Blake  <eblake@redhat.com>
5182
5183         strstr: expand test coverage
5184         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
5185         compilation.
5186         * tests/test-memmem.c (main): Duplicate tests.
5187         * tests/test-strcasestr.c (main): Likewise.
5188         * tests/test-c-strcasestr.c (main): Likewise.
5189
5190 2011-02-25  Jim Meyering  <meyering@redhat.com>
5191
5192         maint.mk: detect missing-NL-at-EOF, too
5193         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
5194         it also detects when a file lacks a newline at EOF.
5195         (require_exactly_one_NL_at_EOF_): Renamed from
5196         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
5197         since people may well have .x-sc_... file names tied to the
5198         existing name.  Suggested by Eric Blake.
5199
5200 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
5201
5202         dirname: move m4/dos.m4 functionality into lib/dosname.h
5203
5204         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
5205         extracts symbols from it, puts them into config.h; but it's much
5206         easier to use the symbols directly.  filename.h already does this,
5207         but it disagrees with dos.m4 in some respects.  This patch
5208         introduces a different include file dosname.h that packages up
5209         dos.m4, and then later we can work on merging filename.h and
5210         dosname.h.  Applications that need only the easy-to-configure
5211         symbols should consider including dosname.h rather than dirname.h.
5212         * NEWS: Mention incompatible changes.
5213         * m4/dos.m4: Remove.
5214         * lib/dosname.h, modules/dosname: New files.
5215         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
5216         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
5217         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
5218         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
5219         Include dosname.h, not dirname.h.
5220         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
5221         Include dosname.h, for definitions of symbols like ISSLASH
5222         that used to be in config.h.
5223         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
5224         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
5225         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
5226         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
5227         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
5228         * modules/rmdir (Files): Likewise.
5229         * modules/stat (Files): Likewise.
5230         * modules/unlink (Files): Likewise.
5231         * modules/dirname-lgpl (Depends-on): Add dosname.
5232         * modules/lstat (Depends-on): Likewise.
5233         * modules/openat (Depends-on): Likewise.
5234         * modules/rmdir (Depends-on): Likewise.
5235         * modules/savewd (Depends-on): Likewise.
5236         * modules/stat (Depends-on): Likewise.
5237         * modules/unlink (Depends-on): Likewise.
5238         * modules/openat (Depends-on): Remove dirname-lgpl.
5239         * modules/savewd (Depends-on): Likewise.
5240         * tests/test-dirname.c: Do not use removed symbols like
5241         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
5242         the remaining symbols, e.g., ISSLASH ('\\').
5243
5244 2011-02-25  Eric Blake  <eblake@redhat.com>
5245
5246         strstr: revert patches that introduced bug and pessimization
5247         * lib/str-two-way.h: Add another reference.
5248         (two_way_short_needle, two_way_long_needle): Revert changes from
5249         2011-02-24; they pessimize search speed.
5250         (critical_factorization): Partially revert changes from
5251         2010-06-22; they violate the requirement that the left half of the
5252         needle be smaller than the period of the needle.
5253
5254 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
5255
5256         filenamecat: remove unnecessary dependency on dirname-lgpl
5257         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
5258         is no direct dependency, just an indirect one via filenamecat-lgpl.
5259
5260         remove: remove unnecessary use of m4/dos.m4
5261         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
5262         * modules/remove (FILES): Remove m4/dos.m4.
5263
5264         * lib/openat-proc.c: Don't include dirname.h; not needed.
5265
5266         backupfile: remove unnecessary use of m4/dos.m4
5267         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
5268         of its symbols are used by the backupfile code.  backupfile.c does
5269         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
5270         for the rare case of programs that want all their backup file
5271         names to live within 8+3 limits, and dos.m4 doesn't address that.
5272         * modules/backupfile (Files): Remove m4/dos.m4.
5273
5274 2011-02-24  Jim Meyering  <meyering@redhat.com>
5275
5276         strstr: fix a bug whereby strstr would mistakenly return NULL
5277         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
5278         in period calculation.
5279         (two_way_long_needle): Likewise.
5280         The original problem was reported by Mike Stump in
5281         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
5282         Ralf Wildenhues provided the short needle and haystack.
5283         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
5284         Add a more involved test to trigger the bug in two_way_long_needle.
5285
5286 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
5287
5288         gnulib-tool: remove use of bold display in help screen
5289         * gnulib-tool (func_usage): Do not use bold display anymore in the
5290         help screen.  That was just meant to be a temporary emphasis for a
5291         backward-incompatible change.
5292
5293 2011-02-23  Bruno Haible  <bruno@clisp.org>
5294
5295         Fix misindentation of preprocessor directives.
5296         * lib/argp-namefrob.h: Reindent preprocessor directives.
5297         * lib/getopt_int.h (struct _getopt_data): Likewise.
5298         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
5299         * lib/vasnprintf.c (decode_long_double): Likewise.
5300         * tests/test-argmatch.c: Insert blank lines, for clarity.
5301         * tests/test-exclude.c: Likewise.
5302
5303 2011-02-22  Bruno Haible  <bruno@clisp.org>
5304
5305         ioctl: Fix for MacOS X in 64-bit mode.
5306         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
5307         value.
5308         Suggested by Eric Blake.
5309         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
5310
5311 2011-02-22  Jim Meyering  <meyering@redhat.com>
5312
5313         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
5314         * Makefile (sc_cpp_indent_check): Don't limit the check to files
5315         in lib/.
5316
5317 2011-02-22  Eric Blake  <eblake@redhat.com>
5318
5319         maint: avoid any CDPATH issue
5320         * Makefile (sc_cpp_indent_check): Anchor cd argument.
5321
5322         maint: adjust cpp indentation for my modules, as well
5323         * Makefile (sc_cpp_indent_check): Add my name.
5324         * lib/fbufmode.c: Filter through cppi.
5325         * lib/fpurge.c: Likewise.
5326         * lib/freadable.c: Likewise.
5327         * lib/freading.c: Likewise.
5328         * lib/fwritable.c: Likewise.
5329         * lib/fwriting.c: Likewise.
5330         * lib/sigaction.c: Likewise.
5331
5332 2011-02-22  Jim Meyering  <meyering@redhat.com>
5333
5334         maint: adjust cpp indentation to reflect nesting depth
5335         I.e., in a block of code that begins with an unnested "#if",
5336         put one space between the "#" in column 1 and following token.
5337         For example,
5338         -#include <sys/vfs.h>
5339         +# include <sys/vfs.h>
5340         Do this only in .c files that are part of a module I maintain.
5341         * lib/linkat.c: Filter through cppi.
5342         * lib/nanosleep.c: Likewise.
5343         * lib/openat.c: Likewise.
5344         * lib/openat-die.c: Likewise.
5345         * lib/dup3.c: Likewise.
5346         * lib/fchownat.c: Likewise.
5347         * lib/flock.c: Likewise.
5348         * lib/fsync.c: Likewise.
5349         * lib/fts.c: Likewise.
5350         * lib/getpass.c: Likewise.
5351         * lib/gettimeofday.c: Likewise.
5352         * lib/userspec.c: Likewise.
5353         * Makefile (sc_cpp_indent_check): New rule, to check this.
5354
5355 2011-02-22  Bruno Haible  <bruno@clisp.org>
5356
5357         New module 'wctomb'.
5358         * lib/stdlib.in.h (wctomb): New declaration.
5359         * lib/wctomb.c: New file.
5360         * lib/wctomb-impl.h: New file.
5361         * m4/wctomb.m4: New file.
5362         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
5363         REPLACE_WCTOMB.
5364         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
5365         REPLACE_WCTOMB.
5366         * modules/wctomb: New file.
5367         * tests/test-stdlib-c++.cc: Test signature of wctomb.
5368         * doc/posix-functions/wctomb.texi: Mention the new module.
5369         * modules/wctob (Depends-on): Add wctomb.
5370
5371 2011-02-22  Bruno Haible  <bruno@clisp.org>
5372
5373         New module 'mbtowc'.
5374         * lib/stdlib.in.h (mbtowc): New declaration.
5375         * lib/mbtowc.c: New file.
5376         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
5377         * m4/mbtowc.m4: New file.
5378         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
5379         REPLACE_MBTOWC.
5380         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
5381         REPLACE_MBTOWC.
5382         * modules/mbtowc: New file.
5383         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
5384         * doc/posix-functions/mbtowc.texi: Mention the new module.
5385         * modules/btowc (Depends-on): Add mbtowc.
5386
5387 2011-02-22  Bruno Haible  <bruno@clisp.org>
5388
5389         wcrtomb: Add more tests for native Windows platforms.
5390         * tests/test-wcrtomb-w32-1.sh: New file.
5391         * tests/test-wcrtomb-w32-2.sh: New file.
5392         * tests/test-wcrtomb-w32-3.sh: New file.
5393         * tests/test-wcrtomb-w32-4.sh: New file.
5394         * tests/test-wcrtomb-w32-5.sh: New file.
5395         * tests/test-wcrtomb-w32.c: New file.
5396         * modules/wcrtomb-tests (Files): Add them.
5397         (Makefile.am): Arrange to run these tests.
5398         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
5399         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
5400
5401 2011-02-20  Bruno Haible  <bruno@clisp.org>
5402
5403         wcrtomb: Enhance test.
5404         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
5405
5406 2011-02-20  Bruno Haible  <bruno@clisp.org>
5407
5408         mbrtowc: Tiny optimization.
5409         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
5410
5411 2011-02-20  Jim Meyering  <meyering@redhat.com>
5412
5413         test-exclude.c: remove unmatched #endif
5414         * tests/test-exclude.c: Remove stray #endif, left over from
5415         the change of a week ago.
5416
5417 2011-02-19  Jim Meyering  <meyering@redhat.com>
5418
5419         git-version-gen: skip "-dirty" check when appropriate
5420         * build-aux/git-version-gen: Don't run any git commands when the
5421         version string comes from .tarball-version.  Prior to this, we
5422         would run git update-index --refresh even from a just-unpacked
5423         tarball directory, and that could affect a .git/ directory in a
5424         parent of the build directory.  Reported by Mike Frysinger.
5425
5426 2011-02-19  Bruno Haible  <bruno@clisp.org>
5427
5428         unictype/property-byname: Reduce the size of the 'data' segment.
5429         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
5430
5431 2011-02-19  Bruno Haible  <bruno@clisp.org>
5432
5433         unictype/scripts: Reduce the size of the 'data' segment.
5434         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
5435         '%pic'.
5436         * lib/unictype/scripts_byname.gperf: Regenerated.
5437
5438 2011-02-19  Bruno Haible  <bruno@clisp.org>
5439
5440         stdint: Update documentation.
5441         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
5442
5443 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
5444
5445         stdint: omit redundant check for wchar.h
5446         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
5447         always tests whether wchar.h exists, so remove the now-redundant test.
5448
5449 2011-02-18  Bruno Haible  <bruno@clisp.org>
5450
5451         stdint: Cut dependency to module 'wchar'.
5452         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
5453         include the necessary prerequisites.
5454         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
5455         * modules/stdint (Depends-on): Remove wchar.
5456         (Makefile.am): Substitute HAVE_WCHAR_H.
5457         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
5458
5459 2011-02-18  Eric Blake  <eblake@redhat.com>
5460
5461         longlong: skip, rather than fail, on cross-compilation
5462         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
5463         when cross-compiling; regression from 2011-02-16.
5464
5465 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
5466
5467         * NEWS: Mention 2011-02-08 change to stdlib.
5468
5469 2011-02-17  Bruno Haible  <bruno@clisp.org>
5470
5471         getloadavg: Add comments about platforms.
5472         * m4/getloadavg.m4: Add comment.
5473         * lib/getloadavg.c: Likewise.
5474
5475 2011-02-17  Bruno Haible  <bruno@clisp.org>
5476
5477         getloadavg: Fix link error on Solaris 2.6.
5478         * modules/getloadavg (Link): New section.
5479         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
5480         linking test-getloadavg.
5481         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
5482         getloadavg.
5483
5484 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
5485
5486         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
5487         It was 'int', but this doesn't match the IRIX 6.5 manual.
5488         Suggested by Bruno Haible in
5489         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
5490
5491 2011-02-17  Bruno Haible  <bruno@clisp.org>
5492
5493         havelib: Fix comments.
5494         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
5495         change.
5496
5497 2011-02-17  Bruno Haible  <bruno@clisp.org>
5498
5499         havelib: Update config.rpath.
5500         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
5501
5502 2011-02-17  Bruno Haible  <bruno@clisp.org>
5503
5504         getloadavg test: Add some plausibility checks.
5505         * tests/test-getloadavg.c (check_avg): Print a warning when the value
5506         is improbable.
5507
5508 2011-02-16  Eric Blake  <eblake@redhat.com>
5509
5510         maintainer-makefile: make syntax-check a no-op from tarballs
5511         * top/maint.mk (no-vc-detected): New rule.
5512         (local-checks-available): Use it to avoid hanging if someone tries
5513         'make syntax-check' from a tarball.  Also append to any non-syntax
5514         checks already defined in cfg.mk.
5515
5516 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
5517
5518         longlong: tune, particularly for common case of c99
5519
5520         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
5521         or running anything if c99, or if unsigned long long int does not
5522         work.  In either case, we know the answer without further tests.
5523         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
5524         it at most once, and use its results for both long long int and
5525         unsigned long long int.  This is more likely to be efficient in
5526         the common case where the program wants to check for both long
5527         long int and unsigned long long int.
5528         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
5529         since the answer is already known.
5530
5531 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
5532
5533         getloadavg: set errno
5534         * lib/getloadavg.c: Set errno when returning -1.  If no other
5535         error number looks appropriate, set it to ENOSYS if the getloadavg
5536         looks like it can't possibly ever work, ENOTSUP otherwise.
5537         Suggested by Bruno Haible in
5538         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
5539
5540         getloadavg: trim unused parts and speed up 'configure'
5541         * NEWS: Document this.
5542         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
5543         always compiled if getloadavg is absent.
5544         Move test code to ...
5545         * tests/test-getloadavg.c: New file, containing previous
5546         contents of test from lib/getloadavg.c.  It also contains
5547         suggestions by Bruno Haible in
5548         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
5549         * modules/getloadavg-tests: New file.
5550         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
5551         Do tests in the same order as they're needed for getloadavg.c.
5552         Omit setgid-related tests that generate symbols KMEM_GROUP,
5553         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
5554         Do only the tests that are needed to see whether the system has
5555         getloadavg, moving the other tests into ...
5556         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
5557         NLIST_NAME_UNION; nobody should be using it.  Do not define
5558         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
5559         relevant, as the user of this module shouldn't care how getloadavg
5560         is implemented.
5561
5562         getloadavg: omit unused var
5563         * lib/getloadavg.c (getloadavg): Omit unused local variable.
5564
5565 2011-02-15  Jim Meyering  <meyering@redhat.com>
5566
5567         doc: update users.txt
5568         * users.txt: Update iwhd's URL.
5569
5570 2011-02-13  Bruno Haible  <bruno@clisp.org>
5571
5572         Consistent macro naming for macros that use GCC __attribute__.
5573         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
5574         _ATTRIBUTE_NONNULL_.
5575         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
5576         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
5577         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
5578         ATTRIBUTE_DEPRECATED.
5579         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
5580         ATTRIBUTE_NORETURN.
5581         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
5582         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
5583         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
5584         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
5585         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
5586         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
5587         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
5588         ATTRIBUTE_SENTINEL.
5589         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
5590         ATTRIBUTE_RETURN_CHECK.
5591         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
5592         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
5593         ATTRIBUTE_NORETURN.
5594         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
5595         Reported by Paul Eggert.
5596
5597 2011-02-13  Bruno Haible  <bruno@clisp.org>
5598
5599         Don't interfere with a program's definition of __attribute__.
5600         * lib/argp.h (__attribute__): Remove definition.
5601         (_GL_ATTRIBUTE_FORMAT): New macro.
5602         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
5603         * lib/argp-fmtstream.h (__attribute__): Remove definition.
5604         (_GL_ATTRIBUTE_FORMAT): New macro.
5605         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
5606         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
5607         GCC 3 or newer.
5608         * lib/error.h (__attribute__): Remove definition.
5609         (_GL_ATTRIBUTE_FORMAT): New macro.
5610         (error, error_at_line): Use it.
5611         * lib/hash.h (__attribute__): Remove definition.
5612         (ATTRIBUTE_WUR): Update definition. Define always.
5613         * lib/openat.h (__attribute__): Remove definition.
5614         (ATTRIBUTE_NORETURN): Update definition. Define always.
5615         * lib/sigpipe-die.h (__attribute__): Remove definition.
5616         (ATTRIBUTE_NORETURN): Update definition. Define always.
5617         * lib/vasnprintf.h (__attribute__): Remove definition.
5618         (_GL_ATTRIBUTE_FORMAT): New macro.
5619         (asnprintf, vasnprintf): Use it.
5620         * lib/xalloc.h (__attribute__): Remove definition.
5621         (ATTRIBUTE_NORETURN): Update definition. Define always.
5622         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
5623         * lib/xmemdup0.h (__attribute__): Remove definition.
5624         (ATTRIBUTE_NORETURN): Update definition. Define always.
5625         * lib/xprintf.h (__attribute__): Remove definition.
5626         (_GL_ATTRIBUTE_FORMAT): New macro.
5627         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
5628         * lib/xstrtol.h (__attribute__): Remove definition.
5629         (ATTRIBUTE_NORETURN): Update definition. Define always.
5630         * lib/xvasprintf.h (__attribute__): Remove definition.
5631         (_GL_ATTRIBUTE_FORMAT): New macro.
5632         (xasprintf, xvasprintf): Use it.
5633         * tests/test-argmatch.c (__attribute__): Remove definition.
5634         (ATTRIBUTE_NORETURN): Update definition. Define always.
5635         * tests/test-exclude.c (__attribute__): Remove definition.
5636         (ATTRIBUTE_NORETURN): Update definition. Define always.
5637         Reported by Paul Eggert.
5638
5639 2011-02-13  Bruno Haible  <bruno@clisp.org>
5640
5641         mbrtowc: Add more tests for native Windows platforms.
5642         * tests/test-mbrtowc-w32-1.sh: New file.
5643         * tests/test-mbrtowc-w32-2.sh: New file.
5644         * tests/test-mbrtowc-w32-3.sh: New file.
5645         * tests/test-mbrtowc-w32-4.sh: New file.
5646         * tests/test-mbrtowc-w32-5.sh: New file.
5647         * tests/test-mbrtowc-w32.c: New file.
5648         * modules/mbrtowc-tests (Files): Add them.
5649         (Makefile.am): Arrange to run these tests.
5650         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
5651         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
5652
5653 2011-02-13  Bruno Haible  <bruno@clisp.org>
5654
5655         mbrtowc: Work around native Windows bug.
5656         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
5657         guess when no suitable locale for testing was found.
5658         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
5659
5660 2011-02-13  Bruno Haible  <bruno@clisp.org>
5661
5662         mbsinit: Work around mingw bug.
5663         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
5664         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
5665         Windows.
5666         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
5667
5668 2011-02-13  Bruno Haible  <bruno@clisp.org>
5669
5670         mbsinit: Don't crash for a NULL argument.
5671         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
5672         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
5673
5674 2011-02-13  Bruno Haible  <bruno@clisp.org>
5675
5676         Don't interfere with a program's definition of __attribute__.
5677         * lib/stdio.in.h (__attribute__): Remove definition.
5678         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
5679         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
5680         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
5681         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
5682         * lib/string.in.h (__attribute__): Remove definition.
5683         Reported by Paul Eggert.
5684
5685 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
5686
5687         stdlib: don't get in the way of non-GCC __attribute__
5688         See thread starting at
5689         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
5690         Revert previous stdlib change, installing the following instead:
5691         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
5692         to get in the way of a non-GCC compiler that supports __attribute__.
5693         (_GL_ATTRIBUTE_RETURN): New macro.
5694         (_Exit): Use it instead of __attribute__.
5695
5696 2011-02-12  Bruno Haible  <bruno@clisp.org>
5697
5698         quotearg test: Avoid test failure on mingw.
5699         * tests/test-quotearg.sh: Convert the locale identifier from native
5700         Windows syntax to Unix syntax.
5701
5702 2011-02-12  Bruno Haible  <bruno@clisp.org>
5703
5704         setlocale: Prefer gnulib's override over libintl's override.
5705         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
5706         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
5707         GNULIB_defined_setlocale is set.
5708
5709 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
5710
5711         stdlib: support non-GCC __attribute__
5712
5713         Fix a serious and tricky problem encountered when attempting to
5714         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
5715         5.5, but it crashed due to memory corruption on Solaris 10 with
5716         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
5717         bits that are otherwise zero.  This tagging is optional inside
5718         Emacs but is preferred and is used when __attribute__ ((__aligned
5719         (8))) works, as it does with both recent-enough GCC and with Sun C
5720         5.11.  However, Sun C 5.11 is not GCC and does not #define
5721         __GNUC__ and __GNUC_MINOR__.
5722
5723         When I added the getloadavg module to Emacs, it brought in
5724         stdlib.in.h, which contained this fragment:
5725
5726            #ifndef __attribute__
5727            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
5728            #  define __attribute__(Spec)   /* empty */
5729            # endif
5730            #endif
5731
5732         When files that include <stdlib.h> were compiled with Sun C 5.11,
5733         the above code disabled __attribute__ ((__aligned (8))), which
5734         caused variables to not be properly aligned, which eventually led
5735         to the pointer corruption mentioned above.  (This was a bit hard
5736         to diagnose, unfortunately.)
5737
5738         Several "#define __attribute__(X) /* empty */" code snippets need
5739         to be eradicated from Gnulib to work with non-GCC compilers that
5740         support __attribute__.  The Autoconf way to do this is to test for
5741         each kind of attribute that we want support for, and selectively
5742         enable that in source code.
5743
5744         Fix this problem just for stdlib.h, by adding a test for the
5745         __noreturn__ attribute, and change stdlib.in.h to use that test
5746         when needed.  This technique can be easily generalized to the
5747         other *.in.h files and attributes, and a similar technique can be
5748         used for *.h and *.c files.  This patch is enough to solve the
5749         problem for Emacs + getloadavg, and I thought I'd publish it for
5750         feedback before undertaking further, similar fixes in other
5751         modules.
5752
5753         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
5754         because it's not needed for stdlib.h.  It merely substitutes the
5755         value directly into stdlib.h.  We may well need to #define it, or
5756         similar symbols, for other modules, but it's nice to also have an
5757         option to not #define it for applications like Emacs that do not
5758         need it.
5759
5760         * lib/stdlib.in.h (__attribute__): Do not #define.
5761         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
5762         be defined only if the _Exit module is also used.
5763         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
5764         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
5765         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
5766         platforms.
5767         * modules/_Exit (Files): Add m4/attribute.m4.
5768         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
5769         * m4/attribute.m4: New file.
5770
5771 2011-02-12  Bruno Haible  <bruno@clisp.org>
5772
5773         wcsrtombs: Work around bug on native Windows.
5774         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
5775         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
5776         instead of len.
5777         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
5778
5779 2011-02-12  Bruno Haible  <bruno@clisp.org>
5780
5781         mbsrtowcs: Work around bug on native Windows.
5782         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
5783         against mingw bug.
5784         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
5785
5786 2011-02-12  Bruno Haible  <bruno@clisp.org>
5787
5788         Avoid setlocale bugs in tests.
5789         * modules/btowc (Dependencies): Add setlocale.
5790         * modules/c-strcase (Dependencies): Likewise.
5791         * modules/mbmemcasecmp (Dependencies): Likewise.
5792         * modules/mbmemcasecoll (Dependencies): Likewise.
5793         * modules/mbrtowc (Dependencies): Likewise.
5794         * modules/mbscasecmp (Dependencies): Likewise.
5795         * modules/mbscasestr (Dependencies): Likewise.
5796         * modules/mbschr (Dependencies): Likewise.
5797         * modules/mbscspn (Dependencies): Likewise.
5798         * modules/mbsinit (Dependencies): Likewise.
5799         * modules/mbsncasecmp (Dependencies): Likewise.
5800         * modules/mbsnrtowcs (Dependencies): Likewise.
5801         * modules/mbspbrk (Dependencies): Likewise.
5802         * modules/mbspcasecmp (Dependencies): Likewise.
5803         * modules/mbsrchr (Dependencies): Likewise.
5804         * modules/mbsrtowcs (Dependencies): Likewise.
5805         * modules/mbsspn (Dependencies): Likewise.
5806         * modules/mbsstr (Dependencies): Likewise.
5807         * modules/nl_langinfo (Dependencies): Likewise.
5808         * modules/quotearg (Dependencies): Likewise.
5809         * modules/unicase/locale-language (Dependencies): Likewise.
5810         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
5811         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
5812         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
5813         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
5814         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
5815         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
5816         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
5817         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
5818         * modules/vasnprintf-posix (Dependencies): Likewise.
5819         * modules/wcrtomb (Dependencies): Likewise.
5820         * modules/wcsnrtombs (Dependencies): Likewise.
5821         * modules/wcsrtombs (Dependencies): Likewise.
5822
5823 2011-02-12  Bruno Haible  <bruno@clisp.org>
5824
5825         setlocale: Workaround native Windows bug.
5826         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
5827         succeeds but sets LC_CTYPE to "C", report a failure.
5828         * tests/test-setlocale2.sh: New file.
5829         * tests/test-setlocale2.c: New file.
5830         * modules/setlocale-tests (Files): Add the new files.
5831         (Makefile.am): Enable test-setlocale2.sh test.
5832         * doc/posix-functions/setlocale.texi: Mention workaround.
5833
5834 2011-02-11  Bruno Haible  <bruno@clisp.org>
5835
5836         Tests for module 'setlocale'.
5837         * modules/setlocale-tests: New file.
5838         * tests/test-setlocale1.sh: New file.
5839         * tests/test-setlocale1.c: New file.
5840
5841         New module 'setlocale'.
5842         * lib/locale.in.h (setlocale): New declaration.
5843         * lib/setlocale.c: New file, based on
5844         gettext/gettext-runtime/intl/setlocale.c.
5845         * m4/setlocale.m4: New file.
5846         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
5847         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
5848         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
5849         REPLACE_SETLOCALE.
5850         * modules/setlocale: New file.
5851         * tests/test-locale-c++.cc: Test the declaration of setlocale.
5852         * doc/posix-functions/setlocale.texi: Mention the new module.
5853
5854 2011-02-11  Bruno Haible  <bruno@clisp.org>
5855
5856         Prepare for locale dependent tests on mingw.
5857         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
5858         because it has the wrong locale encoding.
5859         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
5860         French_France.1252 instead of "fr".
5861         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
5862         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
5863         because it has the wrong locale encoding.
5864         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
5865         native Windows, try Turkish_Turkey.65001.
5866         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
5867         Chinese_China.54936.
5868
5869         Prepare for locale dependent tests on mingw.
5870         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
5871         differently.
5872         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
5873         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
5874         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
5875         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
5876
5877 2011-02-11  Eric Blake  <eblake@redhat.com>
5878
5879         strptime: avoid compiler warnings
5880         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
5881         compiler warnings about dead code.
5882         Reported by Daniel P. Berrange.
5883
5884 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
5885
5886         doc: update users.txt
5887         * users.txt: Add rcs.
5888
5889 2011-02-10  John W. Eaton  <jwe@gnu.org>
5890
5891         doc: update users.txt
5892         * users.txt: Add octave.
5893
5894 2011-02-10  Jim Meyering  <meyering@redhat.com>
5895
5896         doc: update users.txt
5897         * users.txt: Add iwhd.
5898
5899 2011-02-09  Bruno Haible  <bruno@clisp.org>
5900
5901         gnulib-tool: Make copyright notice adjustment more robust.
5902         * gnulib-tool (func_import): In sed_transform_main_lib_file,
5903         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
5904         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
5905         License".
5906         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
5907
5908 2011-02-06  Bruno Haible  <bruno@clisp.org>
5909
5910         New module 'towctrans'.
5911         * modules/towctrans: New file.
5912         * lib/wctype.in.h (towctrans): New declaration.
5913         * lib/towctrans.c: New file.
5914         * lib/towctrans-impl.h: New file.
5915         * m4/towctrans.m4: New file.
5916         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
5917         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
5918         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
5919         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
5920         * doc/posix-functions/towctrans.texi: Mention the new module.
5921
5922 2011-02-06  Bruno Haible  <bruno@clisp.org>
5923
5924         New module 'wctrans'.
5925         * modules/wctrans: New file.
5926         * lib/wctype.in.h (wctrans): New declaration.
5927         * lib/wctrans.c: New file.
5928         * lib/wctrans-impl.h: New file.
5929         * m4/wctrans.m4: New file.
5930         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
5931         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
5932         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
5933         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
5934         * doc/posix-functions/wctrans.texi: Mention the new module.
5935
5936 2011-02-06  Bruno Haible  <bruno@clisp.org>
5937
5938         New module 'iswctype'.
5939         * modules/iswctype: New file.
5940         * lib/wctype.in.h (iswctype): New declaration.
5941         * lib/iswctype.c: New file.
5942         * lib/iswctype-impl.h: New file.
5943         * m4/iswctype.m4: New file.
5944         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
5945         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
5946         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
5947         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
5948         * doc/posix-functions/iswctype.texi: Mention the new module and the
5949         HP-UX 11.00 problem.
5950
5951 2011-02-06  Bruno Haible  <bruno@clisp.org>
5952
5953         New module 'wctype'.
5954         * modules/wctype: Change to represent the wctype() substitute.
5955         * lib/wctype.in.h (wctype): New declaration.
5956         * lib/wctype.c: New file.
5957         * lib/wctype-impl.h: New file.
5958         * m4/wctype.m4: New file.
5959         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
5960         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
5961         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
5962         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
5963         * doc/posix-functions/wctype.texi: Mention the new module and the
5964         HP-UX 11.00 problem.
5965
5966 2011-02-06  Bruno Haible  <bruno@clisp.org>
5967
5968         wctype-h: Ensure wctype_t and wctrans_t are defined.
5969         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
5970         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
5971         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
5972         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
5973         HAVE_WCTRANS_T.
5974         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
5975
5976 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
5977
5978         flock: fix license typo
5979
5980         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
5981         omitted.
5982
5983 2011-02-08  Bruno Haible  <bruno@clisp.org>
5984
5985         Split large sed scripts, for HP-UX sed.
5986         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
5987         to avoid HP-UX limit of 99 commands, in the near future.
5988         * modules/stdlib (Makefile.am): Likewise.
5989         * modules/unistd (Makefile.am): Likewise.
5990         * modules/wchar (Makefile.am): Likewise.
5991         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
5992         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
5993         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
5994
5995 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
5996             Bruno Haible  <bruno@clisp.org>
5997
5998         stdlib: improve random_r modularization
5999         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
6000         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
6001         you also need the random_r module to get this material right.
6002         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
6003         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
6004         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
6005
6006 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
6007
6008         stdlib: don't depend on stdint
6009         * lib/stdlib.in.h: Don't include <stdint.h> merely because
6010         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
6011         be independent of whether stdint.h is needed.
6012         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
6013         here, instead of ...
6014         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
6015         struct random_data should be using the random_r module, not just
6016         the stdlib module (which wouldn't make sense: what package needs
6017         just struct random_data without also needing random_r?).
6018         * modules/stdlib (Depends-on): Remove stdint.
6019
6020         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
6021         See the thread rooted at
6022         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
6023         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
6024         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
6025         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
6026         __VMS)); previously it was always included (via fcntl--.h).
6027         (getloadavg): Do not use c_strtod.  Instead, approximate it by
6028         hand; this is good enough for load averages.  Also, do not use
6029         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
6030         flags directly if available and don't bother otherwise.  (Packages
6031         that need the extra reliability should use the modules that define
6032         these flags on older platforms that lack them.)
6033         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
6034         fcntl-safer.
6035
6036 2011-02-08  Jim Meyering  <meyering@redhat.com>
6037
6038         di-set.h, ino-map.h: add multiple-inclusion guard
6039         Technically, the guard is required only for ino-map.h, due to its
6040         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
6041         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
6042         * lib/ino-map.h: Likewise.
6043
6044 2011-02-06  Bruno Haible  <bruno@clisp.org>
6045
6046         iswblank: Ensure declaration on glibc systems.
6047         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
6048         * modules/iswblank (Dependencies): Add 'extensions'.
6049         * doc/posix-functions/iswblank.texi: Document the glibc problem.
6050
6051 2011-02-06  Bruno Haible  <bruno@clisp.org>
6052
6053         New module 'iswblank'.
6054         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
6055         * modules/iswblank: New file.
6056         * modules/wctype-h (Files): Remove lib/iswblank.c.
6057         (Makefile.am): Substitute GNULIB_ISWBLANK.
6058         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
6059         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
6060         (gl_WCTYPE_H_DEFAULTS): New macro.
6061         (gl_WCTYPE_H): Require it. Remove iswblank related code.
6062         * modules/iswblank-tests: New file.
6063         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
6064         * tests/test-wctype-h.c (main): Remove iswblank tests.
6065         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
6066         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
6067         of 'wctype-h'.
6068         * NEWS: Mention the change.
6069         * modules/mbchar (Depends-on): Add iswblank.
6070
6071 2011-02-08  Bruno Haible  <bruno@clisp.org>
6072
6073         di-set tests: Refactor.
6074         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
6075         unnecessary includes.
6076         (ASSERT): Remove macro.
6077         (main): Make C90 compliant by avoiding variable declaration after
6078         statement.
6079         * modules/di-set-tests (Files): Add tests/macros.h.
6080
6081 2011-02-08  Bruno Haible  <bruno@clisp.org>
6082
6083         ino-map tests: Refactor.
6084         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
6085         unnecessary includes.
6086         (ASSERT): Remove macro.
6087         (main): Make C90 compliant by avoiding variable declaration after
6088         statement.
6089         * modules/ino-map-tests (Files): Add tests/macros.h.
6090
6091 2011-02-08  Jim Meyering  <meyering@redhat.com>
6092
6093         di-set: add "const" to a cast
6094         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
6095         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
6096
6097 2011-02-06  Bruno Haible  <bruno@clisp.org>
6098
6099         Rename module 'wctype' to 'wctype-h'.
6100         * modules/wctype-h: Renamed from modules/wctype.
6101         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
6102         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
6103         (Files, Depends-on, Makefile.am): Update.
6104         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
6105         (Files, Makefile.am): Update.
6106         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
6107         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
6108         * doc/posix-headers/wctype.texi: Update.
6109         * doc/posix-functions/iswalnum.texi: Update.
6110         * doc/posix-functions/iswalpha.texi: Update.
6111         * doc/posix-functions/iswblank.texi: Update.
6112         * doc/posix-functions/iswcntrl.texi: Update.
6113         * doc/posix-functions/iswdigit.texi: Update.
6114         * doc/posix-functions/iswgraph.texi: Update.
6115         * doc/posix-functions/iswlower.texi: Update.
6116         * doc/posix-functions/iswprint.texi: Update.
6117         * doc/posix-functions/iswpunct.texi: Update.
6118         * doc/posix-functions/iswspace.texi: Update.
6119         * doc/posix-functions/iswupper.texi: Update.
6120         * doc/posix-functions/iswxdigit.texi: Update.
6121         * doc/posix-functions/towlower.texi: Update.
6122         * doc/posix-functions/towupper.texi: Update.
6123         * NEWS: Mention the change.
6124         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
6125         * modules/mbchar (Dependencies): Likewise.
6126         * modules/mbswidth (Dependencies): Likewise.
6127         * modules/quotearg (Dependencies): Likewise.
6128         * modules/regex (Dependencies): Likewise.
6129         * modules/wcscasecmp (Dependencies): Likewise.
6130         * modules/wcsncasecmp (Dependencies): Likewise.
6131         * modules/wcwidth (Dependencies): Likewise.
6132
6133 2011-02-06  Bruno Haible  <bruno@clisp.org>
6134
6135         New module 'wcswidth'.
6136         * modules/wcswidth: New file.
6137         * lib/wchar.in.h (wcswidth): New declaration.
6138         * lib/wcswidth.c: New file.
6139         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
6140         * m4/wcswidth.m4: New file.
6141         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
6142         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
6143         REPLACE_WCSWIDTH.
6144         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
6145         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
6146         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
6147         * doc/posix-functions/wcswidth.texi: Mention the new module.
6148
6149 2011-02-06  Bruno Haible  <bruno@clisp.org>
6150
6151         New module 'wcstok'.
6152         * modules/wcstok: New file.
6153         * lib/wchar.in.h (wcstok): New declaration.
6154         * lib/wcstok.c: New file.
6155         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
6156         * m4/wcstok.m4: New file.
6157         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
6158         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
6159         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
6160         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
6161         * doc/posix-functions/wcstok.texi: Mention the new module.
6162
6163 2011-02-06  Bruno Haible  <bruno@clisp.org>
6164
6165         New module 'wcsstr'.
6166         * modules/wcsstr: New file.
6167         * lib/wchar.in.h (wcsstr): New declaration.
6168         * lib/wcsstr.c: New file.
6169         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
6170         * m4/wcsstr.m4: New file.
6171         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
6172         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
6173         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
6174         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
6175         * doc/posix-functions/wcsstr.texi: Mention the new module.
6176
6177 2011-02-06  Bruno Haible  <bruno@clisp.org>
6178
6179         New module 'wcspbrk'.
6180         * modules/wcspbrk: New file.
6181         * lib/wchar.in.h (wcspbrk): New declaration.
6182         * lib/wcspbrk.c: New file.
6183         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
6184         * m4/wcspbrk.m4: New file.
6185         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
6186         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
6187         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
6188         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
6189         * doc/posix-functions/wcspbrk.texi: Mention the new module.
6190
6191 2011-02-06  Bruno Haible  <bruno@clisp.org>
6192
6193         New module 'wcsspn'.
6194         * modules/wcsspn: New file.
6195         * lib/wchar.in.h (wcsspn): New declaration.
6196         * lib/wcsspn.c: New file.
6197         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
6198         * m4/wcsspn.m4: New file.
6199         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
6200         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
6201         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
6202         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
6203         * doc/posix-functions/wcsspn.texi: Mention the new module.
6204
6205 2011-02-06  Bruno Haible  <bruno@clisp.org>
6206
6207         New module 'wcscspn'.
6208         * modules/wcscspn: New file.
6209         * lib/wchar.in.h (wcscspn): New declaration.
6210         * lib/wcscspn.c: New file.
6211         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
6212         * m4/wcscspn.m4: New file.
6213         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
6214         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
6215         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
6216         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
6217         * doc/posix-functions/wcscspn.texi: Mention the new module.
6218
6219 2011-02-06  Bruno Haible  <bruno@clisp.org>
6220
6221         New module 'wcsrchr'.
6222         * modules/wcsrchr: New file.
6223         * lib/wchar.in.h (wcsrchr): New declaration.
6224         * lib/wcsrchr.c: New file.
6225         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
6226         * m4/wcsrchr.m4: New file.
6227         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
6228         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
6229         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
6230         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
6231         * doc/posix-functions/wcsrchr.texi: Mention the new module.
6232
6233 2011-02-06  Bruno Haible  <bruno@clisp.org>
6234
6235         New module 'wcschr'.
6236         * modules/wcschr: New file.
6237         * lib/wchar.in.h (wcschr): New declaration.
6238         * lib/wcschr.c: New file.
6239         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
6240         * m4/wcschr.m4: New file.
6241         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
6242         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
6243         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
6244         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
6245         * doc/posix-functions/wcschr.texi: Mention the new module.
6246
6247 2011-02-06  Bruno Haible  <bruno@clisp.org>
6248
6249         New module 'wcsdup'.
6250         * modules/wcsdup: New file.
6251         * lib/wchar.in.h (wcsdup): New declaration.
6252         * lib/wcsdup.c: New file.
6253         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
6254         * m4/wcsdup.m4: New file.
6255         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
6256         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
6257         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
6258         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
6259         * doc/posix-functions/wcsdup.texi: Mention the new module.
6260
6261 2011-02-06  Bruno Haible  <bruno@clisp.org>
6262
6263         New module 'wcsxfrm'.
6264         * modules/wcsxfrm: New file.
6265         * lib/wchar.in.h (wcsxfrm): New declaration.
6266         * lib/wcsxfrm.c: New file.
6267         * lib/wcsxfrm-impl.h: New file.
6268         * m4/wcsxfrm.m4: New file.
6269         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
6270         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
6271         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
6272         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
6273         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
6274
6275 2011-02-06  Bruno Haible  <bruno@clisp.org>
6276
6277         New module 'wcscoll'.
6278         * modules/wcscoll: New file.
6279         * lib/wchar.in.h (wcscoll): New declaration.
6280         * lib/wcscoll.c: New file.
6281         * lib/wcscoll-impl.h: New file.
6282         * m4/wcscoll.m4: New file.
6283         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
6284         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
6285         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
6286         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
6287         * doc/posix-functions/wcscoll.texi: Mention the new module.
6288
6289 2011-02-06  Bruno Haible  <bruno@clisp.org>
6290
6291         New module 'wcsncasecmp'.
6292         * modules/wcsncasecmp: New file.
6293         * lib/wchar.in.h (wcsncasecmp): New declaration.
6294         * lib/wcsncasecmp.c: New file.
6295         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
6296         * m4/wcsncasecmp.m4: New file.
6297         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
6298         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
6299         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
6300         HAVE_WCSNCASECMP.
6301         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
6302         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
6303
6304 2011-02-06  Bruno Haible  <bruno@clisp.org>
6305
6306         New module 'wcscasecmp'.
6307         * modules/wcscasecmp: New file.
6308         * lib/wchar.in.h (wcscasecmp): New declaration.
6309         * lib/wcscasecmp.c: New file.
6310         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
6311         * m4/wcscasecmp.m4: New file.
6312         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
6313         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
6314         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
6315         HAVE_WCSCASECMP.
6316         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
6317         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
6318
6319 2011-02-05  Bruno Haible  <bruno@clisp.org>
6320
6321         New module 'wcsncmp'.
6322         * modules/wcsncmp: New file.
6323         * lib/wchar.in.h (wcsncmp): New declaration.
6324         * lib/wcsncmp.c: New file.
6325         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
6326         * m4/wcsncmp.m4: New file.
6327         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
6328         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
6329         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
6330         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
6331         * doc/posix-functions/wcsncmp.texi: Mention the new module.
6332
6333 2011-02-05  Bruno Haible  <bruno@clisp.org>
6334
6335         New module 'wcscmp'.
6336         * modules/wcscmp: New file.
6337         * lib/wchar.in.h (wcscmp): New declaration.
6338         * lib/wcscmp.c: New file.
6339         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
6340         * m4/wcscmp.m4: New file.
6341         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
6342         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
6343         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
6344         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
6345         * doc/posix-functions/wcscmp.texi: Mention the new module.
6346
6347 2011-02-05  Bruno Haible  <bruno@clisp.org>
6348
6349         New module 'wcsncat'.
6350         * modules/wcsncat: New file.
6351         * lib/wchar.in.h (wcsncat): New declaration.
6352         * lib/wcsncat.c: New file.
6353         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
6354         * m4/wcsncat.m4: New file.
6355         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
6356         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
6357         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
6358         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
6359         * doc/posix-functions/wcsncat.texi: Mention the new module.
6360
6361 2011-02-05  Bruno Haible  <bruno@clisp.org>
6362
6363         New module 'wcscat'.
6364         * modules/wcscat: New file.
6365         * lib/wchar.in.h (wcscat): New declaration.
6366         * lib/wcscat.c: New file.
6367         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
6368         * m4/wcscat.m4: New file.
6369         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
6370         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
6371         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
6372         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
6373         * doc/posix-functions/wcscat.texi: Mention the new module.
6374
6375 2011-02-05  Bruno Haible  <bruno@clisp.org>
6376
6377         New module 'wcpncpy'.
6378         * modules/wcpncpy: New file.
6379         * lib/wchar.in.h (wcpncpy): New declaration.
6380         * lib/wcpncpy.c: New file.
6381         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
6382         * m4/wcpncpy.m4: New file.
6383         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
6384         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
6385         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
6386         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
6387         * doc/posix-functions/wcpncpy.texi: Mention the new module.
6388
6389 2011-02-05  Bruno Haible  <bruno@clisp.org>
6390
6391         New module 'wcsncpy'.
6392         * modules/wcsncpy: New file.
6393         * lib/wchar.in.h (wcsncpy): New declaration.
6394         * lib/wcsncpy.c: New file.
6395         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
6396         * m4/wcsncpy.m4: New file.
6397         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
6398         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
6399         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
6400         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
6401         * doc/posix-functions/wcsncpy.texi: Mention the new module.
6402
6403 2011-02-05  Bruno Haible  <bruno@clisp.org>
6404
6405         New module 'wcpcpy'.
6406         * modules/wcpcpy: New file.
6407         * lib/wchar.in.h (wcpcpy): New declaration.
6408         * lib/wcpcpy.c: New file.
6409         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
6410         * m4/wcpcpy.m4: New file.
6411         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
6412         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
6413         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
6414         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
6415         * doc/posix-functions/wcpcpy.texi: Mention the new module.
6416
6417 2011-02-05  Bruno Haible  <bruno@clisp.org>
6418
6419         New module 'wcscpy'.
6420         * modules/wcscpy: New file.
6421         * lib/wchar.in.h (wcscpy): New declaration.
6422         * lib/wcscpy.c: New file.
6423         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
6424         * m4/wcscpy.m4: New file.
6425         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
6426         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
6427         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
6428         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
6429         * doc/posix-functions/wcscpy.texi: Mention the new module.
6430
6431 2011-02-05  Bruno Haible  <bruno@clisp.org>
6432
6433         New module 'wcsnlen'.
6434         * modules/wcsnlen: New file.
6435         * lib/wchar.in.h (wcsnlen): New declaration.
6436         * lib/wcsnlen.c: New file.
6437         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
6438         * m4/wcsnlen.m4: New file.
6439         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
6440         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
6441         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
6442         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
6443         * doc/posix-functions/wcsnlen.texi: Mention the new module.
6444
6445 2011-02-05  Bruno Haible  <bruno@clisp.org>
6446
6447         New module 'wcslen'.
6448         * modules/wcslen: New file.
6449         * lib/wchar.in.h (wcslen): New declaration.
6450         * lib/wcslen.c: New file.
6451         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
6452         * m4/wcslen.m4: New file.
6453         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
6454         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
6455         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
6456         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
6457         * doc/posix-functions/wcslen.texi: Mention the new module.
6458
6459 2011-02-05  Bruno Haible  <bruno@clisp.org>
6460
6461         New module 'wmemset'.
6462         * modules/wmemset: New file.
6463         * lib/wchar.in.h (wmemset): New declaration.
6464         * lib/wmemset.c: New file.
6465         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
6466         * m4/wmemset.m4: New file.
6467         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
6468         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
6469         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
6470         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
6471         * doc/posix-functions/wmemset.texi: Mention the new module.
6472
6473 2011-02-05  Bruno Haible  <bruno@clisp.org>
6474
6475         New module 'wmemmove'.
6476         * modules/wmemmove: New file.
6477         * lib/wchar.in.h (wmemmove): New declaration.
6478         * lib/wmemmove.c: New file.
6479         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
6480         * m4/wmemmove.m4: New file.
6481         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
6482         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
6483         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
6484         HAVE_WMEMMOVE.
6485         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
6486         * doc/posix-functions/wmemmove.texi: Mention the new module.
6487
6488 2011-02-05  Bruno Haible  <bruno@clisp.org>
6489
6490         New module 'wmemcpy'.
6491         * modules/wmemcpy: New file.
6492         * lib/wchar.in.h (wmemcpy): New declaration.
6493         * lib/wmemcpy.c: New file.
6494         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
6495         * m4/wmemcpy.m4: New file.
6496         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
6497         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
6498         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
6499         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
6500         * doc/posix-functions/wmemcpy.texi: Mention the new module.
6501
6502 2011-02-05  Bruno Haible  <bruno@clisp.org>
6503
6504         New module 'wmemcmp'.
6505         * modules/wmemcmp: New file.
6506         * lib/wchar.in.h (wmemcmp): New declaration.
6507         * lib/wmemcmp.c: New file.
6508         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
6509         * m4/wmemcmp.m4: New file.
6510         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
6511         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
6512         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
6513         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
6514         * doc/posix-functions/wmemcmp.texi: Mention the new module.
6515
6516 2011-02-07  Jim Meyering  <meyering@redhat.com>
6517
6518         di-set, ino-map: new modules, from coreutils
6519         * lib/di-set.c: New file.
6520         * lib/di-set.h: Likewise.
6521         * lib/ino-map.c: Likewise.
6522         * lib/ino-map.h: Likewise.
6523         * modules/di-set: Likewise.
6524         * modules/di-set-tests: Likewise.
6525         * modules/ino-map: Likewise.
6526         * modules/ino-map-tests: Likewise.
6527         * tests/test-di-set.c: Likewise.
6528         * tests/test-ino-map.c: Likewise.
6529
6530 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
6531
6532         getloadavg: merge minor changes from Emacs
6533
6534         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
6535         (getloadavg): Use memset, not bzero.
6536
6537         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
6538         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
6539         clash (bug#86).
6540
6541 2010-11-14  Bruno Haible  <bruno@clisp.org>
6542
6543         Allow multiple gnulib generated replacements to coexist.
6544         * lib/getopt.in.h (struct option): Avoid identical redefinition.
6545         * lib/inttypes.in.h (imaxdiv_t): Likewise.
6546         * lib/langinfo.in.h (nl_item): Likewise.
6547         * lib/math.in.h (_NaN, NAN): Likewise.
6548         * lib/netdb.in.h (struct addrinfo): Likewise.
6549         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
6550         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
6551         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
6552         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
6553         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
6554         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
6555         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
6556         pthread_mutexattr_init, pthread_mutexattr_settype,
6557         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
6558         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
6559         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
6560         pthread_spin_trylock, pthread_spin_unlock): Likewise.
6561         * lib/sched.in.h (struct sched_param): Likewise.
6562         * lib/se-selinux.in.h (security_class_t, security_context_t,
6563         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
6564         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
6565         lsetfilecon, fsetfilecon, security_check_context,
6566         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
6567         Likewise.
6568         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
6569         Likewise.
6570         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
6571         _gl_function_taking_int_returning_void_t, union sigval,
6572         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
6573         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
6574         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
6575         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
6576         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
6577         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
6578         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
6579         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
6580         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
6581         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
6582         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
6583         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
6584         socklen_t, rpl_fd_isset): Likewise.
6585         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
6586         * lib/sys_time.in.h (struct timeval): Likewise.
6587         * lib/sys_times.in.h (struct tms): Likewise.
6588         * lib/sys_utsname.in.h (struct utsname):
6589         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
6590         * lib/unistd.in.h (getpagesize): Likewise.
6591         * lib/wchar.in.h (mbstate_t): Likewise.
6592         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
6593         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
6594         towlower, towupper): Likewise.
6595         Reported by Sam Steingold <sds@gnu.org>.
6596
6597 2011-02-05  Eric Blake  <eblake@redhat.com>
6598
6599         unsetenv: work around Haiku issues
6600         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
6601         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
6602
6603 2010-12-30  Bruce Korb  <bkorb@gnu.org>
6604
6605         libposix: avoid calling error() within libposix
6606         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
6607         is defined.
6608
6609 2011-02-05  Eric Blake  <eblake@redhat.com>
6610
6611         strerror_r-posix: port to cygwin
6612         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
6613         implementation.
6614         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
6615         * tests/test-strerror_r.c (main): Fix test.
6616         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
6617         issue.
6618
6619 2011-02-05  Bruno Haible  <bruno@clisp.org>
6620
6621         New module 'wmemchr'.
6622         * modules/wmemchr: New file.
6623         * lib/wchar.in.h (wmemchr): New declaration.
6624         * lib/wmemchr.c: New file.
6625         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
6626         * m4/wmemchr.m4: New file.
6627         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
6628         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
6629         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
6630         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
6631         * doc/posix-functions/wmemchr.texi: Mention the new module.
6632
6633 2011-02-04  Eric Blake  <eblake@redhat.com>
6634
6635         fdopendir: detect FreeBSD bug
6636         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
6637         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
6638
6639 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
6640
6641         stdbool: do not define HAVE_STDBOOL_H
6642         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
6643         AC_HEADER_STDBOOL.  All uses changed.  Do not define
6644         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
6645         imported from the latest Autoconf git.  It was motivated by Emacs,
6646         which uses gnulib but does not need HAVE_STDBOOL_H.
6647
6648 2011-02-04  Bruno Haible  <bruno@clisp.org>
6649
6650         wcsnrtombs: Prepare for new module wwcsnrtombs.
6651         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
6652         * lib/wcsnrtombs.c: Include it.
6653         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
6654
6655         wcsrtombs: Prepare for new module wwcsrtombs.
6656         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
6657         * lib/wcsrtombs.c: Include it.
6658         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
6659
6660         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
6661         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
6662         * lib/mbsnrtowcs.c: Include it.
6663         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
6664
6665         mbsrtowcs: Prepare for new module mbsrtowwcs.
6666         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
6667         * lib/mbsrtowcs.c: Include it.
6668         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
6669
6670 2011-02-04  Bruno Haible  <bruno@clisp.org>
6671
6672         vasnprintf: Reduce use of malloc for small format strings.
6673         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
6674         (arguments): Add room for the first 7 arguments.
6675         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
6676         (char_directives, u8_directives, u16_directives, u32_directives): Add
6677         room for the first 7 directives.
6678         * lib/printf-parse.c: Include <string.h>.
6679         (PRINTF_PARSE): Change memory handling code so that it uses the first
6680         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
6681         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
6682         Reported by Pádraig Brady <P@draigbrady.com>.
6683
6684 2011-01-31  Eric Blake  <eblake@redhat.com>
6685
6686         dup2: work around Haiku bug
6687         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
6688         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
6689         * doc/posix-functions/dup2.texi (dup2): Document the bug.
6690         * tests/test-dup2.c (main): Enhance test.
6691
6692 2011-01-31  Simon Josefsson  <simon@josefsson.org>
6693
6694         doc: off_t is not available in eglibc 2.11.2 stdio.h.
6695         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
6696         declared by eglibc 2.11.2.
6697         * lib/stdio.in.h: Likewise.
6698
6699 2011-01-31  Eric Blake  <eblake@redhat.com>
6700
6701         ignore-value: add missing test dependency
6702         * tests/test-ignore-value.c: Revert previous change; stdio.h
6703         provides off_t.
6704         * modules/ignore-value-tests (Depends-on): Add missing dependency.
6705
6706 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
6707
6708         mktime: clarify long_int width checking
6709         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
6710         the top level, to make it clearer that the assumption about
6711         long_int width is being checked.  See
6712         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
6713
6714 2011-01-30  Simon Josefsson  <simon@josefsson.org>
6715
6716         ignore-value: Fix self-test.
6717         * tests/test-ignore-value.c: Include sys/types.h for off_t.
6718
6719 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
6720
6721         TYPE_MAXIMUM: avoid theoretically undefined behavior
6722         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
6723         negative number, which the C Standard says has undefined behavior.
6724         In practice this is not a problem, but might as well do it by the book.
6725         Reported by Rich Felker and Eric Blake; see
6726         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
6727         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
6728         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
6729         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
6730         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
6731         * m4/stdint.m4 (gl_STDINT_H): Likewise.
6732         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
6733
6734         mktime: #undef mktime before #defining it
6735         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
6736
6737         mktime: systematically normalize tm_isdst comparisons
6738         * lib/mktime.c (isdst_differ): New function.
6739         (__mktime_internal): Use it systematically for all isdst comparisons.
6740         This completes the fix for libc BZ #6723, and removes the need for
6741         normalizing tm_isdst.  See
6742         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
6743         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
6744
6745         mktime: fix some integer overflow issues and sidestep the rest
6746
6747         This was prompted by a bug report by Benjamin Lindner for MinGW
6748         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
6749         His bug is due to signed integer overflow (0 - INT_MIN), and I
6750         I scanned through mktime.c looking for other integer overflow
6751         problems, fixing all the bugs I found.
6752
6753         Although the C Standard says the resulting code is still not safe
6754         in the presence of integer overflow, in practice it should be good
6755         enough for all real-world two's-complement implementations, except
6756         for debugging environments that deliberately trap on integer
6757         overflow (e.g., gcc -ftrapv).
6758
6759         * lib/mktime.c (WRAPV): New macro.
6760         (SHR): Also check that long_int and time_t shift right in the
6761         usual way, before using the fast-but-unportable method.
6762         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
6763         used.  The code already assumed two's complement, so there's
6764         no need to test for alternatives.  All uses removed.
6765         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
6766         the C standard.  Problem reported by Rich Felker in
6767         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
6768         (twos_complement_arithmetic): Also check long_int and time_t.
6769         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
6770         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
6771         (__mktime_internal): Avoid integer overflow with unary subtraction
6772         in two instances where -1 - X is an adequate replacement for -X,
6773         since the calculations are approximate.
6774
6775 2011-01-29  Eric Blake  <eblake@redhat.com>
6776
6777         mktime: avoid infinite loop
6778         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
6779         type; behavior is still undefined but portable to all known targets.
6780         Reported by Rich Felker.
6781
6782 2011-01-29  Simon Josefsson  <simon@josefsson.org>
6783
6784         rename, unlink, same-inode: Relicense.
6785         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
6786         * modules/unlink (License): Likewise.
6787         * modules/same-inode (License): Likewise.
6788
6789 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
6790
6791         mktime: avoid problems on NetBSD 5 / i386
6792         * lib/mktime.c (long_int): New type.  This works around a problem
6793         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
6794         but time_t is 64 bits, and where I expect the existing code is
6795         wrong in some cases.
6796         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
6797         (ydhms_diff): Bring back the compile-time check for wide-enough
6798         year and yday.
6799
6800         mktime: fix misspelling in comment
6801         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
6802         This merges all recent glibc changes of importance.
6803
6804 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6805
6806         move-if-change: cope with concurrent mv of identical file.
6807         * build-aux/move-if-change (CMPPROG): Accept environment
6808         variable as an override for `cmp'.
6809         (usage): Document CMPPROG.
6810         Adjust comparison to drop stdout.  Cope with failure of mv if
6811         the target file exists and is identical to the source, for
6812         parallel builds.
6813         Report from H.J. Lu against binutils in PR binutils/12283.
6814
6815 2011-01-28  Bruce Korb  <bkorb@gnu.org>
6816
6817         * users.txt: Mention sharutils.
6818
6819 2011-01-28  Simon Josefsson  <simon@josefsson.org>
6820
6821         * users.txt: Mention OATH Toolkit.
6822
6823 2011-01-27  Bruno Haible  <bruno@clisp.org>
6824
6825         Prepare for supporting FreeBSD 10.
6826         * build-aux/config.libpath: Remove handling of freebsd1*.
6827
6828 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
6829
6830         Prepare for supporting FreeBSD 10.
6831         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
6832         match FreeBSD 10.0.
6833
6834 2011-01-27  Bruno Haible  <bruno@clisp.org>
6835
6836         vma-iter, get-rusage-as: Add OpenBSD support.
6837         * modules/vma-iter (configure.ac): Test for mquery.
6838         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
6839         * lib/vma-iter.c: Include <sys/mman.h>.
6840         (vma_iterate): Add an implementation based on mquery().
6841         * lib/resource-ext.h (get_rusage_as): Update comments.
6842         * lib/get-rusage-as.c: Likewise.
6843         * lib/get-rusage-data.c: Likewise.
6844
6845 2011-01-26  Karl Berry  <karl@gnu.org>
6846
6847         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
6848         variables to make it easier to override the makeinfo program used.
6849
6850 2011-01-26  Eric Blake  <eblake@redhat.com>
6851
6852         fcntl: work around Haiku F_DUPFD bugs
6853         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
6854         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
6855         cloexec bit on duplication.
6856         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
6857
6858 2011-01-26  Bruno Haible  <bruno@clisp.org>
6859
6860         Enable memory leak tests on AIX.
6861         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
6862         * tests/test-fprintf-posix3.c (main): Likewise.
6863
6864 2011-01-26  Bruno Haible  <bruno@clisp.org>
6865
6866         Tests for module 'get-rusage-data'.
6867         * modules/get-rusage-data-tests: New file.
6868         * tests/test-get-rusage-data.c: New file.
6869
6870         New module 'get-rusage-data'.
6871         * lib/resource-ext.h (get_rusage_data): New declaration.
6872         * lib/get-rusage-data.c: New file.
6873         * modules/get-rusage-data: New file.
6874
6875 2011-01-25  Bruno Haible  <bruno@clisp.org>
6876
6877         get-rusage-as: Allow for easier testing.
6878         * lib/resource-ext.h (get_rusage_as): Add comment.
6879         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
6880         (main): New function for interactive testing.
6881
6882 2011-01-25  Bruno Haible  <bruno@clisp.org>
6883
6884         vma-iter: Treat Haiku like BeOS.
6885         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
6886         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
6887
6888 2011-01-25  Eric Blake  <eblake@redhat.com>
6889
6890         c-stack: fix regression on cygwin when libsigsegv is present
6891         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
6892
6893 2011-01-24  Bruno Haible  <bruno@clisp.org>
6894
6895         vma-iter: Avoid empty intervals.
6896         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
6897         on an empty interval.
6898
6899 2011-01-24  Jim Meyering  <meyering@redhat.com>
6900
6901         u64: remove unnecessary #include
6902         * lib/u64.h: Don't include <stddef.h>.  It was not used.
6903
6904 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
6905
6906         Allow the user to avoid the HAVE_RAW_DECL_* macros.
6907         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
6908
6909 2011-01-23  Bruno Haible  <bruno@clisp.org>
6910
6911         New module 'vma-iter'.
6912         * lib/vma-iter.h: New file.
6913         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
6914         * modules/vma-iter: New file.
6915         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
6916         for get_rusage_as_via_iterator.
6917         (vma_iterate_callback): New function.
6918         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
6919         * modules/get-rusage-as (Depends-on): Add vma-iter.
6920
6921 2011-01-23  Bruno Haible  <bruno@clisp.org>
6922
6923         uninorm: Tweak includes.
6924         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
6925         Reported by Jim Meyering.
6926
6927 2011-01-23  Bruno Haible  <bruno@clisp.org>
6928
6929         get-rusage-as: Improve on NetBSD.
6930         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
6931         /proc, like on FreeBSD.
6932
6933 2011-01-23  Jim Meyering  <meyering@redhat.com>
6934
6935         xreadlink.h: remove unnecessary #include
6936         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
6937
6938         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
6939         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
6940
6941 2011-01-23  Bruno Haible  <bruno@clisp.org>
6942
6943         get-rusage-as: Fix bug.
6944         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
6945         original limit when aborting the first loop.
6946
6947 2011-01-23  Bruno Haible  <bruno@clisp.org>
6948
6949         wctype: Ensure valid C syntax.
6950         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
6951         unconditionally, instead of gl_NEXT_HEADERS conditionally.
6952
6953 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
6954
6955         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
6956         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
6957         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
6958         as they are needed only for configure's test case.
6959         This removes two unnecessary symbols from config.h.
6960
6961         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
6962         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
6963         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
6964         AC_CHECK_HEADERS_ONCE on a header that we also invoke
6965         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
6966         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
6967         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
6968         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
6969         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
6970         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
6971         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
6972         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
6973         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
6974         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
6975         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
6976         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
6977         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
6978         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
6979
6980 2011-01-21  Eric Blake  <eblake@redhat.com>
6981
6982         maintainer-makefile: work with older git for submodule check
6983         * top/maint.mk (public-submodule-commit): Rewrite to avoid
6984         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
6985         Reported by Matthias Bolte.
6986
6987         bootstrap: minor portability fixes
6988         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
6989         (usage): Omit leading capital and trailing . on help phrases, per
6990         GNU Coding Standards.
6991         (check_versions, top level): Prefix messages with script name.
6992
6993 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
6994
6995         bootstrap: support --no-git option
6996         * build-aux/bootstrap: Add --no-git option, to be used when
6997         --gnulib-srcdir points to the exact desired checkout.
6998
6999 2011-01-21  Eric Blake  <eblake@redhat.com>
7000
7001         strerror_r-posix: work with glibc 2.13
7002         * lib/strerror_r.c (strerror_r): Fix return type.
7003
7004 2011-01-21  Pádraig Brady  <P@draigBrady.com>
7005             Bruno Haible  <bruno@clisp.org>
7006
7007         uN_strstr: New unit tests.
7008         * modules/unistr/u8-strstr-tests: New file.
7009         * modules/unistr/u16-strstr-tests: New file.
7010         * modules/unistr/u32-strstr-tests: New file.
7011         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
7012         * tests/unistr/test-u8-strstr.c: New file.
7013         * tests/unistr/test-u16-strstr.c: New file.
7014         * tests/unistr/test-u32-strstr.c: New file.
7015
7016 2011-01-21  Pádraig Brady  <P@draigBrady.com>
7017             Bruno Haible  <bruno@clisp.org>
7018
7019         Make uN_strstr functions O(n) worst-case.
7020         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
7021         16-bit and 32-bit unit cases, use the unibyte algorithm from
7022         lib/mbsstr.c.
7023         * lib/unistr/u8-strstr.c: Include <string.h>.
7024         (UNIT_IS_UINT8_T): New macro.
7025         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
7026         (U_STRLEN, U_STRNLEN): New macros.
7027         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
7028         (U_STRLEN, U_STRNLEN): New macros.
7029         * modules/unistr/u8-strstr (Depends-on): Add strstr.
7030         (configure.ac): Update required libunistring version.
7031         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
7032         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
7033         malloca.
7034         (configure.ac): Update required libunistring version.
7035         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
7036         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
7037         malloca.
7038         (configure.ac): Update required libunistring version.
7039
7040 2011-01-21  Pádraig Brady  <P@draigBrady.com>
7041             Bruno Haible  <bruno@clisp.org>
7042
7043         Prepare for faster uN_strstr functions.
7044         * lib/str-kmp.h: Support definable UNITs.
7045         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
7046         needle_len argument.
7047         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
7048         * lib/mbscasestr.c (mbscasestr): Likewise.
7049
7050 2011-01-21  Pádraig Brady <P@draigBrady.com>
7051
7052         malloca-tests: make faster by unsetting MALLOC_PERTURB_
7053         * tests/test-malloca.c (main): Unset the environment variable
7054         to greatly speed up the test.
7055         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
7056         * modules/malloca-tests: Depend on unsetenv.
7057
7058 2011-01-21  Pádraig Brady <P@draigBrady.com>
7059
7060         ignore-value: remove stdint dependency
7061         * lib/ignore-value.h: Remove <stdint.h>
7062         * modules/ignore-value: Remove stdint dependency.
7063
7064 2011-01-21  Jim Meyering  <meyering@redhat.com>
7065
7066         maint.mk: adjust variable name to be consistent with other gl_ vars
7067         * top/maint.mk (gl_public_submodule_commit): Rename the variable
7068         to be lower case.
7069
7070 2011-01-20  Jim Meyering  <meyering@redhat.com>
7071
7072         maint.mk: make "check" depend on public-submodule-commit by default
7073         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
7074
7075 2011-01-20  Bruno Haible  <bruno@clisp.org>
7076
7077         mbfile, mbiter: Complete change from 2008-12-21.
7078         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
7079         * m4/mbiter.m4 (gl_MBITER): Likewise.
7080
7081 2011-01-20  Jim Meyering  <meyering@redhat.com>
7082
7083         init.sh: insert space between each function name and "()"
7084         * tests/init.sh: Make it a little easier to see that a function's
7085         name is "warn_", and not "warn" when looking at the first part of
7086         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
7087
7088 2011-01-20  Jim Meyering  <meyering@redhat.com>
7089
7090         mountlist: clean up code formatting
7091         * lib/mountlist.c (read_file_system_list): Split a long line,
7092         correct bracing style, use NULL in place of "(struct statfs *)0",
7093         don't parenthesize return value, add spaces around "=" and after
7094         ";-in-for-stmt".
7095
7096 2011-01-14  Markus Duft <mduft@gentoo.org>
7097
7098         mountlist: add support for Interix
7099         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
7100         Apply statvfs to all entries of /dev/fs.
7101         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
7102         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
7103
7104 2011-01-20  Jim Meyering  <meyering@redhat.com>
7105
7106         maint.mk: improve the public-submodule-commit rule
7107         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
7108         to suppress printing of its commands... unless V=1.
7109         Add git submodule's --quiet option to suppress printing of e.g.,
7110         "Entering gnulib" output.
7111         "cd" into $(srcdir) before running git submodule.
7112
7113 2011-01-20  Bruno Haible  <bruno@clisp.org>
7114
7115         include_next: Fix bug introduced on 2011-01-18.
7116         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
7117         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
7118         ac_cv_header_... variable if the second argument is not 'check'.
7119         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
7120         gl_NEXT_HEADERS_INTERNAL.
7121
7122 2011-01-20  Bruno Haible  <bruno@clisp.org>
7123
7124         Allow the user to avoid the GNULIB_TEST_* macros.
7125         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
7126         Suggested by Paul Eggert.
7127
7128 2011-01-14  Jim Meyering  <meyering@redhat.com>
7129
7130         bootstrap: avoid failure when there is no .gitmodules file
7131         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
7132         has been assigned to, even when its value is the empty string.
7133         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
7134         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
7135         Reported by John W. Eaton <jwe@gnu.org>.
7136
7137 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
7138
7139         assume <ctype.h>, ..., <time.h> exist
7140         For years gnulib has been assuming the existence of the headers
7141         <ctime.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
7142         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
7143         them, since they don't appear to be needed.
7144         * README (Portability guidelines): Document this.
7145         * lib/flock.c: Assume <fcntl.h> exists.
7146         * lib/regex_internal.h: Assume <locale.h> exists.
7147         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
7148         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
7149         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
7150         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
7151         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
7152         * m4/regex.m4 (gl_REGEX): Likewise.
7153         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
7154         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
7155         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
7156         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
7157         * tests/test-argp.c: Likewise.
7158         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
7159
7160         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
7161         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
7162         AA_APPLE_UNIVERSAL_BUILD.  See
7163         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
7164         * NEWS: Document this.
7165
7166 2011-01-19  Eric Blake  <eblake@redhat.com>
7167
7168         c-stack: assume stack overflow if SA_SIGINFO unsupported
7169         * lib/c-stack.c (SIGACTION_WORKS): Rename...
7170         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
7171         sigaction will work.
7172         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
7173         behavior match Linux.
7174         * tests/test-c-stack.c (main): Prefer NULL for pointers.
7175
7176         stdbool-tests: accomodate Haiku
7177         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
7178
7179         binary-io: fix O_TEXT on Haiku
7180         * modules/binary-io (Depends-on): Add fcntl-h.
7181         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
7182         than blindly undefining O_TEXT.
7183         Reported by Scott McCreary.
7184
7185 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
7186
7187         include_next: do not check for standard headers like stddef.h
7188
7189         I found this problem when modifying Emacs to use gnulib.
7190         I noticed that it added HAVE_STDDEF_H to config.h, even though
7191         gnulib always assumes <stddef.h> exists as per README and this
7192         symbol is unnecessary.
7193         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
7194         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
7195         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
7196         faster for headers like stddef.h that are known to exist.
7197         (gl_CHECK_NEXT_HEADERS): Use it.
7198         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
7199         rather than gl_CHECK_NEXT_HEADERS.
7200         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
7201         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
7202
7203 2011-01-18  Eric Blake  <eblake@redhat.com>
7204
7205         ansi-c++-opt: skip C++ dependency style if C++ is unused
7206         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
7207         tests when we know C++ compilation is not desired.
7208         Reported by Scott McCreary.
7209
7210 2011-01-18  Bruno Haible  <bruno@clisp.org>
7211
7212         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
7213         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
7214         (main): Perform test also when getrlimit and setrlimit don't exist or
7215         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
7216         limiting the address space size using setrlimit, compare the address
7217         space size before and after the the test.
7218         * tests/test-dprintf-posix2.c: Likewise.
7219         * tests/test-fprintf-posix3.sh: Update skip messages.
7220         * tests/test-dprintf-posix2.sh: Likewise.
7221         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
7222         * modules/dprintf-posix-tests (Depends-on): Likewise.
7223         Reported by Bruce Korb <bkorb@gnu.org> and
7224         Gary V. Vaughan <gary@gnu.org>.
7225
7226 2011-01-18  Bruno Haible  <bruno@clisp.org>
7227
7228         get-rusage-as: Improvement for Cygwin.
7229         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
7230         areas that are merely reserved.
7231
7232 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
7233
7234         strftime: remove dependencies on multibyte modules
7235
7236         strftime depended on mbrlen, mbsinit, and wchar, but these modules
7237         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
7238         only if __osf__ is defined, and I suspect OSF doesn't need these
7239         other modules.  If my guess is wrong, we'll need to come up with a
7240         variant of strftime that doesn't need the multibyte modules.
7241
7242         I discovered this problem when attempting modify Emacs to use the
7243         strftime module.  With the previous gnulib, this caused Emacs to
7244         need 31 new files, ranging from lib/config.charset to
7245         m4/wint_t.m4.  This was overkill and I expect would be offputting
7246         to the Emacs maintainers.  After this change, only 6 new files are
7247         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
7248         stdbool.m4, and tm_gmtoff.m4.
7249
7250         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
7251         Suggested by Bruno Haible in
7252         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
7253         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
7254         and do not check for wchar.h.
7255         * modules/strftime (Files): Remove m4/mbstate_t.m4.
7256         (Depends-on): Remove mbrlen, mbsinit, wchar.
7257
7258 2011-01-18  Bruno Haible  <bruno@clisp.org>
7259
7260         Tests for module 'get-rusage-as'.
7261         * modules/get-rusage-as-tests: New file.
7262         * tests/test-get-rusage-as.c: New file.
7263
7264         New module 'get-rusage-as'.
7265         * modules/get-rusage-as: New file.
7266         * lib/resource-ext.h: New file.
7267         * lib/get-rusage-as.c: New file.
7268
7269 2011-01-17  Eric Blake  <eblake@redhat.com>
7270
7271         sigaction: relax license from LGPLv3+ to LGPLv2+
7272         * modules/sigaction (License): Relax to LGPLv2+.
7273
7274 2011-01-14  Bruno Haible  <bruno@clisp.org>
7275
7276         filemode: Make function declarations usable in C++ mode.
7277         * lib/filemode.h: Enclose function declarations in extern "C" block.
7278         Reported by John W. Eaton <jwe@gnu.org>.
7279
7280 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
7281
7282         save-cwd: no longer include "xgetcwd.h"
7283         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
7284         This avoids a compilation failure in projects that use save-cwd
7285         without also using the xgetcwd module.
7286
7287 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
7288
7289         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
7290         This is so that a program like Emacs, which needs only dtoastr,
7291         does not have to bother with distributing and compiling ftoastr
7292         and ldtoastr.
7293         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
7294         * modules/dtoastr, modules/ldtoastr: New files.
7295         * modules/ftoastr: Now works just for 'float'.
7296         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
7297         (Makefile.am): Remove ftoastr.h (not needed and no effect),
7298         dtoastr.c, ldtoastr.c.
7299
7300 2011-01-11  Jim Meyering  <meyering@redhat.com>
7301
7302         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
7303         There is no need to work around the lack of the fchdir function,
7304         since gnulib can now provide a replacement when required.
7305         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
7306         * modules/save-cwd (Depends-on): Add fchdir.
7307
7308 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
7309
7310         openat, save-cwd: avoid xmalloc
7311
7312         This removes a direct (but undocumented) dependency of openat on
7313         xalloc, along with an indirect dependency via save-cwd.  It also
7314         removes a dependency of save-cwd on xgetcwd, and thereby
7315         indirectly on xalloc.  This change causes the openat substitute
7316         to fall back on save_cwd when memory is tight, and for save_cwd to
7317         fail instead of dying when memory is tight, but that's good enough.
7318         Problem and initial idea for fix reported by Bastien Roucaries in
7319         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
7320
7321         * lib/openat-proc.c: Include stdlib.h (for malloc), not
7322         xalloc.h (for xmalloc).
7323         (openat_proc_name): Use malloc, not xmalloc.
7324         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
7325         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
7326
7327         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
7328         This avoids heap allocation for file names whose lengths are in
7329         the range 512..1023, with the upper bound increasing to at most
7330         4031 depending on the platform's PATH_MAX.  (We do not want
7331         pathmax.h here as it might supply a non-constant PATH_MAX.)
7332         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
7333         Perhaps they should be moved to malloca.h?
7334         (OPENAT_BUFFER_SIZE): Use them.
7335
7336 2011-01-10  Bruno Haible  <bruno@clisp.org>
7337
7338         doc: Update users.txt.
7339         * users.txt: Add recutils.
7340
7341 2011-01-09  Karl Berry  <karl@gnu.org>
7342
7343         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
7344
7345         * doc/configmake.texi: New file.
7346         * doc/gnulib.texi: Include it.
7347         * modules/configmake: Move documentation from here.
7348
7349 2011-01-09  Bruno Haible  <bruno@clisp.org>
7350
7351         Update to Unicode 6.0.0.
7352         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
7353         (get_lbp): Update for Unicode 6.0.0.
7354         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
7355         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
7356         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
7357         U+11001, U+11038..U+11046. Remove U+06DE.
7358         (uc_width): Fix bounds of planes.
7359         * tests/uniwidth/test-uc_width2.sh: Same updates as in
7360         lib/uniwidth/width.c.
7361         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
7362         trailing whitespace removed.
7363         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
7364         without comments, but with the original copyright notice.
7365         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
7366         * lib/unicase/ignorable.h: Likewise.
7367         * lib/unicase/tocasefold.h: Likewise.
7368         * lib/unicase/tolower.h: Likewise.
7369         * lib/unicase/totitle.h: Likewise.
7370         * lib/unicase/toupper.h: Likewise.
7371         * lib/unictype/bidi_of.h: Likewise.
7372         * lib/unictype/blocks.h: Likewise.
7373         * lib/unictype/categ_C.h: Likewise.
7374         * lib/unictype/categ_Cn.h: Likewise.
7375         * lib/unictype/categ_L.h: Likewise.
7376         * lib/unictype/categ_Ll.h: Likewise.
7377         * lib/unictype/categ_Lm.h: Likewise.
7378         * lib/unictype/categ_Lo.h: Likewise.
7379         * lib/unictype/categ_Lu.h: Likewise.
7380         * lib/unictype/categ_M.h: Likewise.
7381         * lib/unictype/categ_Mc.h: Likewise.
7382         * lib/unictype/categ_Me.h: Likewise.
7383         * lib/unictype/categ_Mn.h: Likewise.
7384         * lib/unictype/categ_N.h: Likewise.
7385         * lib/unictype/categ_Nd.h: Likewise.
7386         * lib/unictype/categ_No.h: Likewise.
7387         * lib/unictype/categ_P.h: Likewise.
7388         * lib/unictype/categ_Po.h: Likewise.
7389         * lib/unictype/categ_S.h: Likewise.
7390         * lib/unictype/categ_Sc.h: Likewise.
7391         * lib/unictype/categ_Sk.h: Likewise.
7392         * lib/unictype/categ_Sm.h: Likewise.
7393         * lib/unictype/categ_So.h: Likewise.
7394         * lib/unictype/categ_of.h: Likewise.
7395         * lib/unictype/combining.h: Likewise.
7396         * lib/unictype/ctype_alnum.h: Likewise.
7397         * lib/unictype/ctype_alpha.h: Likewise.
7398         * lib/unictype/ctype_graph.h: Likewise.
7399         * lib/unictype/ctype_lower.h: Likewise.
7400         * lib/unictype/ctype_print.h: Likewise.
7401         * lib/unictype/ctype_punct.h: Likewise.
7402         * lib/unictype/ctype_upper.h: Likewise.
7403         * lib/unictype/decdigit.h: Likewise.
7404         * lib/unictype/digit.h: Likewise.
7405         * lib/unictype/numeric.h: Likewise.
7406         * lib/unictype/pr_alphabetic.h: Likewise.
7407         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
7408         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
7409         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
7410         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
7411         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
7412         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
7413         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
7414         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
7415         * lib/unictype/pr_case_ignorable.h: Likewise.
7416         * lib/unictype/pr_cased.h: Likewise.
7417         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
7418         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
7419         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
7420         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
7421         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
7422         * lib/unictype/pr_combining.h: Likewise.
7423         * lib/unictype/pr_composite.h: Likewise.
7424         * lib/unictype/pr_currency_symbol.h: Likewise.
7425         * lib/unictype/pr_decimal_digit.h: Likewise.
7426         * lib/unictype/pr_deprecated.h: Likewise.
7427         * lib/unictype/pr_format_control.h: Likewise.
7428         * lib/unictype/pr_grapheme_base.h: Likewise.
7429         * lib/unictype/pr_grapheme_extend.h: Likewise.
7430         * lib/unictype/pr_grapheme_link.h: Likewise.
7431         * lib/unictype/pr_id_continue.h: Likewise.
7432         * lib/unictype/pr_id_start.h: Likewise.
7433         * lib/unictype/pr_ideographic.h: Likewise.
7434         * lib/unictype/pr_lowercase.h: Likewise.
7435         * lib/unictype/pr_math.h: Likewise.
7436         * lib/unictype/pr_numeric.h: Likewise.
7437         * lib/unictype/pr_other_alphabetic.h: Likewise.
7438         * lib/unictype/pr_other_id_continue.h: Likewise.
7439         * lib/unictype/pr_other_math.h: Likewise.
7440         * lib/unictype/pr_punctuation.h: Likewise.
7441         * lib/unictype/pr_sentence_terminal.h: Likewise.
7442         * lib/unictype/pr_terminal_punctuation.h: Likewise.
7443         * lib/unictype/pr_unassigned_code_value.h: Likewise.
7444         * lib/unictype/pr_unified_ideograph.h: Likewise.
7445         * lib/unictype/pr_uppercase.h: Likewise.
7446         * lib/unictype/pr_xid_continue.h: Likewise.
7447         * lib/unictype/pr_xid_start.h: Likewise.
7448         * lib/unictype/scripts.h: Likewise.
7449         * lib/unictype/scripts_byname.gperf: Likewise.
7450         * lib/unictype/sy_java_ident.h: Likewise.
7451         * lib/unigbrk/gbrkprop.h: Likewise.
7452         * lib/unilbrk/lbrkprop1.h: Likewise.
7453         * lib/unilbrk/lbrkprop2.h: Likewise.
7454         * lib/uninorm/decomposition-table2.h: Likewise.
7455         * lib/uniwbrk/wbrkprop.h: Likewise.
7456         * tests/unicase/test-cased.c: Likewise.
7457         * tests/unicase/test-ignorable.c: Likewise.
7458         * tests/unicase/test-uc_tolower.c: Likewise.
7459         * tests/unicase/test-uc_totitle.c: Likewise.
7460         * tests/unicase/test-uc_toupper.c: Likewise.
7461         * tests/unictype/test-categ_C.c: Likewise.
7462         * tests/unictype/test-categ_Cn.c: Likewise.
7463         * tests/unictype/test-categ_L.c: Likewise.
7464         * tests/unictype/test-categ_Ll.c: Likewise.
7465         * tests/unictype/test-categ_Lm.c: Likewise.
7466         * tests/unictype/test-categ_Lo.c: Likewise.
7467         * tests/unictype/test-categ_Lu.c: Likewise.
7468         * tests/unictype/test-categ_M.c: Likewise.
7469         * tests/unictype/test-categ_Mc.c: Likewise.
7470         * tests/unictype/test-categ_Me.c: Likewise.
7471         * tests/unictype/test-categ_Mn.c: Likewise.
7472         * tests/unictype/test-categ_N.c: Likewise.
7473         * tests/unictype/test-categ_Nd.c: Likewise.
7474         * tests/unictype/test-categ_No.c: Likewise.
7475         * tests/unictype/test-categ_P.c: Likewise.
7476         * tests/unictype/test-categ_Po.c: Likewise.
7477         * tests/unictype/test-categ_S.c: Likewise.
7478         * tests/unictype/test-categ_Sc.c: Likewise.
7479         * tests/unictype/test-categ_Sk.c: Likewise.
7480         * tests/unictype/test-categ_Sm.c: Likewise.
7481         * tests/unictype/test-categ_So.c: Likewise.
7482         * tests/unictype/test-ctype_alnum.c: Likewise.
7483         * tests/unictype/test-ctype_alpha.c: Likewise.
7484         * tests/unictype/test-ctype_graph.c: Likewise.
7485         * tests/unictype/test-ctype_lower.c: Likewise.
7486         * tests/unictype/test-ctype_print.c: Likewise.
7487         * tests/unictype/test-ctype_punct.c: Likewise.
7488         * tests/unictype/test-ctype_upper.c: Likewise.
7489         * tests/unictype/test-decdigit.h: Likewise.
7490         * tests/unictype/test-digit.h: Likewise.
7491         * tests/unictype/test-numeric.h: Likewise.
7492         * tests/unictype/test-pr_alphabetic.c: Likewise.
7493         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
7494         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
7495         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
7496         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
7497         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
7498         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
7499         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
7500         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
7501         * tests/unictype/test-pr_case_ignorable.c: Likewise.
7502         * tests/unictype/test-pr_cased.c: Likewise.
7503         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
7504         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
7505         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
7506         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
7507         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
7508         * tests/unictype/test-pr_combining.c: Likewise.
7509         * tests/unictype/test-pr_composite.c: Likewise.
7510         * tests/unictype/test-pr_currency_symbol.c: Likewise.
7511         * tests/unictype/test-pr_decimal_digit.c: Likewise.
7512         * tests/unictype/test-pr_deprecated.c: Likewise.
7513         * tests/unictype/test-pr_format_control.c: Likewise.
7514         * tests/unictype/test-pr_grapheme_base.c: Likewise.
7515         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
7516         * tests/unictype/test-pr_grapheme_link.c: Likewise.
7517         * tests/unictype/test-pr_id_continue.c: Likewise.
7518         * tests/unictype/test-pr_id_start.c: Likewise.
7519         * tests/unictype/test-pr_ideographic.c: Likewise.
7520         * tests/unictype/test-pr_lowercase.c: Likewise.
7521         * tests/unictype/test-pr_math.c: Likewise.
7522         * tests/unictype/test-pr_numeric.c: Likewise.
7523         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
7524         * tests/unictype/test-pr_other_id_continue.c: Likewise.
7525         * tests/unictype/test-pr_other_math.c: Likewise.
7526         * tests/unictype/test-pr_punctuation.c: Likewise.
7527         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
7528         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
7529         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
7530         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
7531         * tests/unictype/test-pr_uppercase.c: Likewise.
7532         * tests/unictype/test-pr_xid_continue.c: Likewise.
7533         * tests/unictype/test-pr_xid_start.c: Likewise.
7534         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
7535         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
7536         changes.
7537         * lib/unictype/categ_Cc.h: Likewise.
7538         * lib/unictype/categ_Cf.h: Likewise.
7539         * lib/unictype/categ_Co.h: Likewise.
7540         * lib/unictype/categ_Cs.h: Likewise.
7541         * lib/unictype/categ_Lt.h: Likewise.
7542         * lib/unictype/categ_Nl.h: Likewise.
7543         * lib/unictype/categ_Pc.h: Likewise.
7544         * lib/unictype/categ_Pd.h: Likewise.
7545         * lib/unictype/categ_Pe.h: Likewise.
7546         * lib/unictype/categ_Pf.h: Likewise.
7547         * lib/unictype/categ_Pi.h: Likewise.
7548         * lib/unictype/categ_Ps.h: Likewise.
7549         * lib/unictype/categ_Z.h: Likewise.
7550         * lib/unictype/categ_Zl.h: Likewise.
7551         * lib/unictype/categ_Zp.h: Likewise.
7552         * lib/unictype/categ_Zs.h: Likewise.
7553         * lib/unictype/ctype_blank.h: Likewise.
7554         * lib/unictype/ctype_cntrl.h: Likewise.
7555         * lib/unictype/ctype_digit.h: Likewise.
7556         * lib/unictype/ctype_space.h: Likewise.
7557         * lib/unictype/ctype_xdigit.h: Likewise.
7558         * lib/unictype/mirror.h: Likewise.
7559         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
7560         * lib/unictype/pr_bidi_block_separator.h: Likewise.
7561         * lib/unictype/pr_bidi_common_separator.h: Likewise.
7562         * lib/unictype/pr_bidi_control.h: Likewise.
7563         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
7564         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
7565         * lib/unictype/pr_bidi_european_digit.h: Likewise.
7566         * lib/unictype/pr_bidi_pdf.h: Likewise.
7567         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
7568         * lib/unictype/pr_bidi_whitespace.h: Likewise.
7569         * lib/unictype/pr_dash.h: Likewise.
7570         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
7571         * lib/unictype/pr_diacritic.h: Likewise.
7572         * lib/unictype/pr_extender.h: Likewise.
7573         * lib/unictype/pr_hex_digit.h: Likewise.
7574         * lib/unictype/pr_hyphen.h: Likewise.
7575         * lib/unictype/pr_ids_binary_operator.h: Likewise.
7576         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
7577         * lib/unictype/pr_ignorable_control.h: Likewise.
7578         * lib/unictype/pr_iso_control.h: Likewise.
7579         * lib/unictype/pr_join_control.h: Likewise.
7580         * lib/unictype/pr_left_of_pair.h: Likewise.
7581         * lib/unictype/pr_line_separator.h: Likewise.
7582         * lib/unictype/pr_logical_order_exception.h: Likewise.
7583         * lib/unictype/pr_non_break.h: Likewise.
7584         * lib/unictype/pr_not_a_character.h: Likewise.
7585         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
7586         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
7587         * lib/unictype/pr_other_id_start.h: Likewise.
7588         * lib/unictype/pr_other_lowercase.h: Likewise.
7589         * lib/unictype/pr_other_uppercase.h: Likewise.
7590         * lib/unictype/pr_paired_punctuation.h: Likewise.
7591         * lib/unictype/pr_paragraph_separator.h: Likewise.
7592         * lib/unictype/pr_pattern_syntax.h: Likewise.
7593         * lib/unictype/pr_pattern_white_space.h: Likewise.
7594         * lib/unictype/pr_private_use.h: Likewise.
7595         * lib/unictype/pr_quotation_mark.h: Likewise.
7596         * lib/unictype/pr_radical.h: Likewise.
7597         * lib/unictype/pr_soft_dotted.h: Likewise.
7598         * lib/unictype/pr_space.h: Likewise.
7599         * lib/unictype/pr_titlecase.h: Likewise.
7600         * lib/unictype/pr_variation_selector.h: Likewise.
7601         * lib/unictype/pr_white_space.h: Likewise.
7602         * lib/unictype/pr_zero_width.h: Likewise.
7603         * lib/unictype/sy_c_ident.h: Likewise.
7604         * lib/unictype/sy_c_whitespace.h: Likewise.
7605         * lib/unictype/sy_java_whitespace.h: Likewise.
7606         * lib/uninorm/composition-table.gperf: Likewise.
7607         * lib/uninorm/decomposition-table1.h: Likewise.
7608         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
7609         LB8.
7610         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
7611         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
7612         * modules/unictype/*: Bump version number of expected libunistring
7613         version.
7614
7615 2011-01-09  Bruno Haible  <bruno@clisp.org>
7616
7617         Update to Unicode 5.2.0.
7618         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
7619         trailing whitespace removed.
7620
7621 2011-01-09  Bruno Haible  <bruno@clisp.org>
7622
7623         New Unicode character properties, from Unicode 5.2.0.
7624         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
7625         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
7626         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
7627         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
7628         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
7629         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
7630         uc_is_property_cased, uc_is_property_case_ignorable,
7631         uc_is_property_changes_when_lowercased,
7632         uc_is_property_changes_when_uppercased,
7633         uc_is_property_changes_when_titlecased,
7634         uc_is_property_changes_when_casefolded,
7635         uc_is_property_changes_when_casemapped): New declarations.
7636         * lib/unictype/pr_byname.gperf: Add the new properties.
7637         * modules/unictype/property-byname (Depends-on): Depend on the new
7638         properties modules.
7639         * modules/unictype/property-all (Depends-on): Likewise.
7640         * MODULES.html.sh (Unicode string functions): Add
7641         unictype/property-case-ignorable, unictype/property-cased,
7642         unictype/property-changes-when-casefolded,
7643         unictype/property-changes-when-casemapped,
7644         unictype/property-changes-when-lowercased,
7645         unictype/property-changes-when-titlecased,
7646         unictype/property-changes-when-uppercased.
7647
7648         New module 'unictype/property-changes-when-casemapped'.
7649         * modules/unictype/property-changes-when-casemapped: New file.
7650         * lib/unictype/pr_changes_when_casemapped.c: New file.
7651         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
7652         generated by gen-uni-tables.
7653         * modules/unictype/property-changes-when-casemapped-tests: New file.
7654         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
7655         automatically generated by gen-uni-tables.
7656
7657         New module 'unictype/property-changes-when-casefolded'.
7658         * modules/unictype/property-changes-when-casefolded: New file.
7659         * lib/unictype/pr_changes_when_casefolded.c: New file.
7660         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
7661         generated by gen-uni-tables.
7662         * modules/unictype/property-changes-when-casefolded-tests: New file.
7663         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
7664         automatically generated by gen-uni-tables.
7665
7666         New module 'unictype/property-changes-when-titlecased'.
7667         * modules/unictype/property-changes-when-titlecased: New file.
7668         * lib/unictype/pr_changes_when_titlecased.c: New file.
7669         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
7670         generated by gen-uni-tables.
7671         * modules/unictype/property-changes-when-titlecased-tests: New file.
7672         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
7673         automatically generated by gen-uni-tables.
7674
7675         New module 'unictype/property-changes-when-uppercased'.
7676         * modules/unictype/property-changes-when-uppercased: New file.
7677         * lib/unictype/pr_changes_when_uppercased.c: New file.
7678         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
7679         generated by gen-uni-tables.
7680         * modules/unictype/property-changes-when-uppercased-tests: New file.
7681         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
7682         automatically generated by gen-uni-tables.
7683
7684         New module 'unictype/property-changes-when-lowercased'.
7685         * modules/unictype/property-changes-when-lowercased: New file.
7686         * lib/unictype/pr_changes_when_lowercased.c: New file.
7687         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
7688         generated by gen-uni-tables.
7689         * modules/unictype/property-changes-when-lowercased-tests: New file.
7690         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
7691         automatically generated by gen-uni-tables.
7692
7693         New module 'unictype/property-case-ignorable'.
7694         * modules/unictype/property-case-ignorable: New file.
7695         * lib/unictype/pr_case_ignorable.c: New file.
7696         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
7697         by gen-uni-tables.
7698         * modules/unictype/property-case-ignorable-tests: New file.
7699         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
7700         generated by gen-uni-tables.
7701
7702         New module 'unictype/property-cased'.
7703         * modules/unictype/property-cased: New file.
7704         * lib/unictype/pr_cased.c: New file.
7705         * lib/unictype/pr_cased.h: New file, automatically generated by
7706         gen-uni-tables.
7707         * modules/unictype/property-cased-tests: New file.
7708         * tests/unictype/test-pr_cased.c: New file, automatically generated by
7709         gen-uni-tables.
7710
7711 2011-01-09  Bruno Haible  <bruno@clisp.org>
7712
7713         Update to Unicode 5.2.0.
7714         * lib/gen-uni-tables.c (output_predicate, output_category,
7715         output_combclass, output_bidi_category, output_decimal_digit_test,
7716         output_decimal_digit, output_digit_test, output_digit,
7717         output_numeric_test, output_numeric, output_mirror, output_scripts,
7718         output_scripts_byname, output_blocks, output_ident_category): Fix
7719         comment header.
7720         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
7721         get_wbp.
7722         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
7723         items.
7724         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
7725         Changes_When_Lowercased, Changes_When_Uppercased,
7726         Changes_When_Titlecased, Changes_When_Casefolded,
7727         Changes_When_Casemapped.
7728         (is_property_alphabetic, is_property_default_ignorable_code_point):
7729         Update for Unicode 5.2.0.
7730         (is_property_cased, is_property_case_ignorable,
7731         is_property_changes_when_lowercased,
7732         is_property_changes_when_uppercased,
7733         is_property_changes_when_titlecased,
7734         is_property_changes_when_casefolded,
7735         is_property_changes_when_casemapped): New functions.
7736         (output_properties): Output also the properties cased, case_ignorable,
7737         changes_when_lowercased, changes_when_uppercased,
7738         changes_when_titlecased, changes_when_casefolded,
7739         changes_when_casemapped.
7740         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
7741         Unicode TR#11 revision 17 -> 19.
7742         (LBP_CP): New enumeration value.
7743         (LBP_*): Adjust values accordingly.
7744         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
7745         TR#14 revision 22 -> 24.
7746         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
7747         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
7748         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
7749         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
7750         is_WBP_MIDLETTER.
7751         (output_composition_tables): Allow for 24 bits instead of 16 bits in
7752         the code1 and code2 of each composition rule.
7753         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
7754         * lib/unicase/ignorable.h: Likewise.
7755         * lib/unicase/tocasefold.h: Likewise.
7756         * lib/unicase/tolower.h: Likewise.
7757         * lib/unicase/totitle.h: Likewise.
7758         * lib/unicase/toupper.h: Likewise.
7759         * lib/unictype/bidi_of.h: Likewise.
7760         * lib/unictype/blocks.h: Likewise.
7761         * lib/unictype/categ_C.h: Likewise.
7762         * lib/unictype/categ_Cf.h: Likewise.
7763         * lib/unictype/categ_Cn.h: Likewise.
7764         * lib/unictype/categ_L.h: Likewise.
7765         * lib/unictype/categ_Ll.h: Likewise.
7766         * lib/unictype/categ_Lm.h: Likewise.
7767         * lib/unictype/categ_Lo.h: Likewise.
7768         * lib/unictype/categ_Lu.h: Likewise.
7769         * lib/unictype/categ_M.h: Likewise.
7770         * lib/unictype/categ_Mc.h: Likewise.
7771         * lib/unictype/categ_Mn.h: Likewise.
7772         * lib/unictype/categ_N.h: Likewise.
7773         * lib/unictype/categ_Nd.h: Likewise.
7774         * lib/unictype/categ_Nl.h: Likewise.
7775         * lib/unictype/categ_No.h: Likewise.
7776         * lib/unictype/categ_P.h: Likewise.
7777         * lib/unictype/categ_Pd.h: Likewise.
7778         * lib/unictype/categ_Po.h: Likewise.
7779         * lib/unictype/categ_S.h: Likewise.
7780         * lib/unictype/categ_Sc.h: Likewise.
7781         * lib/unictype/categ_So.h: Likewise.
7782         * lib/unictype/categ_of.h: Likewise.
7783         * lib/unictype/combining.h: Likewise.
7784         * lib/unictype/ctype_alnum.h: Likewise.
7785         * lib/unictype/ctype_alpha.h: Likewise.
7786         * lib/unictype/ctype_graph.h: Likewise.
7787         * lib/unictype/ctype_lower.h: Likewise.
7788         * lib/unictype/ctype_print.h: Likewise.
7789         * lib/unictype/ctype_punct.h: Likewise.
7790         * lib/unictype/ctype_upper.h: Likewise.
7791         * lib/unictype/decdigit.h: Likewise.
7792         * lib/unictype/digit.h: Likewise.
7793         * lib/unictype/numeric.h: Likewise.
7794         * lib/unictype/pr_alphabetic.h: Likewise.
7795         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
7796         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
7797         * lib/unictype/pr_bidi_european_digit.h: Likewise.
7798         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
7799         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
7800         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
7801         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
7802         * lib/unictype/pr_combining.h: Likewise.
7803         * lib/unictype/pr_composite.h: Likewise.
7804         * lib/unictype/pr_currency_symbol.h: Likewise.
7805         * lib/unictype/pr_dash.h: Likewise.
7806         * lib/unictype/pr_decimal_digit.h: Likewise.
7807         * lib/unictype/pr_deprecated.h: Likewise.
7808         * lib/unictype/pr_diacritic.h: Likewise.
7809         * lib/unictype/pr_extender.h: Likewise.
7810         * lib/unictype/pr_grapheme_base.h: Likewise.
7811         * lib/unictype/pr_grapheme_extend.h: Likewise.
7812         * lib/unictype/pr_grapheme_link.h: Likewise.
7813         * lib/unictype/pr_id_continue.h: Likewise.
7814         * lib/unictype/pr_id_start.h: Likewise.
7815         * lib/unictype/pr_ideographic.h: Likewise.
7816         * lib/unictype/pr_ignorable_control.h: Likewise.
7817         * lib/unictype/pr_logical_order_exception.h: Likewise.
7818         * lib/unictype/pr_lowercase.h: Likewise.
7819         * lib/unictype/pr_numeric.h: Likewise.
7820         * lib/unictype/pr_other_alphabetic.h: Likewise.
7821         * lib/unictype/pr_punctuation.h: Likewise.
7822         * lib/unictype/pr_sentence_terminal.h: Likewise.
7823         * lib/unictype/pr_terminal_punctuation.h: Likewise.
7824         * lib/unictype/pr_unassigned_code_value.h: Likewise.
7825         * lib/unictype/pr_unified_ideograph.h: Likewise.
7826         * lib/unictype/pr_uppercase.h: Likewise.
7827         * lib/unictype/pr_xid_continue.h: Likewise.
7828         * lib/unictype/pr_xid_start.h: Likewise.
7829         * lib/unictype/pr_zero_width.h: Likewise.
7830         * lib/unictype/scripts.h: Likewise.
7831         * lib/unictype/scripts_byname.gperf: Likewise.
7832         * lib/unictype/sy_java_ident.h: Likewise.
7833         * lib/unigbrk/gbrkprop.h: Likewise.
7834         * lib/unilbrk/lbrkprop1.h: Likewise.
7835         * lib/unilbrk/lbrkprop2.h: Likewise.
7836         * lib/unilbrk/lbrktables.h: Likewise.
7837         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
7838         LBP_CP. Implement rule LB30.
7839         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
7840         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
7841         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
7842         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
7843         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
7844         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
7845         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
7846         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
7847         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
7848         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
7849         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
7850         bits instead of 16 bits in the code1 and code2 of each composition
7851         rule.
7852         (uc_composition): Update for Unicode 5.2.0.
7853         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
7854         * lib/uninorm/decomposition-table2.h: Likewise.
7855         * lib/uniwbrk/wbrkprop.h: Likewise.
7856         * tests/unicase/test-cased.c: Likewise.
7857         * tests/unicase/test-ignorable.c: Likewise.
7858         * tests/unicase/test-uc_tolower.c: Likewise.
7859         * tests/unicase/test-uc_totitle.c: Likewise.
7860         * tests/unicase/test-uc_toupper.c: Likewise.
7861         * tests/unictype/test-categ_C.c: Likewise.
7862         * tests/unictype/test-categ_Cf.c: Likewise.
7863         * tests/unictype/test-categ_Cn.c: Likewise.
7864         * tests/unictype/test-categ_L.c: Likewise.
7865         * tests/unictype/test-categ_Ll.c: Likewise.
7866         * tests/unictype/test-categ_Lm.c: Likewise.
7867         * tests/unictype/test-categ_Lo.c: Likewise.
7868         * tests/unictype/test-categ_Lu.c: Likewise.
7869         * tests/unictype/test-categ_M.c: Likewise.
7870         * tests/unictype/test-categ_Mc.c: Likewise.
7871         * tests/unictype/test-categ_Mn.c: Likewise.
7872         * tests/unictype/test-categ_N.c: Likewise.
7873         * tests/unictype/test-categ_Nd.c: Likewise.
7874         * tests/unictype/test-categ_Nl.c: Likewise.
7875         * tests/unictype/test-categ_No.c: Likewise.
7876         * tests/unictype/test-categ_P.c: Likewise.
7877         * tests/unictype/test-categ_Pd.c: Likewise.
7878         * tests/unictype/test-categ_Po.c: Likewise.
7879         * tests/unictype/test-categ_S.c: Likewise.
7880         * tests/unictype/test-categ_Sc.c: Likewise.
7881         * tests/unictype/test-categ_So.c: Likewise.
7882         * tests/unictype/test-ctype_alnum.c: Likewise.
7883         * tests/unictype/test-ctype_alpha.c: Likewise.
7884         * tests/unictype/test-ctype_graph.c: Likewise.
7885         * tests/unictype/test-ctype_lower.c: Likewise.
7886         * tests/unictype/test-ctype_print.c: Likewise.
7887         * tests/unictype/test-ctype_punct.c: Likewise.
7888         * tests/unictype/test-ctype_upper.c: Likewise.
7889         * tests/unictype/test-decdigit.h: Likewise.
7890         * tests/unictype/test-digit.h: Likewise.
7891         * tests/unictype/test-numeric.h: Likewise.
7892         * tests/unictype/test-pr_alphabetic.c: Likewise.
7893         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
7894         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
7895         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
7896         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
7897         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
7898         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
7899         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
7900         * tests/unictype/test-pr_combining.c: Likewise.
7901         * tests/unictype/test-pr_composite.c: Likewise.
7902         * tests/unictype/test-pr_currency_symbol.c: Likewise.
7903         * tests/unictype/test-pr_dash.c: Likewise.
7904         * tests/unictype/test-pr_decimal_digit.c: Likewise.
7905         * tests/unictype/test-pr_deprecated.c: Likewise.
7906         * tests/unictype/test-pr_diacritic.c: Likewise.
7907         * tests/unictype/test-pr_extender.c: Likewise.
7908         * tests/unictype/test-pr_grapheme_base.c: Likewise.
7909         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
7910         * tests/unictype/test-pr_grapheme_link.c: Likewise.
7911         * tests/unictype/test-pr_id_continue.c: Likewise.
7912         * tests/unictype/test-pr_id_start.c: Likewise.
7913         * tests/unictype/test-pr_ideographic.c: Likewise.
7914         * tests/unictype/test-pr_ignorable_control.c: Likewise.
7915         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
7916         * tests/unictype/test-pr_lowercase.c: Likewise.
7917         * tests/unictype/test-pr_numeric.c: Likewise.
7918         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
7919         * tests/unictype/test-pr_punctuation.c: Likewise.
7920         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
7921         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
7922         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
7923         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
7924         * tests/unictype/test-pr_uppercase.c: Likewise.
7925         * tests/unictype/test-pr_xid_continue.c: Likewise.
7926         * tests/unictype/test-pr_xid_start.c: Likewise.
7927         * tests/unictype/test-pr_zero_width.c: Likewise.
7928         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
7929         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
7930         changed behaviour: line breaking is now disallowed between a letter
7931         or '=' and '('.
7932         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
7933         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
7934         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
7935         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
7936         * tests/uniwidth/test-uc_width2.sh: Same updates as in
7937         lib/uniwidth/width.c.
7938         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
7939         without comments, but with the original copyright notice.
7940         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
7941         changes.
7942         * lib/unictype/categ_Cc.h: Likewise.
7943         * lib/unictype/categ_Co.h: Likewise.
7944         * lib/unictype/categ_Cs.h: Likewise.
7945         * lib/unictype/categ_Lt.h: Likewise.
7946         * lib/unictype/categ_Me.h: Likewise.
7947         * lib/unictype/categ_Pc.h: Likewise.
7948         * lib/unictype/categ_Pe.h: Likewise.
7949         * lib/unictype/categ_Pf.h: Likewise.
7950         * lib/unictype/categ_Pi.h: Likewise.
7951         * lib/unictype/categ_Ps.h: Likewise.
7952         * lib/unictype/categ_Sk.h: Likewise.
7953         * lib/unictype/categ_Sm.h: Likewise.
7954         * lib/unictype/categ_Z.h: Likewise.
7955         * lib/unictype/categ_Zl.h: Likewise.
7956         * lib/unictype/categ_Zp.h: Likewise.
7957         * lib/unictype/categ_Zs.h: Likewise.
7958         * lib/unictype/ctype_blank.h: Likewise.
7959         * lib/unictype/ctype_cntrl.h: Likewise.
7960         * lib/unictype/ctype_digit.h: Likewise.
7961         * lib/unictype/ctype_space.h: Likewise.
7962         * lib/unictype/ctype_xdigit.h: Likewise.
7963         * lib/unictype/mirror.h: Likewise.
7964         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
7965         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
7966         * lib/unictype/pr_bidi_block_separator.h: Likewise.
7967         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
7968         * lib/unictype/pr_bidi_common_separator.h: Likewise.
7969         * lib/unictype/pr_bidi_control.h: Likewise.
7970         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
7971         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
7972         * lib/unictype/pr_bidi_pdf.h: Likewise.
7973         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
7974         * lib/unictype/pr_bidi_whitespace.h: Likewise.
7975         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
7976         * lib/unictype/pr_format_control.h: Likewise.
7977         * lib/unictype/pr_hex_digit.h: Likewise.
7978         * lib/unictype/pr_hyphen.h: Likewise.
7979         * lib/unictype/pr_ids_binary_operator.h: Likewise.
7980         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
7981         * lib/unictype/pr_iso_control.h: Likewise.
7982         * lib/unictype/pr_join_control.h: Likewise.
7983         * lib/unictype/pr_left_of_pair.h: Likewise.
7984         * lib/unictype/pr_line_separator.h: Likewise.
7985         * lib/unictype/pr_math.h: Likewise.
7986         * lib/unictype/pr_non_break.h: Likewise.
7987         * lib/unictype/pr_not_a_character.h: Likewise.
7988         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
7989         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
7990         * lib/unictype/pr_other_id_continue.h: Likewise.
7991         * lib/unictype/pr_other_id_start.h: Likewise.
7992         * lib/unictype/pr_other_lowercase.h: Likewise.
7993         * lib/unictype/pr_other_math.h: Likewise.
7994         * lib/unictype/pr_other_uppercase.h: Likewise.
7995         * lib/unictype/pr_paired_punctuation.h: Likewise.
7996         * lib/unictype/pr_paragraph_separator.h: Likewise.
7997         * lib/unictype/pr_pattern_syntax.h: Likewise.
7998         * lib/unictype/pr_pattern_white_space.h: Likewise.
7999         * lib/unictype/pr_private_use.h: Likewise.
8000         * lib/unictype/pr_quotation_mark.h: Likewise.
8001         * lib/unictype/pr_radical.h: Likewise.
8002         * lib/unictype/pr_soft_dotted.h: Likewise.
8003         * lib/unictype/pr_space.h: Likewise.
8004         * lib/unictype/pr_titlecase.h: Likewise.
8005         * lib/unictype/pr_variation_selector.h: Likewise.
8006         * lib/unictype/pr_white_space.h: Likewise.
8007         * lib/unictype/sy_c_ident.h: Likewise.
8008         * lib/unictype/sy_c_whitespace.h: Likewise.
8009         * lib/unictype/sy_java_whitespace.h: Likewise.
8010         * modules/uni*/*: Bump version number of expected libunistring version.
8011         Reported by Simon Josefsson.
8012
8013 2011-01-09  Karl Heuer  <kwzh@gnu.org>
8014
8015         useless-if-before-free: fix typo in --help and make the internal,
8016         automatic version date update process work once again.
8017         --help output contained a NUL character instead of the
8018         backslash-zero that was intended.  Also, the "must lie within
8019         the first 8 lines" line is on line 9, and hence not getting
8020         automatically updated.
8021         * build-aux/useless-if-before-free: Fix the former by adding a
8022         backslash, and the latter by condensing the three lines of what-it-does
8023         to a single line, leaving one line of slack for the future.
8024
8025 2011-01-09  Bruno Haible  <bruno@clisp.org>
8026
8027         uniwidth/width: Fix width of U+1D173..U+1D17A.
8028         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
8029         symbolic_width, output_width_property_test): New functions.
8030         (main): Invoke output_nonspacing_property, output_width_property_test.
8031         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
8032         U+1D173..U+1D17A.
8033         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
8034         1.
8035         * modules/uniwidth/*: Bump version number of expected libunistring
8036         version.
8037         * modules/unilbrk/*: Likewise.
8038
8039 2011-01-08  Bruno Haible  <bruno@clisp.org>
8040
8041         uninorm tests: Preserve copyright of Unicode data file.
8042         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
8043         Mention modifications.
8044
8045 2011-01-08  Bruno Haible  <bruno@clisp.org>
8046
8047         gen-uni-tables: Prepare for Unicode 5.2.0.
8048         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
8049         (debug_output_lbp, output_lbp): Update.
8050
8051 2011-01-08  Bruno Haible  <bruno@clisp.org>
8052
8053         unilbrk: Clarify gen-uni-tables.c code.
8054         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
8055         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
8056         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
8057
8058 2011-01-07  Bruno Haible  <bruno@clisp.org>
8059
8060         strtod: Restore errno when successfully parsing Infinity or NaN.
8061         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
8062         restore the original errno.
8063
8064 2011-01-07  Bruno Haible  <bruno@clisp.org>
8065
8066         remove test: Avoid failure on HP-UX 11.
8067         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
8068
8069 2011-01-07  Bruno Haible  <bruno@clisp.org>
8070
8071         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
8072         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
8073         error code.
8074
8075 2011-01-07  Pádraig Brady <P@draigBrady.com>
8076
8077         ignore-value: fixup comments, and add Eric Blake
8078         as an author since he rewrote the macros.
8079         * lib/ignore-value.h (ignore_value):  State that
8080         we now support aggregates.  Also specify exactly
8081         when the GCC warn_unused_result feature was added.
8082
8083 2011-01-06  Eric Blake  <eblake@redhat.com>
8084
8085         ignore-value: support aggregate types
8086         * lib/ignore-value.h (ignore_value): Provide separate gcc
8087         definition.
8088         * modules/ignore-value-tests: New test module.
8089         * tests/test-ignore-value.c: New test.
8090
8091         maint.mk: improve sc_prohibit_strcmp regex
8092         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
8093         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
8094         definition of STRNEQ.
8095
8096         signal: work around Haiku issue with SIGBUS
8097         * lib/siglist.h: Add comment.
8098         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
8099         strsignal's favoring of SIGSEGV.
8100         * tests/test-signal.c (main): Avoid test failure.
8101         * doc/posix-headers/signal.texi (signal.h): Document the issue.
8102         Reported by Scott McCreary.
8103
8104         maint.mk: add pre-release check to ensure submodule commits are public
8105         * top/maint.mk (public-submodule-commit): New rule.
8106         (submodule-checks): New variable.
8107         (alpha beta stable): Depend on the variable.
8108
8109 2011-01-05  Pádraig Brady <P@draigBrady.com>
8110         and Jim Meyering  <meyering@redhat.com>
8111
8112         ignore-value: make ignore_value more generic; deprecate ignore_ptr
8113         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
8114         (ATTRIBUTE_DEPRECATED): Define.
8115         (_ignore_case): New function.
8116         (ignore_value): New macro, to replace the old function.
8117         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
8118         * modules/ignore-value (Depends-on): Add stdint.
8119
8120 2011-01-04  Eric Blake  <eblake@redhat.com>
8121
8122         doc: regenerate INSTALL
8123         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
8124         @firstparagraphindent support, now that autoconf dropped it.
8125         (INSTALL_PRELUDE): Reinstate old macro.
8126         * doc/install.texi: Resync from autoconf.
8127         * doc/INSTALL: Reflect recent autoconf update.
8128         * doc/INSTALL.ISO: Likewise.
8129         * doc/INSTALL.UTF-8: Likewise.
8130         Reported by Karl Berry.
8131
8132 2011-01-04  Bruce Korb  <address@hidden>
8133
8134         git-version-gen: avoid a sub-shell
8135         * build-aux/git-version-gen: Redirect stderr in `...` via
8136         "exec 2>...", rather than via an added sub-shell.
8137
8138 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
8139
8140         git-version-gen: use (...) rather than sh -c '...'
8141         * build-aux/git-version-gen: Rather than hard-coding a shell's name
8142         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
8143
8144 2011-01-03  Jim Meyering  <meyering@redhat.com>
8145
8146         git-version-gen: convert leading TABs to spaces
8147         * build-aux/git-version-gen: Expand leading TABs.
8148
8149         git-version-gen: handle failed "git rev-list"
8150         * build-aux/git-version-gen: Rather than leaking a "fatal" error
8151         from git and proceeding as if it had succeeded but printed no SHA1
8152         checksums, suppress the diagnostic and handle the failure.
8153         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
8154
8155         git-version-gen: include command name in one more diagnostic
8156         * build-aux/git-version-gen: When the required .tarball-version file
8157         was missing or unreadable, you might see the diagnostic from "cat",
8158         but no trace of the name of the invoking script.  Now, you still see
8159         the diagnostic from cat, but also get one from "git-version-gen: ".
8160         Inspired by a patch from Bruce Korb.
8161
8162         update-copyright: adjust test to match changed code
8163         * tests/test-update-copyright.sh: Change test's expected output
8164         to match new actual output.
8165
8166 2011-01-02  Bruno Haible  <bruno@clisp.org>
8167
8168         getlogin_r: Avoid test failure on HP-UX 11.
8169         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
8170         ERANGE when the second argument is zero.
8171         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
8172         portability problem.
8173
8174 2011-01-02  Bruce Korb  <bkorb@gnu.org>
8175
8176         * build-aux/update-copyright: doc Simon's changes
8177
8178 2011-01-02  Simon Josefsson  <simon@josefsson.org>
8179
8180         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
8181         environment variable.
8182
8183 2011-01-02  Bruno Haible  <bruno@clisp.org>
8184
8185         unigbrk: Avoid gcc warnings.
8186         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
8187         unused variable.
8188         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
8189         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
8190         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
8191         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
8192         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
8193         Change type of first argument to 'const char *'.
8194         (main): Remove unused variable.
8195         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
8196         type of first argument to 'const char *'.
8197         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
8198         Likewise.
8199         (main): Change type of variable 's'.
8200         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
8201         to 'int'.
8202
8203 2011-01-02  Bruno Haible  <bruno@clisp.org>
8204
8205         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
8206         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
8207         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
8208         bug.
8209         * lib/pwrite.c: Undo 2010-12-31 patch.
8210         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
8211
8212 2011-01-02  Bruno Haible  <bruno@clisp.org>
8213
8214         pread: Fix test whether it works.
8215         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
8216
8217 2011-01-02  Bruno Haible  <bruno@clisp.org>
8218
8219         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
8220         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
8221         ends in "6". Don't require a specific month name. Try also the locale
8222         names found on HP-UX 11 and Solaris 7.
8223
8224 2011-01-02  Bruno Haible  <bruno@clisp.org>
8225
8226         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
8227         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
8228         C linkage.
8229         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
8230
8231 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
8232
8233         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
8234         for consistency, since the "cluster" term is not used elsewhere.
8235         * lib/unigbrk.in.h: Update name.
8236         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
8237         * lib/unigbrk/u16-grapheme-next.c: Update name.
8238         * lib/unigbrk/u16-grapheme-prev.c: Update name.
8239         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
8240         * lib/unigbrk/u32-grapheme-next.c: Update name.
8241         * lib/unigbrk/u32-grapheme-prev.c: Update name.
8242         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
8243         * lib/unigbrk/u8-grapheme-next.c: Update name.
8244         * lib/unigbrk/u8-grapheme-prev.c: Update name.
8245         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
8246         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
8247         Suggested by Bruno Haible.
8248
8249 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
8250
8251         Remove module 'u8-grapheme-len' as too redundant with
8252         'u8-grapheme-next'.
8253         * modules/unigbrk/u8-grapheme-len: Delete file.
8254         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
8255         * lib/unigbrk.in.h: Remove prototype for deleted function.
8256         * lib/unigbrk/u8-grapheme-len.c: Delete file.
8257         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
8258
8259         Remove module 'u16-grapheme-len' as too redundant with
8260         'u16-grapheme-next'.
8261         * modules/unigbrk/u16-grapheme-len: Delete file.
8262         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
8263         * lib/unigbrk.in.h: Remove prototype for deleted function.
8264         * lib/unigbrk/u16-grapheme-len.c: Delete file.
8265         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
8266
8267         Remove module 'u32-grapheme-len' as too redundant with
8268         'u32-grapheme-next'.
8269         * modules/unigbrk/u32-grapheme-len: Delete file.
8270         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
8271         * lib/unigbrk.in.h: Remove prototype for deleted function.
8272         * lib/unigbrk/u32-grapheme-len.c: Delete file.
8273         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
8274
8275         Suggested by Bruno Haible.
8276
8277 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
8278
8279         * unigbrk.in.h: Fix typo: "ben" => "been".
8280         Reported by Bruno Haible.
8281
8282 2011-01-01  Jim Meyering  <meyering@redhat.com>
8283
8284         maint: update almost all copyright ranges to include 2011
8285         Run the new "make update-copyright" rule.
8286
8287 2011-01-01  Jim Meyering  <meyering@redhat.com>
8288
8289         maint: update-copyright: exempt doc/INSTALL*
8290         * Makefile (update-copyright): Also exclude doc/INSTALL*,
8291         since they are generated.  Suggested by Bruno Haible.
8292
8293 2011-01-01  Jim Meyering  <meyering@redhat.com>
8294
8295         maint: refine the update-copyright rule
8296         * Makefile (update-copyright): Also exclude any file that includes
8297         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
8298         code that merely generates the comment.
8299
8300 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
8301
8302         New module 'u8-grapheme-len'.
8303         * modules/unigbrk/u8-grapheme-len: New file.
8304         * modules/unigbrk/u8-grapheme-len-tests: New file.
8305         * lib/unigbrk.in.h: Add prototype for new function.
8306         * lib/unigbrk/u8-grapheme-len.c: New file.
8307         * tests/unigbrk/test-u8-grapheme-len.c: New file.
8308
8309         New module 'u16-grapheme-len'.
8310         * modules/unigbrk/u16-grapheme-len: New file.
8311         * modules/unigbrk/u16-grapheme-len-tests: New file.
8312         * lib/unigbrk.in.h: Add prototype for new function.
8313         * lib/unigbrk/u16-grapheme-len.c: New file.
8314         * tests/unigbrk/test-u16-grapheme-len.c: New file.
8315
8316         New module 'u32-grapheme-len'.
8317         * modules/unigbrk/u32-grapheme-len: New file.
8318         * modules/unigbrk/u32-grapheme-len-tests: New file.
8319         * lib/unigbrk.in.h: Add prototype for new function.
8320         * lib/unigbrk/u32-grapheme-len.c: New file.
8321         * tests/unigbrk/test-u32-grapheme-len.c: New file.
8322
8323         New module 'u8-grapheme-next'.
8324         * modules/unigbrk/u8-grapheme-next: New file.
8325         * modules/unigbrk/u8-grapheme-next-tests: New file.
8326         * lib/unigbrk.in.h: Add prototype for new function.
8327         * lib/unigbrk/u8-grapheme-next.c: New file.
8328         * tests/unigbrk/test-u8-grapheme-next.c: New file.
8329
8330         New module 'u16-grapheme-next'.
8331         * modules/unigbrk/u16-grapheme-next: New file.
8332         * modules/unigbrk/u16-grapheme-next-tests: New file.
8333         * lib/unigbrk.in.h: Add prototype for new function.
8334         * lib/unigbrk/u16-grapheme-next.c: New file.
8335         * tests/unigbrk/test-u16-grapheme-next.c: New file.
8336
8337         New module 'u32-grapheme-next'.
8338         * modules/unigbrk/u32-grapheme-next: New file.
8339         * modules/unigbrk/u32-grapheme-next-tests: New file.
8340         * lib/unigbrk.in.h: Add prototype for new function.
8341         * lib/unigbrk/u32-grapheme-next.c: New file.
8342         * tests/unigbrk/test-u32-grapheme-next.c: New file.
8343
8344         New module 'u8-grapheme-prev'.
8345         * modules/unigbrk/u8-grapheme-prev: New file.
8346         * modules/unigbrk/u8-grapheme-prev-tests: New file.
8347         * lib/unigbrk.in.h: Add prototype for new function.
8348         * lib/unigbrk/u8-grapheme-prev.c: New file.
8349         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
8350
8351         New module 'u16-grapheme-prev'.
8352         * modules/unigbrk/u16-grapheme-prev: New file.
8353         * modules/unigbrk/u16-grapheme-prev-tests: New file.
8354         * lib/unigbrk.in.h: Add prototype for new function.
8355         * lib/unigbrk/u16-grapheme-prev.c: New file.
8356         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
8357
8358         New module 'u32-grapheme-prev'.
8359         * modules/unigbrk/u32-grapheme-prev: New file.
8360         * modules/unigbrk/u32-grapheme-prev-tests: New file.
8361         * lib/unigbrk.in.h: Add prototype for new function.
8362         * lib/unigbrk/u32-grapheme-prev.c: New file.
8363         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
8364
8365         New module 'u8-grapheme-breaks'.
8366         * modules/unigbrk/u8-grapheme-breaks: New file.
8367         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
8368         * lib/unigbrk.in.h: Add prototype for new function.
8369         * lib/unigbrk/u8-grapheme-breaks.c: New file.
8370         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
8371
8372         New module 'u16-grapheme-breaks'.
8373         * modules/unigbrk/u16-grapheme-breaks: New file.
8374         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
8375         * lib/unigbrk.in.h: Add prototype for new function.
8376         * lib/unigbrk/u16-grapheme-breaks.c: New file.
8377         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
8378
8379         New module 'u32-grapheme-breaks'.
8380         * modules/unigbrk/u32-grapheme-breaks: New file.
8381         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
8382         * lib/unigbrk.in.h: Add prototype for new function.
8383         * lib/unigbrk/u32-grapheme-breaks.c: New file.
8384         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
8385
8386         New module 'ulc-grapheme-breaks'.
8387         * modules/unigbrk/ulc-grapheme-breaks: New file.
8388         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
8389         * m4/locale-ar.m4: New file.
8390         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
8391         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
8392         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
8393
8394 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
8395
8396         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
8397         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
8398         modified how this file was generated before I initially submitted
8399         the module, but failed to regenerate it.  This meant that several
8400         of the level2 entries were wrong.
8401         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
8402         Remove the division-by-2 that is folded into the table now that
8403         gbrkprop.h has been regenerated properly.  Now -1 entries are
8404         handled correctly.
8405
8406         New module 'unigbrk/uc-gbrk-prop-tests'.
8407         * modules/unigbrk/uc-gbrk-prop-tests: New file.
8408         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
8409         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
8410         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
8411
8412 2011-01-01  Bruno Haible  <bruno@clisp.org>
8413
8414         Avoid use of hexadecimal escapes.
8415         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
8416         instead of hexadecimal escapes.
8417
8418 2011-01-01  Jim Meyering  <meyering@redhat.com>
8419
8420         maint: new rule to update copyright year ranges
8421         * Makefile (update-copyright): New rule.
8422
8423         maint: indent with TABs in Makefile
8424         * Makefile: Expand leading sequences of spaces to TABs
8425
8426         version-etc: update the copyright year it reports
8427         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
8428
8429 2010-12-31  Bruno Haible  <bruno@clisp.org>
8430
8431         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
8432         * lib/isfinite.c (zerof, zerod, zerol): New variables.
8433         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
8434         zero.
8435
8436 2010-12-31  Bruno Haible  <bruno@clisp.org>
8437
8438         pwrite: Work around HP-UX 11.11 bug.
8439         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
8440         works and set REPLACE_PWRITE if not.
8441         * lib/pwrite.c (pwrite): Add an implementation that uses the system
8442         function.
8443         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
8444
8445 2010-12-31  Bruno Haible  <bruno@clisp.org>
8446
8447         pread: Work around HP-UX 11 bugs.
8448         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
8449         and set REPLACE_PREAD if not.
8450         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
8451
8452 2010-12-31  Eric Blake  <eblake@redhat.com>
8453
8454         nl_langinfo: fix YESEXPR on Irix 6.5
8455         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
8456         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
8457         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
8458         it.
8459
8460 2010-12-31  Bruno Haible  <bruno@clisp.org>
8461
8462         iconv: Document HP-UX 11 bug.
8463         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
8464
8465 2010-12-31  Bruno Haible  <bruno@clisp.org>
8466
8467         ldexpl: Fix link error on HP-UX 11.
8468         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
8469         LDEXPL_LIBM, using $ISNANL_LIBM.
8470
8471 2010-12-31  Eric Blake  <eblake@redhat.com>
8472
8473         ftello: avoid compilation failure with SunStudio c89
8474         * lib/ftello.c (ftello): Use lseek, not llseek.
8475
8476         tests: avoid failing coreutils tests on cygwin
8477         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
8478         (create_exe_shims_): Return 0 when skipping.
8479
8480 2010-12-31  Bruno Haible  <bruno@clisp.org>
8481
8482         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
8483         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
8484
8485 2010-12-31  Bruno Haible  <bruno@clisp.org>
8486
8487         waitpid: Fix link error in C++ mode.
8488         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
8489
8490 2010-12-31  Bruno Haible  <bruno@clisp.org>
8491
8492         isnan: Use GCC built-ins when possible.
8493         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
8494         __builtin_isnan.
8495         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
8496         (isnan): Define using GCC built-ins for GCC >= 4.0.
8497
8498 2010-12-31  Bruno Haible  <bruno@clisp.org>
8499
8500         isnand: Fix mistake.
8501         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
8502         __builtin_isnand.
8503
8504 2010-12-31  Bruno Haible  <bruno@clisp.org>
8505
8506         open: Avoid C++ error on HP-UX 11.
8507         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
8508
8509 2010-12-31  Bruno Haible  <bruno@clisp.org>
8510
8511         time_r: Add missing declarations on HP-UX 11.
8512         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
8513         instead of HAVE_LOCALTIME_R.
8514         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
8515         HAVE_LOCALTIME_R always.
8516         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
8517         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
8518         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
8519         HAVE_LOCALTIME_R.
8520         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
8521         * doc/posix-functions/localtime_r.texi: Likewise.
8522
8523 2010-12-29  Eric Blake  <eblake@redhat.com>
8524
8525         mountlist: tweak previous commit
8526         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
8527         Reported by Paul Eggert.
8528
8529         mountlist: fix local drive detection on cygwin
8530         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
8531         that works for cygwin.
8532
8533 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
8534
8535         ftoastr, snprintf: ftoastr + snprintf module
8536         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
8537         since the snprintf module now should be good enough here.
8538         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
8539         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
8540         and gl_MODULE_INDICATOR([snprintf]), but the former enables
8541         GNULIB_SNPRINTF only for the test directory, and the latter
8542         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
8543         seems to suffice by itself.
8544
8545 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
8546
8547         alloca: one step towards thread-safety
8548         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
8549         need for a static variable.  All callers changed.  This does not
8550         make the alloca replacement thread-safe, but it's one step.
8551
8552         tests: minor indenting change
8553         * tests/init.sh: Sync from coreutils housekeeping patch
8554         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
8555         to keep lines within 80 columns.
8556
8557 2010-12-28  Jim Meyering  <meyering@redhat.com>
8558
8559         regex: don't infloop on persistent failing calloc
8560         * lib/regexec.c (build_trtable): Return failure indication upon
8561         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
8562         In glibc, this was fixed for version 2.13:
8563         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
8564
8565 2010-12-28  Bruno Haible  <bruno@clisp.org>
8566             Paul Eggert <eggert@cs.ucla.edu>
8567
8568         linkat: Make implementation robust against system behaviour variations.
8569         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
8570         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
8571         way, and to -2 if it needs a generic runtime test.
8572         * lib/linkat.c (solaris_optimized_link_immediate,
8573         solaris_optimized_link_follow): New functions.
8574         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
8575         (check_same_link): Use it.
8576
8577 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
8578
8579         New module 'unigbrk/base'.
8580         * modules/unigbrk/base: New file.
8581         * lib/unigbrk.in.h: New file.
8582
8583         New module 'unigbrk/uc-gbrk-prop'.
8584         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
8585         * modules/unigbrk/uc-gbrk-prop: New file.
8586         * lib/unigbrk/gbrkprop.h: New file.
8587         * lib/unigbrk/uc-gbrk-prop.c: New file.
8588
8589         New module 'unigbrk/uc-is-grapheme-break'.
8590         * modules/unigbrk/uc-is-grapheme-break: New file.
8591         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
8592         * lib/unigbrk/uc-is-grapheme-break.c: New file.
8593         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
8594         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
8595         * tests/unigbrk/GraphemeBreakTest.txt: New file.
8596
8597         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
8598
8599 2010-12-27  Bruno Haible  <bruno@clisp.org>
8600
8601         linkat test: Avoid failure on Solaris 11 2010-11.
8602         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
8603
8604 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
8605
8606         utimens: work around glibc rounding bug on more platforms
8607         * lib/utimens.c (fdutimens): Work around rounding bug even if
8608         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
8609         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
8610
8611 2010-12-27  Bruno Haible  <bruno@clisp.org>
8612
8613         select tests: Improve comments.
8614         * tests/test-select.c (do_select): Add comments.
8615
8616 2010-12-27  Bruno Haible  <bruno@clisp.org>
8617
8618         select tests: Safer way of handling timeout.
8619         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
8620         at every invocation.
8621
8622 2010-12-27  Bruno Haible  <bruno@clisp.org>
8623
8624         select tests: Use 'bool' where appropriate.
8625         * tests/test-select.c (connect_to_socket): Change argument type to
8626         'bool'.
8627
8628 2010-12-27  Bruno Haible  <bruno@clisp.org>
8629
8630         select tests: Use existing modules.
8631         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
8632         (configure.ac): Don't test for unistd.h.
8633         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
8634         declared in <unistd.h>.
8635
8636 2010-12-27  Bruno Haible  <bruno@clisp.org>
8637
8638         mbrtowc: Work around a Solaris 7 bug.
8639         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
8640         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
8641         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
8642         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
8643         MBRTOWC_NULL_ARG1_BUG.
8644         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
8645         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
8646         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
8647         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
8648
8649 2010-12-27  Jim Meyering  <meyering@redhat.com>
8650
8651         read-file.c: tweak syntax
8652         * lib/read-file.c (fread_file): Remove space after "*" in function
8653         definitions.
8654
8655 2010-12-27  Bruno Haible  <bruno@clisp.org>
8656
8657         times test: Avoid gcc warnings on OSF/1.
8658         * tests/test-times.c (main): Cast printf arguments from clock_t to
8659         'long int'.
8660
8661 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
8662
8663         utimens: work around glibc rounding bug on older Linux kernels
8664         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
8665         on Linux with a glibc whose utimes might not work, then work
8666         around a longstanding glibc bug involving rounding rather than
8667         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
8668         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
8669
8670 2010-12-26  Bruno Haible  <bruno@clisp.org>
8671
8672         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
8673         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
8674         _GL_CXXALIAS_SYS.
8675         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
8676
8677 2010-12-26  Bruno Haible  <bruno@clisp.org>
8678
8679         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
8680         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
8681         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
8682         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
8683         looking for the declaration.
8684         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
8685         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
8686         problem.
8687         * doc/posix-functions/inet_pton.texi: Likewise.
8688
8689 2010-12-26  Bruno Haible  <bruno@clisp.org>
8690
8691         arpa_inet: Use the common idioms with C++ support.
8692         * lib/arpa_inet.in.h: Include c++defs.h.
8693         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
8694         support.
8695         * modules/arpa_inet (Depends-on): Add c++defs.
8696         (Makefile.am): Substitute the contents of c++defs.h.
8697         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
8698         * modules/arpa_inet-c++-tests: New file.
8699         * tests/test-arpa_inet-c++.cc: New file.
8700
8701 2010-12-25  Bruno Haible  <bruno@clisp.org>
8702
8703         Fix more C++ link errors on Solaris 8.
8704         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
8705         $(LIB_EACCESS).
8706         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
8707         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
8708         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
8709         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
8710         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
8711
8712 2010-12-25  Bruno Haible  <bruno@clisp.org>
8713
8714         printf-posix: Fix link error when a non-GCC compiler is used.
8715         * lib/stdio.in.h (printf): When not using GCC, override printf
8716         correctly.
8717         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
8718
8719 2010-12-25  Bruno Haible  <bruno@clisp.org>
8720
8721         strerror_r-posix: Update doc.
8722         * doc/posix-functions/strerror_r.texi: Update doc about the return
8723         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
8724
8725 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
8726
8727         utimens: simplify the logic of the previous change
8728         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
8729         This should not affect whether the test succeeds or fails.
8730
8731         utimens: configure better on hosts with NFS clock skew
8732         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
8733         uses the clock of the local host.  It might use the clock of the
8734         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
8735         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
8736
8737 2010-12-25  Bruno Haible  <bruno@clisp.org>
8738
8739         ptsname test: Avoid failure on Solaris.
8740         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
8741         open a pseudo-terminal; don't use BSD-style ptys.
8742         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
8743
8744 2010-12-25  Bruno Haible  <bruno@clisp.org>
8745
8746         ptsname: Avoid ERANGE failure on some systems.
8747         * lib/ptsname.c (buffer): Increase size.
8748
8749 2010-12-25  Bruno Haible  <bruno@clisp.org>
8750
8751         rename, renameat: Avoid test failures at NFS mounted locations.
8752         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
8753         so that subsequent mkdir calls succeed.
8754
8755 2010-12-25  Bruno Haible  <bruno@clisp.org>
8756
8757         iswblank: Fix C++ link error on Solaris 8.
8758         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
8759         _GL_FUNCDECL_SYS.
8760
8761 2010-12-25  Bruno Haible  <bruno@clisp.org>
8762
8763         unistd: Fix C++ link error on Solaris 8.
8764         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
8765
8766 2010-12-25  Bruno Haible  <bruno@clisp.org>
8767
8768         readlink doc: Mention an old glibc bug.
8769         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
8770
8771 2010-12-25  Bruno Haible  <bruno@clisp.org>
8772
8773         fcntl-h: Fix for use of C++ on glibc systems.
8774         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
8775         also on glibc systems in C++ mode.
8776         Reported by Gary V. Vaughan <gary@gnu.org>.
8777
8778 2010-12-25  Bruno Haible  <bruno@clisp.org>
8779
8780         roundl-ieee: Make it work on OSF/1 5.1 with cc.
8781         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
8782
8783 2010-12-25  Bruno Haible  <bruno@clisp.org>
8784
8785         truncl-ieee: Make it work on OSF/1 5.1 with cc.
8786         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
8787         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
8788         test whether truncl works according to ISO C 99 with IEC 60559.
8789         * m4/truncl-ieee.m4: New file.
8790         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
8791         m4/signbit.m4.
8792         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
8793
8794 2010-12-25  Bruno Haible  <bruno@clisp.org>
8795
8796         ceill-ieee: Make it work on OSF/1 5.1 with cc.
8797         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
8798         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
8799         test whether ceill works according to ISO C 99 with IEC 60559.
8800         * m4/ceill-ieee.m4: New file.
8801         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
8802         m4/signbit.m4.
8803         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
8804
8805 2010-12-25  Bruno Haible  <bruno@clisp.org>
8806
8807         Ensure all prerequisites of <wchar.h> are included.
8808         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
8809         before <wchar.h>.
8810         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
8811         gl_MBRLEN_NUL_RETVAL): Likewise.
8812         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
8813         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
8814         AC_FUNC_MBRTOWC): Likewise.
8815         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
8816         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
8817         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
8818         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
8819         Likewise.
8820         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
8821         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
8822         (gl_WCHAR_H): Improve comments.
8823         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
8824
8825 2010-12-25  Bruno Haible  <bruno@clisp.org>
8826
8827         strtok_r: Fix C syntax error in autoconf macro.
8828         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
8829         characters in test program.
8830
8831 2010-12-24  Bruno Haible  <bruno@clisp.org>
8832
8833         ceil, trunc, round: Fix gcc warnings.
8834         * lib/ceil.c (MIN): Undefine before redefining.
8835         * lib/trunc.c (MIN): Likewise.
8836         * lib/round.c (MIN): Likewise.
8837         Include <math.h> first.
8838
8839 2010-12-24  Bruno Haible  <bruno@clisp.org>
8840
8841         select tests: Avoid failures on OSF/1 5.1.
8842         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
8843         failure of closing the last socket; it may fail with ECONNRESET.
8844
8845 2010-12-24  Eric Blake  <eblake@redhat.com>
8846
8847         stdint: avoid HP-UX 10.20 preprocessor bug
8848         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
8849         than #if.
8850         * tests/test-floor2.c (main): Likewise.
8851         Reported by Peter O'Gorman.
8852
8853         pipe: make obsoletion transition easier
8854         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
8855         * modules/pipe (Files): Include revived file.
8856         (Include): Drop reference, to mirror getdate's behavior.
8857
8858 2010-12-24  Bruno Haible  <bruno@clisp.org>
8859
8860         sys_socket: Hide mismatch of declarations on NonStop Kernel.
8861         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
8862         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
8863         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
8864
8865 2010-12-24  Bruno Haible  <bruno@clisp.org>
8866
8867         gethostname: Ensure declaration on NonStop Kernel.
8868         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
8869         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
8870
8871 2010-12-24  Bruno Haible  <bruno@clisp.org>
8872
8873         sys_select: Ensure all necessary types on NonStop Kernel.
8874         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
8875         include <sys/time.h>.
8876         * doc/posix-headers/sys_select.texi: Mention that it's missing on
8877         NonStop Kernel.
8878         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
8879
8880 2010-12-24  Bruno Haible  <bruno@clisp.org>
8881
8882         sys_select: Remove unneeded include.
8883         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
8884         have <sys/select.h>.
8885
8886 2010-12-24  Bruno Haible  <bruno@clisp.org>
8887
8888         gethostname: Provide a fallback for HOST_NAME_MAX.
8889         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
8890         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
8891         instead.
8892         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
8893
8894 2010-12-24  Bruno Haible  <bruno@clisp.org>
8895
8896         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
8897         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
8898         (SA_RESTART): Likewise.
8899         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
8900
8901 2010-12-24  Bruno Haible  <bruno@clisp.org>
8902
8903         signal: Define NSIG.
8904         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
8905         * tests/test-signal.c (nsig): New variable.
8906         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
8907
8908 2010-12-24  Bruno Haible  <bruno@clisp.org>
8909
8910         rename, renameat: Avoid test failures on OSF/1 5.1.
8911         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
8912         alternative error codes.
8913         * tests/test-renameat.c (main): Likewise.
8914
8915 2010-12-24  Bruno Haible  <bruno@clisp.org>
8916
8917         *printf: Detect large precisions bug on Solaris 10/SPARC.
8918         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
8919         by Paul Eggert.
8920         * tests/test-snprintf-posix.h (test_function): Add this test code here
8921         too.
8922         * tests/test-sprintf-posix.h (test_function): Likewise.
8923         * tests/test-vasnprintf-posix.c (test_function): Likewise.
8924         * tests/test-vasprintf-posix.c (test_function): Likewise.
8925         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
8926         around by gnulib.
8927         * doc/posix-functions/printf.texi: Likewise.
8928         * doc/posix-functions/snprintf.texi: Likewise.
8929         * doc/posix-functions/sprintf.texi: Likewise.
8930         * doc/posix-functions/vfprintf.texi: Likewise.
8931         * doc/posix-functions/vprintf.texi: Likewise.
8932         * doc/posix-functions/vsnprintf.texi: Likewise.
8933         * doc/posix-functions/vsprintf.texi: Likewise.
8934         * doc/posix-functions/dprintf.texi: Undo last commit.
8935         * doc/posix-functions/vdprintf.texi: Likewise.
8936
8937 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
8938
8939         tests: port test-fdutimensat.c to Solaris 8
8940         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
8941         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
8942         On Solaris 8, it fails with errno == ENOSYS, because there is no
8943         futimens (so it can't use the fd), and there is no lutimens (so it
8944         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
8945
8946         vsnprintf: make more consistent with snprintf; doc fixes
8947
8948         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
8949         the byte count return problem was promoted from the snprintf-posix
8950         to the snprintf module.
8951         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
8952         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
8953         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
8954         * tests/test-snprintf.c (main): Check the byte count returned.
8955         * tests/test-vsnprintf.c (main): Likewise.
8956
8957 2010-12-23  Eric Blake  <eblake@redhat.com>
8958
8959         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
8960         * modules/sigpipe (License): Relax license.
8961
8962 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
8963
8964         doc: document Solaris printf bug with large float precisions
8965         * doc/posix-functions/dprintf.texi (dprintf):
8966         * doc/posix-functions/fprintf.texi (fprintf):
8967         * doc/posix-functions/printf.texi (printf):
8968         * doc/posix-functions/snprintf.texi (snprintf):
8969         * doc/posix-functions/sprintf.texi (sprintf):
8970         * doc/posix-functions/vdprintf.texi (vdprintf):
8971         * doc/posix-functions/vfprintf.texi (vfprintf):
8972         * doc/posix-functions/vprintf.texi (vprintf):
8973         * doc/posix-functions/vsnprintf.texi (vsnprintf):
8974         * doc/posix-functions/vsprintf.texi (vsprintf):
8975         Mention that these functions mishandle large floating point
8976         precisions on Solaris 10.  The same bug is also present in Solaris
8977         8, and I assume earlier.  This causes "cd gnulib-tests; make
8978         check" to fail on Solaris 8 (and I assume, later) when building
8979         the latest coreutils, in test-vasprintf-posix's call to
8980         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
8981         the wide flavors (e.g., wprintf) so this patch just updates the
8982         documentation for the narrow ones.
8983
8984         test-posixtm.c: add two tests
8985         * tests/test-posixtm.c: Add two tests, to highlight the
8986         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
8987         around this bug; this is merely to document it.
8988
8989 2010-12-22  Bruno Haible  <bruno@clisp.org>
8990
8991         getlogin_r: Work around portability problem on OSF/1.
8992         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
8993         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
8994         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
8995         test for a truncated result.
8996         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
8997         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
8998         * modules/getlogin_r (Depends-on): Add memchr.
8999         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
9000
9001 2010-12-22  Bruno Haible  <bruno@clisp.org>
9002
9003         ptsname: Avoid test failure on OSF/1 5.1.
9004         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
9005         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
9006         (same_slave): New function.
9007         (main): Use it to compare ptsname's result with the expected file name.
9008
9009 2010-12-22  Bruno Haible  <bruno@clisp.org>
9010
9011         Port extended stdio modules to HP NonStop Kernel.
9012         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
9013         macros.
9014         * lib/fbufmode.c: Update comments.
9015         * lib/fflush.c: Likewise.
9016         * lib/fpurge.c: Likewise.
9017         * lib/freadable.c: Likewise.
9018         * lib/freadahead.c: Likewise.
9019         * lib/freading.c: Likewise.
9020         * lib/freadptr.c: Likewise.
9021         * lib/freadseek.c: Likewise.
9022         * lib/fseeko.c: Likewise.
9023         * lib/fseterr.c: Likewise.
9024         * lib/fwritable.c: Likewise.
9025         * lib/fwriting.c: Likewise.
9026         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
9027
9028 2010-12-22  Bruno Haible  <bruno@clisp.org>
9029
9030         ttyname_r: Work around bug on OSF/1 5.1.
9031         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
9032         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
9033         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
9034         present.
9035         * lib/ttyname_r.c (ttyname_r): Update comments.
9036
9037 2010-12-22  Bruno Haible  <bruno@clisp.org>
9038
9039         round: Implement result sign according to IEEE 754.
9040         * lib/round.c (MIN, MINUS_ZERO): New macros.
9041         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
9042         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
9043         * tests/test-round-ieee.c (main): Likewise.
9044         * tests/test-roundl-ieee.c (main): Likewise.
9045
9046         trunc: Implement result sign according to IEEE 754.
9047         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
9048         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
9049         * tests/test-trunc2.c: Include minus-zero.h.
9050         (MINUS_ZERO): New macro.
9051         (trunc_reference): Keep in sync with lib/trunc.c.
9052         * tests/test-truncf2.c: Include minus-zero.h.
9053         (MINUS_ZERO): New macro.
9054         (truncf_reference): Keep in sync with lib/trunc.c.
9055         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
9056         * tests/test-trunc-ieee.c (main): Likewise.
9057         * tests/test-truncl-ieee.c (main): Likewise.
9058
9059         ceil: Implement result sign according to IEEE 754.
9060         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
9061         (FUNC): Return -0.0 for -1 < x < 0.
9062         * tests/test-ceil2.c: Include minus-zero.h.
9063         (MINUS_ZERO): New macro.
9064         (ceil_reference): Keep in sync with lib/ceil.c.
9065         * tests/test-ceilf2.c: Include minus-zero.h.
9066         (MINUS_ZERO): New macro.
9067         (ceilf_reference): Keep in sync with lib/ceil.c.
9068         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
9069         * tests/test-ceil-ieee.c (main): Likewise.
9070         * tests/test-ceill-ieee.c (main): Likewise.
9071
9072         floor: Implement result sign according to IEEE 754.
9073         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
9074         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
9075         * tests/test-floorf2.c (floorf_reference): Likewise.
9076         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
9077         * tests/test-floor-ieee.c (main): Likewise.
9078         * tests/test-floorl-ieee.c (main): Likewise.
9079
9080 2010-12-22  Bruno Haible  <bruno@clisp.org>
9081
9082         getaddrinfo: Update doc.
9083         * doc/posix-functions/gai_strerror.texi: Return type is also different
9084         on AIX and HP-UX.
9085
9086 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
9087
9088         getaddrinfo, inet_ntop: Update doc for Solaris.
9089         * doc/posix-functions/gai_strerror.texi: Return type is also an
9090         issue on Solaris 9 and earlier.
9091         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
9092         on Solaris 10 and earlier.
9093
9094 2010-12-21  Bruno Haible  <bruno@clisp.org>
9095
9096         New module 'roundl-ieee'.
9097         * modules/roundl-ieee: New file.
9098         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
9099         test whether roundl works according to ISO C 99 with IEC 60559.
9100         * m4/roundl-ieee.m4: New file.
9101         * modules/roundl-ieee-tests: New file.
9102         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
9103         * tests/test-roundl.c (main): Remove signbit tests.
9104         * modules/roundl-tests (Depends-on): Remove signbit.
9105         * doc/posix-functions/roundl.texi: Mention the new module.
9106
9107 2010-12-21  Bruno Haible  <bruno@clisp.org>
9108
9109         New module 'truncl-ieee'.
9110         * modules/truncl-ieee: New file.
9111         * modules/truncl-ieee-tests: New file.
9112         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
9113         * tests/test-truncl.c (main): Remove signbit tests.
9114         * modules/truncl-tests (Depends-on): Remove signbit.
9115         * doc/posix-functions/truncl.texi: Mention the new module.
9116
9117 2010-12-21  Bruno Haible  <bruno@clisp.org>
9118
9119         New module 'ceill-ieee'.
9120         * modules/ceill-ieee: New file.
9121         * modules/ceill-ieee-tests: New file.
9122         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
9123         * tests/test-ceill.c (main): Remove signbit tests.
9124         * modules/ceill-tests (Depends-on): Remove signbit.
9125         * doc/posix-functions/ceill.texi: Mention the new module.
9126
9127 2010-12-21  Bruno Haible  <bruno@clisp.org>
9128
9129         New module 'floorl-ieee'.
9130         * modules/floorl-ieee: New file.
9131         * modules/floorl-ieee-tests: New file.
9132         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
9133         * tests/test-floorl.c (main): Remove signbit tests.
9134         * modules/floorl-tests (Depends-on): Remove signbit.
9135         * doc/posix-functions/floorl.texi: Mention the new module.
9136
9137 2010-12-21  Bruno Haible  <bruno@clisp.org>
9138
9139         New module 'round-ieee'.
9140         * modules/round-ieee: New file.
9141         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
9142         whether round works according to ISO C 99 with IEC 60559.
9143         * m4/round-ieee.m4: New file.
9144         * modules/round-ieee-tests: New file.
9145         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
9146         * tests/test-round1.c (main): Remove signbit tests.
9147         * modules/round-tests (Depends-on): Remove 'signbit'.
9148         * doc/posix-functions/round.texi: Mention the new module.
9149
9150 2010-12-21  Bruno Haible  <bruno@clisp.org>
9151
9152         New module 'trunc-ieee'.
9153         * modules/trunc-ieee: New file.
9154         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
9155         whether trunc works according to ISO C 99 with IEC 60559.
9156         * m4/trunc-ieee.m4: New file.
9157         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
9158         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
9159         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
9160         * modules/trunc-ieee-tests: New file.
9161         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
9162         * tests/test-trunc1.c (main): Remove signbit tests.
9163         * modules/trunc-tests (Depends-on): Remove 'signbit'.
9164         * doc/posix-functions/trunc.texi: Mention the new module.
9165
9166 2010-12-21  Bruno Haible  <bruno@clisp.org>
9167
9168         New module 'ceil-ieee'.
9169         * modules/ceil-ieee: New file.
9170         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
9171         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
9172         ISO C 99 with IEC 60559.
9173         * m4/ceil-ieee.m4: New file.
9174         * modules/ceil (Files): Add lib/ceil.c.
9175         (Depends-on): Add 'float'.
9176         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
9177         * lib/math.in.h (ceil): New declaration.
9178         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
9179         REPLACE_CEIL.
9180         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
9181         * modules/ceil-ieee-tests: New file.
9182         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
9183         * tests/test-math-c++.cc: Check the signature of 'ceil'.
9184         * doc/posix-functions/ceil.texi: Mention the new module.
9185
9186 2010-12-21  Bruno Haible  <bruno@clisp.org>
9187
9188         New module 'floor-ieee'.
9189         * modules/floor-ieee: New file.
9190         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
9191         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
9192         ISO C 99 with IEC 60559.
9193         * m4/floor-ieee.m4: New file.
9194         * modules/floor (Files): Add lib/floor.c.
9195         (Depends-on): Add 'float'.
9196         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
9197         * lib/math.in.h (floor): New declaration.
9198         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
9199         REPLACE_FLOOR.
9200         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
9201         * modules/floor-ieee-tests: New file.
9202         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
9203         * tests/test-math-c++.cc: Check the signature of 'floor'.
9204         * doc/posix-functions/floor.texi: Mention the new module.
9205
9206 2010-12-21  Bruno Haible  <bruno@clisp.org>
9207
9208         New module 'roundf-ieee'.
9209         * modules/roundf-ieee: New file.
9210         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
9211         test whether roundf works according to ISO C 99 with IEC 60559.
9212         * m4/roundf-ieee.m4: New file.
9213         * modules/roundf-ieee-tests: New file.
9214         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
9215         * tests/test-roundf1.c (main): Remove signbit tests.
9216         * modules/roundf-tests (Depends-on): Remove 'signbit'.
9217         * doc/posix-functions/roundf.texi: Mention the new module.
9218
9219 2010-12-21  Bruno Haible  <bruno@clisp.org>
9220
9221         New module 'truncf-ieee'.
9222         * modules/truncf-ieee: New file.
9223         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
9224         test whether truncf works according to ISO C 99 with IEC 60559.
9225         * m4/truncf-ieee.m4: New file.
9226         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
9227         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
9228         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
9229         * modules/truncf-ieee-tests: New file.
9230         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
9231         * tests/test-truncf1.c (main): Remove signbit tests.
9232         * modules/truncf-tests (Depends-on): Remove 'signbit'.
9233         * doc/posix-functions/truncf.texi: Mention the new module.
9234
9235 2010-12-21  Bruno Haible  <bruno@clisp.org>
9236
9237         New module 'ceilf-ieee'.
9238         * modules/ceilf-ieee: New file.
9239         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
9240         test whether ceilf works according to ISO C 99 with IEC 60559.
9241         * m4/ceilf-ieee.m4: New file.
9242         * modules/ceilf-ieee-tests: New file.
9243         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
9244         * tests/test-ceilf1.c (main): Remove signbit tests.
9245         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
9246         * doc/posix-functions/ceilf.texi: Mention the new module.
9247
9248 2010-12-21  Bruno Haible  <bruno@clisp.org>
9249
9250         New module 'floorf-ieee'.
9251         * modules/floorf-ieee: New file.
9252         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
9253         test whether floorf works according to ISO C 99 with IEC 60559.
9254         * m4/floorf-ieee.m4: New file.
9255         * modules/floorf-ieee-tests: New file.
9256         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
9257         * tests/test-floorf1.c (main): Remove signbit tests.
9258         * modules/floorf-tests (Depends-on): Remove 'signbit'.
9259         * doc/posix-functions/floorf.texi: Mention the new module.
9260
9261 2010-12-21  Bruno Haible  <bruno@clisp.org>
9262
9263         Support for minus zero in autoconf macros.
9264         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
9265         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
9266         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
9267         * tests/minus-zero.h: Update comments.
9268
9269 2010-12-21  Bruno Haible  <bruno@clisp.org>
9270
9271         Tests for module 'ceil'.
9272         * modules/ceil-tests: New file.
9273         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
9274         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
9275
9276 2010-12-21  Bruno Haible  <bruno@clisp.org>
9277
9278         Tests for module 'floor'.
9279         * modules/floor-tests: New file.
9280         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
9281         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
9282
9283 2010-12-21  Bruno Haible  <bruno@clisp.org>
9284
9285         math: Fix indentation.
9286         * lib/math.in.h (floorf): Fix indentation.
9287
9288 2010-12-21  Bruno Haible  <bruno@clisp.org>
9289
9290         Fix cross-compilation guesses on Solaris.
9291         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
9292         not match "solaris2.10".
9293         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
9294         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
9295         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
9296
9297 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
9298
9299         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
9300         This fixes a problem observed with the latest coreutils snapshot
9301         that caused a test to fail on Solaris 8.  src/csplit.c's call
9302         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
9303         earlier, instead of returning the number of bytes that would have
9304         been generated; this causes csplit to incorrectly report memory
9305         exhaustion.
9306         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
9307         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
9308         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
9309         comments to match.
9310         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
9311         Fix typo in matching older versions of Solaris: "solaris2.10"
9312         is matched by the shell pattern "solaris2.[0-9]*".  This matters
9313         only for guessing while cross-compiling.
9314         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
9315
9316 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
9317
9318         ftoastr: fix comment again
9319         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
9320         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
9321         Also, simplify example a bit by using flags = 0.
9322
9323 2010-12-20  Bruno Haible  <bruno@clisp.org>
9324
9325         round*, trunc*: Update documentation regarding glibc.
9326         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
9327         * doc/posix-functions/round.texi: Likewise.
9328         * doc/posix-functions/roundl.texi: Likewise.
9329         * doc/posix-functions/truncf.texi: Likewise.
9330         * doc/posix-functions/trunc.texi: Likewise.
9331         * doc/posix-functions/truncl.texi: Likewise.
9332
9333 2010-12-20  Bruno Haible  <bruno@clisp.org>
9334
9335         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
9336         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
9337         * doc/posix-functions/round.texi: Likewise.
9338         * doc/posix-functions/roundl.texi: Likewise.
9339
9340 2010-12-20  Bruno Haible  <bruno@clisp.org>
9341
9342         ttyname_r: Add missing declaration on HP-UX 11.
9343         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
9344         HAVE_TTYNAME_R.
9345         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
9346         declared. Set HAVE_TTYNAME_R always.
9347         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
9348         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
9349         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
9350         HAVE_TTYNAME_R.
9351         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
9352
9353 2010-12-20  Bruno Haible  <bruno@clisp.org>
9354
9355         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
9356         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
9357         * doc/posix-functions/getlogin_r.texi: Likewise.
9358         * tests/test-getlogin.c: Include <errno.h>.
9359         (main): Avoid test failure on HP-UX 11.11.
9360         * tests/test-getlogin_r.c (main): Likewise.
9361
9362 2010-12-20  Bruno Haible  <bruno@clisp.org>
9363
9364         getlogin_r: Add missing declaration on HP-UX 11.
9365         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
9366         declared also when it exists as a function.
9367         * doc/posix-functions/getlogin_r.texi: Document this workaround.
9368
9369 2010-12-20  Bruno Haible  <bruno@clisp.org>
9370
9371         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
9372         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
9373         through wcrtomb.
9374
9375 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
9376
9377         ftoastr: fix comment
9378         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
9379         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
9380
9381 2010-12-19  Bruno Haible  <bruno@clisp.org>
9382
9383         isnan: Ensure it is a macro.
9384         * lib/math.in.h (isnan): Define as a macro if not already a macro.
9385         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
9386         Solaris.
9387
9388 2010-12-19  Bruno Haible  <bruno@clisp.org>
9389
9390         ldexpl test: Fix link error on OSF/1 5.1.
9391         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
9392
9393 2010-12-19  Bruno Haible  <bruno@clisp.org>
9394
9395         wctype: Make it work in C++ mode on OSF/1 5.1.
9396         * lib/wctype.in.h (iswblank): Declare but not define here.
9397         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
9398         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
9399         * modules/wctype (Files): Add lib/iswblank.c.
9400
9401 2010-12-19  Bruno Haible  <bruno@clisp.org>
9402
9403         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
9404         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
9405         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
9406
9407 2010-12-19  Bruno Haible  <bruno@clisp.org>
9408
9409         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
9410         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
9411         _POSIX_PII_SOCKET.
9412         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
9413         * doc/posix-functions/recvfrom.texi: Likewise.
9414         * doc/posix-functions/send.texi: Likewise.
9415         * doc/posix-functions/sendto.texi: Likewise.
9416
9417 2010-12-19  Bruno Haible  <bruno@clisp.org>
9418
9419         tcgetsid: Add missing declaration on OSF/1 5.1.
9420         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
9421         HAVE_TCGETSID.
9422         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
9423         Don't set HAVE_TCGETSID.
9424         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
9425         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
9426         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
9427         HAVE_TCGETSID.
9428         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
9429
9430 2010-12-19  Bruno Haible  <bruno@clisp.org>
9431
9432         stdio: Fix problem with popen() declaration on OSF/1 5.1.
9433         * lib/stdio.in.h: During the include_next statement, let recursive
9434         includes of this file include only the system header file.
9435
9436 2010-12-19  Bruno Haible  <bruno@clisp.org>
9437
9438         iconv_open: Fix regression from 2010-12-04.
9439         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
9440         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
9441
9442 2010-12-19  Bruno Haible  <bruno@clisp.org>
9443
9444         stdbool test: Avoid a gcc warning.
9445         * tests/test-stdbool.c (main): Fail if e1 is false.
9446         Reported by Jim Meyering.
9447
9448 2010-12-19  Jim Meyering  <meyering@redhat.com>
9449
9450         setenv: restore to working order
9451         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
9452         mistakenly removed.
9453         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
9454         HAVE_SETENV.
9455         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
9456         HAVE_SETENV.
9457
9458 2010-12-19  Bruno Haible  <bruno@clisp.org>
9459
9460         Document some different function declarations on OSF/1 5.1.
9461         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
9462         * doc/posix-functions/inet_ntop.texi: Likewise.
9463         * doc/posix-functions/gethostname.texi: Likewise.
9464         * lib/unistd.in.h (gethostname): Update comment.
9465
9466 2010-12-19  Bruno Haible  <bruno@clisp.org>
9467
9468         doc: Mention vasprintf-posix module.
9469         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
9470         the 'vasprintf-posix' module.
9471         * doc/glibc-functions/vasprintf.texi: Likewise.
9472
9473 2010-12-19  Bruno Haible  <bruno@clisp.org>
9474
9475         unsetenv: Add missing declaration on OSF/1 5.1.
9476         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
9477         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
9478         Don't set HAVE_UNSETENV. In the test program, set _BSD.
9479         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
9480         not HAVE_UNSETENV.
9481         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
9482         HAVE_UNSETENV.
9483         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
9484
9485 2010-12-19  Bruno Haible  <bruno@clisp.org>
9486
9487         setenv: Add missing declaration on OSF/1 5.1.
9488         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
9489         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
9490         declared. Don't set HAVE_SETENV.
9491         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
9492         not HAVE_SETENV.
9493         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
9494         HAVE_SETENV.
9495         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
9496
9497 2010-12-19  Bruno Haible  <bruno@clisp.org>
9498
9499         nl_langinfo tests: Avoid gcc warning.
9500         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
9501
9502 2010-12-19  Bruno Haible  <bruno@clisp.org>
9503
9504         mknod: Avoid error in C++ mode on OSF/1 with GCC.
9505         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
9506         _GL_CXXALIAS_SYS.
9507
9508 2010-12-19  Bruno Haible  <bruno@clisp.org>
9509
9510         stdbool: Relax test.
9511         * tests/test-stdbool.c (e): Don't require that casts from a variable's
9512         address to 'bool' work in static initializer, for compilers other than
9513         GCC.
9514
9515 2010-12-19  Bruno Haible  <bruno@clisp.org>
9516
9517         ftello: Add missing declaration on OSF/1 5.1.
9518         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
9519         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
9520         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
9521         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
9522         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
9523
9524 2010-12-19  Bruno Haible  <bruno@clisp.org>
9525
9526         fseeko: Add missing declaration on OSF/1 5.1.
9527         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
9528         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
9529         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
9530         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
9531         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
9532
9533 2010-12-19  Bruno Haible  <bruno@clisp.org>
9534
9535         fchdir: Add missing declaration on OSF/1 5.1.
9536         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
9537         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
9538         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
9539         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
9540         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
9541
9542 2010-12-19  Bruno Haible  <bruno@clisp.org>
9543
9544         relocatable-prog-wrapper: Separate from relocatable-prog.
9545         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
9546         uninstall-relocwrapper rule here.
9547         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
9548         Reported by Ian Beckwith <ianb@erislabs.net>.
9549
9550 2010-12-19  Bruno Haible  <bruno@clisp.org>
9551
9552         unistr/u8-mbsnlen: Add missing dependency.
9553         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
9554         Reported by Ian Beckwith <ianb@erislabs.net>.
9555
9556 2010-12-19  Bruno Haible  <bruno@clisp.org>
9557
9558         iconv: Make it possible again to use this module without 'iconv-h'.
9559         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
9560         if it is not defined.
9561         Reported by Ian Beckwith <ianb@erislabs.net>.
9562
9563 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
9564
9565         acl: port to Solaris 8 when copying from tmpfs to ufs
9566         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
9567         error number.  Problem observed on Solaris 8 with latest
9568         coreutils, with "mv A B", where A is on a tmpfs file system and B
9569         is on a ufs file system.  This caused coreutils' mv/part-symlink
9570         test to fail.
9571
9572         tests: set fail=0 at start
9573         * tests/init.sh (setup_): Move fail=0 initialization here ...
9574         (mktempd_): ... from here, so that tests can rely on fail being
9575         set to 0 initially.  This fixes a problem in coreutils; see:
9576         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
9577
9578 2010-12-18  Bruno Haible  <bruno@clisp.org>
9579
9580         memmem-simple: Stylistic changes.
9581         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
9582         Fix preprocessor directive indentation.
9583
9584 2010-12-15  Pádraig Brady <P@draigBrady.com>
9585
9586         memmem, memmem-simple: reorganize and expand empty needle check
9587         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
9588         functional checks to memmem-simple so that one has a fully functional
9589         memmem by using just this module.
9590         Restrict the performance only check to the memmem module.
9591         Also expand the empty needle check to ensure the correct
9592         pointer is returned, not just a non NULL pointer.
9593         * doc/glibc-functions/memmem.texi: Rearrange the portability
9594         documentation to correlate with the rearranged checks.
9595         Clarify exactly how the memmem and memmem-simple modules
9596         relate to each other.
9597
9598 2010-12-15  Pádraig Brady <P@draigBrady.com>
9599             Bruno Haible  <bruno@clisp.org>
9600
9601         Improve cross-compilation guesses for uClibc.
9602         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
9603         that uClibc does not have the glibc bug.
9604         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
9605         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
9606
9607 2010-12-14  Eric Blake  <eblake@redhat.com>
9608
9609         configmake: provide fallbacks for oldest supported autotools
9610         * m4/configmake.m4: New file.
9611         * modules/configmake (Files): Ship it.
9612         (configure.ac): Use it to guarantee fallbacks.
9613
9614 2010-12-13  Pádraig Brady <P@draigBrady.com>
9615
9616         read-file: Improve handling of large files
9617         * lib/read-file.c (fread_file): Minimize realloc()s
9618         for regular files, and better manage sizes around SIZE_MAX.
9619
9620 2010-12-13  Eric Blake  <eblake@redhat.com>
9621
9622         cloexec, fcntl: relax license
9623         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
9624         consent from all contributors.
9625         * modules/fcntl (License): Likewise.
9626
9627 2010-12-10  Bruno Haible  <bruno@clisp.org>
9628
9629         Tests for module 'pipe-posix'.
9630         * modules/pipe-posix-tests: New file.
9631         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
9632
9633 2010-12-10  Bruno Haible  <bruno@clisp.org>
9634
9635         pipe-posix: Make it work in C++ mode.
9636         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
9637         (pipe): Use common idiom, not a macro definition.
9638         * lib/pipe.c: New file.
9639         * m4/pipe.m4: New file.
9640         * modules/pipe-posix (Description): Enhance.
9641         (Files): Add lib/pipe.c, m4/pipe.m4.
9642         (configure.ac): Invoke gl_FUNC_PIPE.
9643         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
9644         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
9645         * tests/test-unistd-c++.cc: Check the signature of pipe.
9646
9647 2010-12-10  Bruno Haible  <bruno@clisp.org>
9648
9649         Rename module 'pipe' to 'spawn-pipe'.
9650         * modules/spawn-pipe: New file, renamed from modules/pipe.
9651         (Files, configure.ac, Makefile.am): Update.
9652         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
9653         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
9654         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
9655         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
9656         "spawn-pipe.h" instead of "pipe.h".
9657         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
9658         to gl_SPAWN_PIPE.
9659         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
9660         (Files, Makefile.am): Update.
9661         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
9662         Update.
9663         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
9664         Include "spawn-pipe.h" instead of "pipe.h".
9665         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
9666         * lib/javacomp.c: Likewise.
9667         * lib/javaversion.c: Likewise.
9668         * lib/pipe-filter-gi.c: Likewise.
9669         * lib/pipe-filter-ii.c: Likewise.
9670         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
9671         * modules/javacomp (Depends-on): Likewise.
9672         * modules/javaversion (Depends-on): Likewise.
9673         * modules/pipe-filter-gi (Depends-on): Likewise.
9674         * modules/pipe-filter-ii (Depends-on): Likewise.
9675         * MODULES.html.sh (Executing programs): Update.
9676         * NEWS: Mention the change.
9677
9678 2010-12-10  Eric Blake  <eblake@redhat.com>
9679
9680         pipe-posix: new module
9681         * modules/pipe-posix: New file.
9682         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
9683         (gl_UNISTD_H): Check for declaration.
9684         * modules/unistd (Makefile.am): Substitute it.
9685         * lib/unistd.in.h (pipe): Provide it for mingw.
9686         * doc/posix-functions/pipe.texi (pipe): Update documentation.
9687         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
9688
9689 2010-12-07  Bruno Haible  <bruno@clisp.org>
9690
9691         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
9692         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
9693         u8_strcmp_gnu.
9694         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
9695
9696 2010-12-06  Bruno Haible  <bruno@clisp.org>
9697
9698         Update internal documentation.
9699         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
9700
9701 2010-12-04  Bruno Haible  <bruno@clisp.org>
9702
9703         Put more information about failed tests into the test return codes.
9704         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
9705         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
9706         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
9707         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
9708         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
9709         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
9710         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
9711         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
9712         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
9713         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
9714         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
9715         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
9716         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
9717         * m4/stdint.m4 (gl_STDINT_H): Likewise.
9718         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
9719         returns a bit mask.
9720         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
9721         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
9722         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
9723         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
9724         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
9725         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
9726         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
9727         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
9728         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
9729         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
9730         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
9731         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
9732         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
9733         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
9734         * m4/link.m4 (gl_FUNC_LINK): Likewise.
9735         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
9736         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
9737         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
9738         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
9739         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
9740         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
9741         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
9742         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
9743         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
9744         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
9745         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
9746         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
9747         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
9748         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
9749         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
9750         gl_PRINTF_PRECISION): Likewise.
9751         * m4/regex.m4 (gl_REGEX): Likewise.
9752         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
9753         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
9754         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
9755         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
9756         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
9757         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
9758         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
9759         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
9760         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
9761         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
9762         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
9763         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
9764         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
9765         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
9766         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
9767         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
9768         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
9769         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
9770         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
9771         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
9772         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
9773         enumerated value.
9774         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
9775
9776 2010-12-04  Bruno Haible  <bruno@clisp.org>
9777
9778         Update for Solaris 11 2010-11.
9779         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
9780         Express, released in November 2010.
9781
9782 2010-12-04  Bruno Haible  <bruno@clisp.org>
9783
9784         nproc: Relax license.
9785         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
9786         and Paul Eggert.
9787         Requested by Ludovic Courtès <ludo@gnu.org>.
9788
9789 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
9790
9791         utimecmp: fine-grained src to nearby coarse-grained dest
9792
9793         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
9794         and the source is on a file system with higher-resolution time
9795         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
9796         not work, and the time stamps are close together, the algorithm to
9797         determine the exact resolution from the read-back mtime was buggy:
9798         it had a "!=" where it should have had an "==".  This bug has been
9799         in the code ever since it was introduced to gnulib.
9800         Problem reported by Dan Jacobson in
9801         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
9802
9803 2010-11-30  Bruno Haible  <bruno@clisp.org>
9804
9805         strerror_r-posix: Fix autoconf test.
9806         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
9807
9808 2010-11-28  Bruno Haible  <bruno@clisp.org>
9809             Paul Eggert  <eggert@cs.ucla.edu>
9810
9811         Tests for module 'getdomainname'.
9812         * modules/getdomainname-tests: New file.
9813         * tests/test-getdomainname.c: New file, based on
9814         tests/test-gethostname.c.
9815
9816 2010-11-28  Bruno Haible  <bruno@clisp.org>
9817             Paul Eggert  <eggert@cs.ucla.edu>
9818
9819         getdomainname: Use the system function when possible.
9820         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
9821         (getdomainname): Replace if needed. Provide the declaration if it is
9822         missing. Don't use _GL_CXXALIAS_SYS_CAST.
9823         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
9824         (getdomainname): When the system has getdomainname, call the system
9825         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
9826         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
9827         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
9828         found in libnsl. Look for the declaration also in <netdb.h>. Replace
9829         the function if its second argument is of type 'int' or if it is found
9830         in libnsl.
9831         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
9832         <sys/systeminfo.h> and sysinfo().
9833         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
9834         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
9835         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
9836         HAVE_GETDOMAINNAME.
9837         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
9838         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
9839         * doc/glibc-functions/getdomainname.texi: Document the problems with
9840         the getdomainname declaration.
9841
9842 2010-11-28  Bruno Haible  <bruno@clisp.org>
9843
9844         sys_socket: Ensure ss_family field on AIX.
9845         * lib/sys_socket.in.h (ss_family): New macro definition.
9846         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
9847         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
9848         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
9849         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
9850         * modules/sys_socket (Makefile.am): Substitute
9851         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
9852         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
9853
9854 2010-11-27  Bruno Haible  <bruno@clisp.org>
9855
9856         readline: Improve configure output.
9857         * m4/readline.m4 (gl_FUNC_READLINE): Make the
9858         "checking for readline..." result understandable.
9859
9860 2010-11-27  Bruno Haible  <bruno@clisp.org>
9861
9862         *printf-posix: Detect a bug on Solaris 10/x86.
9863         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
9864         for floating-point output.
9865         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
9866         directive.
9867         * tests/test-snprintf-posix.h (test_function): Likewise.
9868         * tests/test-sprintf-posix.h (test_function): Likewise.
9869         * tests/test-vasprintf-posix.c (test_function): Likewise.
9870         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
9871         * doc/posix-functions/printf.texi: Likewise.
9872         * doc/posix-functions/snprintf.texi: Likewise.
9873         * doc/posix-functions/sprintf.texi: Likewise.
9874         * doc/posix-functions/vfprintf.texi: Likewise.
9875         * doc/posix-functions/vprintf.texi: Likewise.
9876         * doc/posix-functions/vsnprintf.texi: Likewise.
9877         * doc/posix-functions/vsprintf.texi: Likewise.
9878         * doc/glibc-functions/obstack_printf.texi: Likewise.
9879         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
9880
9881 2010-11-27  Bruno Haible  <bruno@clisp.org>
9882
9883         Fix link error when module libunistring-optional is in use.
9884         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
9885         * modules/striconveha-tests (Makefile.am): Likewise.
9886
9887 2010-11-27  Bruno Haible  <bruno@clisp.org>
9888
9889         regex: Mention link dependencies.
9890         * modules/regex (Link): New section.
9891         * modules/rpmatch (Link): Likewise.
9892         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
9893
9894 2010-11-27  Bruno Haible  <bruno@clisp.org>
9895
9896         ftoastr: Fix compilation error on Solaris.
9897         * lib/ftoastr.c: Include <config.h>.
9898
9899 2010-11-27  Bruno Haible  <bruno@clisp.org>
9900
9901         getloadavg: Update documentation.
9902         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
9903
9904 2010-11-27  Bruno Haible  <bruno@clisp.org>
9905
9906         sys_socket: Fix test whether the functions are declared.
9907         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
9908         not <sys/select.h>.
9909
9910 2010-11-27  Bruno Haible  <bruno@clisp.org>
9911
9912         getpass: Make sure to get system declaration on some platforms.
9913         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
9914         gl_USE_SYSTEM_EXTENSIONS.
9915         * modules/getpass (Depends-on): Add extensions.
9916
9917 2010-11-26  Bruno Haible  <bruno@clisp.org>
9918
9919         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
9920         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
9921         'iconv' module is present.
9922         (ICONV_CONST): New macro.
9923         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
9924         ICONV_CONST.
9925         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
9926         set ICONV_CONST.
9927         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
9928         here.
9929         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
9930         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
9931         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
9932         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
9933         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
9934         present.
9935
9936 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
9937
9938         ftoastr: comment fix
9939         * lib/ftoastr.c: "little" -> "little or no" in comment
9940
9941 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
9942
9943         stdint: port to GCC 4.3 + OSX + Octave
9944         On this platform, stdint.h is buggy and defines int64_t to long
9945         long int.  The replacement defined it to long int, causing
9946         problems with C++ style name mangling.  Instead, trust the system
9947         definition if INT64_MAX is defined, and likewise for the unsigned
9948         variant.   Problem reported by Jarno Rajahalme in
9949         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
9950         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
9951         and don't mess with int64_t and INT64_MAX in this case.
9952         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
9953
9954 2010-11-24  Bruno Haible  <bruno@clisp.org>
9955
9956         doc: Corrections regarding MacOS X 10.4 and 10.5.
9957         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
9958         MacOS X.
9959         Reported by Simon Josefsson.
9960
9961 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
9962
9963         Uninstall ".bin" files installed by relocwrapper.
9964         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
9965         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
9966         unless it is already there.
9967
9968 2010-11-21  Bruno Haible  <bruno@clisp.org>
9969
9970         Update for NetBSD 5.0.
9971         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
9972         NetBSD; the test fails on NetBSD 5.0.
9973         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
9974         about NetBSD.
9975
9976 2010-11-21  Bruno Haible  <bruno@clisp.org>
9977
9978         Update for HP-UX 11.23 and HP-UX 11.31.
9979         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
9980         HP-UX.
9981
9982 2010-11-21  Bruno Haible  <bruno@clisp.org>
9983
9984         Update for MacOS X 10.5.
9985         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
9986         MacOS X; the test fails on MacOS X 10.5.8.
9987         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
9988         about MacOS X.
9989
9990 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
9991
9992         bootstrap: add bootstrap_sync option.
9993         See discussion at
9994         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
9995         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
9996         * build-aux/bootstrap: Accept --bootstrap-sync to update
9997         bootstrap if it is not identical to the local gnulib's
9998         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
9999         enable this by default.  Accept --no-bootstrap-sync to disable
10000         it.
10001
10002 2010-11-20  Bruno Haible  <bruno@clisp.org>
10003
10004         Ensure that <features.h> is included before __GLIBC__ is tested.
10005         * lib/printf-parse.h: Include <features.h>.
10006         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
10007         Reported by Mike Frysinger <vapier@gentoo.org>.
10008
10009         Ensure that <features.h> is included before __GLIBC__ is tested.
10010         * lib/wchar.in.h: Include <features.h>.
10011         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
10012         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
10013         Reported by Mike Frysinger <vapier@gentoo.org>.
10014
10015         Ensure that <features.h> is included before __GLIBC__ is tested.
10016         * lib/arpa_inet.in.h: Include <features.h>.
10017         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
10018         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
10019         Reported by Mike Frysinger <vapier@gentoo.org>.
10020
10021         Ensure that <features.h> is included before __GLIBC__ is tested.
10022         * build-aux/link-warning.h: Include <features.h>.
10023         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
10024         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
10025         Reported by Mike Frysinger <vapier@gentoo.org>.
10026
10027         Ensure that <features.h> is included before __GLIBC__ is tested.
10028         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
10029         Reported by Mike Frysinger <vapier@gentoo.org>.
10030
10031 2010-11-20  Bruno Haible  <bruno@clisp.org>
10032
10033         memmem: Fix autoconf test.
10034         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
10035
10036 2010-11-20  Bruno Haible  <bruno@clisp.org>
10037
10038         Port to uClibc.
10039         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
10040         * lib/fcntl.in.h: Likewise.
10041         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
10042         * lib/mbrtowc.c (mbrtowc): Likewise.
10043         * lib/relocatable.c (find_shared_library_fullname): Likewise.
10044         * lib/strerror_r.c: Likewise.
10045         * lib/unistr/u8-strnlen.c: Likewise.
10046         * lib/vasnprintf.c (decimal_point_char): Likewise.
10047         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
10048         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
10049         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
10050         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
10051         * tests/test-sigaction.c (handler, main): Likewise.
10052         * lib/freading.h: Treat uClibc like a non-glibc platform.
10053         * lib/freading.c: Likewise.
10054         * lib/gettext.h: Likewise.
10055         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
10056         Likewise.
10057         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
10058         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
10059         * lib/propername.c (proper_name_utf8): Likewise.
10060         * lib/spawn.in.h: Likewise.
10061         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
10062         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
10063         mem_cd_iconveh_internal): Likewise.
10064         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
10065         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
10066         strstr, strcasestr): Likewise.
10067         * lib/unicodeio.c (unicode_to_mb): Likewise.
10068         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
10069         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
10070         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
10071         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
10072         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
10073         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
10074         * lib/unistr/u8-stpncpy.c: Likewise.
10075         * lib/vasnprintf.c (VASNPRINTF): Likewise.
10076         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
10077         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
10078         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
10079         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
10080         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
10081         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
10082         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
10083         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
10084         Likewise.
10085         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
10086         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
10087         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
10088         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
10089         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
10090         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
10091         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
10092         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
10093         * tests/test-getopt.h (OPTIND_MIN): Likewise.
10094         * tests/test-striconveha.c (main): Likewise.
10095         * tests/test-vasnprintf-posix.c (test_function): Likewise.
10096         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
10097         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
10098         * doc/posix-functions/getline.texi: Likewise.
10099         Reported by Mike Frysinger <vapier@gentoo.org>.
10100
10101 2010-11-20  Bruno Haible  <bruno@clisp.org>
10102
10103         nproc: Fix condition.
10104         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
10105         HAVE_PTHREAD_AFFINITY_NP.
10106
10107 2010-11-20  Bruno Haible  <bruno@clisp.org>
10108
10109         Fix a comment.
10110         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
10111
10112 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
10113
10114         ftoastr: don't assume snprintf
10115         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
10116         Implement a subset of snprintf here, by using sprintf safely.
10117         * modules/ftoastr (Depends-on): Remove snprintf.
10118
10119 2010-11-19  Jim Meyering  <meyering@redhat.com>
10120
10121         test-rename.h: fix compilation failure
10122         * tests/test-rename.h (test_rename): Add omitted "}".
10123
10124 2010-11-17  Jim Meyering  <meyering@redhat.com>
10125
10126         maint.mk: add a URL discussing the no-@acronym policy
10127         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
10128
10129 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
10130
10131         ftoastr: depend on snprintf, improve comments
10132         * lib/ftoastr.c: Also mention Loitsch's draft.
10133         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
10134         needed in the current implementation, but it might simplify
10135         speeding up the code later.
10136         * modules/ftoastr: Depend on snprintf; this improves portability.
10137         Suggested by Bruno Haible in the same email.
10138
10139         ftoastr: port to hosts lacking strtof and strtold
10140         Problem reported by Bruno Haible in
10141         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
10142         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
10143         environment and strtold (and presumably strtof) are not available.
10144         * modules/ftoastr (Files): Add m4/c-strtod.m4.
10145         (configure.ac): Require gl_C99_STRTOLD.
10146
10147 2010-11-18  Bruno Haible  <bruno@clisp.org>
10148
10149         c-strtold: Avoid link error on AIX 7.
10150         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
10151         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
10152         (gl_C_STRTOLD): Test whether strtold_l exists.
10153         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
10154
10155 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
10156
10157         intprops: new macro INT_BITS_STRLEN_BOUND
10158         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
10159         ftoastr.h.  This exposes an internal of intprops.h that was formerly
10160         not exposed.  Also, it uses a slightly tighter bound than before;
10161         though this makes no practical difference, we might as well be as
10162         tight as we easily can.
10163
10164         ftoastr: new module, for lossless conversion of floats to short strings
10165         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
10166         * modules/ftoastr: New files.
10167
10168 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
10169
10170         bootstrap: port to Solaris sed
10171         * build-aux/bootstrap (get_version): Port to Solaris sed.
10172         See Ralf Wildenhues's note in
10173         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
10174
10175 2010-11-14  Jim Meyering  <meyering@redhat.com>
10176
10177         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
10178         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
10179         and move definition closer to sole use.
10180
10181 2010-11-13  Jim Meyering  <meyering@redhat.com>
10182
10183         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
10184         Now we require at least autoconf-2.59, which means the work-around
10185         is no longer needed.
10186         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
10187         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
10188         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
10189         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
10190         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
10191
10192 2010-11-13  Bruno Haible  <bruno@clisp.org>
10193
10194         rename, renameat: Avoid test failures at NFS mounted locations.
10195         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
10196         functions.
10197         (test_rename): Use assert_nonexistent.
10198         * tests/test-rename.c: Include <dirent.h>.
10199         * tests/test-renameat.c: Likewise.
10200         Reported by Gary V. Vaughan <gary@gnu.org>.
10201
10202         rename, renameat: Document Linux bug with NFS
10203         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
10204         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
10205         * doc/posix-functions/renameat.texi: Likewise.
10206         Suggested by Eric Blake.
10207
10208 2010-11-13  Bruno Haible  <bruno@clisp.org>
10209
10210         rename test: Add comments.
10211         * tests/test-rename.h (test_rename): Add structure and comments.
10212
10213 2010-11-13  Eric Blake  <eblake@redhat.com>
10214
10215         maintainer-makefile: cover a few more files
10216         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
10217         scripts generated within C files, for libvirt.
10218
10219 2010-11-13  Bruno Haible  <bruno@clisp.org>
10220
10221         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
10222         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
10223         character, return the number of bytes that belong together, not always
10224         1.
10225         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
10226         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
10227         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
10228         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
10229         number of bytes of an invalid character.
10230         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
10231         (main): Invoke it.
10232         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
10233         results.
10234         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
10235         malformed byte sequences.
10236         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
10237         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
10238         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
10239         Reported by Ben Pfaff and Paolo Bonzini.
10240
10241 2010-11-13  Bruno Haible  <bruno@clisp.org>
10242
10243         openat: Work around glibc bug with fchownat() and empty file names.
10244         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
10245         (gl_FUNC_FCHOWNAT): Invoke it.
10246         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
10247         * doc/posix-functions/fchownat.texi: Document the glibc bug.
10248         Reported by Gary V. Vaughan <gary@gnu.org>.
10249
10250 2010-11-13  Bruno Haible  <bruno@clisp.org>
10251
10252         openat: Ensure autoconf macro ordering.
10253         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
10254         gl_USE_SYSTEM_EXTENSIONS.
10255         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
10256
10257 2010-11-13  Bruno Haible  <bruno@clisp.org>
10258
10259         Update comments.
10260         * lib/unistr/u8-check.c: Update file name in comments.
10261         * lib/unistr/u8-mblen.c: Likewise.
10262         * lib/unistr/u8-prev.c: Likewise.
10263         * lib/unistr/u8-strmblen.c: Likewise.
10264         * lib/unistr/u8-strmbtouc.c: Likewise.
10265
10266 2010-11-13  Jim Meyering  <meyering@redhat.com>
10267
10268         tests: avoid test failure on Solaris 10 due to lack of PATH export
10269         * tests/test-update-copyright.sh: Don't forget to export PATH.
10270
10271         init.sh: ensure that IFS is defined, just in case...
10272         * tests/init.sh (setup_): Ensure that IFS is defined,
10273         so that saving and restoring it works as expected.  This
10274         appears to be useful at least for an old version of dash
10275         from a long time ago (RH 6).  See here for details:
10276         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
10277
10278         maint.mk: tighten "test a == b" check
10279         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
10280         test to files that contain something like #!/bin/sh.
10281         Without this, coreutils would get two false positives in
10282         the comments of C source files.
10283
10284 2010-11-12  Eric Blake  <eblake@redhat.com>
10285
10286         bootstrap: fix typo in previous attempt
10287         * build-aux/bootstrap (buildreq): Correct the grouping.
10288         Reported by Paul Eggert.
10289
10290         maintainer-makefile: prohibit test x == x
10291         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
10292         Based on a report by Matthias Bolte.
10293
10294         bootstrap: allow FreeBSD gzip
10295         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
10296         which has no '.' and goes to stderr.
10297         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
10298         Reported by Matthias Bolte.
10299
10300         maintainer-makefile: check for i18n setup
10301         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
10302         will likely work.
10303
10304 2010-11-12  Bruno Haible  <bruno@clisp.org>
10305
10306         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
10307         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
10308         * lib/nanosleep.c (nanosleep): Likewise.
10309
10310 2010-11-11  Bruno Haible  <bruno@clisp.org>
10311
10312         fcntl-h: Fix for use of C++ on glibc systems.
10313         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
10314         also on glibc systems in C++ mode.
10315         Reported by Gary V. Vaughan <gary@gnu.org>.
10316
10317 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
10318
10319         mknod: avoid false failure with dash
10320         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
10321
10322 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
10323
10324         unlink: Fix "is it should" typo in diagnostic.
10325         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
10326         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
10327
10328 2010-11-11  Bruno Haible  <bruno@clisp.org>
10329
10330         Tests for module 'strerror_r-posix'.
10331         * modules/strerror_r-posix-tests: New file.
10332         * tests/test-strerror_r.c: New file.
10333         * tests/test-string-c++.cc: Check the signature of strerror_r.
10334
10335         New module 'strerror_r-posix'.
10336         * lib/string.in.h (strerror_r): New declaration.
10337         * lib/strerror_r.c: New file.
10338         * m4/strerror_r.m4: New file.
10339         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
10340         of strerror_r.
10341         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
10342         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
10343         * modules/strerror_r-posix: New file.
10344         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
10345         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
10346         * doc/posix-functions/strerror_r.texi: Mention the new module and the
10347         portability problems.
10348
10349 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
10350
10351         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
10352         line is also considered for output. Quoted function name in shell
10353         command, so temporary files for functions like MyClass::operator()
10354         are removed correctly without errors.
10355
10356 2010-11-09  Bruno Haible  <bruno@clisp.org>
10357
10358         * doc/posix-functions/strerror.texi: List more failing platforms.
10359
10360         * doc/posix-functions/strerror.texi: Add a comment.
10361
10362 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
10363
10364         fdopendir: fix bug on MacOS X when low on file descriptors
10365
10366         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
10367         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
10368         All callers changed.
10369         (fdopendir): Invoke save_cwd at the top level, not after using
10370         multiple dup() calls to use up file descriptors.  Then retry
10371         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
10372         less than the maximum number of open file descriptors, because
10373         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
10374         on Mac OS X 10.6.4 for tar 1.24
10375         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
10376         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
10377         and for tar 1.25
10378         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
10379
10380 2010-11-07  Bruno Haible  <bruno@clisp.org>
10381
10382         vasnprintf: Support I flag on glibc systems.
10383         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
10384         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
10385         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
10386         snprintf function.
10387         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
10388         glibc systems.
10389         * tests/test-vasnprintf-posix3.c: New file.
10390         * modules/vasnprintf-posix-tests (Files): Add it.
10391         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
10392
10393 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
10394
10395         [html] Fix copy/paste bug: Use unique name for compiler warnings.
10396         * MODULES.html.sh: For compiler warnings, use name
10397         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
10398
10399 2010-11-05  Eric Blake  <eblake@redhat.com>
10400
10401         ceil, floor: avoid spurious failure with icc
10402         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
10403         [denormals-as-zero] when optimizing without -mieee-fp option.
10404         * tests/test-floorf2.c (floorf_reference): Likewise.
10405         * tests/test-ceilf1.c (dummy): New function.
10406         (main): Use it to outsmart icc's optimization.
10407         * tests/test-floorf1.c (dummy, main): Likewise.
10408
10409         tests: require working signbit
10410         * modules/ceilf-tests (Depends-on): Add signbit.
10411         * modules/ceill-tests (Depends-on): Likewise.
10412         * modules/floorf-tests (Depends-on): Likewise.
10413         * modules/floorl-tests (Depends-on): Likewise.
10414         * modules/round-tests (Depends-on): Likewise.
10415         * modules/roundf-tests (Depends-on): Likewise.
10416         * modules/roundl-tests (Depends-on): Likewise.
10417         * modules/trunc-tests (Depends-on): Likewise.
10418         * modules/truncf-tests (Depends-on): Likewise.
10419         * modules/truncl-tests (Depends-on): Likewise.
10420
10421         strtod: work around icc bug
10422         * lib/strtod.c (minus_zero): Define to working value.
10423         (strtod): Use it to avoid icc bug.
10424
10425         copysign: enhance tests
10426         * modules/copysign-tests (Files): Add minus-zero.h.
10427         * tests/test-copysign.c (main): Also test zeros.
10428
10429 2010-11-04  Eric Blake  <eblake@redhat.com>
10430
10431         ceil, floor, round, trunc: enhance tests of -0
10432         * tests/test-ceilf1.c (main): Ensure correct sign of result.
10433         * tests/test-ceill.c (main): Likewise.
10434         * tests/test-floorf1.c (main): Likewise.
10435         * tests/test-floorl.c (main): Likewise.
10436         * tests/test-round1.c (main): Likewise.
10437         * tests/test-roundf1.c (main): Likewise.
10438         * tests/test-roundl.c (main): Likewise.
10439         * tests/test-trunc1.c (main): Likewise.
10440         * tests/test-truncf1.c (main): Likewise.
10441         * tests/test-truncl.c (main): Likewise.
10442
10443 2010-11-04  Eric Blake  <eblake@redhat.com>
10444
10445         frexp, tests: work around ICC bug with -zero
10446         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
10447         works with more compilers.
10448         * tests/minus-zero.h: New file.
10449         * modules/ceilf-tests (Files): Include it.
10450         * modules/ceill-tests (Files): Likewise.
10451         * modules/floorf-tests (Files): Likewise.
10452         * modules/floorl-tests (Files): Likewise.
10453         * modules/frexp-nolibm-tests (Files): Likewise.
10454         * modules/frexp-tests (Files): Likewise.
10455         * modules/frexpl-nolibm-tests (Files): Likewise.
10456         * modules/frexpl-tests (Files): Likewise.
10457         * modules/isnan-tests (Files): Likewise.
10458         * modules/isnand-nolibm-tests (Files): Likewise.
10459         * modules/isnand-tests (Files): Likewise.
10460         * modules/isnanf-nolibm-tests (Files): Likewise.
10461         * modules/isnanf-tests (Files): Likewise.
10462         * modules/isnanl-nolibm-tests (Files): Likewise.
10463         * modules/isnanl-tests (Files): Likewise.
10464         * modules/round-tests (Files): Likewise.
10465         * modules/roundf-tests (Files): Likewise.
10466         * modules/roundl-tests (Files): Likewise.
10467         * modules/ldexpl-tests (Files): Likewise.
10468         * modules/signbit-tests (Files): Likewise.
10469         * modules/snprintf-posix-tests (Files): Likewise.
10470         * modules/sprintf-posix-tests (Files): Likewise.
10471         * modules/strtod-tests (Files): Likewise.
10472         * modules/trunc-tests (Files): Likewise.
10473         * modules/truncf-tests (Files): Likewise.
10474         * modules/truncl-tests (Files): Likewise.
10475         * modules/vsnprintf-posix-tests (Files): Likewise.
10476         * modules/vsprintf-posix-tests (Files): Likewise.
10477         * modules/vasnprintf-posix-tests (Files): Likewise.
10478         * modules/vasprintf-posix-tests (Files): Likewise.
10479         * tests/test-ceilf1.c (main): Use it.
10480         * tests/test-ceill.c (main): Likewise.
10481         * tests/test-floorf1.c (main): Likewise.
10482         * tests/test-floorl.c (main): Likewise.
10483         * tests/test-frexp.c (main): Likewise.
10484         * tests/test-frexpl.c (main): Likewise.
10485         * tests/test-isnan.c (main): Likewise.
10486         * tests/test-isnand.h (main): Likewise.
10487         * tests/test-isnanf.h (main): Likewise.
10488         * tests/test-isnanl.h (main): Likewise.
10489         * tests/test-ldexpl.c (main): Likewise.
10490         * tests/test-round.c (main): Likewise.
10491         * tests/test-roundf.c (main): Likewise.
10492         * tests/test-roundl.c (main): Likewise.
10493         * tests/test-signbit.c (test_signbitf, test_signbitd)
10494         (test_signbitl): Likewise.
10495         * tests/test-snprintf-posix.h (test_function): Likewise.
10496         * tests/test-sprintf-posix.h (test_function): Likewise.
10497         * tests/test-strtod.c (main): Likewise.
10498         * tests/test-trunc1.c (main): Likewise.
10499         * tests/test-truncf1.c (main): Likewise.
10500         * tests/test-truncl.c (main): Likewise.
10501
10502         isnanl: work around icc bug
10503         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
10504
10505 2010-11-03  Eric Blake  <eblake@redhat.com>
10506
10507         tests: fix compiler warnings
10508         * tests/test-getopt.h (test_getopt): Fix condition.
10509         * tests/test-getopt_long.h (test_getopt_long): Likewise.
10510         * tests/test-pipe2.c (main): Likewise.
10511         * tests/test-quotearg-simple.c (main): Avoid icc warning.
10512
10513         utimens: fix broken m4 test
10514         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
10515
10516 2010-10-28  Bruno Haible  <bruno@clisp.org>
10517
10518         posix_spawn*, getdtablesize: Relax license.
10519         * modules/posix_spawn (License): Change to LGPLv2+.
10520         * modules/posix_spawnp (License): Likewise.
10521         * modules/posix_spawn-internal (License): Likewise.
10522         * modules/posix_spawnattr_init (License): Likewise.
10523         * modules/posix_spawnattr_getflags (License): Likewise.
10524         * modules/posix_spawnattr_setflags (License): Likewise.
10525         * modules/posix_spawnattr_getpgroup (License): Likewise.
10526         * modules/posix_spawnattr_setpgroup (License): Likewise.
10527         * modules/posix_spawnattr_getschedparam (License): Likewise.
10528         * modules/posix_spawnattr_setschedparam (License): Likewise.
10529         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
10530         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
10531         * modules/posix_spawnattr_getsigdefault (License): Likewise.
10532         * modules/posix_spawnattr_setsigdefault (License): Likewise.
10533         * modules/posix_spawnattr_getsigmask (License): Likewise.
10534         * modules/posix_spawnattr_setsigmask (License): Likewise.
10535         * modules/posix_spawnattr_destroy (License): Likewise.
10536         * modules/posix_spawn_file_actions_init (License): Likewise.
10537         * modules/posix_spawn_file_actions_addclose (License): Likewise.
10538         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
10539         * modules/posix_spawn_file_actions_addopen (License): Likewise.
10540         * modules/posix_spawn_file_actions_destroy (License): Likewise.
10541         * modules/getdtablesize (License): Likewise.
10542         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
10543
10544 2010-10-26  Bruno Haible  <bruno@clisp.org>
10545
10546         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
10547         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
10548         Cygwin and mingw.
10549         Suggested by Eric Blake.
10550
10551 2010-10-26  Bruno Haible  <bruno@clisp.org>
10552
10553         stdio: Work around compilation error due to renameat() on Solaris 10.
10554         * lib/stdio.in.h: Include <unistd.h> on Solaris.
10555         * lib/renameat.c: Don't include <unistd.h> here.
10556         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
10557         Reported by Paul Eggert and Eric Blake.
10558
10559 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
10560
10561         renameat: port to Solaris 10, which declares renameat in unistd.h
10562
10563         * lib/renameat.c: Include unistd.h before stdio.h, because
10564         Solaris 10 declares renameat in unistd.h.  Problem encountered
10565         when building GNU tar 1.24 on Solaris 10.
10566
10567 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
10568
10569         fdopendir: fix C89 compilation
10570         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
10571         compilers.
10572
10573 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
10574
10575         inttostr: simplify by removing unnecessary redundancy
10576         * lib/anytostr.c: Don't include verify.h.
10577         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
10578         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
10579         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
10580         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
10581         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
10582         Likewise.
10583         * modules/inttostr (Depends-on): Remove 'verify'.
10584
10585 2010-10-23  Bruno Haible  <bruno@clisp.org>
10586
10587         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
10588         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
10589         Reported by Eric Blake.
10590
10591 2010-10-23  Bruno Haible  <bruno@clisp.org>
10592
10593         Tests: Fix LOCALE_JA on MirBSD 10.
10594         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
10595         to an UTF-8 locale.
10596         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
10597         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
10598         Reported by Eric Blake.
10599
10600 2010-10-21  Bruno Haible  <bruno@clisp.org>
10601
10602         nl_langinfo test: Avoid test failure on NetBSD 5.
10603         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
10604         Reported by Eric Blake.
10605
10606 2010-10-21  Eric Blake  <eblake@redhat.com>
10607
10608         c-stack: work around libsigsegv 2.8 bug
10609         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
10610         overflow on at least PowerPC64.
10611
10612 2010-10-17  Bruno Haible  <bruno@clisp.org>
10613
10614         userspec: Drop redundant file.
10615         * modules/userspec (Files): Remove lib/inttostr.h.
10616
10617 2010-10-17  Bruno Haible  <bruno@clisp.org>
10618
10619         nl_langinfo tests: Silence some warnings.
10620         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
10621         Reported by Jim Meyering.
10622
10623 2010-10-17  Bruno Haible  <bruno@clisp.org>
10624
10625         Make use of GCC's attribute __alloc_size__.
10626         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
10627         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
10628         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
10629         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
10630         __alloc_size__.
10631         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
10632         Suggested by Jim Meyering.
10633
10634 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
10635
10636         bootstrap: anchor .gitignore entries.
10637         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
10638         with...
10639         (insert_vc_ignore): ... this new function, which prepends `/' to
10640         all .gitignore entries before passing them to
10641         insert_sorted_if_absent.
10642
10643 2010-10-16  Bruno Haible  <bruno@clisp.org>
10644
10645         nextafter: Fix configure check.
10646         * modules/nextafter (configure.ac): Correct expected prototype.
10647
10648 2010-10-16  Bruno Haible  <bruno@clisp.org>
10649
10650         termios: Update documentation.
10651         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
10652
10653 2010-10-16  Bruno Haible  <bruno@clisp.org>
10654
10655         tests: Make them compile with TinyCC.
10656         * tests/test-strstr.c (main): Remove parentheses around array
10657         initializer.
10658
10659 2010-10-15  Eric Blake  <eblake@redhat.com>
10660
10661         ignore-value: make header idempotent
10662         * lib/ignore-value.h: Add double-inclusion guards.
10663         Reported by Stefan Berger.
10664
10665 2010-10-15  Jim Meyering  <meyering@redhat.com>
10666
10667         GNUmakefile: handle "stable" target, not "major"
10668         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
10669         lists in maint.mk and announce-gen.  Without this, "make stable"
10670         would fail to ensure that $(VERSION) is up to date.
10671
10672 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
10673
10674         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
10675         & co.
10676
10677 2010-10-14  Bruno Haible  <bruno@clisp.org>
10678
10679         vasnprintf: Don't set errno to 0.
10680         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
10681         block that sets it to 0.
10682         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
10683
10684 2010-10-14  Bruno Haible  <bruno@clisp.org>
10685
10686         socketlib: Fix.
10687         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
10688         gl_PREREQ_SYS_H_WINSOCK2.
10689         Reported by Ian Beckwith <ianb@erislabs.net>.
10690
10691 2010-10-13  Jim Meyering  <meyering@redhat.com>
10692
10693         test-select-stdin.c: avoid warn_unused_result warnings
10694         * tests/test-select-stdin.c: Include "macros.h".
10695         ASSERT that read and fflush succeed.
10696
10697 2010-10-13  Jim Meyering  <meyering@redhat.com>
10698
10699         git-version-gen: do require git-VC'd files in cwd
10700         * build-aux/git-version-gen: Reject a git version string
10701         if there are no commits associated with the current directory.
10702         This avoids an unlikely false-positive (unrelated dir whose parent
10703         repository also contains a tag matching v*), as pointed out
10704         by Giuseppe Scrivano in
10705         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
10706
10707 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
10708
10709         argv-iter: omit nonconforming declaration
10710         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
10711         enum arg_iter_err declaration, which doesn't conform to C99.
10712         Solaris 10 cc warns about this.
10713
10714 2010-10-13  Eric Blake  <eblake@redhat.com>
10715
10716         termios: fix compilation on mingw
10717         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
10718         (gl_TERMIOS_H): Adjust it on mingw.
10719         * modules/termios (Makefile.am): Substitute new key.
10720         * lib/termios.in.h (includes): Make include_next conditional.
10721         * doc/posix-headers/termios.texi (termios.h): Update
10722         documentation.
10723         Reported by Daniel P. Berrange.
10724
10725 2010-10-13  Jim Meyering  <meyering@redhat.com>
10726
10727         git-version-gen: don't require that .git/ be in the current dir
10728         * build-aux/git-version-gen: Adjust this script so that it works
10729         when run from any working directory beneath the top-level .git/-
10730         containing directory.  Inspired by a patch from Giuseppe Scrivano,
10731         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
10732
10733         test-select: avoid warn_unused_result warnings
10734         * tests/test-select.c: Include "macros.h".
10735         ASSERT that each call to read, write, and pipe succeeds.
10736         While not technically required, also check each "close".
10737         * modules/select-tests (Files): Add tests/macros.h.
10738
10739         test-symlinkat: remove declaration of unused local
10740         * tests/test-symlinkat.c (main): Remove unused local, "buf".
10741
10742         test-inttostr: avoid shadowing warnings
10743         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
10744         and use malloc rather than the stack for the same reason as
10745         mentioned in the comment justifying the other allocation.
10746
10747 2010-10-11  Bruno Haible  <bruno@clisp.org>
10748
10749         stdlib: Allow multiple gnulib generated replacements to coexist.
10750         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
10751         Reported by Sam Steingold <sds@gnu.org>.
10752
10753 2010-10-11  Jim Meyering  <meyering@redhat.com>
10754
10755         fix a documentation typo
10756         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
10757
10758 2010-10-11  Eric Blake  <eblake@redhat.com>
10759
10760         futimens: work around Solaris 11 bug
10761         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
10762         * tests/test-futimens.h (test_futimens): Enhance, rather than
10763         weaken test.
10764         * doc/posix-functions/futimens.texi (futimens): Document the bug.
10765
10766 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
10767
10768         Indentation.
10769         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
10770         higher-level operators more to the left.
10771
10772 2010-10-11  Jim Meyering  <meyering@redhat.com>
10773
10774         test-futimens: avoid unwarranted test failure on Solaris 5.11
10775         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
10776         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
10777         because it tries to dereference the NULL name argument.
10778
10779 2010-10-11  Bruno Haible  <bruno@clisp.org>
10780
10781         Indentation.
10782         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
10783         indentation.
10784
10785 2010-10-11  Jim Meyering  <meyering@redhat.com>
10786
10787         spawn.in.h: make indentation consistent with parentheses
10788         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
10789         Make indentation consistent with parentheses.
10790
10791 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
10792
10793         Fix mismatched parens in previous commit
10794         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
10795         parens.
10796
10797 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
10798
10799         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
10800
10801         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
10802         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
10803         * lib/malloca.c: Include "verify.h".
10804         (verify1): Remove, replacing with a verify call.
10805         * lib/relocwrapper.c (verify1): Likewise.
10806         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
10807         Likewise.
10808         * modules/malloca (Depends-on): Add 'verify'.
10809         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
10810         * modules/vasnprintf (Depends-on): Add 'verify'.
10811         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
10812         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
10813         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
10814         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
10815         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
10816         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
10817         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
10818
10819         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
10820
10821         Formerly the style was sometimes 2*X - 1, because the C standard
10822         was wrongly thought to disallow ?: in integral constant expressions.
10823         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
10824         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
10825         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
10826         * lib/stdint.in.h (_verify_intmax_size): Likewise.
10827         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
10828         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
10829         verify that time_t cannot be floating.
10830
10831 2010-10-08  Eric Blake  <eblake@redhat.com>
10832
10833         time: enforce recent POSIX ruling that time_t is integral
10834         * lib/time.in.h (__time_t_must_be_integral): Detect any
10835         problematic systems, allowing the rest of gnulib to assume POSIX.
10836
10837 2010-10-08  Jim Meyering  <meyering@redhat.com>
10838
10839         fdopendir: fix a bug on systems lacking openat and /proc support
10840         OpenBSD 4.7 is one such system.  The most noticeable effect was
10841         failure of any application making nontrivial use of fts: rm, du,
10842         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
10843           ./rm: traversal failed: `a': Bad file descriptor
10844         Debugging that, you see that even though FD 6 was closed just
10845         prior to the opendir call in fd_clone_opendir, its resulting
10846         dir->dd_fd was 8, rather than the expected value of 6:
10847
10848         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
10849         93                close (fd);
10850         (gdb) n
10851         94                dir = fd_clone_opendir (dupfd);
10852         (gdb) n
10853         95                saved_errno = errno;
10854         (gdb) p dir->dd_fd
10855         $11 = 8
10856
10857         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
10858         The problem is that on OpenBSD, fd_clone_opendir has to resort
10859         to using the old-style save/restore CWD mechanism, due to its
10860         lack of openat/proc support, and *that* would steal the FD (6)
10861         that opendir was supposed to use.
10862
10863         The fix is to squirrel away the desired FD so that save_cwd uses a
10864         different one, and then free the dest FD right before calling opendir.
10865         That guarantees opendir will use the required file descriptor.
10866
10867         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
10868
10869 2010-10-08  Bruno Haible  <bruno@clisp.org>
10870
10871         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
10872         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
10873
10874 2010-10-08  Bruno Haible  <bruno@clisp.org>
10875
10876         nanosleep: Make replacement POSIX compliant.
10877         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
10878         is out of range.
10879         Reported by Jim Meyering.
10880
10881 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
10882
10883         bootstrap: add hook for altering gnulib.mk, for Bison
10884         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
10885         the Bison bootstrapping process can rewrite file names and variables
10886         in this file before later parts of 'bootstrap' use the file.
10887         Bison wants to include lib/gnulib.mk from the top-level makefile,
10888         so it needs the file names in this file to be relative to the top
10889         level, not relative to lib; plus it needs variable names to be
10890         rewritten.
10891         (slurp): Use the new function.
10892
10893         bootstrap: reformat for readability
10894         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
10895
10896 2010-10-08  Eric Blake  <eblake@redhat.com>
10897
10898         docs: update cygwin progress
10899         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
10900         1.7.7.
10901         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
10902         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
10903         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
10904         * doc/posix-functions/carg.texi (carg): Likewise.
10905         * doc/posix-functions/cargf.texi (cargf): Likewise.
10906         * doc/posix-functions/casin.texi (casin): Likewise.
10907         * doc/posix-functions/casinf.texi (casinf): Likewise.
10908         * doc/posix-functions/casinh.texi (casinh): Likewise.
10909         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
10910         * doc/posix-functions/catan.texi (catan): Likewise.
10911         * doc/posix-functions/catanf.texi (catanf): Likewise.
10912         * doc/posix-functions/catanh.texi (catanh): Likewise.
10913         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
10914         * doc/posix-functions/ccos.texi (ccos): Likewise.
10915         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
10916         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
10917         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
10918         * doc/posix-functions/cexp.texi (cexp): Likewise.
10919         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
10920         * doc/posix-functions/cimag.texi (cimag): Likewise.
10921         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
10922         * doc/posix-functions/clog.texi (clog): Likewise.
10923         * doc/posix-functions/clogf.texi (clogf): Likewise.
10924         * doc/posix-functions/conj.texi (conj): Likewise.
10925         * doc/posix-functions/conjf.texi (conjf): Likewise.
10926         * doc/posix-functions/cpow.texi (cpow): Likewise.
10927         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
10928         * doc/posix-functions/cproj.texi (cproj): Likewise.
10929         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
10930         * doc/posix-functions/creal.texi (creal): Likewise.
10931         * doc/posix-functions/crealf.texi (crealf): Likewise.
10932         * doc/posix-functions/csin.texi (csin): Likewise.
10933         * doc/posix-functions/csinf.texi (csinf): Likewise.
10934         * doc/posix-functions/csinh.texi (csinh): Likewise.
10935         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
10936         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
10937         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
10938         * doc/posix-functions/ctan.texi (ctan): Likewise.
10939         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
10940         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
10941         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
10942         * doc/posix-headers/complex.texi (complex.h): Likewise.
10943
10944 2010-10-07  Jim Meyering  <meyering@redhat.com>
10945
10946         parse-datetime: avoid compilation failure on OpenBSD 4.7
10947         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
10948         This works around a compilation failure on OpenBSD 4.7:
10949         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
10950
10951 2010-10-07  Eric Blake  <eblake@redhat.com>
10952
10953         docs: update cygwin progress
10954         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
10955         1.7.6.
10956         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
10957         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
10958         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
10959         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
10960         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
10961         Likewise.
10962         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
10963         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
10964         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
10965         Likewise.
10966         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
10967         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
10968         Likewise.
10969         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
10970         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
10971         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
10972         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
10973         Likewise.
10974         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
10975         Likewise.
10976         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
10977
10978         docs: update parse-datetime history
10979         * doc/parse-datetime.texi (Authors of parse_datetime): Better
10980         documentation of this function's history and alternatives.
10981
10982         cygwin: use more robust version check
10983         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
10984         exclude an eventual cygwin 1.9.1.
10985         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
10986         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
10987         (gl_FUNC_STRCASESTR): Likewise.
10988         Reported by Bruno Haible.
10989
10990 2010-10-06  Bruno Haible  <bruno@clisp.org>
10991
10992         string, sys_select: Avoid #including large headers unless necessary.
10993         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
10994         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
10995         OSF/1, BeOS, Haiku.
10996         Reported by Jim Meyering.
10997
10998 2010-10-05  Eric Blake  <eblake@redhat.com>
10999
11000         memmem, strstr, strcasestr: fix bug with long periodic needle
11001         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
11002         periodic needle having false positive.
11003         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
11004         and cygwin 1.7.7.
11005         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
11006         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
11007         (gl_FUNC_STRCASESTR): Likewise.
11008         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
11009         * tests/test-memmem.c (main): Expose the bug.
11010         * tests/test-strcasestr.c (main): Likewise.
11011         * tests/test-strstr.c (main): Likewise.
11012         * tests/test-c-strcasestr.c (main): Likewise.
11013         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
11014         * doc/posix-functions/strstr.texi (strstr): Likewise.
11015         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
11016         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
11017
11018 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
11019
11020         parse-datetime: do some more renaming
11021         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
11022         parse_datetime, not get_date.  Mention the renaming.
11023         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
11024         in comments.
11025         * m4/bison.m4: Likewise.
11026
11027 2010-10-05  Eric Blake  <eblake@redhat.com>
11028
11029         parse-datetime: better name than get_date
11030         * NEWS: Reword the deprecation notice.
11031         * modules/get_date: Rename to modules/parse-datetime.
11032         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
11033         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
11034         * lib/get_date.y: Rename to lib/parse-datetime.y.
11035         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
11036         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
11037         * doc/getdate.texi: Provide fallback wrapper.
11038         * lib/getdate.h: Move guts, and wrap...
11039         * lib/parse-datetime.h: ...new file.
11040         * lib/parse-datetime.y (get_date): Rename...
11041         (parse_datetime): ...to this.
11042         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
11043         (gl_PARSE_DATETIME): ...to this.
11044         * doc/posix-functions/getdate.texi (get_date): Provide fallback
11045         documentation.
11046         * modules/getdate (Files): Provide fallback docs and header.
11047         (Notice, Depends-on): Update references.
11048         * tests/test-parse-datetime.c: Likewise.
11049         * DEPENDENCIES: Likewise.
11050         * MODULES.html.sh (Date and time <time.h>): Likewise.
11051         * doc/parse-datetime.texi (Date input formats)
11052         (Authors of parse_datetime): Likewise.
11053         * modules/parse-datetime (Files, configure.ac, Makefile.am)
11054         (Include): Likewise.
11055         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
11056         * gnulib-tool: Likewise.
11057         * m4/bison.m4 (gl_BISON): Likewise.
11058         Suggested by Bruno Haible.
11059
11060 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
11061
11062         more ports to Solaris tr, which needs [] around ranges
11063         * gnulib-tool: Solaris tr needs [] around ranges.
11064         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
11065         * tests/test-pipe-filter-gi1.c (main): Likewise.
11066         * tests/test-pipe-filter-ii1.c (main): Likewise.
11067
11068 2010-10-05  Eric Blake  <eblake@redhat.com>
11069
11070         bootstrap: fix Solaris regression
11071         * build-aux/bootstrap (check_versions): Solaris tr still needs []
11072         around ranges.
11073         Reported by Pádraig Brady.
11074
11075         bootstrap: work with pkg-config
11076         * build-aux/bootstrap (check_versions): Also transliterate - in
11077         prerequisite name.
11078         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
11079         prerequisites that were already found, to avoid confusion.
11080         Reported by Justin Clift.
11081
11082         faccessat: remove unused wrappers
11083         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
11084         presence of these wrappers dragged in -lgen on Solaris.
11085         Reported by Clemens Brogi; fix suggested by Paul Eggert.
11086
11087 2010-10-05  Jim Meyering  <meyering@redhat.com>
11088
11089         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
11090         * Makefile (sc_pragma_columns): New syntax-check rule.
11091
11092 2010-10-04  Bruno Haible  <bruno@clisp.org>
11093
11094         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
11095         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
11096         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
11097         Reported by Bruce Korb and Eric Blake.
11098
11099 2010-10-04  Bruno Haible  <bruno@clisp.org>
11100
11101         threadlib: Make option --with-libpth-prefix work.
11102         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
11103         use $LIBPTH, not just -lpth.
11104
11105 2010-10-04  Bruno Haible  <bruno@clisp.org>
11106
11107         Avoid line length limitation from HP NonStop system header files.
11108         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
11109         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
11110         * lib/ctype.in.h: Likewise.
11111         * lib/dirent.in.h: Likewise.
11112         * lib/errno.in.h: Likewise.
11113         * lib/fcntl.in.h: Likewise.
11114         * lib/float.in.h: Likewise.
11115         * lib/getopt.in.h: Likewise.
11116         * lib/iconv.in.h: Likewise.
11117         * lib/inttypes.in.h: Likewise.
11118         * lib/langinfo.in.h: Likewise.
11119         * lib/locale.in.h: Likewise.
11120         * lib/math.in.h: Likewise.
11121         * lib/netdb.in.h: Likewise.
11122         * lib/netinet_in.in.h: Likewise.
11123         * lib/poll.in.h: Likewise.
11124         * lib/pthread.in.h: Likewise.
11125         * lib/pty.in.h: Likewise.
11126         * lib/sched.in.h: Likewise.
11127         * lib/se-selinux.in.h: Likewise.
11128         * lib/search.in.h: Likewise.
11129         * lib/signal.in.h: Likewise.
11130         * lib/spawn.in.h: Likewise.
11131         * lib/stdarg.in.h: Likewise.
11132         * lib/stddef.in.h: Likewise.
11133         * lib/stdint.in.h: Likewise.
11134         * lib/stdio.in.h: Likewise.
11135         * lib/stdlib.in.h: Likewise.
11136         * lib/string.in.h: Likewise.
11137         * lib/strings.in.h: Likewise.
11138         * lib/sys_file.in.h: Likewise.
11139         * lib/sys_ioctl.in.h: Likewise.
11140         * lib/sys_select.in.h: Likewise.
11141         * lib/sys_socket.in.h: Likewise.
11142         * lib/sys_stat.in.h: Likewise.
11143         * lib/sys_time.in.h: Likewise.
11144         * lib/sys_times.in.h: Likewise.
11145         * lib/sys_utsname.in.h: Likewise.
11146         * lib/sys_wait.in.h: Likewise.
11147         * lib/sysexits.in.h: Likewise.
11148         * lib/termios.in.h: Likewise.
11149         * lib/time.in.h: Likewise.
11150         * lib/unistd.in.h: Likewise.
11151         * lib/wchar.in.h: Likewise.
11152         * lib/wctype.in.h: Likewise.
11153         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
11154         * modules/ctype (Makefile.am): Likewise.
11155         * modules/dirent (Makefile.am): Likewise.
11156         * modules/errno (Makefile.am): Likewise.
11157         * modules/fcntl-h (Makefile.am): Likewise.
11158         * modules/float (Makefile.am): Likewise.
11159         * modules/getopt-posix (Makefile.am): Likewise.
11160         * modules/iconv-h (Makefile.am): Likewise.
11161         * modules/inttypes (Makefile.am): Likewise.
11162         * modules/langinfo (Makefile.am): Likewise.
11163         * modules/locale (Makefile.am): Likewise.
11164         * modules/math (Makefile.am): Likewise.
11165         * modules/netdb (Makefile.am): Likewise.
11166         * modules/netinet_in (Makefile.am): Likewise.
11167         * modules/poll-h (Makefile.am): Likewise.
11168         * modules/pthread (Makefile.am): Likewise.
11169         * modules/pty (Makefile.am): Likewise.
11170         * modules/sched (Makefile.am): Likewise.
11171         * modules/search (Makefile.am): Likewise.
11172         * modules/selinux-h (Makefile.am): Likewise.
11173         * modules/signal (Makefile.am): Likewise.
11174         * modules/spawn (Makefile.am): Likewise.
11175         * modules/stdarg (Makefile.am): Likewise.
11176         * modules/stddef (Makefile.am): Likewise.
11177         * modules/stdint (Makefile.am): Likewise.
11178         * modules/stdio (Makefile.am): Likewise.
11179         * modules/stdlib (Makefile.am): Likewise.
11180         * modules/string (Makefile.am): Likewise.
11181         * modules/strings (Makefile.am): Likewise.
11182         * modules/sys_file (Makefile.am): Likewise.
11183         * modules/sys_ioctl (Makefile.am): Likewise.
11184         * modules/sys_select (Makefile.am): Likewise.
11185         * modules/sys_socket (Makefile.am): Likewise.
11186         * modules/sys_stat (Makefile.am): Likewise.
11187         * modules/sys_time (Makefile.am): Likewise.
11188         * modules/sys_times (Makefile.am): Likewise.
11189         * modules/sys_utsname (Makefile.am): Likewise.
11190         * modules/sys_wait (Makefile.am): Likewise.
11191         * modules/sysexits (Makefile.am): Likewise.
11192         * modules/termios (Makefile.am): Likewise.
11193         * modules/time (Makefile.am): Likewise.
11194         * modules/unistd (Makefile.am): Likewise.
11195         * modules/wchar (Makefile.am): Likewise.
11196         * modules/wctype (Makefile.am): Likewise.
11197
11198 2010-10-04  Bruno Haible  <bruno@clisp.org>
11199
11200         read-file tests: Avoid a test failure on NonStop Kernel.
11201         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
11202         a regular file.
11203         Reported by Joachim Schmitz <schmitz@hp.com>.
11204
11205 2010-10-03  Bruno Haible  <bruno@clisp.org>
11206
11207         gnulib-tool: Fixes for --create-testdir with --libtool.
11208         * gnulib-tool (func_get_automake_snippet): Don't augment
11209         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
11210         an executable.
11211         (func_create_testdir): Handle module 'alloca' like func_import.
11212         Reported by Bruce Korb <bruce.korb@gmail.com>.
11213
11214 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
11215
11216         Avoid some lines longer than 80 characters.
11217         * lib/stdint.in.h: Break long comment lines.
11218         * lib/math.in.h: Likewise.
11219         (_GL_NUM_UINT_WORDS): New macro, for readability.
11220         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
11221         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
11222         * lib/stdlib.in.h: Likewise.
11223         * lib/spawn.in.h: Likewise.
11224         * lib/sys_socket.in.h: Update an URL.
11225         * lib/sys_stat.in.h: Break long line.
11226
11227 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
11228
11229         Improve pmccabe2html.
11230         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
11231         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
11232         when the sources change. Remove the line in the HTML about "Used
11233         ranges" (which implied that there might be other unused ranges),
11234         rename "Resume" to "Summary" (easier to understand for more users).
11235         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
11236         styles, and some unnecessary blank lines.
11237
11238 2010-10-03  Bruno Haible  <bruno@clisp.org>
11239             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
11240
11241         acl: Add support for ACLs on NonStop Kernel.
11242         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
11243         Check whether the function aclsort() exists.
11244         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
11245         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
11246         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
11247         (acl_nontrivial [HAVE_ACLSORT]: New function.
11248         (file_has_acl): Implement for NonStop Kernel.
11249         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
11250         (qset_acl): Implement for NonStop Kernel.
11251         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
11252         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
11253         (main): Implement for NonStop Kernel.
11254         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
11255         Kernel. Handle this flavor.
11256         * tests/test-set-mode-acl.sh: Likewise.
11257         * tests/test-copy-acl.sh: Likewise.
11258         * tests/test-copy-file.sh: Likewise.
11259
11260 2010-10-03  Bruno Haible  <bruno@clisp.org>
11261
11262         Info about ACLs on NonStop Kernel.
11263         * doc/acl-resources.txt: Add info about NonStop Kernel.
11264         References by Joachim Schmitz <schmitz@hp.com>.
11265
11266 2010-10-02  Bruno Haible  <bruno@clisp.org>
11267
11268         Define missing EDQUOT on NonStop Kernel.
11269         * lib/errno.in.h (EDQUOT): Assign a value if missing.
11270         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
11271         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
11272         missing.
11273         * doc/posix-headers/errno.texi: Mention the NSK bug.
11274         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
11275         Reported by Joachim Schmitz <schmitz@hp.com>.
11276
11277 2010-10-02  Bruno Haible  <bruno@clisp.org>
11278
11279         Update doc for POSIX:2008.
11280         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
11281         Update URL of POSIX specification.
11282
11283 2010-10-02  Bruno Haible  <bruno@clisp.org>
11284
11285         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
11286         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
11287         from gnulib, not from Automake.
11288
11289 2010-10-02  Bruno Haible  <bruno@clisp.org>
11290
11291         New module 'system-posix'.
11292         * modules/system-posix: New file.
11293         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
11294         module is present.
11295         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
11296         GNULIB_SYSTEM_POSIX.
11297         * modules/stdlib (Depends-on): Remove sys_wait.
11298         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
11299         * doc/posix-functions/system.texi: Mention the new module.
11300         * doc/posix-headers/stdlib.texi: Likewise.
11301         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
11302         define test_sys_wait_macros to a no-op.
11303         Reported by Sam Steingold <sds@gnu.org>.
11304
11305 2010-09-30  Bruno Haible  <bruno@clisp.org>
11306
11307         More renaming from 'getdate' to 'get_date'.
11308         * doc/get_date.texi: Renamed from doc/getdate.texi.
11309         * modules/get_date (Files): Update.
11310         * MODULES.html.sh (Date and time <time.h>): Update.
11311         * DEPENDENCIES: Update.
11312         * gnulib-tool: Update comment.
11313         * m4/bison.m4 (gl_BISON): Likewise.
11314         * m4/get_date.m4 (gl_GET_DATE): Likewise.
11315
11316 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
11317
11318         bootstrap: support ACLOCAL_FLAGS during aclocal
11319         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
11320         can add additional -I dir for third-party .m4 files.
11321
11322 2010-09-30  Eric Blake  <eblake@redhat.com>
11323
11324         bootstrap: use glibtoolize on MacOS
11325         * build-aux/bootstrap (check_versions): Convert libtool into
11326         libtoolize.
11327         (tool search): Move libtool check earlier, and look for
11328         glibtoolize for MacOS.
11329         (gnulib_tool_options): Auto-add --libtool when appropriate.
11330         Reported by Justin Clift.
11331
11332         poll: fix typo that broke test on MacOS
11333         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
11334         Reported by Justin Clift.
11335
11336         getdate: rename to get_date
11337         Note: getdate.h is not renamed, to minimize client impact.
11338         * modules/getdate: Mark obsolete.  Move old contents...
11339         * modules/get_date: ...to new module name.
11340         * modules/getdate-tests: Move...
11341         * modules/get_date-tests: ...here.
11342         * m4/getdate.m4: Move...
11343         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
11344         * lib/getdate.y: Move...
11345         * lib/get_date.y: ...here.
11346         * tests/test-getdate.c: Move...
11347         * tests/test-get_date.c: ...here.
11348         * doc/posix-functions/getdate.texi (getdate): Update name.
11349         * NEWS: Mention the change.
11350
11351 2010-09-29  Bruno Haible  <bruno@clisp.org>
11352
11353         Separate the module 'waitpid' from the module 'sys_wait'.
11354         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
11355         present.
11356         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
11357         gl_MODULE_INDICATOR_FOR_TESTS.
11358         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
11359         * modules/sys_wait (Depends-on): Remove waitpid.
11360         (Makefile.am): Substitute GNULIB_WAITPID.
11361         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
11362         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
11363         signature only if the 'waitpid' module is present.
11364         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
11365         * NEWS: Mention the change.
11366         * modules/grantpt (Depends-on): Add waitpid.
11367         * modules/wait-process (Depends-on): Likewise.
11368
11369 2010-09-29  Bruno Haible  <bruno@clisp.org>
11370
11371         More tests for module 'sys_wait'.
11372         * modules/sys_wait-c++-tests: New file.
11373         * tests/test-sys_wait-c++.cc: New file.
11374         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
11375         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
11376
11377 2010-09-29  Bruno Haible  <bruno@clisp.org>
11378
11379         New module 'waitpid'.
11380         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
11381         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
11382         Don't include <process.h>.
11383         (waitpid): Declare only, using modern idiom.
11384         * m4/waitpid.m4: New file.
11385         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
11386         * modules/waitpid: New file.
11387         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
11388         (Makefile.am): Update.
11389         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
11390
11391 2010-09-28  Bruno Haible  <bruno@clisp.org>
11392
11393         poll: Assume ANSI C.
11394         * lib/poll.c (poll): Use an ANSI C declaration.
11395
11396 2010-09-28  Bruno Haible  <bruno@clisp.org>
11397
11398         poll-h: Create poll.h on all platforms.
11399         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
11400         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
11401         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
11402         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
11403         (gl_REPLACE_POLL_H): Don't set POLL_H.
11404         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
11405         * modules/poll-h (Depends-on): Add include_next.
11406         (Makefile.am): Create poll.h unconditionally. Substitute also
11407         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
11408
11409 2010-09-28  Bruno Haible  <bruno@clisp.org>
11410
11411         Tests for module 'poll-h'.
11412         * modules/poll-h-c++-tests: New file.
11413         * tests/test-poll-h-c++.cc: New file.
11414
11415         Tests for module 'poll-h'.
11416         * modules/poll-h-tests: New file.
11417         * tests/test-poll-h.c: New file.
11418
11419 2010-09-28  Bruno Haible  <bruno@clisp.org>
11420
11421         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
11422         * modules/poll-h (Depends-on): Add 'extensions'.
11423
11424 2010-09-28  Bruno Haible  <bruno@clisp.org>
11425
11426         New module 'poll-h'.
11427         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
11428         (poll): Use modern idiom.
11429         * modules/poll-h: New file.
11430         * modules/poll (Files): Remove lib/poll.in.h.
11431         (Depends-on): Add poll-h.
11432         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
11433         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
11434         * m4/poll_h.m4: New file.
11435         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
11436         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
11437         and invoke gl_REPLACE_POLL_H.
11438         * lib/poll.c: Use common idiom.
11439         * tests/test-poll.c: Likewise.
11440         * doc/posix-headers/poll.texi: Mention the poll-h module.
11441         Suggested by Eric Blake.
11442
11443 2010-09-26  Bruno Haible  <bruno@clisp.org>
11444
11445         sys_wait: Implement WSTOPSIG.
11446         * lib/sys_wait.in.h (WSTOPSIG): New macro.
11447         Reported by Simon Josefsson.
11448
11449 2010-09-26  Simon Josefsson  <simon@josefsson.org>
11450
11451         stdlib, sys_wait: Avoid compilation error on mingw.
11452         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
11453
11454 2010-09-26  Bruno Haible  <bruno@clisp.org>
11455
11456         stdlib tests: Avoid code duplication.
11457         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
11458         * modules/sys_wait-tests (Files): Likewise.
11459         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
11460         * tests/test-stdlib.c: Include test-sys_wait.h.
11461         (main): Invoke test_sys_wait_macros.
11462         * tests/test-sys_wait.c: Include test-sys_wait.h.
11463         (main): Invoke test_sys_wait_macros.
11464
11465 2010-09-25  Simon Josefsson  <simon@josefsson.org>
11466
11467         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
11468         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
11469         sure Windows sockets are working before calling getaddrinfo.
11470         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
11471         * doc/gnulib.texi (Windows sockets): Fix typo.
11472
11473 2010-09-25  Bruno Haible  <bruno@clisp.org>
11474
11475         Tests for module 'regex-quote'.
11476         * modules/regex-quote-tests: New file.
11477         * tests/test-regex-quote.c: New file.
11478
11479         New module 'regex-quote'.
11480         * lib/regex-quote.h: New file.
11481         * lib/regex-quote.c: New file.
11482         * modules/regex-quote: New file.
11483         Suggested by Reuben Thomas <rrt@sc3d.org>.
11484
11485 2010-09-24  Bruno Haible  <bruno@clisp.org>
11486
11487         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
11488         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
11489
11490 2010-09-23  Bruno Haible  <bruno@clisp.org>
11491
11492         setenv: Relax license.
11493         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
11494         Blake.
11495         Requested by Eric Blake.
11496
11497 2010-09-22  Bruno Haible  <bruno@clisp.org>
11498
11499         termios: Relax license.
11500         * modules/termios (License): Change to LGPLv2+.
11501         Requested by Eric Blake.
11502
11503 2010-09-22  Bruno Haible  <bruno@clisp.org>
11504
11505         threadlib: Allow the package to change the default to 'no'.
11506         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
11507         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
11508         Reported by Paul Eggert.
11509
11510 2010-09-22  Pádraig Brady  <P@draigbrady.com>
11511             Bruno Haible  <bruno@clisp.org>
11512
11513         Fix endless loop in mbmemcasecoll.
11514         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
11515         byte.
11516         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
11517
11518 2010-09-22  Bruno Haible  <bruno@clisp.org>
11519
11520         Tests for module 'memcoll'.
11521         * modules/memcoll-tests: New file.
11522         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
11523
11524         memcoll, xmemcoll: Clarify size vs. length.
11525         * modules/memcoll.c (memcoll0): Clarify specification.
11526         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
11527         passed to collate_error.
11528
11529 2010-09-22  Bruno Haible  <bruno@clisp.org>
11530
11531         Tests for module 'memcasecmp'.
11532         * modules/memcasecmp-tests: New file.
11533         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
11534
11535 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
11536
11537         * lib/pthread.in.h: Add split double-inclusion guard, and include
11538         system <pthread.h> if there is one.  Use @@-style as in other
11539         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
11540         pthread.h doesn't.
11541         (pthread_mutexattr_destroy, pthread_mutexattr_init):
11542         (pthread_mutexattr_settype, pthread_mutex_trylock):
11543         New static inline functions, if there's no system <pthread.h>.
11544         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
11545         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
11546         Approximate with mutexes if the system lacks spinlocks, as in
11547         MacOS.
11548         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
11549         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
11550         @@-style.  Check for spinlocks separately.
11551         (gl_PTHREAD_DEFAULTS): New macro.
11552         * modules/pthread: Redo to use a more typical style for in.h files.
11553
11554 2010-09-21  Eric Blake  <eblake@redhat.com>
11555
11556         net_if: enhance tests
11557         * tests/test-net_if.c (main): Move signature checks earlier.
11558         Print failures to stderr.
11559         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
11560         Document the bug that we do not yet fix.
11561
11562 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
11563
11564         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
11565         about gnulib, not GSS.
11566
11567 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
11568
11569         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
11570         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
11571         for Emacs.
11572         * build-aux/pmccabe2html: Make Makefile.am example code more
11573         cut-and-paste friendly.
11574
11575 2010-09-21  Simon Josefsson  <simon@josefsson.org>
11576
11577         * tests/test-net_if.c: New file.
11578         * modules/net_if-tests: New file.
11579
11580 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
11581
11582         pthread: add pthread_spin_destroy
11583         * lib/pthread.in.h (pthread_spin_destroy): New function.
11584
11585 2010-09-19  Bruno Haible  <bruno@clisp.org>
11586
11587         gnulib-tool: Fix --help output.
11588         * gnulib-tool (func_usage): Fix help message.
11589         Reported by Reuben Thomas <rrt@sc3d.org>.
11590
11591 2010-09-18  Jim Meyering  <meyering@redhat.com>
11592
11593         maint.mk: avoid unexpanded \n in two diagnostics
11594         * top/maint.mk (sc_prohibit_always_true_header_tests):
11595         Don't use a literal \n in a halt=... assignment.  It would not be
11596         expanded, and the two \n bytes would appear in the diagnostic output
11597         rather than the desired newline.  Use halt=$$(printf ... instead.
11598         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
11599
11600 2010-09-18  Bruno Haible  <bruno@clisp.org>
11601
11602         netinet_in: Doc tweak.
11603         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
11604         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
11605
11606 2010-09-18  Jim Meyering  <meyering@redhat.com>
11607
11608         init.sh: correct an outdated comment
11609         * tests/init.sh (create_exe_shims_):  s/function/alias/
11610
11611         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
11612         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
11613         a file named "*.exe" is removed between the glob expansion and the
11614         processing of that oddly named file.
11615
11616 2010-09-17  Eric Blake  <eblake@redhat.com>
11617
11618         mirbsd: add some more support
11619         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
11620         in BSD family.
11621         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
11622         devices as OpenBSD.
11623         * m4/host-os.m4 (mirbsd): Add MirBSD.
11624
11625         tests: fix unportable assumption on sys/wait.h
11626         * tests/test-sys_wait.c (main): Relax test.
11627         * tests/test-stdlib.c (main): Likewise.
11628
11629         init.sh: accomodate directory with no .exes
11630         * tests/init.sh: Accomodate directory containing only scripts.
11631
11632         tests: avoid compiler warning
11633         * tests/test-stdlib.c (main): Use the variable.
11634
11635         fdutimens, fdutimensat: update signature, again
11636         * lib/utimens.h (gl_futimens): Delete, and move signature...
11637         (fdutimens): ...here.
11638         (fdutimensat): Rearrange signature.
11639         (lutimensat): Rename variable for clarity.
11640         * lib/fdutimensat.c (fdutimensat): Update signature.
11641         * lib/utimens.c (fdutimens): Likewise.
11642         (gl_futimens): Delete.
11643         (utimens, lutimens): Update callers.
11644         * lib/futimens.c (futimens): Likewise.
11645         * tests/test-fdutimensat.c: Likewise.
11646         * tests/test-utimens.c: Likewise.
11647         * tests/test-futimens.h: Update comment.
11648         * NEWS: Mention this.
11649         Suggested by Paul Eggert.
11650
11651 2010-09-17  Bruno Haible  <bruno@clisp.org>
11652
11653         Take over the maintenance of some older macros from Autoconf.
11654         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
11655         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
11656         GNU Autoconf.
11657         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
11658         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
11659
11660 2010-09-17  Eric Blake  <eblake@redhat.com>
11661
11662         fdutimensat: drop atflag validation
11663         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
11664         with valid fd, to close a race scenario where futimens is
11665         unsupported and FILE was replaced by a symlink.
11666         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
11667         accordingly.
11668         Suggested by Paul Eggert.
11669
11670 2010-09-16  Bruno Haible  <bruno@clisp.org>
11671
11672         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
11673         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
11674
11675 2010-09-16  Bruno Haible  <bruno@clisp.org>
11676
11677         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
11678         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
11679         login_tty exists.
11680         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
11681
11682 2010-09-16  Bruno Haible  <bruno@clisp.org>
11683
11684         login_tty: Make the replacement code work on BSD systems.
11685         * lib/login_tty.c: Include <sys/ioctl.h>.
11686         (login_tty): Use ioctl TIOCSCTTY when available.
11687         * modules/login_tty (Depends-on): Add sys_ioctl.
11688         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
11689
11690 2010-09-16  Bruno Haible  <bruno@clisp.org>
11691
11692         login_tty: Stricter unit test.
11693         * modules/login_tty-tests (Depends-on): Add tcgetsid.
11694         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
11695         and tcgetsid() after login_tty.
11696         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
11697
11698 2010-09-16  Bruno Haible  <bruno@clisp.org>
11699
11700         New module 'tcgetsid'.
11701         * lib/tcgetsid.c: New file.
11702         * m4/tcgetsid.m4: New file.
11703         * modules/tcgetsid: New file.
11704         * modules/termios (Depends-on): Add c++defs, warn-on-use.
11705         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
11706         GNULIB_TCGETSID, HAVE_TCGETSID.
11707         * lib/termios.in.h: Include <sys/types.h>.
11708         (tcgetsid): New declaration.
11709         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
11710         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
11711         * doc/posix-functions/tcgetsid.texi: Mention the new module.
11712         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
11713
11714 2010-09-16  Bruno Haible  <bruno@clisp.org>
11715
11716         Tests for module 'termios'.
11717         * modules/termios-c++-tests: New file.
11718         * modules/termios-tests: New file.
11719         * tests/test-termios-c++.cc: New file.
11720         * tests/test-termios.c: New file.
11721
11722         New module 'termios'.
11723         * modules/termios: New file.
11724         * lib/termios.in.h: New file.
11725         * m4/termios_h.m4: New file.
11726         * doc/posix-headers/termios.texi: Mention the new module.
11727
11728 2010-09-16  Eric Blake  <eblake@redhat.com>
11729
11730         fdutimensat: add an atflag parameter
11731         * lib/fdutimensat.c (fdutimensat): Add new parameter.
11732         * lib/utimens.h (fdutimensat): Update prototype.
11733         * tests/test-fdutimensat.c: Adjust test to match.
11734         * NEWS: Document the change.
11735         Suggested by Paul Eggert.
11736
11737 2010-09-16  Bruno Haible  <bruno@clisp.org>
11738
11739         Fix typos in comments.
11740         * lib/striconveh.h: Fix typo in comment.
11741         * lib/login_tty.c (login_tty): Likewise.
11742
11743 2010-09-15  Bruno Haible  <bruno@clisp.org>
11744
11745         stdlib: clarify MirBSD WEXITSTATUS bug
11746         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
11747         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
11748
11749 2010-09-15  Eric Blake  <eblake@redhat.com>
11750
11751         stdlib: work around MirBSD WEXITSTATUS bug
11752         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
11753         * modules/stdlib (Depends-on): Add sys_wait.
11754         * tests/test-sys_wait.c (main): Enhance test.
11755         * tests/test-stdlib.c (main): Likewise.
11756         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
11757
11758         docs: mention MacOS issue with WEXITSTATUS(constant)
11759         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
11760         issue.
11761         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
11762
11763         strnlen: add tests
11764         * modules/strnlen-tests: New file.
11765         * tests/test-strnlen.c: Likewise.
11766
11767 2010-09-14  Bruno Haible  <bruno@clisp.org>
11768
11769         unistr/base: Avoid link errors when module 'libunistring' is also used.
11770         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
11771         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
11772         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
11773         Declare also when HAVE_LIBUNISTRING is set.
11774         Reported by Pádraig Brady <P@draigbrady.com>.
11775
11776 2010-09-14  Eric Blake  <eblake@redhat.com>
11777
11778         test-rawmemchr: make more robust
11779         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
11780         (Depends-on, configure.ac): Add needed prerequisites to use it.
11781         * modules/memchr-tests (Files, Depends-on, configure.ac):
11782         Likewise, to avoid implicit reliance on memchr module prereqs.
11783         * tests/test-memchr.c (main): Ensure proper masking.
11784         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
11785         reads.
11786
11787         memchr: detect glibc Alpha bug
11788         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
11789         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
11790         Alpha.
11791         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
11792         * tests/test-memchr.c (main): Enhance test.
11793         Reported by Nelson H. F. Beebe.
11794
11795 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
11796
11797         fts, getcwd, glob: audit for dirfd returning -1
11798         * lib/fts.c (opendir): Remove #define; no longer used.
11799         (opendirat): New arg PDIR_FD.  All callers changed.
11800         (fts_build, _opendir2): Use new opendirat to avoid the need for
11801         dirfd, or for checking whether dirfd returns a negative value.
11802         Don't use opendir; always use openat followed by fdopendir.
11803         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
11804         it.
11805         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
11806         returns -1 here.
11807         * modules/fts (Depends-on): Remove dirfd.
11808         * modules/getcwd (Depends-on): Likewise.
11809
11810 2010-09-13  Eric Blake  <eblake@redhat.com>
11811
11812         float: fix broken MirBSD header
11813         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
11814         * doc/posix-headers/float.texi (float.h): Document it.
11815
11816 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
11817
11818         fts: use O_NOFOLLOW to avoid race condition when opening a directory
11819         * lib/fts.c (opendirat): New arg extra_flags.
11820         (__opendir2): Use it to avoid following symlinks when opening
11821         a directory, if symlinks are not supposed to be followed.  See
11822         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
11823
11824         fdopendir: preserve argument fd before returning
11825         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
11826         (fdopendir_with_dup, fd_clone_opendir): New static functions.
11827         (fdopendir): Use them, arranging for FD to be open to the same
11828         directory that it was when it started.  (It might be temporarily
11829         closed while fdopendir is running, so this not thread- or
11830         signal-safe.)  Be careful to do the right thing even when file
11831         descriptors are scarce and dup fails with errno == EMFILE.  See
11832         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
11833
11834 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
11835
11836         regex: Pass the system regex if its only problem is 32-bit regoff_t.
11837         * NEWS: Document change.
11838         * m4/regex.m4: Disable test for regoff_t size.
11839
11840 2010-09-13  Jim Meyering  <meyering@redhat.com>
11841
11842         fts: don't operate on an invalid file descriptor after failed dup
11843         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
11844         negative file descriptor.
11845
11846 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
11847
11848         savedir: add streamsavedir, deprecate fdsavedir
11849         * NEWS: Mention deprecation of fdsavedir.
11850         * lib/savedir.c (streamsavedir): New extern function, whose name
11851         ends in "savedir" to be consistent with the others.  This differs
11852         from savedirstream in that it doesn't close its argument.  The
11853         next version of GNU tar will use this instead of fdsavedir, to
11854         avoid some race conditions and conserve file descriptors.
11855         (savedirstream): Reimplement as a wrapper around streamsavedir.
11856         (fdsavedir): Add a comment deprecating this function.  As far as
11857         I know, only GNU tar used it, and GNU tar doesn't need it any more.
11858         * lib/savedir.h (streamsavedir): New decl.
11859         (fdsavedir): Add a comment deprecating this.
11860
11861 2010-09-10  Bruno Haible  <bruno@clisp.org>
11862
11863         langinfo: Fix last commit.
11864         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
11865         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
11866         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
11867
11868 2010-09-10  Bruno Haible  <bruno@clisp.org>
11869
11870         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
11871         * lib/progreloc.c (O_EXEC): Define fallback.
11872
11873 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
11874
11875         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
11876         * NEWS: Document recent changes to fcntl-h.
11877         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
11878         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
11879         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
11880         Similarly for O_SEARCH; this last was already true, but not documented.
11881         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
11882         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
11883         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
11884         Likewise.
11885         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
11886         is zero, not whether it is defined.
11887         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
11888         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
11889         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
11890
11891 2010-09-10  Bruno Haible  <bruno@clisp.org>
11892
11893         langinfo, nl_langinfo: Fix for IRIX 5.3.
11894         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
11895         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
11896         HAVE_LANGINFO_YESEXPR.
11897         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
11898         HAVE_LANGINFO_YESEXPR.
11899         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
11900         HAVE_LANGINFO_T_FMT_AMPM is 0.
11901         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
11902         HAVE_LANGINFO_YESEXPR is 0.
11903         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
11904         NOEXPR.
11905         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
11906         * doc/posix-functions/nl_langinfo.texi: Likewise.
11907         Reported by Eric Blake.
11908
11909 2010-09-10  Bruno Haible  <bruno@clisp.org>
11910
11911         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
11912         * doc/glibc-functions/login_tty.texi: Mention the include file problem
11913         on FreeBSD 8.0 and OpenBSD 4.6.
11914         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
11915         * m4/pty_h.m4 (gl_PTY_H): Likewise.
11916         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
11917         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
11918         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
11919         ac_includes_default.
11920         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
11921
11922 2010-09-09  Eric Blake  <eblake@redhat.com>
11923
11924         strsignal: work around NetBSD bug
11925         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
11926         * lib/string.in.h (includes): Likewise.
11927         * doc/posix-functions/strsignal.texi (strsignal): Document the
11928         bug.
11929         Reported by Nelson H. F. Beebe.
11930
11931         gnulib-tool: work with NetBSD /bin/sh
11932         * gnulib-tool (func_cache_var, func_cache_lookup_module)
11933         (func_get_description, func_get_comment, func_get_status)
11934         (func_get_notice, func_get_applicability, func_get_filelist)
11935         (func_get_dependencies, func_get_autoconf_early_snippet)
11936         (func_get_autoconf_snippet, func_get_automake_snippet)
11937         (func_get_include_directive, func_get_link_directive)
11938         (func_get_license, func_get_maintainer, func_import): Avoid
11939         shell syntax errors from parsing syntax extensions.
11940
11941 2010-09-09  Bruno Haible  <bruno@clisp.org>
11942
11943         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
11944         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
11945         a reliable way to determine whether the 'alias' command works.
11946
11947 2010-09-08  Jim Meyering  <meyering@redhat.com>
11948
11949         init.sh: penalize a set-x-impaired shell; don't disqualify it
11950         * tests/init.sh: Too many shells corrupt application stderr when
11951         you set -x, so we can't afford to disqualify them, since at least
11952         on Irix-6.5, that would disqualify all bourne shells.
11953         Instead, use a two-pass approach.
11954         On the first pass, try to find a shell that meets the stricter
11955         condition that set -x does not corrupt stderr.
11956         If no shell meets the stricter condition, retest each candidate
11957         shell, but without that extra condition.  Finally, when
11958         VERBOSE=yes is requested and set -x might cause trouble, simply
11959         issue a warning and refrain from enabling debug output.
11960
11961 2010-09-08  Eric Blake  <eblake@redhat.com>
11962
11963         unsetenv: fix OpenBSD bug
11964         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
11965         * doc/posix-functions/unsetenv.texi (unsetenv): Update
11966         documentation.
11967         Reported by Jim Meyering.
11968
11969         strtod: work around IRIX 6.5 bug
11970         * lib/strtod.c (strtod): Reparse number on shorter string if
11971         exponent parse was invalid.
11972         * tests/test-strtod.c (main): Add check for "0x1p 2".
11973         Reported by Tom G. Christensen.
11974
11975         getopt: optimize previous patch
11976         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
11977         empty variable.  Speed up awk script.
11978         Reported by Paolo Bonzini.
11979
11980 2010-09-08  Jim Meyering  <meyering@redhat.com>
11981
11982         test.sh: disqualify shells for which set -x corrupts stderr
11983         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
11984         and OpenBSD 4.7.  They make it so with "set -x", environment settings
11985         appear in stderr output.  For example, this command:
11986             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
11987         prints "P=1" on those two systems:
11988
11989 2010-09-08  Bruno Haible  <bruno@clisp.org>
11990
11991         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
11992         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
11993         commands, because some shells ignore redirections when there is an
11994         error in the command lookup.
11995         Reported by Eric Blake.
11996
11997 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
11998
11999         * lib/regex.h: Fix a mention of `regex_compile' (should be
12000         `re_compile_pattern').
12001         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
12002         (re_set_registers): Correct name of parameter in comment.
12003
12004         * doc/regex.texi: Add documentation for missing syntax flags.
12005         Remove commented-out documentation of defunct syntax option
12006         RE_NO_EMPTY_ALTS.
12007         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
12008         Add documentation of re_set_registers.
12009         Document trick to re-use a pattern buffer by setting fastmap manually.
12010         Update documentation of struct re_pattern_buffer per public members.
12011         Uncomment documentation of equivalence class operators and
12012         collating symbol operators, since they are now implemented,
12013         Explain leftmost-longest matching in relation to alternatives.
12014         Tidy documentation of substring matching.
12015         Remove POSIX documentation, which is done better in
12016         glibc, and refer the reader there. Keep BSD API documentation, as
12017         that is not readily available elsewhere.
12018
12019 2010-09-07  Eric Blake  <eblake@redhat.com>
12020
12021         getopt: handle POSIXLY_CORRECT set but not exported
12022         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
12023         export state of POSIXLY_CORRECT, due to bash set -o posix.
12024         Reported by Dustin J. Mitchell.
12025
12026 2010-09-05  Bruno Haible  <bruno@clisp.org>
12027
12028         gnulib-tool: Highlight the changed options.
12029         * gnulib-tool (func_usage): Display the --import, --add-import,
12030         --remove-import explanations in bold font.
12031
12032 2010-09-06  Karl Berry  <karl@gnu.org>
12033
12034         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
12035
12036 2010-09-05  Bruno Haible  <bruno@clisp.org>
12037
12038         uniwidth/width: Update comment.
12039         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
12040         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
12041
12042 2010-09-05  Bruno Haible  <bruno@clisp.org>
12043
12044         isinf, isnan: Relax license.
12045         * modules/isinf (License): Change from GPL to LGPL, with consent from
12046         Ben Pfaff.
12047         * modules/isnan (License): Likewise.
12048         Requested by Ludovic Courtès.
12049
12050 2010-09-04  Bruno Haible  <bruno@clisp.org>
12051
12052         gnulib-tool: Help migration from --import to --add-import or --update.
12053         * gnulib-tool: Emit a verbose error message when --import is used
12054         without any module name.
12055
12056 2010-09-04  Bruno Haible  <bruno@clisp.org>
12057
12058         Update doc about gnulib-tool.
12059         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
12060         'gnulib-tool --update' in more detail.
12061         Reported by Eric Blake.
12062
12063 2010-09-04  Bruno Haible  <bruno@clisp.org>
12064
12065         gnulib-tool: Change --import. New options --add/remove-import.
12066         * gnulib-tool: New options --add-import, --remove-import.
12067         (func_usage): Document them.
12068         (have_associative): Define always.
12069         (func_import): In import mode, don't merge the specified settings with
12070         the cached settings. Implement remove-import mode.
12071         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
12072         Explain when to use them versus --import.
12073         (Simple update): Use --add-import instead of --import.
12074         * NEWS: Mention the change.
12075
12076 2010-09-04  Bruno Haible  <bruno@clisp.org>
12077
12078         * doc/gnulib-tool.texi (Initial import): Update paragraph about
12079         separate gnulib.mk.
12080
12081 2010-09-04  Bruno Haible  <bruno@clisp.org>
12082
12083         gnulib-tool: Don't talk about CVS any more.
12084         * gnulib-tool (func_usage, func_import): Write "version control"
12085         instead of CVS.
12086
12087 2010-09-04  Jim Meyering  <meyering@redhat.com>
12088
12089         maint.mk: avoid obscure sc_copyright_check failure in coreutils
12090         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
12091         false positives (whose names may be ill-chosen) when searching
12092         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
12093         would cause a false-positive.
12094
12095         avoid coreutils "make distcheck" failure
12096         Coreutils tests with an absolute build directory name that contains
12097         a space.  Not quoting this directory name caused a failure.
12098         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
12099         * tests/test-vc-list-files-cvs.sh: Likewise.
12100
12101 2010-09-04  Bruno Haible  <bruno@clisp.org>
12102
12103         gnulib-tool: Avoid error when run in a package without Makefile.am.
12104         * gnulib-tool: When collecting the m4dirs in a package that does not
12105         have a Makefile.am, eliminate those directories that contain no
12106         gnulib-cache.m4. Fix expression that counts these directories.
12107
12108 2010-09-04  Bruno Haible  <bruno@clisp.org>
12109
12110         update-copyright test: Improve output when perl is missing or too old.
12111         * tests/test-update-copyright.sh: Move test of Perl version down after
12112         the test whether Perl exists. Provide an explanation relating Perl's
12113         error message to Automake's SKIP: message.
12114
12115 2010-09-04  Bruno Haible  <bruno@clisp.org>
12116
12117         Don't augment PATH in TESTS_ENVIRONMENT.
12118         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
12119         set abs_aux_dir instead of augmenting PATH.
12120         * modules/vc-list-files-tests (Makefile.am): Likewise.
12121         * tests/test-update-copyright.sh: Augment PATH here.
12122         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
12123         path_prepend_.
12124         * tests/test-vc-list-files-git.sh: Likewise.
12125
12126 2010-09-04  Jim Meyering  <meyering@redhat.com>
12127
12128         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
12129         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
12130
12131 2010-09-04  Bruno Haible  <bruno@clisp.org>
12132
12133         strdup: Fix compilation error in C++ mode.
12134         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
12135         the macro.
12136
12137 2010-09-04  Bruno Haible  <bruno@clisp.org>
12138
12139         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
12140         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
12141         macro into a function.
12142         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
12143
12144 2010-09-04  Bruno Haible  <bruno@clisp.org>
12145
12146         Set PATH_SEPARATOR the same way autoconf does.
12147         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
12148         the value of PATH_SEPARATOR the same way autoconf-generated configure
12149         scripts do.
12150         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
12151         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
12152
12153 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
12154
12155         Set PATH_SEPARATOR the same way autoconf does.
12156         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
12157         the same way autoconf-generated configure scripts do.
12158         * posix-modules: Likewise.
12159
12160 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
12161
12162         hash: fix safe_hasher const typo
12163         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
12164         const; otherwise, there is a type error later.
12165
12166 2010-09-02  Jim Meyering  <meyering@redhat.com>
12167
12168         test-update-copyright.sh: require perl 5.8.0
12169         * tests/test-update-copyright.sh: Require 5.8.0,
12170         which Tom G. Christensen has confirmed is adequate,
12171         while 5.6.1 is not.
12172
12173 2010-09-02  Eric Blake  <eblake@redhat.com>
12174
12175         tests: init.sh improvements for re-exec'ing with zsh
12176         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
12177         -vx through shell re-exec.
12178         Reported by Tom G. Christensen.
12179
12180         wctype: fix typo in previous commit
12181         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
12182         Reported by Ludovic Courtès.
12183
12184 2010-09-02  Jim Meyering  <meyering@redhat.com>
12185
12186         test-update-copyright.sh: skip test if Perl is too old
12187         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
12188         Reported by Tom G. Christensen.
12189
12190 2010-09-02  Bruno Haible  <bruno@clisp.org>
12191
12192         wctype: Avoid compilation error on IRIX 6.5.30.
12193         * lib/wctype.in.h (iswblank): Declare with a replacement if
12194         REPLACE_ISWBLANK is set.
12195         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
12196         declared. Set REPLACE_ISWBLANK.
12197         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
12198         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
12199         * doc/posix-headers/wctype.texi: Likewise.
12200         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
12201
12202 2010-09-01  Bruno Haible  <bruno@clisp.org>
12203
12204         New module 'socketlib'.
12205         * modules/socketlib: New file.
12206         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
12207         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
12208         * modules/sockets (Depends-on): Add socketlib.
12209         Suggested by Sam Steingold <sds@gnu.org>.
12210
12211 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
12212
12213         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
12214
12215         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
12216         when one needs search access to a directory but not read access.
12217         On systems where it is available, it works in some cases where
12218         O_RDONLY does not, namely on directories that are searchable but
12219         not readable, and which need only to be searchable.  If O_SEARCH
12220         is not available, fall back to the traditional method of using
12221         O_RDONLY.
12222
12223         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
12224         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
12225         when opening a directory that needs only to be searchable.
12226         * lib/chdir-safer.c (chdir_no_follow): Likewise.
12227         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
12228         * lib/openat-proc.c (openat_proc_name): Likewise.
12229         * lib/openat.c (openat_needs_fchdir): Likewise.
12230         * lib/save-cwd.c (save_cwd): Likewise.
12231         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
12232
12233 2010-08-28  Bruno Haible  <bruno@clisp.org>
12234
12235         New module 'host-cpu-c-abi'.
12236         * modules/host-cpu-c-abi: New file.
12237         * m4/host-cpu-c-abi.m4: New file, based on part of
12238         clisp/src/m4/general.m4.
12239         Requested by Sam Steingold <sds@gnu.org>.
12240
12241 2010-08-31  Eric Blake  <eblake@redhat.com>
12242         and Jim Meyering  <meyering@redhat.com>
12243
12244         hash: factor, and guard against misbehaving hasher function
12245         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
12246         of table->hasher's return value.  Also protect against a hash value
12247         so large that adding it to table->bucket results in a NULL pointer.
12248         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
12249         Use it in place of open-coded check-and-abort.
12250
12251 2010-08-30  Bruno Haible  <bruno@clisp.org>
12252
12253         hash: silence spurious clang warning
12254         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
12255         Reported by Eric Blake.
12256
12257 2010-08-30  Eric Blake  <eblake@redhat.com>
12258
12259         strstr, memmem, strcasestr: avoid leaked shell message
12260         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
12261         FreeBSD.
12262         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
12263         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
12264
12265         tests: silence clang warning
12266         * tests/test-malloca.c (do_allocation): Avoid dead store.
12267
12268 2010-08-29  Bruno Haible  <bruno@clisp.org>
12269
12270         gettext: Fix recent mistake.
12271         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
12272
12273 2010-08-29  Bruno Haible  <bruno@clisp.org>
12274
12275         selinux-h: Offer a --without-selinux option.
12276         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
12277         --without-selinux was specified, skip all tests and define
12278         HAVE_SELINUX_SELINUX_H to 0.
12279         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
12280         set LIB_SELINUX to empty.
12281         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
12282         gl_LIBSELINUX. If --without-selinux was specified, replace
12283         selinux/context.h.
12284         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
12285
12286 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
12287             Bruno Haible  <bruno@clisp.org>
12288
12289         Make the module 'realloc-gnu' work again on AIX and OSF/1.
12290         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
12291         of HAVE_REALLOC.
12292         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
12293         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
12294         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
12295         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
12296
12297 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
12298             Bruno Haible  <bruno@clisp.org>
12299
12300         Make the module 'calloc-gnu' work again on AIX and OSF/1.
12301         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
12302         HAVE_CALLOC.
12303         * lib/xmalloc.c: Update accordingly.
12304         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
12305         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
12306         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
12307
12308 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
12309             Bruno Haible  <bruno@clisp.org>
12310
12311         Make the module 'malloc-gnu' work again on AIX and OSF/1.
12312         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
12313         HAVE_MALLOC.
12314         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
12315         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
12316         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
12317
12318 2010-08-29  Bruno Haible  <bruno@clisp.org>
12319
12320         Update modules list.
12321         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
12322         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
12323         (String handling <string.h>): Add astrxfrm.
12324         (File system functions): Add readlinkat.
12325
12326 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12327
12328         Tests for module 'realloc-gnu'.
12329         * modules/realloc-gnu-tests: New file.
12330         * tests/test-realloc-gnu.c: New file.
12331
12332         Tests for module 'calloc-gnu'.
12333         * modules/calloc-gnu-tests: New file.
12334         * tests/test-calloc-gnu.c: New file.
12335
12336         Tests for module 'malloc-gnu'.
12337         * modules/malloc-gnu-tests: New file.
12338         * tests/test-malloc-gnu.c: New file.
12339
12340 2010-08-28  Bruno Haible  <bruno@clisp.org>
12341
12342         Rename module 'realloc' -> 'realloc-gnu'.
12343         * modules/realloc-gnu: New file, copied from modules/realloc.
12344         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
12345         obsolete.
12346         * modules/mgetgroups (Depends-on): Update.
12347         * doc/posix-functions/realloc.texi: Update.
12348         * NEWS: Mention the change.
12349
12350         Rename module 'calloc' -> 'calloc-gnu'.
12351         * modules/calloc-gnu: New file, copied from modules/calloc.
12352         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
12353         obsolete.
12354         * doc/posix-functions/calloc.texi: Update.
12355         * NEWS: Mention the change.
12356
12357         Rename module 'malloc' -> 'malloc-gnu'.
12358         * modules/malloc-gnu: New file, copied from modules/malloc.
12359         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
12360         obsolete.
12361         * modules/argp (Depends-on): Update.
12362         * modules/regex (Depends-on): Update.
12363         * doc/posix-functions/malloc.texi: Update.
12364         * NEWS: Mention the change.
12365
12366 2010-08-28  Eric Blake  <eblake@redhat.com>
12367
12368         pread, pwrite: add missing dependency
12369         * modules/pread (Depends-on): Add extensions.
12370         * modules/pwrite (Depends-on): Likewise.
12371
12372 2010-08-28  Bruno Haible  <bruno@clisp.org>
12373
12374         unistr/u*-strchr: Fix tests dependencies.
12375         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
12376         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
12377         Reported by Ian Beckwith <ianb@erislabs.net>.
12378
12379 2010-08-28  Bruno Haible  <bruno@clisp.org>
12380
12381         read-file: Don't occupy too much unused memory.
12382         * lib/read-file.c (fread_file): Shrink the buffer at the end.
12383
12384 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
12385             Eric Blake  <eblake@redhat.com>
12386             Bruno Haible  <bruno@clisp.org>
12387
12388         read-file: Avoid memory reallocations with regular files.
12389         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
12390         (fread_file): With regular files, use the remaining length as the
12391         initial buffer size.  Check against overflow.
12392         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
12393         sys_stat.
12394
12395 2010-08-28  Bruno Haible  <bruno@clisp.org>
12396
12397         ftello: Relax license.
12398         * modules/ftello (License): Relax to LGPLv2+.
12399         Reported by Eric Blake.
12400
12401 2010-08-28  Bruno Haible  <bruno@clisp.org>
12402
12403         Avoid relocwrapper link errors due to gnulib replacement functions.
12404         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
12405         function.
12406         Reported by Ben Pfaff <blp@cs.stanford.edu>.
12407
12408 2010-08-28  Bruno Haible  <bruno@clisp.org>
12409
12410         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
12411         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
12412         defined.
12413         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
12414         Suggested by Eric Blake.
12415
12416 2010-08-28  Bruno Haible  <bruno@clisp.org>
12417
12418         sys_socket, netdb: Ensure socklen_t gets defined.
12419         * modules/sys_socket (Depends-on): Add socklen.
12420         * modules/netdb (Depends-on): Likewise.
12421         * modules/getaddrinfo (Depends-on): Remove socklen.
12422         * modules/getsockopt (Depends-on): Likewise.
12423         * modules/setsockopt (Depends-on): Likewise.
12424         * tests/test-sys_socket.c: Check that socklen_t is defined.
12425         * tests/test-netdb.c: Likewise.
12426         * m4/socklen.m4: Update comments.
12427         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
12428
12429 2010-08-27  Eric Blake  <eblake@redhat.com>
12430
12431         login_tty: add missing dependency
12432         * modules/login_tty (Depends-on): Add pty.
12433
12434 2010-08-26  Eric Blake  <eblake@redhat.com>
12435
12436         lib-symbol-versions: fix m4 quoting
12437         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
12438         format for AC_LINK_IFELSE.
12439
12440         glob: fix compile test
12441         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
12442
12443         btowc: fix missing file
12444         * modules/btowc (Files): Also ship locale-fr.m4.
12445
12446         lseek: fix link test
12447         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
12448         AC_LINK_IFELSE.
12449
12450         include_next: silence autoconf 2.68 warning
12451         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
12452         AC_COMPILE_IFELSE as special.
12453         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
12454         autoconf < 2.68.
12455
12456         acl: fix compilation test
12457         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
12458         AC_COMPILE_IFELSE.
12459
12460 2010-08-26  Bruno Haible  <bruno@clisp.org>
12461
12462         Modernize AC_TRY_RUN invocations.
12463         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
12464         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
12465         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
12466         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
12467         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
12468         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
12469         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
12470         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
12471         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
12472         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
12473         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
12474         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
12475         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
12476         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
12477         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
12478         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
12479         gl_MBRLEN_NUL_RETVAL): Likewise.
12480         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
12481         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
12482         Likewise.
12483         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
12484         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
12485         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
12486         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
12487         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
12488         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
12489         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
12490         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
12491         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
12492         Likewise.
12493         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
12494         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
12495         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
12496         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
12497         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
12498         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
12499         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
12500         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
12501         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
12502         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
12503
12504 2010-08-26  Bruno Haible  <bruno@clisp.org>
12505
12506         Modernize AC_TRY_LINK invocations.
12507         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
12508         AC_TRY_LINK.
12509         * m4/argp.m4 (gl_ARGP): Likewise.
12510         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
12511         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
12512         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
12513         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
12514         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
12515         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
12516         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
12517         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
12518         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
12519         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
12520         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
12521         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
12522         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
12523         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
12524         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
12525         * m4/hostent.m4 (gl_HOSTENT): Likewise.
12526         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
12527         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
12528         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
12529         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
12530         Likewise.
12531         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
12532         Likewise.
12533         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
12534         Likewise.
12535         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
12536         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
12537         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
12538         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
12539         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
12540         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
12541         * m4/servent.m4 (gl_SERVENT): Likewise.
12542         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
12543         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
12544         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
12545         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
12546         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
12547         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
12548         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
12549         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
12550         * modules/tsearch-tests (configure.ac): Likewise.
12551
12552 2010-08-26  Bruno Haible  <bruno@clisp.org>
12553
12554         Modernize AC_TRY_COMPILE invocations.
12555         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
12556         AC_TRY_COMPILE.
12557         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
12558         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
12559         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
12560         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
12561         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
12562         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
12563         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
12564         * m4/lock.m4 (gl_LOCK): Likewise.
12565         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
12566         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
12567         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
12568         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
12569         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
12570         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
12571         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
12572         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
12573         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
12574         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
12575         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
12576         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
12577         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
12578         extraneous semicolon.
12579
12580 2010-08-26  Jim Meyering  <meyering@redhat.com>
12581
12582         stat-time: relax license LGPL
12583         * modules/stat-time (License): Change from GPL to LGPL,
12584         with consent from all contributors, for use in libguile.
12585         Requested by Ludovic Courtès.
12586
12587 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
12588
12589         poll: return immediately on POLLHUP.
12590         * lib/poll.c (poll): Always set timeout before wait_timeout is
12591         computed.
12592
12593 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12594
12595         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
12596         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
12597         rmdir ("dir/.//"), unlinkat.
12598
12599 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
12600
12601         stdbool: avoid spurious failure with modern xlc
12602         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
12603
12604 2010-08-24  Bruno Haible  <bruno@clisp.org>
12605
12606         getloadavg: simplify code
12607         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
12608         gl_have_func. Update comments.
12609
12610 2010-08-24  Eric Blake  <eblake@redhat.com>
12611
12612         getloadavg: don't define SVR4 on cygwin
12613         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
12614         only define SVR4 when -lkvm is required.
12615         Reported by Yaakov Selkowitz.
12616
12617 2010-08-24  Bruno Haible  <bruno@clisp.org>
12618
12619         priv-set: fix comment
12620         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
12621
12622 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
12623
12624         priv-set: fix comments
12625         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
12626         to match code, as suggested by David Bartley in:
12627         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
12628
12629 2010-08-23  Eric Blake  <eblake@redhat.com>
12630
12631         stdbool: avoid rejecting clang
12632         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
12633         * tests/test-stdbool.c: Enable more tests if using the system
12634         <stdbool.h> instead of the gnulib replacement.
12635         (main): Move xlc bug test to a runtime test for all compilers.
12636         Reported by Anders Kaseorg.
12637
12638         argz: fix shell quoting issue
12639         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
12640         Reported by Charles Wilson.
12641
12642 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
12643             Erik Faye-Lund <kusmabite@gmail.com>
12644
12645         poll, select: handle ERROR_BROKEN_PIPE.
12646         * lib/poll.c (win32_compute_revents): Return POLLHUP when
12647         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
12648         * lib/select.c (win32_compute_revents): Do not mark a pipe
12649         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
12650
12651 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
12652
12653         fts: allow compilation with C++
12654         * lib/fts_.h: Specify extern "C" linkage with C++.
12655
12656 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12657
12658         Fix gnulib-tool sed script de-commentation for AIX sed.
12659         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
12660         sed.
12661
12662 2010-08-17  Eric Blake  <eblake@redhat.com>
12663
12664         test-stddef: test for (some) offsetof bugs
12665         * tests/test-stddef.c: Enhance test to ensure correct type of
12666         offsetof.
12667         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
12668         that we are not fixing at this time.
12669
12670 2010-08-15  Bruno Haible  <bruno@clisp.org>
12671
12672         stpncpy: Allow stpncpy to be defined as a macro.
12673         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
12674         if it's already correctly declared.
12675         * lib/string.in.h (stpncpy): Undefine before redefining.
12676         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
12677
12678 2010-08-14  Bruno Haible  <bruno@clisp.org>
12679
12680         Rename module 'memxfrm' to 'amemxfrm'.
12681         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
12682         (amemxfrm): Renamed from memxfrm.
12683         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
12684         (amemxfrm): Renamed from memxfrm.
12685         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
12686         * NEWS: Mention the change.
12687         * MODULES.html.sh (String handling <string.h>): Update.
12688         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
12689         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
12690         * lib/unicase/u16-casexfrm.c: Likewise.
12691         * lib/unicase/u32-casexfrm.c: Likewise.
12692         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
12693         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
12694         * lib/uninorm/u16-normxfrm.c: Likewise.
12695         * lib/uninorm/u32-normxfrm.c: Likewise.
12696         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
12697         memxfrm.
12698         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
12699         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
12700         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
12701         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
12702         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
12703         Suggested by Paul Eggert.
12704
12705 2010-08-14  Bruno Haible  <bruno@clisp.org>
12706
12707         Tests for module 'astrxfrm'.
12708         * modules/astrxfrm-tests: New file.
12709         * tests/test-astrxfrm.c: New file.
12710
12711         New module 'astrxfrm'.
12712         * lib/astrxfrm.h: New file.
12713         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
12714         * modules/astrxfrm: New file.
12715
12716 2010-08-14  Reuben Thomas <rrt@sc3d.org>
12717
12718         regex: Tweak doc.
12719         * doc/regex.texi (Overview): Don't mention regex.c.
12720         (GNU Regular Expression Compiling): Likewise.
12721         (Match-end-of-line Operator): Mention 'not_eol'.
12722
12723 2010-08-14  Brian Gough  <bjg@gnu.org>
12724             Bruno Haible  <bruno@clisp.org>
12725
12726         git-merge-changelog: add doc relating to use with bzr and hg.
12727         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
12728
12729 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
12730
12731         pthread: fix pthread.h creation for srcdir != builddir
12732         * modules/pthread (Makefile.am): Fix the rule to work also in a
12733         non-srcdir build.
12734
12735 2010-08-13  Karl Berry  <karl@gnu.org>
12736
12737         * doc/regex.texi (Predefined Syntaxes): @smallexample.
12738         * doc/posix-*/*: force line break before @url of POSIX
12739         specifications.
12740         Suggested by Werner Lemberg.
12741
12742 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
12743
12744         strtod: fix const diagnostic
12745         * lib/strtod.c (strtod): Don't assign const char * to char *,
12746         as this elicits a warning from GCC when warnings are enabled.
12747
12748 2010-08-10  Pádraig Brady <P@draigbrady.com>
12749         and Eric Blake  <eblake@redhat.com>
12750
12751         copy-acl: ignore ENOTSUP on HP-UX
12752         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
12753         so that it is available for HP-UX.
12754         * lib/copy-acl.c (qcopy_acl): Use it.
12755         Reported by Patrick M. Callahan.
12756
12757 2010-08-10  Eric Blake  <eblake@redhat.com>
12758
12759         open, chown: relax license
12760         * modules/open (License): Change to LGPLv2+, with consent by all
12761         authors, for use in augeas.
12762         * modules/chown (License): Likewise.
12763         * modules/lchown (Likewise): Likewise.
12764         Requested by Adam Stokes.
12765
12766 2010-08-09  Karl Berry  <karl@gnu.org>
12767
12768         * build-aux/ar-lib: new file, import from Automake.
12769         * config/srclist.txt: autocheck for updates.
12770
12771 2010-08-09  Eric Blake  <eblake@redhat.com>
12772
12773         readlinkat: adjust client modules
12774         * modules/areadlinkat (Depends-on): Use readlinkat, not
12775         symlinkat.
12776         * modules/areadlinkat-with-size (Depends-on): Likewise.
12777
12778         mknod: be more vocal about danger of running tests as root
12779         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
12780         root, since that is just asking for problems.
12781         Suggested by Bruno Haible, based on a report by Rainer Tammer.
12782
12783         readlinkat: split into its own module
12784         * modules/symlinkat: Split readlinkat...
12785         * modules/readlinkat: ...into separate module.
12786         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
12787         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
12788         * lib/symlinkat.c (readlinkat): Move...
12789         * lib/readlinkat.c: ...into new file.
12790         * modules/symlinkat-tests: Split readlinkat test...
12791         * modules/readlinkat-tests: ...into separate module.
12792         * tests/test-symlinkat.c: Split...
12793         * tests/test-readlinkat.c: ...into new file.
12794         * NEWS: Document the split.
12795         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
12796         * lib/unistd.in.h (readlinkat): Likewise.
12797         Suggested by Bruno Haible.
12798
12799 2010-08-08  Bruno Haible  <bruno@clisp.org>
12800
12801         memxfrm: Speed up.
12802         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
12803         that usually only one call to strxfrm is necessary for each string
12804         part.
12805         Reported by Paul Eggert <eggert@cs.ucla.edu>.
12806
12807 2010-08-07  Karl Berry  <karl@gnu.org>
12808
12809         * doc/posix-headers/limits.texi,
12810         * doc/posix-functions/malloc.texi,
12811         * doc/posix-functions/strsignal.texi: missing @item.
12812         * doc/ld-version-script.texi: spurious leading i.
12813         * doc/regex.texi (Interval Operators): no commas inside @var.
12814
12815 2010-08-01  Bruno Haible  <bruno@clisp.org>
12816
12817         Integrate the regex documentation.
12818         * doc/gnulib.texi: Define 'cn' index.
12819         (Regular expressions): New a chapter that includes regex.texi and
12820         regexprops-generic.texi.
12821         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
12822         syntax.
12823
12824         Whitespace cleanup.
12825         * doc/regex.texi: Remove trailing spaces.
12826
12827         Add regex documentation.
12828         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
12829         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
12830         Written by Kathy A. Hargreaves and Karl Berry.
12831
12832 2010-08-01  Bruno Haible  <bruno@clisp.org>
12833
12834         link: Update documentation.
12835         * doc/posix-functions/link.texi: Update regarding Solaris.
12836
12837 2010-07-31  Bruno Haible  <bruno@clisp.org>
12838
12839         Update modules list.
12840         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
12841         (String handling <string.h>): Add memcmp2, memxfrm.
12842         (Container data structures): Add xlist, xsublist, xoset.
12843         (Core language properties): Add alignof, unused-parameter.
12844         (Process control, Numeric conversion functions <stdlib.h>): Renamed
12845         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
12846         (Unibyte characters <ctype.h>): New section.
12847         (String handling <string.h>): New section.
12848         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
12849         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
12850         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
12851         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
12852         tan, tanh, tanl, y0, y1, yn.
12853         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
12854         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
12855         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
12856         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
12857         unlockpt, vdprintf, vdprintf-posix.
12858         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
12859         (File system functions): Add concat-filename, sys_file, sys_ioctl,
12860         xconcat-filename.
12861         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
12862         getdtablesize, pipe2, pipe2-safer.
12863         (Security): New section.
12864         (Networking functions): Add accept4.
12865         (Signal handling): Add sigpipe.
12866         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
12867         mbmemcasecoll.
12868         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
12869         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
12870         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
12871         pipe-filter-ii.
12872         (Misc): Add argp-version-etc, login_tty, parse-duration.
12873
12874 2010-07-31  Bruno Haible  <bruno@clisp.org>
12875
12876         Improve doc in MODULES.html.
12877         * modules/linkat (Description): Add the word "function".
12878         * modules/mkfifo (Description): Likewise.
12879         * modules/mknod (Description): Likewise.
12880         * modules/remove (Description): Likewise.
12881         * modules/renameat (Description): Likewise.
12882         * modules/stat (Description): Likewise.
12883         * modules/symlink (Description): Likewise.
12884         * modules/unlink (Description): Likewise.
12885
12886 2010-07-31  Bruno Haible  <bruno@clisp.org>
12887
12888         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
12889         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
12890         option --enable/disable-c++ instead of --enable/disable-cxx.
12891         * NEWS: Mention the change.
12892
12893 2010-07-31  Bruno Haible  <bruno@clisp.org>
12894
12895         readlink, areadlink: Relax test a bit.
12896         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
12897         alternative to ENOTDIR.
12898         * tests/test-areadlink.h (test_areadlink): Likewise.
12899         Reported by Rainer Tammer.
12900
12901 2010-07-31  Bruno Haible  <bruno@clisp.org>
12902
12903         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
12904         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
12905         character, perform the search using U_STRCHR.
12906         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
12907         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
12908         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
12909         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
12910         Suggested by Paolo Bonzini.
12911
12912 2010-07-31  Bruno Haible  <bruno@clisp.org>
12913
12914         unistr/u*-strstr: Fix dependencies.
12915         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
12916         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
12917         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
12918
12919 2010-07-31  Bruno Haible  <bruno@clisp.org>
12920
12921         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
12922         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
12923         the beginning of the loop.
12924         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
12925         cases in 'switch' statement.
12926
12927         unistr/u8-strchr: Fix several bugs.
12928         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
12929         the string. When not found, return NULL, not a pointer near the end.
12930
12931         More tests for unistr/u8-strchr.
12932         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
12933         that the function does not read past the first occurrence of the byte
12934         being searched.
12935         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
12936         * tests/unistr/test-u16-strchr.c (main): New function.
12937         * tests/unistr/test-u32-strchr.c (main): New function.
12938
12939 2010-07-31  Bruno Haible  <bruno@clisp.org>
12940
12941         posix-modules: Ignore backup files of documentation files.
12942         * posix-modules: grep only through files named *.texi.
12943
12944 2010-07-31  Bruno Haible  <bruno@clisp.org>
12945
12946         symlinkat: Fix documentation.
12947         * doc/posix-functions/readlinkat.texi: Fix module name.
12948
12949 2010-07-31  Bruno Haible  <bruno@clisp.org>
12950
12951         fchownat: Replace also when chown has the trailing slash bug.
12952         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
12953         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
12954         introduced on 2010-04-10.
12955         Reported by Rainer Tammer.
12956
12957 2010-07-31  Bruno Haible  <bruno@clisp.org>
12958
12959         linkat: Work around AIX 7.1 bug.
12960         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
12961         whether linkat handles trailing slash correctly. If not, replace linkat
12962         and define LINKAT_TRAILING_SLASH_BUG.
12963         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
12964         check whether (fd1,file1) points to a directory if file1 or file2 ends
12965         in a slash. Code taken from lib/link.c.
12966         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
12967         Reported by Rainer Tammer.
12968
12969 2010-07-31  Bruno Haible  <bruno@clisp.org>
12970
12971         Correctly determine whether pow is available in libc on AIX 7 with xlc.
12972         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
12973         This disables an xlc optimization that was causing wrong test results.
12974         Reported by Rainer Tammer.
12975
12976 2010-07-31  Bruno Haible  <bruno@clisp.org>
12977
12978         iconv: Work around AIX 6.1..7.1 bug.
12979         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
12980         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
12981         cross-compiling, guess no on all versions of AIX.
12982         Reported by Rainer Tammer.
12983
12984 2010-07-31  Bruno Haible  <bruno@clisp.org>
12985
12986         readlink: Relax test a bit.
12987         * tests/test-readlink.h (test_readlink): Allow different errno value
12988         when readlink is called with a file name that ends in / and refers to
12989         a file.
12990         Suggested by Eric Blake.
12991         Reported by Rainer Tammer.
12992
12993 2010-07-31  Bruno Haible  <bruno@clisp.org>
12994
12995         copysign: Does not require -lm on glibc systems.
12996         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
12997         gl_COMMON_DOUBLE_MATHFUNC.
12998         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
12999
13000 2010-07-31  Bruno Haible  <bruno@clisp.org>
13001
13002         duplocale: Work around AIX 7.1 bug.
13003         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
13004         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
13005         * lib/duplocale.c (rpl_duplocale): Update comment.
13006         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
13007         Reported by Rainer Tammer.
13008
13009 2010-07-30  Bruno Haible  <bruno@clisp.org>
13010
13011         dirfd: Avoid link error on AIX 7.1.
13012         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
13013         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
13014         exist, set REPLACE_DIRFD.
13015         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
13016         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
13017         * doc/posix-functions/dirfd.texi: Update.
13018         Reported by Rainer Tammer.
13019
13020 2010-07-30  Eric Blake  <eblake@redhat.com>
13021
13022         strtod: next round of AIX fixes
13023         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
13024         exponent.
13025         * tests/test-strtod.c (main): Enhance tests.
13026         * doc/posix-functions/strtod.texi (strtod): Document next bug.
13027         Reported by Rainer Tammer.
13028
13029         futimens: fix configure check
13030         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
13031         Reported by Bruno Haible.
13032
13033 2010-07-30  Bruno Haible  <bruno@clisp.org>
13034
13035         getline: Update regarding AIX.
13036         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
13037         Reported by Rainer Tammer.
13038
13039 2010-07-30  Bruno Haible  <bruno@clisp.org>
13040
13041         wcwidth: Drop replacement on AIX 7.
13042         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
13043         AIX 7.
13044         Reported by Rainer Tammer.
13045
13046 2010-07-30  Bruno Haible  <bruno@clisp.org>
13047
13048         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
13049         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
13050         a 'char *'.
13051         Reported by Rainer Tammer.
13052
13053 2010-07-30  Bruno Haible  <bruno@clisp.org>
13054
13055         unlink: Update regarding AIX.
13056         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
13057         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
13058         Reported by Rainer Tammer.
13059
13060 2010-07-30  Bruno Haible  <bruno@clisp.org>
13061
13062         symlink: Update regarding AIX.
13063         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
13064         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
13065         Reported by Rainer Tammer.
13066
13067 2010-07-30  Bruno Haible  <bruno@clisp.org>
13068
13069         strndup: Update regarding AIX.
13070         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
13071         AIX 7.
13072         Reported by Rainer Tammer.
13073
13074 2010-07-30  Bruno Haible  <bruno@clisp.org>
13075
13076         stat: Update regarding AIX.
13077         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
13078         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
13079         Reported by Rainer Tammer.
13080
13081 2010-07-30  Bruno Haible  <bruno@clisp.org>
13082
13083         truncl: Fix autoconf test.
13084         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
13085         whether truncl works.
13086         Reported by Rainer Tammer.
13087
13088 2010-07-30  Bruno Haible  <bruno@clisp.org>
13089
13090         round: Update regarding AIX.
13091         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
13092         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
13093         Reported by Rainer Tammer.
13094
13095 2010-07-30  Bruno Haible  <bruno@clisp.org>
13096
13097         rename: Update regarding AIX.
13098         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
13099         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
13100         Reported by Rainer Tammer.
13101
13102 2010-07-30  Bruno Haible  <bruno@clisp.org>
13103
13104         printf.m4: Update regarding AIX.
13105         * m4/printf.m4: Update comments regarding AIX.
13106         Reported by Rainer Tammer.
13107
13108 2010-07-30  Bruno Haible  <bruno@clisp.org>
13109
13110         iconv: Update regarding AIX.
13111         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
13112         AIX 7.
13113         Reported by Rainer Tammer.
13114
13115 2010-07-30  Bruno Haible  <bruno@clisp.org>
13116
13117         getopt: Update regarding AIX.
13118         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
13119         no on AIX.
13120         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
13121         Reported by Rainer Tammer.
13122
13123 2010-07-30  Bruno Haible  <bruno@clisp.org>
13124
13125         ldexpl; Update regarding AIX.
13126         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
13127         on AIX 7.
13128         Reported by Rainer Tammer.
13129
13130 2010-07-30  Bruno Haible  <bruno@clisp.org>
13131
13132         frexpl: Update regarding AIX.
13133         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
13134         on AIX 7.
13135         Reported by Rainer Tammer.
13136
13137 2010-07-30  Bruno Haible  <bruno@clisp.org>
13138
13139         open, fopen: Update regarding AIX.
13140         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
13141         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
13142         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
13143         * doc/posix-functions/fopen.texi: Likewise.
13144         Reported by Rainer Tammer.
13145
13146 2010-07-30  Bruno Haible  <bruno@clisp.org>
13147
13148         chown: Update doc regarding AIX.
13149         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
13150         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
13151         Reported by Rainer Tammer.
13152
13153 2010-07-30  Eric Blake  <eblake@redhat.com>
13154
13155         strtod: fix bug in replacement function on AIX
13156         * lib/strtod.c (strtod): Special case broken "0x" parse in
13157         underlying strtod.
13158         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
13159         * doc/posix-functions/strtod.texi (strtod): Likewise.
13160         Reported by Rainer Tammer.
13161
13162 2010-07-30  Bruno Haible  <bruno@clisp.org>
13163
13164         mbrlen: Fix cross-compilation guess for AIX.
13165         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
13166         guess. Leftover from 2008-12-22.
13167
13168 2010-07-30  Bruno Haible  <bruno@clisp.org>
13169
13170         mbrtowc: Fix cross-compilation guess for AIX.
13171         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
13172         guess. Leftover from 2008-12-21.
13173
13174 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
13175
13176         init.sh: work around trap limitation of some shells
13177         * tests/init.sh (setup_): Move exit trap outside of shell function.
13178
13179 2010-07-29  Eric Blake  <eblake@redhat.com>
13180
13181         strtod: aid debugging
13182         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
13183         understanding why strtod is rejected.
13184
13185 2010-07-28  Bruno Haible  <bruno@clisp.org>
13186
13187         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
13188         * lib/unistr/u8-chr.c: Include <string.h>.
13189         * tests/unistr/test-u8-chr.c: Likewise.
13190         * tests/unistr/test-u16-chr.c: Likewise.
13191         * tests/unistr/test-u32-chr.c: Likewise.
13192         * tests/unistr/test-u8-strchr.c: Likewise.
13193         * tests/unistr/test-u16-strchr.c: Likewise.
13194         * tests/unistr/test-u32-strchr.c: Likewise.
13195         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
13196         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
13197         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
13198         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
13199
13200 2010-07-28  Bruno Haible  <bruno@clisp.org>
13201
13202         Use spaces for indentation, not tabs.
13203         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
13204
13205 2010-07-27  Bruno Haible  <bruno@clisp.org>
13206
13207         mbspcasecmp: Fix function specification.
13208         * lib/string.in.h (mbspcasecmp): Fix specification comment.
13209         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
13210         Reported by Eric Blake <eblake@redhat.com>.
13211
13212 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
13213
13214         timespec: use cast and not conditional, as truncation isn't possible
13215         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
13216         instead of a conditional.  Comment about the situation in more detail.
13217         This undoes most of the 2009-10-29 patch.
13218
13219 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
13220
13221         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
13222         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
13223         * lib/unistr/u8-strchr.c: Likewise.
13224         * modules/unistr/u8-chr: Depend on memchr.
13225
13226         unistr/u*-strchr: add tests
13227         * modules/unistr/u8-strchr-tests: New file.
13228         * modules/unistr/u16-strchr-tests: New file.
13229         * modules/unistr/u32-strchr-tests: New file.
13230         * tests/unistr/test-strchr.h: New file.
13231         * tests/unistr/test-u8-strchr.c: New file.
13232         * tests/unistr/test-u16-strchr.c: New file.
13233         * tests/unistr/test-u32-strchr.c: New file.
13234
13235         unistr/u*-chr: test multibyte sequences more
13236         * tests/unistr/test-chr.h: Do complete testing of the characters in the
13237         test vector.
13238         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
13239         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
13240         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
13241
13242         unistr/u*-chr: test multibyte sequences
13243         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
13244
13245         unistr/u*-chr: prepare for multibyte tests
13246         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
13247         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
13248         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
13249         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
13250         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
13251         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
13252
13253 2010-07-18  Bruno Haible  <bruno@clisp.org>
13254
13255         unistr/u8-strchr: Optimize non-ASCII argument case.
13256         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
13257         because the first byte often matches anyway.
13258         Reported by Pádraig Brady <P@draigbrady.com>.
13259
13260 2010-07-15  Karl Berry  <karl@gnu.org>
13261
13262         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
13263
13264 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
13265
13266         getcwd: on Solaris, work better if ancestors are inaccessible
13267         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
13268         buffer and size, try again with a large buffer.  This works better
13269         on Solaris, since its getcwd succeeds even if the path to the root
13270         is inaccessible, and this is helpful in common cases such as .zfs
13271         hidden directories.  Problem reported by J Chapman Flack in
13272         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
13273         Use system getcwd if it's declared, not merely if it's partly
13274         working; use the partly-working test only to avoid needless effort
13275         if the system getcwd fails.
13276         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
13277         comment that was already obsolete and is now even more obsolete.
13278         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
13279         now might call strdup.
13280
13281 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
13282
13283         pthread: Add enough so that coreutils/src/sort.c compiles.
13284         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
13285         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
13286         gnulib. Include <sched.h> and <time.h>, as per POSIX.
13287         Include <sys/types.h>, in case it defines pthread_t.
13288         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
13289         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
13290         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
13291         (pthread_rwlockattr_t, pthread_spinlock_t):
13292         New typedefs, if HAVE_PTHREAD_T is not defined.
13293         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
13294         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
13295         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
13296         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
13297         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
13298         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
13299         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
13300         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
13301         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
13302         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
13303         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
13304         New macros.
13305         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
13306         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
13307         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
13308         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
13309         (pthread_spin_unlock): New dummy functions.
13310         (pthread_create): Return EAGAIN; don't set errno.
13311         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
13312         require AC_C_INLINE.
13313         * modules/pthread (Depends-on): Add sched, time.
13314         (pthread.h): Use AM_V_GEN.
13315
13316 2010-07-13  Bruno Haible  <bruno@clisp.org>
13317
13318         striconveh: Don't malloc memory if the result buffer is sufficient.
13319         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
13320         buffer if its size is sufficient.
13321         Reported by Ludovic Courtès <ludo@gnu.org>.
13322
13323 2010-07-13  Bruno Haible  <bruno@clisp.org>
13324
13325         strtod: Add safety check.
13326         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
13327
13328 2010-07-12  Bruno Haible  <bruno@clisp.org>
13329
13330         Unify tests that set gl_cv_func_ldexpl_no_libm.
13331         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
13332         gl_FUNC_LDEXPL.
13333         (gl_FUNC_LDEXPL): Invoke it.
13334         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
13335
13336 2010-07-12  Bruno Haible  <bruno@clisp.org>
13337
13338         Unify tests that set gl_cv_func_ldexp_no_libm.
13339         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
13340         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
13341         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
13342         (configure.ac): Simply invoke gl_FUNC_LDEXP.
13343         * modules/strtod (Files): Add m4/ldexp.m4.
13344
13345 2010-07-12  Bruno Haible  <bruno@clisp.org>
13346
13347         Unify tests that set gl_cv_func_frexpl_no_libm.
13348         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
13349         gl_FUNC_FREXPL_NO_LIBM.
13350         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
13351         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
13352
13353 2010-07-12  Bruno Haible  <bruno@clisp.org>
13354
13355         Unify tests that set gl_cv_func_frexp_no_libm.
13356         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
13357         gl_FUNC_FREXP_NO_LIBM.
13358         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
13359         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
13360
13361 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
13362
13363         memcoll: clarify sizes versus lengths, document better, and tweak perf
13364         * lib/memcoll.c (strcoll_loop, memcoll0):
13365         Improve quality of descriptive comments.  Name variables
13366         consistently as to whether they are lengths (which do not include
13367         terminating null) versus sizes (which do).
13368         * lib/xmemcoll.c (xmemcoll0): Likewise.
13369         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
13370         returned when s1size == 0; this is easier to compile and saves
13371         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
13372
13373 2010-07-12  Bruno Haible  <bruno@clisp.org>
13374
13375         Tests for module '_Exit'.
13376         * modules/_Exit-tests: New file.
13377         * tests/test-_Exit.sh: New file.
13378         * tests/test-_Exit.c: New file.
13379
13380         New module '_Exit'.
13381         * lib/stdlib.in.h (__attribute__): New macro.
13382         (_Exit): New declaration.
13383         * lib/_Exit.c: New file.
13384         * m4/_Exit.m4: New file.
13385         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
13386         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
13387         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
13388         * modules/_Exit: New file.
13389         * tests/test-stdlib-c++.cc (_Exit): Check signature.
13390         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
13391
13392 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
13393
13394         strtod: make it more-accurate typically, and don't require libm
13395         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
13396         Include limits.h.  Don't include string.h.
13397         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
13398         (locale_isspace): New function, so that no casts are needed to
13399         check whether *s is a space.
13400         (ldexp): Provide an unused dummy if not available.
13401         (scale_radix_exp, parse_number, underlying_strtod): New functions.
13402         (strtod): Use them.  This implementation prefers to use the
13403         underlying strtod if available, falling back on our own code
13404         only to fix known bugs.  This is more likely to produce an
13405         accurate result.  Also, it avoids the use of libm functions.
13406         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
13407         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
13408         was absent, but it caused a test failure with coreutils.
13409         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
13410         with libm.
13411         * modules/strtod (Makefile.am, Link): libm is no longer needed.
13412         * modules/strtod-tests (Makefile.am): Likewise.
13413
13414 2010-07-11  Pádraig Brady  <P@draigBrady.com>
13415             Bruno Haible  <bruno@clisp.org>
13416
13417         unistr/u8-strchr: Optimize ASCII argument case.
13418         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
13419
13420 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
13421
13422         (x)memcoll: minor tweaks
13423         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
13424         is after the type that it qualifies.
13425         (memcoll0): Likewise.
13426         * lib/memcoll.h (memcoll0): Likewise.
13427         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
13428         * lib/xmemcoll.h (xmemcoll0): Likewise.
13429         * lib/memcoll.c (memcoll0): Correct the comment.  This function
13430         differs from memcoll in that the NUL byte is part of the argument.
13431         Omit the abort-checks, as performance is a real issue here.  Plus,
13432         the checks were wrong anyway (an off-by-one error).  Omit local
13433         variable 'diff', as it's a bit clearer that way.
13434         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
13435         no longer needed.
13436
13437 2010-07-08  Chen Guo <chenguo4@yahoo.com>
13438
13439         (x)memcoll: speedup when input is known to be NUL delimited
13440         * lib/memcoll.c: Include stdlib.
13441         (memcoll0): New function.
13442         (strcoll_loop): New function, refactored for use in both memcoll
13443         and memcoll0.
13444         * lib/memcoll.h (memcoll0): Add prototype.
13445         * lib/xmemcoll.c (xmemcoll0): New function.
13446         (collate_error): New function, refactored for use in both xmemcoll
13447         and xmemcoll0.
13448         * lib/xmemcoll.h (xmemcoll0): Add prototype.
13449         * m4/memcoll.m4: add inline invocation.
13450
13451 2010-07-06  Pádraig Brady  <P@draigBrady.com>
13452
13453         * build-aux/bootstrap: Remove any local translations
13454         from the translation project synchronization directory,
13455         so that local only translations are not distributed.
13456
13457 2010-07-04  Bruno Haible  <bruno@clisp.org>
13458
13459         fsusage: Clarify which code applies to which platforms.
13460         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
13461         platform.
13462         * lib/fsusage.c (get_fs_usage): Likewise.
13463
13464 2010-07-04  Bruno Haible  <bruno@clisp.org>
13465
13466         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
13467         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
13468         Reported by Martin Lambers <marlam@marlam.de>.
13469
13470 2010-07-04  Jim Meyering  <meyering@redhat.com>
13471
13472         hash: once again explicitly disallow insertion of NULL
13473         * lib/hash.c (hash_insert0): Reinstate just-removed test:
13474         inserting a NULL pointer cannot work with these functions.
13475         Add a comment with details.
13476         This reverts part of the 2010-07-01 commit, 5bef1a35
13477         "hash: extend module to deal with non-pointer keys".
13478
13479 2010-07-01  Bruno Haible  <bruno@clisp.org>
13480
13481         stdbool: Update doc.
13482         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
13483         Info from Christian Weisgerber <naddy@mips.inka.de>.
13484
13485 2010-07-01  Jim Meyering  <meyering@redhat.com>
13486
13487         hash: extend module to deal with non-pointer keys
13488         * lib/hash.c (hash_insert0): New interface, much like hash_insert
13489         but that allows insertion of non-pointer entries.
13490         Do not disallow an ENTRY value of NULL.
13491         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
13492         * lib/hash.h (hash_insert0): Declare.
13493
13494 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
13495
13496         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
13497         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
13498         not present (i.e. with autoconf 2.59 and when using gettextize, not
13499         gnulib), require AC_GNU_SOURCE instead.
13500
13501 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
13502
13503         idpriv-drop: Fix tests.
13504         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
13505         not to the test-idpriv-droptemp program.
13506
13507 2010-06-29  Bruno Haible  <bruno@clisp.org>
13508
13509         string: Fix syntax error with g++ 2.96.
13510         * lib/string.in.h (__pure__): Remove definition.
13511         (_GL_ATTRIBUTE_PURE): New macro.
13512         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
13513         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
13514         Reported by Christian Weisgerber <naddy@mips.inka.de>.
13515
13516 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
13517
13518         unitypes: Fix bug introduced on 2010-05-18.
13519         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
13520
13521 2010-06-22  Eric Blake  <eblake@redhat.com>
13522
13523         memmem: slight optimization
13524         * lib/str-two-way.h (critical_factorization): Update comments.
13525         Reduce work during factorization phase.
13526         Reported by Carlos Bueno <carlos@bueno.org>.
13527
13528 2010-06-21  Bruno Haible  <bruno@clisp.org>
13529
13530         Fix HAVE_CALLOC_POSIX misnomer.
13531         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
13532         !HAVE_CALLOC_POSIX.
13533         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
13534         HAVE_CALLOC_POSIX.
13535         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
13536         instead of HAVE_CALLOC_POSIX.
13537         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
13538         HAVE_CALLOC_POSIX.
13539
13540         Use modern idiom for calloc() replacement.
13541         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
13542         AC_FUNC_CALLOC.
13543         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
13544         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
13545         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
13546         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
13547         (gl_REPLACE_CALLOC): New macro.
13548
13549 2010-06-21  Bruno Haible  <bruno@clisp.org>
13550
13551         Fix HAVE_REALLOC_POSIX misnomer.
13552         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
13553         !HAVE_REALLOC_POSIX.
13554         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
13555         HAVE_REALLOC_POSIX.
13556         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
13557         instead of HAVE_REALLOC_POSIX.
13558         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
13559         HAVE_REALLOC_POSIX.
13560
13561         Use modern idiom for realloc() replacement.
13562         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
13563         AC_FUNC_REALLOC.
13564         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
13565         Autoconf's AC_FUNC_REALLOC.
13566         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
13567         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
13568         (gl_REPLACE_REALLOC): New macro.
13569         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
13570
13571 2010-06-21  Bruno Haible  <bruno@clisp.org>
13572
13573         Fix HAVE_MALLOC_POSIX misnomer.
13574         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
13575         !HAVE_MALLOC_POSIX.
13576         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
13577         HAVE_MALLOC_POSIX.
13578         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
13579         instead of HAVE_MALLOC_POSIX.
13580         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
13581         HAVE_MALLOC_POSIX.
13582
13583         Use modern idiom for malloc() replacement.
13584         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
13585         AC_FUNC_MALLOC.
13586         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
13587         Autoconf's AC_FUNC_MALLOC.
13588         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
13589         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
13590         (gl_REPLACE_MALLOC): New macro.
13591         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
13592
13593 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
13594
13595         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
13596         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
13597         This macro takes 3 arguments, not 4.
13598
13599 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
13600
13601         ipv6: fix detection under mingw
13602         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
13603         in6_addr.
13604
13605 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
13606
13607         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
13608         that strtod() works when cross-compiling to a glibc version known
13609         to work.
13610
13611 2010-06-15  Bruno Haible  <bruno@clisp.org>
13612
13613         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
13614
13615 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
13616
13617         select: Correct timeout.
13618         * lib/select.c (rpl_select): Compute wait_timeout correctly.
13619
13620 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
13621
13622         git-version-gen: init shell var to avoid env var influence
13623         * build-aux/git-version-gen (v): Init shell var to empty.
13624
13625 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
13626
13627         priv-set: Don't assume that priv.h exists merely because getppriv does.
13628         See Jan Andersen's bug report about AIX 5L in
13629         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
13630         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
13631         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
13632         * lib/priv-set.h: Likewise.
13633         * tests/test-priv-set.c: Likewise.
13634
13635 2010-06-13  Bruno Haible  <bruno@clisp.org>
13636
13637         relocatable: Make it easier to test whether to install wrappers.
13638         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
13639         RELOCATABLE_VIA_WRAPPER.
13640
13641 2010-06-13  Bruno Haible  <bruno@clisp.org>
13642
13643         gnulib-tool: Display specified modules and dependencies differently.
13644         * gnulib-tool (func_show_module_list): New function.
13645         (func_import, func_create_testdir): Invoke it.
13646         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
13647
13648 2010-06-13  Bruno Haible  <bruno@clisp.org>
13649
13650         gnulib-tool: Align code of func_import and func_create_testdir.
13651         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
13652         specified_modules.
13653
13654 2010-06-12  Jim Meyering  <meyering@redhat.com>
13655
13656         test-inttostr: avoid spurious failure on Solaris 9
13657         * tests/test-inttostr.c (main): Skip the test when snprintf fails
13658         to accept "%ju".  Reported by Bruno Haible.
13659
13660 2010-06-11  Jim Meyering  <meyering@redhat.com>
13661
13662         test-sys_socket: mark variables as used more readably
13663         * tests/test-sys_socket.c (main): Mark otherwise unused variables
13664         as "used" explicitly via (void) statement casts.  This is more
13665         readable than using them in an artificial return expression.
13666         Suggestion from Bruno Haible.
13667
13668 2010-06-11  Bruno Haible  <bruno@clisp.org>
13669
13670         Avoid some more warnings from "gcc -Wwrite-strings".
13671         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
13672         to 'const char *'.
13673         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
13674         * tests/test-c-strcasestr.c (main): Likewise.
13675         * tests/test-mbscasestr1.c (main): Likewise.
13676         * tests/test-mbscasestr2.c (main): Likewise.
13677         * tests/test-memmem.c (main): Likewise.
13678         * tests/test-strstr.c (main): Likewise.
13679         * tests/test-strcasestr.c (main): Likewise.
13680
13681 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13682
13683         init.sh: change framework_failure_ to fail with status 99, not 1
13684         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
13685         automake's parallel-tests rule that this is an unexpected failure,
13686         even if the test is listed in XFAIL_TESTS.
13687
13688 2010-06-11  Jim Meyering  <meyering@redhat.com>
13689
13690         test-inttostr: avoid warnings about 4-6KB literal strings
13691         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
13692         Include "macros.h", for its definition of ASSERT.
13693         (CK): s/assert/ASSERT/
13694         * modules/inttostr-tests (Files): Add macros.h.
13695
13696         init.sh: don't use $ME_ or skip_ before they are defined
13697         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
13698         their first uses.  Also hoist their companions: warn_, fail_,
13699         framework_failure_, $stderr_fileno.  Prompted by a patch from
13700         Stefano Lattarini.
13701
13702         test-sys_socket: avoid set-but-not-used warnings from gcc
13703         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
13704         avoid warning about set-but-not-used variables.
13705
13706         test-xvasprintf: avoid 'const' discard warnings
13707         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
13708         "const" when assigning from literal strings.
13709         (test_xasprintf): Add "void" in function argument list to placate
13710         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
13711
13712         tests: avoid compilation warnings in argmatch and exclude tests...
13713         in packages that define ARGMATCH_DIE_DECL, like coreutils.
13714         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
13715         Since it always exits, declare with the "noreturn" attribute.
13716         * tests/test-argmatch.c: Likewise.
13717
13718         tests: avoid 'const' discard warnings in mbsstr tests
13719         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
13720         * tests/test-mbsstr2.c (main): Likewise.
13721
13722         test-verify: avoid warning from gcc's -Wmissing-declarations
13723         * tests/test-verify.c (function): Declare to be static.
13724
13725         test-inttostr.c: include <string.h> for use of strcmp
13726         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
13727
13728         test-linkat: avoid failed assertion on "other" architectures
13729         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
13730         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
13731         sparc: https://bugs.launchpad.net/bugs/591968
13732
13733 2010-06-11  Jim Meyering  <meyering@redhat.com>
13734
13735         printf.m4: avoid autoconf's "Expanded Before Required" warning
13736         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
13737         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
13738         autoconf warning.
13739
13740 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
13741
13742         Replacement header templates are now named with ".in", not "_".
13743         * doc/gnulib-intro.texi: Correct.
13744
13745 2010-06-10  Jim Meyering  <meyering@redhat.com>
13746
13747         inttostr-tests: depend on snprintf, not snprintf-posix
13748         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
13749         snprintf-posix, to avoid this aclocal failure:
13750           missing file gnulib-tests/vasnprintf.c
13751           configure.ac:45: error: expected source file, required through \
13752           AC_LIBSOURCES, not found
13753
13754 2010-06-10  Jim Meyering  <meyering@redhat.com>
13755
13756         inttostr: add a new function, inttostr, and tests
13757         The namesake function was not available.  The existence of the
13758         template file, inttostr.c makes its addition nontrivial.
13759         * lib/anytostr.c: Rename from inttostr.c.
13760         (anytostr): Rename from inttostr.
13761         * lib/inttostr.c: New file.
13762         * modules/inttostr (Files): Add anytostr.c.
13763         (Makefile.am): Set lib_SOURCES instead of ...
13764         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
13765         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
13766         * lib/offtostr.c: Likewise.
13767         * lib/uinttostr.c: Likewise.
13768         * lib/umaxtostr.c: Likewise.
13769         * modules/inttostr-tests: New file.
13770         * tests/test-inttostr.c: New file.  Test these functions.
13771
13772 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
13773             Bruno Haible  <bruno@clisp.org>
13774
13775         Add "Extending Gnulib" chapter to manual.
13776         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
13777         chapter.
13778         (Extending Gnulib): New chapter.
13779         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
13780         chapter.
13781
13782 2010-06-09  Bruno Haible  <bruno@clisp.org>
13783
13784         Avoid relocwrapper link errors due to gnulib replacement functions.
13785         * lib/areadlink.c: Use the system's malloc, realloc functions.
13786         (areadlink): Set errno to ENOMEM explicitly.
13787         * modules/areadlink (Depends-on): Remove malloc-posix.
13788         Reported by Ben Pfaff <blp@cs.stanford.edu>.
13789
13790 2010-06-09  Bruno Haible  <bruno@clisp.org>
13791
13792         Avoid relocwrapper link errors due to gnulib replacement functions.
13793         * lib/canonicalize-lgpl.c: Use the system's malloc function.
13794         * lib/malloca.c: Likewise.
13795         * lib/relocatable.c: Likewise.
13796         * lib/progreloc.c: Use the system's malloc, sprintf functions.
13797         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
13798         * lib/setenv.c: Use the system's malloc, realloc functions.
13799         * lib/strerror.c: Use the system's sprintf function.
13800         Reported by Ben Pfaff <blp@cs.stanford.edu>.
13801
13802 2010-06-04  Bruno Haible  <bruno@clisp.org>
13803
13804         Prefer documented low-level autoconf macro names.
13805         * m4/lib-link.m4: Use m4_translit instead of translit.
13806         * m4/environ.m4: Likewise.
13807         * m4/mathfunc.m4: Likewise.
13808         * m4/onceonly.m4: Likewise.
13809         * m4/stdint.m4: Likewise.
13810         Suggested by Eric Blake.
13811
13812 2010-06-04  Martin Lambers  <marlam@marlam.de>
13813             Bruno Haible  <bruno@clisp.org>
13814
13815         havelib: Allow library names with '+' characters.
13816         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
13817         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
13818
13819 2010-06-09  Bruno Haible  <bruno@clisp.org>
13820
13821         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
13822         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
13823         realloc failed.
13824
13825 2010-06-08  Peter Simons  <simons@cryp.to>
13826
13827         maint.mk: make the news-check rule more configurable
13828         * top/maint.mk (news-check-lines-spec): New variable.
13829         (news-check): Use "sed -n 1,10p" in place of "head".
13830
13831 2010-06-07  Jim Meyering  <meyering@redhat.com>
13832
13833         do-release-commit-and-tag: fix typo in --help
13834         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
13835
13836         regex: avoid new dead-code warning with gcc-4.6.0
13837         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
13838         if-block containing a while-loop.  It's been unused for at least
13839         5 years.
13840
13841 2010-06-05  Bruno Haible  <bruno@clisp.org>
13842
13843         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
13844         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
13845
13846 2010-06-04  Bruno Haible  <bruno@clisp.org>
13847
13848         Update to GNU gettext 0.18.1.
13849         * modules/gettext (configure.ac): Require gettext infrastructure from
13850         version 0.18.1.
13851
13852 2010-06-03  Bruno Haible  <bruno@clisp.org>
13853
13854         Don't use AC_LIBOBJ with file names in subdirectories.
13855         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
13856         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
13857         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
13858         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
13859         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
13860         gl_LIBUNISTRING_LIBSOURCE.
13861         (Makefile.am): Augment lib_SOURCES here, conditionally.
13862         * NEWS: Drop requirement for Automake option 'subdir-objects'.
13863
13864 2010-06-03  Bruno Haible  <bruno@clisp.org>
13865
13866         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
13867         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
13868         expansion does not end with a newline.
13869         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
13870         unnecessary newline.
13871
13872 2010-06-03  Bruno Haible  <bruno@clisp.org>
13873
13874         Reduce dependencies.
13875         * tests/test-quotearg.h: New file, extracted from
13876         tests/test-quotearg.c.
13877         * tests/test-quotearg-simple.c: New file, extracted from
13878         tests/test-quotearg.c.
13879         * tests/test-quotearg.c: Don't include <ctype.h>.
13880         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
13881         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
13882         use_quote_double_quotes, use_quotearg_colon): Moved to
13883         tests/test-quotearg.h.
13884         (results_g, flag_results, custom_quotes, custom_results): Moved
13885         to tests/test-quotearg-simple.c.
13886         (main): Moved the part that does not depend on gettext to
13887         tests/test-quotearg-simple.c. Return 77 if the test cannot be
13888         performed.
13889         * modules/quotearg-simple: New file.
13890         * modules/quotearg-simple-tests: New file.
13891         * modules/quotearg (Depends-on): Add quotearg-simple.
13892         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
13893         (Files): Add tests/test-quotearg.h.
13894         Reported by Paolo Bonzini.
13895
13896 2010-06-03  Bruno Haible  <bruno@clisp.org>
13897
13898         Reduce dependencies.
13899         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
13900
13901 2010-06-03  Bruno Haible  <bruno@clisp.org>
13902
13903         time: Undefine more broken macros.
13904         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
13905         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
13906         Reported by Eric Blake.
13907
13908 2010-06-03  Bruno Haible  <bruno@clisp.org>
13909
13910         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
13911         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
13912         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
13913         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
13914         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
13915         Reported by Ludovic Courtès <ludo@gnu.org>.
13916
13917 2010-06-02  Eric Blake  <eblake@redhat.com>
13918
13919         time: work with mingw + pthreads-win32 library
13920         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
13921         if timespec is defined only in pthread.h.
13922         * modules/time (Makefile.am): Substitute it.
13923         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
13924         <pthread.h>, when needed.
13925         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
13926         from the library.
13927
13928 2010-05-31  Bruno Haible  <bruno@clisp.org>
13929
13930         Avoid expanding two macros in the wrong order.
13931         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
13932         gl_LIBUNISTRING if it is defined.
13933         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
13934         autoconf >= 2.64.
13935         Reported by Ludovic Courtès <ludo@gnu.org>.
13936
13937 2010-05-27  Jim Meyering  <meyering@redhat.com>
13938
13939         maint.mk: also prohibit "#undef" of always-defined symbols
13940         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
13941         Allow more than one space before the symbol name.
13942         (sc_prohibit_always-defined_macros): Use grep's -E, now that
13943         the regexp uses alternation.
13944
13945 2010-05-26  Eric Blake  <eblake@redhat.com>
13946
13947         maint.mk: avoid echo -e
13948         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
13949         Convert all uses of echo -* to printf.
13950         Reported by Matthias Bolte.
13951
13952 2010-05-25  Bruno Haible  <bruno@clisp.org>
13953
13954         Update to GNU gettext 0.18, part 2.
13955         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
13956         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
13957
13958 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13959
13960         Add missing include in test-pwrite.c.
13961         * tests/test-pwrite.c: Include string.h, for strcmp.
13962
13963 2010-05-24  Bruno Haible  <bruno@clisp.org>
13964
13965         * NEWS: Mention requirement for Automake option 'subdir-objects'.
13966
13967 2010-05-24  Bruno Haible  <bruno@clisp.org>
13968
13969         Don't use conversion with transliteration in u{8,16,32}_strcoll.
13970         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
13971         iconveh_error argument.
13972         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
13973         U_STRCONV_TO_LOCALE.
13974         * lib/unistr/u16-strcoll.c: Likewise.
13975         * lib/unistr/u32-strcoll.c: Likewise.
13976         * modules/unistr/u8-strcoll (Depends-on): Add
13977         uniconv/u8-strconv-to-enc, localcharset. Remove
13978         uniconv/u8-strconv-to-locale.
13979         (configure.ac): Bump version number.
13980         * modules/unistr/u16-strcoll (Depends-on): Add
13981         uniconv/u16-strconv-to-enc, localcharset. Remove
13982         uniconv/u16-strconv-to-locale.
13983         (configure.ac): Bump version number.
13984         * modules/unistr/u32-strcoll (Depends-on): Add
13985         uniconv/u32-strconv-to-enc, localcharset. Remove
13986         uniconv/u32-strconv-to-locale.
13987         (configure.ac): Bump version number.
13988
13989 2010-05-24  Bruno Haible  <bruno@clisp.org>
13990
13991         Avoid a test failure on NetBSD 5.0.
13992         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
13993         an iconv() bug.
13994
13995 2010-05-24  Bruno Haible  <bruno@clisp.org>
13996
13997         Adjust #include directive style.
13998         * modules/regex (Includes): Recommend to write <regex.h>.
13999
14000 2010-05-24  Bruno Haible  <bruno@clisp.org>
14001
14002         regex: Don't require alloca.
14003         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
14004         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
14005         only inside if (0).
14006
14007 2010-05-23  Jim Meyering  <meyering@redhat.com>
14008
14009         test-renameat.c: include <sys/stat.h>
14010         * tests/test-renameat.c: Include <sys/stat.h>; required for
14011         definition of S_IS* macros.
14012
14013 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
14014
14015         Update maintainer documentation for 'relocatable-prog' module.
14016         * doc/relocatable-maint.texi: Update.
14017         Comments by Bruno Haible.
14018
14019 2010-05-23  Bruno Haible  <bruno@clisp.org>
14020
14021         git-merge-changelog: Enable --split-merged-entry by default.
14022         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
14023         (usage): Don't mention this option any more.
14024         Reported by Ralf Wildenhues.
14025
14026 2010-05-23  Jim Meyering  <meyering@redhat.com>
14027
14028         test-pwrite: do not leave behind a test file named "out"
14029         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
14030         The trivial-looking use of init.sh is really necessary.
14031         It ensures that the temporary file, "out", is created in
14032         a temporary directory, and removed upon termination.
14033         * tests/test-pwrite.sh: Re-add file.
14034         * modules/pwrite-tests: Reference it.
14035
14036 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14037
14038         Fix output redirection buglet in init.sh.
14039         * tests/init.sh: Fix redirection of stderr.
14040
14041 2010-05-20  Simon Josefsson  <simon@josefsson.org>
14042
14043         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
14044
14045 2010-05-17  Simon Josefsson  <simon@josefsson.org>
14046
14047         * modules/valgrind-tests: New file.
14048         * m4/valgrind-tests.m4: New file.
14049         * doc/valgrind-tests.texi: New file.
14050         * doc/gnulib.texi (Running self-tests under valgrind): New
14051         section.
14052
14053 2010-05-19  Bruno Haible  <bruno@clisp.org>
14054
14055         Clean up dead code in recent commit.
14056         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
14057         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
14058         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
14059         Suggested by Paolo Bonzini.
14060
14061 2010-05-19  Bruno Haible  <bruno@clisp.org>
14062
14063         Avoid valgrind error reports from libunistring.
14064         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
14065         * modules/libunistring (Files): Add it.
14066         * modules/libunistring-optional (Files): Likewise.
14067
14068 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
14069             Bruno Haible  <bruno@clisp.org>
14070
14071         New module 'libunistring-optional'.
14072         * modules/libunistring-optional: New file.
14073         * m4/libunistring-base.m4: New file.
14074         * m4/libunistring-optional.m4: New file.
14075         * lib/unicase.in.h: Renamed from lib/unicase.h.
14076         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
14077         * lib/unictype.in.h: Renamed from lib/unictype.h.
14078         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
14079         * lib/uniname.in.h: Renamed from lib/uniname.h.
14080         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
14081         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
14082         * lib/unistr.in.h: Renamed from lib/unistr.h.
14083         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
14084         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
14085         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
14086         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
14087         gl_LIBUNISTRING. If the library was found, determine the installed
14088         version and set LIBUNISTRING_VERSION.
14089         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
14090         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
14091         handle a configuration option --with-included-libunistring.
14092         * modules/libunistring (Files): Add m4/absolute-header.m4.
14093         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
14094         Add m4/libunistring-base.m4.
14095         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
14096         (Makefile.am): Build unicase.h from unicase.in.h.
14097         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
14098         Add m4/libunistring-base.m4.
14099         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
14100         (Makefile.am): Build uniconv.h from uniconv.in.h.
14101         * modules/unictype/base (Files): Use unictype.in.h instead of
14102         unictype.h. Add m4/libunistring-base.m4.
14103         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
14104         (Makefile.am): Build unictype.h from unictype.in.h.
14105         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
14106         Add m4/libunistring-base.m4.
14107         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
14108         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
14109         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
14110         Add m4/libunistring-base.m4.
14111         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
14112         (Makefile.am): Build uniname.h from uniname.in.h.
14113         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
14114         Add m4/libunistring-base.m4.
14115         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
14116         (Makefile.am): Build uninorm.h from uninorm.in.h.
14117         * modules/unistdio/base (Files): Use unistdio.in.h instead of
14118         unistdio.h. Add m4/libunistring-base.m4.
14119         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
14120         (Makefile.am): Build unistdio.h from unistdio.in.h.
14121         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
14122         Add m4/libunistring-base.m4.
14123         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
14124         (Makefile.am): Build unistr.h from unistr.in.h.
14125         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
14126         Add m4/libunistring-base.m4.
14127         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
14128         (Makefile.am): Build unitypes.h from unitypes.in.h.
14129         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
14130         Add m4/libunistring-base.m4.
14131         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
14132         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
14133         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
14134         uniwidth.h. Add m4/libunistring-base.m4.
14135         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
14136         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
14137         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
14138         instead of augmenting lib_SOURCES.
14139         * modules/unicase/empty-suffix-context: Likewise.
14140         * modules/unicase/locale-language: Likewise.
14141         * modules/unicase/tolower: Likewise.
14142         * modules/unicase/totitle: Likewise.
14143         * modules/unicase/toupper: Likewise.
14144         * modules/unicase/u8-casecmp: Likewise.
14145         * modules/unicase/u8-casecoll: Likewise.
14146         * modules/unicase/u8-casefold: Likewise.
14147         * modules/unicase/u8-casexfrm: Likewise.
14148         * modules/unicase/u8-ct-casefold: Likewise.
14149         * modules/unicase/u8-ct-tolower: Likewise.
14150         * modules/unicase/u8-ct-totitle: Likewise.
14151         * modules/unicase/u8-ct-toupper: Likewise.
14152         * modules/unicase/u8-is-cased: Likewise.
14153         * modules/unicase/u8-is-casefolded: Likewise.
14154         * modules/unicase/u8-is-lowercase: Likewise.
14155         * modules/unicase/u8-is-titlecase: Likewise.
14156         * modules/unicase/u8-is-uppercase: Likewise.
14157         * modules/unicase/u8-prefix-context: Likewise.
14158         * modules/unicase/u8-suffix-context: Likewise.
14159         * modules/unicase/u8-tolower: Likewise.
14160         * modules/unicase/u8-totitle: Likewise.
14161         * modules/unicase/u8-toupper: Likewise.
14162         * modules/unicase/u16-casecmp: Likewise.
14163         * modules/unicase/u16-casecoll: Likewise.
14164         * modules/unicase/u16-casefold: Likewise.
14165         * modules/unicase/u16-casexfrm: Likewise.
14166         * modules/unicase/u16-ct-casefold: Likewise.
14167         * modules/unicase/u16-ct-tolower: Likewise.
14168         * modules/unicase/u16-ct-totitle: Likewise.
14169         * modules/unicase/u16-ct-toupper: Likewise.
14170         * modules/unicase/u16-is-cased: Likewise.
14171         * modules/unicase/u16-is-casefolded: Likewise.
14172         * modules/unicase/u16-is-lowercase: Likewise.
14173         * modules/unicase/u16-is-titlecase: Likewise.
14174         * modules/unicase/u16-is-uppercase: Likewise.
14175         * modules/unicase/u16-prefix-context: Likewise.
14176         * modules/unicase/u16-suffix-context: Likewise.
14177         * modules/unicase/u16-tolower: Likewise.
14178         * modules/unicase/u16-totitle: Likewise.
14179         * modules/unicase/u16-toupper: Likewise.
14180         * modules/unicase/u32-casecmp: Likewise.
14181         * modules/unicase/u32-casecoll: Likewise.
14182         * modules/unicase/u32-casefold: Likewise.
14183         * modules/unicase/u32-casexfrm: Likewise.
14184         * modules/unicase/u32-ct-casefold: Likewise.
14185         * modules/unicase/u32-ct-tolower: Likewise.
14186         * modules/unicase/u32-ct-totitle: Likewise.
14187         * modules/unicase/u32-ct-toupper: Likewise.
14188         * modules/unicase/u32-is-cased: Likewise.
14189         * modules/unicase/u32-is-casefolded: Likewise.
14190         * modules/unicase/u32-is-lowercase: Likewise.
14191         * modules/unicase/u32-is-titlecase: Likewise.
14192         * modules/unicase/u32-is-uppercase: Likewise.
14193         * modules/unicase/u32-prefix-context: Likewise.
14194         * modules/unicase/u32-suffix-context: Likewise.
14195         * modules/unicase/u32-tolower: Likewise.
14196         * modules/unicase/u32-totitle: Likewise.
14197         * modules/unicase/u32-toupper: Likewise.
14198         * modules/unicase/ulc-casecmp: Likewise.
14199         * modules/unicase/ulc-casecoll: Likewise.
14200         * modules/unicase/ulc-casexfrm: Likewise.
14201         * modules/uniconv/u8-conv-from-enc: Likewise.
14202         * modules/uniconv/u8-conv-to-enc: Likewise.
14203         * modules/uniconv/u8-strconv-from-enc: Likewise.
14204         * modules/uniconv/u8-strconv-from-locale: Likewise.
14205         * modules/uniconv/u8-strconv-to-enc: Likewise.
14206         * modules/uniconv/u8-strconv-to-locale: Likewise.
14207         * modules/uniconv/u16-conv-from-enc: Likewise.
14208         * modules/uniconv/u16-conv-to-enc: Likewise.
14209         * modules/uniconv/u16-strconv-from-enc: Likewise.
14210         * modules/uniconv/u16-strconv-from-locale: Likewise.
14211         * modules/uniconv/u16-strconv-to-enc: Likewise.
14212         * modules/uniconv/u16-strconv-to-locale: Likewise.
14213         * modules/uniconv/u32-conv-from-enc: Likewise.
14214         * modules/uniconv/u32-conv-to-enc: Likewise.
14215         * modules/uniconv/u32-strconv-from-enc: Likewise.
14216         * modules/uniconv/u32-strconv-from-locale: Likewise.
14217         * modules/uniconv/u32-strconv-to-enc: Likewise.
14218         * modules/uniconv/u32-strconv-to-locale: Likewise.
14219         * modules/unictype/bidicategory-byname: Likewise.
14220         * modules/unictype/bidicategory-name: Likewise.
14221         * modules/unictype/bidicategory-of: Likewise.
14222         * modules/unictype/bidicategory-test: Likewise.
14223         * modules/unictype/block-list: Likewise.
14224         * modules/unictype/block-test: Likewise.
14225         * modules/unictype/category-C: Likewise.
14226         * modules/unictype/category-Cc: Likewise.
14227         * modules/unictype/category-Cf: Likewise.
14228         * modules/unictype/category-Cn: Likewise.
14229         * modules/unictype/category-Co: Likewise.
14230         * modules/unictype/category-Cs: Likewise.
14231         * modules/unictype/category-L: Likewise.
14232         * modules/unictype/category-Ll: Likewise.
14233         * modules/unictype/category-Lm: Likewise.
14234         * modules/unictype/category-Lo: Likewise.
14235         * modules/unictype/category-Lt: Likewise.
14236         * modules/unictype/category-Lu: Likewise.
14237         * modules/unictype/category-M: Likewise.
14238         * modules/unictype/category-Mc: Likewise.
14239         * modules/unictype/category-Me: Likewise.
14240         * modules/unictype/category-Mn: Likewise.
14241         * modules/unictype/category-N: Likewise.
14242         * modules/unictype/category-Nd: Likewise.
14243         * modules/unictype/category-Nl: Likewise.
14244         * modules/unictype/category-No: Likewise.
14245         * modules/unictype/category-P: Likewise.
14246         * modules/unictype/category-Pc: Likewise.
14247         * modules/unictype/category-Pd: Likewise.
14248         * modules/unictype/category-Pe: Likewise.
14249         * modules/unictype/category-Pf: Likewise.
14250         * modules/unictype/category-Pi: Likewise.
14251         * modules/unictype/category-Po: Likewise.
14252         * modules/unictype/category-Ps: Likewise.
14253         * modules/unictype/category-S: Likewise.
14254         * modules/unictype/category-Sc: Likewise.
14255         * modules/unictype/category-Sk: Likewise.
14256         * modules/unictype/category-Sm: Likewise.
14257         * modules/unictype/category-So: Likewise.
14258         * modules/unictype/category-Z: Likewise.
14259         * modules/unictype/category-Zl: Likewise.
14260         * modules/unictype/category-Zp: Likewise.
14261         * modules/unictype/category-Zs: Likewise.
14262         * modules/unictype/category-and: Likewise.
14263         * modules/unictype/category-and-not: Likewise.
14264         * modules/unictype/category-byname: Likewise.
14265         * modules/unictype/category-name: Likewise.
14266         * modules/unictype/category-none: Likewise.
14267         * modules/unictype/category-of: Likewise.
14268         * modules/unictype/category-or: Likewise.
14269         * modules/unictype/category-test: Likewise.
14270         * modules/unictype/combining-class: Likewise.
14271         * modules/unictype/ctype-alnum: Likewise.
14272         * modules/unictype/ctype-alpha: Likewise.
14273         * modules/unictype/ctype-blank: Likewise.
14274         * modules/unictype/ctype-cntrl: Likewise.
14275         * modules/unictype/ctype-digit: Likewise.
14276         * modules/unictype/ctype-graph: Likewise.
14277         * modules/unictype/ctype-lower: Likewise.
14278         * modules/unictype/ctype-print: Likewise.
14279         * modules/unictype/ctype-punct: Likewise.
14280         * modules/unictype/ctype-space: Likewise.
14281         * modules/unictype/ctype-upper: Likewise.
14282         * modules/unictype/ctype-xdigit: Likewise.
14283         * modules/unictype/decimal-digit: Likewise.
14284         * modules/unictype/digit: Likewise.
14285         * modules/unictype/mirror: Likewise.
14286         * modules/unictype/numeric: Likewise.
14287         * modules/unictype/property-alphabetic: Likewise.
14288         * modules/unictype/property-ascii-hex-digit: Likewise.
14289         * modules/unictype/property-bidi-arabic-digit: Likewise.
14290         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
14291         * modules/unictype/property-bidi-block-separator: Likewise.
14292         * modules/unictype/property-bidi-boundary-neutral: Likewise.
14293         * modules/unictype/property-bidi-common-separator: Likewise.
14294         * modules/unictype/property-bidi-control: Likewise.
14295         * modules/unictype/property-bidi-embedding-or-override: Likewise.
14296         * modules/unictype/property-bidi-eur-num-separator: Likewise.
14297         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
14298         * modules/unictype/property-bidi-european-digit: Likewise.
14299         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
14300         * modules/unictype/property-bidi-left-to-right: Likewise.
14301         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
14302         * modules/unictype/property-bidi-other-neutral: Likewise.
14303         * modules/unictype/property-bidi-pdf: Likewise.
14304         * modules/unictype/property-bidi-segment-separator: Likewise.
14305         * modules/unictype/property-bidi-whitespace: Likewise.
14306         * modules/unictype/property-byname: Likewise.
14307         * modules/unictype/property-combining: Likewise.
14308         * modules/unictype/property-composite: Likewise.
14309         * modules/unictype/property-currency-symbol: Likewise.
14310         * modules/unictype/property-dash: Likewise.
14311         * modules/unictype/property-decimal-digit: Likewise.
14312         * modules/unictype/property-default-ignorable-code-point: Likewise.
14313         * modules/unictype/property-deprecated: Likewise.
14314         * modules/unictype/property-diacritic: Likewise.
14315         * modules/unictype/property-extender: Likewise.
14316         * modules/unictype/property-format-control: Likewise.
14317         * modules/unictype/property-grapheme-base: Likewise.
14318         * modules/unictype/property-grapheme-extend: Likewise.
14319         * modules/unictype/property-grapheme-link: Likewise.
14320         * modules/unictype/property-hex-digit: Likewise.
14321         * modules/unictype/property-hyphen: Likewise.
14322         * modules/unictype/property-id-continue: Likewise.
14323         * modules/unictype/property-id-start: Likewise.
14324         * modules/unictype/property-ideographic: Likewise.
14325         * modules/unictype/property-ids-binary-operator: Likewise.
14326         * modules/unictype/property-ids-trinary-operator: Likewise.
14327         * modules/unictype/property-ignorable-control: Likewise.
14328         * modules/unictype/property-iso-control: Likewise.
14329         * modules/unictype/property-join-control: Likewise.
14330         * modules/unictype/property-left-of-pair: Likewise.
14331         * modules/unictype/property-line-separator: Likewise.
14332         * modules/unictype/property-logical-order-exception: Likewise.
14333         * modules/unictype/property-lowercase: Likewise.
14334         * modules/unictype/property-math: Likewise.
14335         * modules/unictype/property-non-break: Likewise.
14336         * modules/unictype/property-not-a-character: Likewise.
14337         * modules/unictype/property-numeric: Likewise.
14338         * modules/unictype/property-other-alphabetic: Likewise.
14339         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
14340         * modules/unictype/property-other-grapheme-extend: Likewise.
14341         * modules/unictype/property-other-id-continue: Likewise.
14342         * modules/unictype/property-other-id-start: Likewise.
14343         * modules/unictype/property-other-lowercase: Likewise.
14344         * modules/unictype/property-other-math: Likewise.
14345         * modules/unictype/property-other-uppercase: Likewise.
14346         * modules/unictype/property-paired-punctuation: Likewise.
14347         * modules/unictype/property-paragraph-separator: Likewise.
14348         * modules/unictype/property-pattern-syntax: Likewise.
14349         * modules/unictype/property-pattern-white-space: Likewise.
14350         * modules/unictype/property-private-use: Likewise.
14351         * modules/unictype/property-punctuation: Likewise.
14352         * modules/unictype/property-quotation-mark: Likewise.
14353         * modules/unictype/property-radical: Likewise.
14354         * modules/unictype/property-sentence-terminal: Likewise.
14355         * modules/unictype/property-soft-dotted: Likewise.
14356         * modules/unictype/property-space: Likewise.
14357         * modules/unictype/property-terminal-punctuation: Likewise.
14358         * modules/unictype/property-test: Likewise.
14359         * modules/unictype/property-titlecase: Likewise.
14360         * modules/unictype/property-unassigned-code-value: Likewise.
14361         * modules/unictype/property-unified-ideograph: Likewise.
14362         * modules/unictype/property-uppercase: Likewise.
14363         * modules/unictype/property-variation-selector: Likewise.
14364         * modules/unictype/property-white-space: Likewise.
14365         * modules/unictype/property-xid-continue: Likewise.
14366         * modules/unictype/property-xid-start: Likewise.
14367         * modules/unictype/property-zero-width: Likewise.
14368         * modules/unictype/scripts: Likewise.
14369         * modules/unictype/syntax-c-ident: Likewise.
14370         * modules/unictype/syntax-c-whitespace: Likewise.
14371         * modules/unictype/syntax-java-ident: Likewise.
14372         * modules/unictype/syntax-java-whitespace: Likewise.
14373         * modules/unilbrk/u8-possible-linebreaks: Likewise.
14374         * modules/unilbrk/u8-width-linebreaks: Likewise.
14375         * modules/unilbrk/u16-possible-linebreaks: Likewise.
14376         * modules/unilbrk/u16-width-linebreaks: Likewise.
14377         * modules/unilbrk/u32-possible-linebreaks: Likewise.
14378         * modules/unilbrk/u32-width-linebreaks: Likewise.
14379         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
14380         * modules/unilbrk/ulc-width-linebreaks: Likewise.
14381         * modules/uniname/uniname: Likewise.
14382         * modules/uninorm/canonical-decomposition: Likewise.
14383         * modules/uninorm/composition: Likewise.
14384         * modules/uninorm/decomposing-form: Likewise.
14385         * modules/uninorm/decomposition: Likewise.
14386         * modules/uninorm/filter: Likewise.
14387         * modules/uninorm/nfc: Likewise.
14388         * modules/uninorm/nfd: Likewise.
14389         * modules/uninorm/nfkc: Likewise.
14390         * modules/uninorm/nfkd: Likewise.
14391         * modules/uninorm/u8-normalize: Likewise.
14392         * modules/uninorm/u8-normcmp: Likewise.
14393         * modules/uninorm/u8-normcoll: Likewise.
14394         * modules/uninorm/u8-normxfrm: Likewise.
14395         * modules/uninorm/u16-normalize: Likewise.
14396         * modules/uninorm/u16-normcmp: Likewise.
14397         * modules/uninorm/u16-normcoll: Likewise.
14398         * modules/uninorm/u16-normxfrm: Likewise.
14399         * modules/uninorm/u32-normalize: Likewise.
14400         * modules/uninorm/u32-normcmp: Likewise.
14401         * modules/uninorm/u32-normcoll: Likewise.
14402         * modules/uninorm/u32-normxfrm: Likewise.
14403         * modules/unistdio/u8-asnprintf: Likewise.
14404         * modules/unistdio/u8-asprintf: Likewise.
14405         * modules/unistdio/u8-snprintf: Likewise.
14406         * modules/unistdio/u8-sprintf: Likewise.
14407         * modules/unistdio/u8-u8-asnprintf: Likewise.
14408         * modules/unistdio/u8-u8-asprintf: Likewise.
14409         * modules/unistdio/u8-u8-snprintf: Likewise.
14410         * modules/unistdio/u8-u8-sprintf: Likewise.
14411         * modules/unistdio/u8-u8-vasnprintf: Likewise.
14412         * modules/unistdio/u8-u8-vasprintf: Likewise.
14413         * modules/unistdio/u8-u8-vsnprintf: Likewise.
14414         * modules/unistdio/u8-u8-vsprintf: Likewise.
14415         * modules/unistdio/u8-vasnprintf: Likewise.
14416         * modules/unistdio/u8-vasprintf: Likewise.
14417         * modules/unistdio/u8-vsnprintf: Likewise.
14418         * modules/unistdio/u8-vsprintf: Likewise.
14419         * modules/unistdio/u16-asnprintf: Likewise.
14420         * modules/unistdio/u16-asprintf: Likewise.
14421         * modules/unistdio/u16-snprintf: Likewise.
14422         * modules/unistdio/u16-sprintf: Likewise.
14423         * modules/unistdio/u16-u16-asnprintf: Likewise.
14424         * modules/unistdio/u16-u16-asprintf: Likewise.
14425         * modules/unistdio/u16-u16-snprintf: Likewise.
14426         * modules/unistdio/u16-u16-sprintf: Likewise.
14427         * modules/unistdio/u16-u16-vasnprintf: Likewise.
14428         * modules/unistdio/u16-u16-vasprintf: Likewise.
14429         * modules/unistdio/u16-u16-vsnprintf: Likewise.
14430         * modules/unistdio/u16-u16-vsprintf: Likewise.
14431         * modules/unistdio/u16-vasnprintf: Likewise.
14432         * modules/unistdio/u16-vasprintf: Likewise.
14433         * modules/unistdio/u16-vsnprintf: Likewise.
14434         * modules/unistdio/u16-vsprintf: Likewise.
14435         * modules/unistdio/u32-asnprintf: Likewise.
14436         * modules/unistdio/u32-asprintf: Likewise.
14437         * modules/unistdio/u32-snprintf: Likewise.
14438         * modules/unistdio/u32-sprintf: Likewise.
14439         * modules/unistdio/u32-u32-asnprintf: Likewise.
14440         * modules/unistdio/u32-u32-asprintf: Likewise.
14441         * modules/unistdio/u32-u32-snprintf: Likewise.
14442         * modules/unistdio/u32-u32-sprintf: Likewise.
14443         * modules/unistdio/u32-u32-vasnprintf: Likewise.
14444         * modules/unistdio/u32-u32-vasprintf: Likewise.
14445         * modules/unistdio/u32-u32-vsnprintf: Likewise.
14446         * modules/unistdio/u32-u32-vsprintf: Likewise.
14447         * modules/unistdio/u32-vasnprintf: Likewise.
14448         * modules/unistdio/u32-vasprintf: Likewise.
14449         * modules/unistdio/u32-vsnprintf: Likewise.
14450         * modules/unistdio/u32-vsprintf: Likewise.
14451         * modules/unistdio/ulc-asnprintf: Likewise.
14452         * modules/unistdio/ulc-asprintf: Likewise.
14453         * modules/unistdio/ulc-fprintf: Likewise.
14454         * modules/unistdio/ulc-snprintf: Likewise.
14455         * modules/unistdio/ulc-sprintf: Likewise.
14456         * modules/unistdio/ulc-vasnprintf: Likewise.
14457         * modules/unistdio/ulc-vasprintf: Likewise.
14458         * modules/unistdio/ulc-vfprintf: Likewise.
14459         * modules/unistdio/ulc-vsnprintf: Likewise.
14460         * modules/unistdio/ulc-vsprintf: Likewise.
14461         * modules/unistr/u8-check: Likewise.
14462         * modules/unistr/u8-chr: Likewise.
14463         * modules/unistr/u8-cmp: Likewise.
14464         * modules/unistr/u8-cmp2: Likewise.
14465         * modules/unistr/u8-cpy: Likewise.
14466         * modules/unistr/u8-cpy-alloc: Likewise.
14467         * modules/unistr/u8-endswith: Likewise.
14468         * modules/unistr/u8-mblen: Likewise.
14469         * modules/unistr/u8-mbsnlen: Likewise.
14470         * modules/unistr/u8-mbtouc: Likewise.
14471         * modules/unistr/u8-mbtouc-unsafe: Likewise.
14472         * modules/unistr/u8-mbtoucr: Likewise.
14473         * modules/unistr/u8-move: Likewise.
14474         * modules/unistr/u8-next: Likewise.
14475         * modules/unistr/u8-prev: Likewise.
14476         * modules/unistr/u8-set: Likewise.
14477         * modules/unistr/u8-startswith: Likewise.
14478         * modules/unistr/u8-stpcpy: Likewise.
14479         * modules/unistr/u8-stpncpy: Likewise.
14480         * modules/unistr/u8-strcat: Likewise.
14481         * modules/unistr/u8-strchr: Likewise.
14482         * modules/unistr/u8-strcmp: Likewise.
14483         * modules/unistr/u8-strcoll: Likewise.
14484         * modules/unistr/u8-strcpy: Likewise.
14485         * modules/unistr/u8-strcspn: Likewise.
14486         * modules/unistr/u8-strdup: Likewise.
14487         * modules/unistr/u8-strlen: Likewise.
14488         * modules/unistr/u8-strmblen: Likewise.
14489         * modules/unistr/u8-strmbtouc: Likewise.
14490         * modules/unistr/u8-strncat: Likewise.
14491         * modules/unistr/u8-strncmp: Likewise.
14492         * modules/unistr/u8-strncpy: Likewise.
14493         * modules/unistr/u8-strnlen: Likewise.
14494         * modules/unistr/u8-strpbrk: Likewise.
14495         * modules/unistr/u8-strrchr: Likewise.
14496         * modules/unistr/u8-strspn: Likewise.
14497         * modules/unistr/u8-strstr: Likewise.
14498         * modules/unistr/u8-strtok: Likewise.
14499         * modules/unistr/u8-to-u16: Likewise.
14500         * modules/unistr/u8-to-u32: Likewise.
14501         * modules/unistr/u8-uctomb: Likewise.
14502         * modules/unistr/u16-check: Likewise.
14503         * modules/unistr/u16-chr: Likewise.
14504         * modules/unistr/u16-cmp: Likewise.
14505         * modules/unistr/u16-cmp2: Likewise.
14506         * modules/unistr/u16-cpy: Likewise.
14507         * modules/unistr/u16-cpy-alloc: Likewise.
14508         * modules/unistr/u16-endswith: Likewise.
14509         * modules/unistr/u16-mblen: Likewise.
14510         * modules/unistr/u16-mbsnlen: Likewise.
14511         * modules/unistr/u16-mbtouc: Likewise.
14512         * modules/unistr/u16-mbtouc-unsafe: Likewise.
14513         * modules/unistr/u16-mbtoucr: Likewise.
14514         * modules/unistr/u16-move: Likewise.
14515         * modules/unistr/u16-next: Likewise.
14516         * modules/unistr/u16-prev: Likewise.
14517         * modules/unistr/u16-set: Likewise.
14518         * modules/unistr/u16-startswith: Likewise.
14519         * modules/unistr/u16-stpcpy: Likewise.
14520         * modules/unistr/u16-stpncpy: Likewise.
14521         * modules/unistr/u16-strcat: Likewise.
14522         * modules/unistr/u16-strchr: Likewise.
14523         * modules/unistr/u16-strcmp: Likewise.
14524         * modules/unistr/u16-strcoll: Likewise.
14525         * modules/unistr/u16-strcpy: Likewise.
14526         * modules/unistr/u16-strcspn: Likewise.
14527         * modules/unistr/u16-strdup: Likewise.
14528         * modules/unistr/u16-strlen: Likewise.
14529         * modules/unistr/u16-strmblen: Likewise.
14530         * modules/unistr/u16-strmbtouc: Likewise.
14531         * modules/unistr/u16-strncat: Likewise.
14532         * modules/unistr/u16-strncmp: Likewise.
14533         * modules/unistr/u16-strncpy: Likewise.
14534         * modules/unistr/u16-strnlen: Likewise.
14535         * modules/unistr/u16-strpbrk: Likewise.
14536         * modules/unistr/u16-strrchr: Likewise.
14537         * modules/unistr/u16-strspn: Likewise.
14538         * modules/unistr/u16-strstr: Likewise.
14539         * modules/unistr/u16-strtok: Likewise.
14540         * modules/unistr/u16-to-u32: Likewise.
14541         * modules/unistr/u16-to-u8: Likewise.
14542         * modules/unistr/u16-uctomb: Likewise.
14543         * modules/unistr/u32-check: Likewise.
14544         * modules/unistr/u32-chr: Likewise.
14545         * modules/unistr/u32-cmp: Likewise.
14546         * modules/unistr/u32-cmp2: Likewise.
14547         * modules/unistr/u32-cpy: Likewise.
14548         * modules/unistr/u32-cpy-alloc: Likewise.
14549         * modules/unistr/u32-endswith: Likewise.
14550         * modules/unistr/u32-mblen: Likewise.
14551         * modules/unistr/u32-mbsnlen: Likewise.
14552         * modules/unistr/u32-mbtouc: Likewise.
14553         * modules/unistr/u32-mbtouc-unsafe: Likewise.
14554         * modules/unistr/u32-mbtoucr: Likewise.
14555         * modules/unistr/u32-move: Likewise.
14556         * modules/unistr/u32-next: Likewise.
14557         * modules/unistr/u32-prev: Likewise.
14558         * modules/unistr/u32-set: Likewise.
14559         * modules/unistr/u32-startswith: Likewise.
14560         * modules/unistr/u32-stpcpy: Likewise.
14561         * modules/unistr/u32-stpncpy: Likewise.
14562         * modules/unistr/u32-strcat: Likewise.
14563         * modules/unistr/u32-strchr: Likewise.
14564         * modules/unistr/u32-strcmp: Likewise.
14565         * modules/unistr/u32-strcoll: Likewise.
14566         * modules/unistr/u32-strcpy: Likewise.
14567         * modules/unistr/u32-strcspn: Likewise.
14568         * modules/unistr/u32-strdup: Likewise.
14569         * modules/unistr/u32-strlen: Likewise.
14570         * modules/unistr/u32-strmblen: Likewise.
14571         * modules/unistr/u32-strmbtouc: Likewise.
14572         * modules/unistr/u32-strncat: Likewise.
14573         * modules/unistr/u32-strncmp: Likewise.
14574         * modules/unistr/u32-strncpy: Likewise.
14575         * modules/unistr/u32-strnlen: Likewise.
14576         * modules/unistr/u32-strpbrk: Likewise.
14577         * modules/unistr/u32-strrchr: Likewise.
14578         * modules/unistr/u32-strspn: Likewise.
14579         * modules/unistr/u32-strstr: Likewise.
14580         * modules/unistr/u32-strtok: Likewise.
14581         * modules/unistr/u32-to-u16: Likewise.
14582         * modules/unistr/u32-to-u8: Likewise.
14583         * modules/unistr/u32-uctomb: Likewise.
14584         * modules/uniwbrk/u8-wordbreaks: Likewise.
14585         * modules/uniwbrk/u16-wordbreaks: Likewise.
14586         * modules/uniwbrk/u32-wordbreaks: Likewise.
14587         * modules/uniwbrk/ulc-wordbreaks: Likewise.
14588         * modules/uniwbrk/wordbreak-property: Likewise.
14589         * modules/uniwidth/u8-strwidth: Likewise.
14590         * modules/uniwidth/u8-width: Likewise.
14591         * modules/uniwidth/u16-strwidth: Likewise.
14592         * modules/uniwidth/u16-width: Likewise.
14593         * modules/uniwidth/u32-strwidth: Likewise.
14594         * modules/uniwidth/u32-width: Likewise.
14595         * modules/uniwidth/width: Likewise.
14596         * modules/unicase/cased-tests (Makefile.am): Link all test programs
14597         with $(LIBUNISTRING).
14598         * modules/unicase/ignorable-tests: Likewise.
14599         * modules/unicase/locale-language-tests: Likewise.
14600         * modules/unicase/tolower-tests: Likewise.
14601         * modules/unicase/totitle-tests: Likewise.
14602         * modules/unicase/toupper-tests: Likewise.
14603         * modules/unicase/u8-casecmp-tests: Likewise.
14604         * modules/unicase/u8-casecoll-tests: Likewise.
14605         * modules/unicase/u8-casefold-tests: Likewise.
14606         * modules/unicase/u8-is-cased-tests: Likewise.
14607         * modules/unicase/u8-is-casefolded-tests: Likewise.
14608         * modules/unicase/u8-is-lowercase-tests: Likewise.
14609         * modules/unicase/u8-is-titlecase-tests: Likewise.
14610         * modules/unicase/u8-is-uppercase-tests: Likewise.
14611         * modules/unicase/u8-tolower-tests: Likewise.
14612         * modules/unicase/u8-totitle-tests: Likewise.
14613         * modules/unicase/u8-toupper-tests: Likewise.
14614         * modules/unicase/u16-casecmp-tests: Likewise.
14615         * modules/unicase/u16-casecoll-tests: Likewise.
14616         * modules/unicase/u16-casefold-tests: Likewise.
14617         * modules/unicase/u16-is-cased-tests: Likewise.
14618         * modules/unicase/u16-is-casefolded-tests: Likewise.
14619         * modules/unicase/u16-is-lowercase-tests: Likewise.
14620         * modules/unicase/u16-is-titlecase-tests: Likewise.
14621         * modules/unicase/u16-is-uppercase-tests: Likewise.
14622         * modules/unicase/u16-tolower-tests: Likewise.
14623         * modules/unicase/u16-totitle-tests: Likewise.
14624         * modules/unicase/u16-toupper-tests: Likewise.
14625         * modules/unicase/u32-casecmp-tests: Likewise.
14626         * modules/unicase/u32-casecoll-tests: Likewise.
14627         * modules/unicase/u32-casefold-tests: Likewise.
14628         * modules/unicase/u32-is-cased-tests: Likewise.
14629         * modules/unicase/u32-is-casefolded-tests: Likewise.
14630         * modules/unicase/u32-is-lowercase-tests: Likewise.
14631         * modules/unicase/u32-is-titlecase-tests: Likewise.
14632         * modules/unicase/u32-is-uppercase-tests: Likewise.
14633         * modules/unicase/u32-tolower-tests: Likewise.
14634         * modules/unicase/u32-totitle-tests: Likewise.
14635         * modules/unicase/u32-toupper-tests: Likewise.
14636         * modules/unicase/ulc-casecmp-tests: Likewise.
14637         * modules/unicase/ulc-casecoll-tests: Likewise.
14638         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
14639         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
14640         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
14641         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
14642         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
14643         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
14644         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
14645         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
14646         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
14647         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
14648         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
14649         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
14650         * modules/unictype/bidicategory-byname-tests: Likewise.
14651         * modules/unictype/bidicategory-name-tests: Likewise.
14652         * modules/unictype/bidicategory-of-tests: Likewise.
14653         * modules/unictype/bidicategory-test-tests: Likewise.
14654         * modules/unictype/block-list-tests: Likewise.
14655         * modules/unictype/block-of-tests: Likewise.
14656         * modules/unictype/block-test-tests: Likewise.
14657         * modules/unictype/category-C-tests: Likewise.
14658         * modules/unictype/category-Cc-tests: Likewise.
14659         * modules/unictype/category-Cf-tests: Likewise.
14660         * modules/unictype/category-Cn-tests: Likewise.
14661         * modules/unictype/category-Co-tests: Likewise.
14662         * modules/unictype/category-Cs-tests: Likewise.
14663         * modules/unictype/category-L-tests: Likewise.
14664         * modules/unictype/category-Ll-tests: Likewise.
14665         * modules/unictype/category-Lm-tests: Likewise.
14666         * modules/unictype/category-Lo-tests: Likewise.
14667         * modules/unictype/category-Lt-tests: Likewise.
14668         * modules/unictype/category-Lu-tests: Likewise.
14669         * modules/unictype/category-M-tests: Likewise.
14670         * modules/unictype/category-Mc-tests: Likewise.
14671         * modules/unictype/category-Me-tests: Likewise.
14672         * modules/unictype/category-Mn-tests: Likewise.
14673         * modules/unictype/category-N-tests: Likewise.
14674         * modules/unictype/category-Nd-tests: Likewise.
14675         * modules/unictype/category-Nl-tests: Likewise.
14676         * modules/unictype/category-No-tests: Likewise.
14677         * modules/unictype/category-P-tests: Likewise.
14678         * modules/unictype/category-Pc-tests: Likewise.
14679         * modules/unictype/category-Pd-tests: Likewise.
14680         * modules/unictype/category-Pe-tests: Likewise.
14681         * modules/unictype/category-Pf-tests: Likewise.
14682         * modules/unictype/category-Pi-tests: Likewise.
14683         * modules/unictype/category-Po-tests: Likewise.
14684         * modules/unictype/category-Ps-tests: Likewise.
14685         * modules/unictype/category-S-tests: Likewise.
14686         * modules/unictype/category-Sc-tests: Likewise.
14687         * modules/unictype/category-Sk-tests: Likewise.
14688         * modules/unictype/category-Sm-tests: Likewise.
14689         * modules/unictype/category-So-tests: Likewise.
14690         * modules/unictype/category-Z-tests: Likewise.
14691         * modules/unictype/category-Zl-tests: Likewise.
14692         * modules/unictype/category-Zp-tests: Likewise.
14693         * modules/unictype/category-Zs-tests: Likewise.
14694         * modules/unictype/category-and-not-tests: Likewise.
14695         * modules/unictype/category-and-tests: Likewise.
14696         * modules/unictype/category-byname-tests: Likewise.
14697         * modules/unictype/category-name-tests: Likewise.
14698         * modules/unictype/category-none-tests: Likewise.
14699         * modules/unictype/category-of-tests: Likewise.
14700         * modules/unictype/category-or-tests: Likewise.
14701         * modules/unictype/category-test-withtable-tests: Likewise.
14702         * modules/unictype/combining-class-tests: Likewise.
14703         * modules/unictype/ctype-alnum-tests: Likewise.
14704         * modules/unictype/ctype-alpha-tests: Likewise.
14705         * modules/unictype/ctype-blank-tests: Likewise.
14706         * modules/unictype/ctype-cntrl-tests: Likewise.
14707         * modules/unictype/ctype-digit-tests: Likewise.
14708         * modules/unictype/ctype-graph-tests: Likewise.
14709         * modules/unictype/ctype-lower-tests: Likewise.
14710         * modules/unictype/ctype-print-tests: Likewise.
14711         * modules/unictype/ctype-punct-tests: Likewise.
14712         * modules/unictype/ctype-space-tests: Likewise.
14713         * modules/unictype/ctype-upper-tests: Likewise.
14714         * modules/unictype/ctype-xdigit-tests: Likewise.
14715         * modules/unictype/decimal-digit-tests: Likewise.
14716         * modules/unictype/digit-tests: Likewise.
14717         * modules/unictype/mirror-tests: Likewise.
14718         * modules/unictype/numeric-tests: Likewise.
14719         * modules/unictype/property-alphabetic-tests: Likewise.
14720         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
14721         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
14722         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
14723         * modules/unictype/property-bidi-block-separator-tests: Likewise.
14724         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
14725         * modules/unictype/property-bidi-common-separator-tests: Likewise.
14726         * modules/unictype/property-bidi-control-tests: Likewise.
14727         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
14728         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
14729         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
14730         * modules/unictype/property-bidi-european-digit-tests: Likewise.
14731         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
14732         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
14733         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
14734         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
14735         * modules/unictype/property-bidi-pdf-tests: Likewise.
14736         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
14737         * modules/unictype/property-bidi-whitespace-tests: Likewise.
14738         * modules/unictype/property-byname-tests: Likewise.
14739         * modules/unictype/property-combining-tests: Likewise.
14740         * modules/unictype/property-composite-tests: Likewise.
14741         * modules/unictype/property-currency-symbol-tests: Likewise.
14742         * modules/unictype/property-dash-tests: Likewise.
14743         * modules/unictype/property-decimal-digit-tests: Likewise.
14744         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
14745         * modules/unictype/property-deprecated-tests: Likewise.
14746         * modules/unictype/property-diacritic-tests: Likewise.
14747         * modules/unictype/property-extender-tests: Likewise.
14748         * modules/unictype/property-format-control-tests: Likewise.
14749         * modules/unictype/property-grapheme-base-tests: Likewise.
14750         * modules/unictype/property-grapheme-extend-tests: Likewise.
14751         * modules/unictype/property-grapheme-link-tests: Likewise.
14752         * modules/unictype/property-hex-digit-tests: Likewise.
14753         * modules/unictype/property-hyphen-tests: Likewise.
14754         * modules/unictype/property-id-continue-tests: Likewise.
14755         * modules/unictype/property-id-start-tests: Likewise.
14756         * modules/unictype/property-ideographic-tests: Likewise.
14757         * modules/unictype/property-ids-binary-operator-tests: Likewise.
14758         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
14759         * modules/unictype/property-ignorable-control-tests: Likewise.
14760         * modules/unictype/property-iso-control-tests: Likewise.
14761         * modules/unictype/property-join-control-tests: Likewise.
14762         * modules/unictype/property-left-of-pair-tests: Likewise.
14763         * modules/unictype/property-line-separator-tests: Likewise.
14764         * modules/unictype/property-logical-order-exception-tests: Likewise.
14765         * modules/unictype/property-lowercase-tests: Likewise.
14766         * modules/unictype/property-math-tests: Likewise.
14767         * modules/unictype/property-non-break-tests: Likewise.
14768         * modules/unictype/property-not-a-character-tests: Likewise.
14769         * modules/unictype/property-numeric-tests: Likewise.
14770         * modules/unictype/property-other-alphabetic-tests: Likewise.
14771         * modules/unictype/property-other-default-ignorable-code-point-tests:
14772         Likewise.
14773         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
14774         * modules/unictype/property-other-id-continue-tests: Likewise.
14775         * modules/unictype/property-other-id-start-tests: Likewise.
14776         * modules/unictype/property-other-lowercase-tests: Likewise.
14777         * modules/unictype/property-other-math-tests: Likewise.
14778         * modules/unictype/property-other-uppercase-tests: Likewise.
14779         * modules/unictype/property-paired-punctuation-tests: Likewise.
14780         * modules/unictype/property-paragraph-separator-tests: Likewise.
14781         * modules/unictype/property-pattern-syntax-tests: Likewise.
14782         * modules/unictype/property-pattern-white-space-tests: Likewise.
14783         * modules/unictype/property-private-use-tests: Likewise.
14784         * modules/unictype/property-punctuation-tests: Likewise.
14785         * modules/unictype/property-quotation-mark-tests: Likewise.
14786         * modules/unictype/property-radical-tests: Likewise.
14787         * modules/unictype/property-sentence-terminal-tests: Likewise.
14788         * modules/unictype/property-soft-dotted-tests: Likewise.
14789         * modules/unictype/property-space-tests: Likewise.
14790         * modules/unictype/property-terminal-punctuation-tests: Likewise.
14791         * modules/unictype/property-test-tests: Likewise.
14792         * modules/unictype/property-titlecase-tests: Likewise.
14793         * modules/unictype/property-unassigned-code-value-tests: Likewise.
14794         * modules/unictype/property-unified-ideograph-tests: Likewise.
14795         * modules/unictype/property-uppercase-tests: Likewise.
14796         * modules/unictype/property-variation-selector-tests: Likewise.
14797         * modules/unictype/property-white-space-tests: Likewise.
14798         * modules/unictype/property-xid-continue-tests: Likewise.
14799         * modules/unictype/property-xid-start-tests: Likewise.
14800         * modules/unictype/property-zero-width-tests: Likewise.
14801         * modules/unictype/scripts-tests: Likewise.
14802         * modules/unictype/syntax-c-ident-tests: Likewise.
14803         * modules/unictype/syntax-c-whitespace-tests: Likewise.
14804         * modules/unictype/syntax-java-ident-tests: Likewise.
14805         * modules/unictype/syntax-java-whitespace-tests: Likewise.
14806         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
14807         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
14808         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
14809         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
14810         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
14811         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
14812         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
14813         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
14814         * modules/uniname/uniname-tests: Likewise.
14815         * modules/uninorm/canonical-decomposition-tests: Likewise.
14816         * modules/uninorm/compat-decomposition-tests: Likewise.
14817         * modules/uninorm/composition-tests: Likewise.
14818         * modules/uninorm/decomposing-form-tests: Likewise.
14819         * modules/uninorm/decomposition-tests: Likewise.
14820         * modules/uninorm/filter-tests: Likewise.
14821         * modules/uninorm/nfc-tests: Likewise.
14822         * modules/uninorm/nfd-tests: Likewise.
14823         * modules/uninorm/nfkc-tests: Likewise.
14824         * modules/uninorm/nfkd-tests: Likewise.
14825         * modules/uninorm/u8-normcmp-tests: Likewise.
14826         * modules/uninorm/u8-normcoll-tests: Likewise.
14827         * modules/uninorm/u16-normcmp-tests: Likewise.
14828         * modules/uninorm/u16-normcoll-tests: Likewise.
14829         * modules/uninorm/u32-normcmp-tests: Likewise.
14830         * modules/uninorm/u32-normcoll-tests: Likewise.
14831         * modules/unistdio/u8-asnprintf-tests: Likewise.
14832         * modules/unistdio/u8-vasnprintf-tests: Likewise.
14833         * modules/unistdio/u8-vasprintf-tests: Likewise.
14834         * modules/unistdio/u8-vsnprintf-tests: Likewise.
14835         * modules/unistdio/u8-vsprintf-tests: Likewise.
14836         * modules/unistdio/u16-asnprintf-tests: Likewise.
14837         * modules/unistdio/u16-vasnprintf-tests: Likewise.
14838         * modules/unistdio/u16-vasprintf-tests: Likewise.
14839         * modules/unistdio/u16-vsnprintf-tests: Likewise.
14840         * modules/unistdio/u16-vsprintf-tests: Likewise.
14841         * modules/unistdio/u32-asnprintf-tests: Likewise.
14842         * modules/unistdio/u32-vasnprintf-tests: Likewise.
14843         * modules/unistdio/u32-vasprintf-tests: Likewise.
14844         * modules/unistdio/u32-vsnprintf-tests: Likewise.
14845         * modules/unistdio/u32-vsprintf-tests: Likewise.
14846         * modules/unistdio/ulc-asnprintf-tests: Likewise.
14847         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
14848         * modules/unistdio/ulc-vasprintf-tests: Likewise.
14849         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
14850         * modules/unistdio/ulc-vsprintf-tests: Likewise.
14851         * modules/unistr/u8-check-tests: Likewise.
14852         * modules/unistr/u8-chr-tests: Likewise.
14853         * modules/unistr/u8-cmp-tests: Likewise.
14854         * modules/unistr/u8-cmp2-tests: Likewise.
14855         * modules/unistr/u8-cpy-alloc-tests: Likewise.
14856         * modules/unistr/u8-cpy-tests: Likewise.
14857         * modules/unistr/u8-mblen-tests: Likewise.
14858         * modules/unistr/u8-mbsnlen-tests: Likewise.
14859         * modules/unistr/u8-mbtouc-tests: Likewise.
14860         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
14861         * modules/unistr/u8-mbtoucr-tests: Likewise.
14862         * modules/unistr/u8-move-tests: Likewise.
14863         * modules/unistr/u8-next-tests: Likewise.
14864         * modules/unistr/u8-prev-tests: Likewise.
14865         * modules/unistr/u8-set-tests: Likewise.
14866         * modules/unistr/u8-stpcpy-tests: Likewise.
14867         * modules/unistr/u8-stpncpy-tests: Likewise.
14868         * modules/unistr/u8-strcat-tests: Likewise.
14869         * modules/unistr/u8-strcmp-tests: Likewise.
14870         * modules/unistr/u8-strcoll-tests: Likewise.
14871         * modules/unistr/u8-strcpy-tests: Likewise.
14872         * modules/unistr/u8-strdup-tests: Likewise.
14873         * modules/unistr/u8-strlen-tests: Likewise.
14874         * modules/unistr/u8-strmblen-tests: Likewise.
14875         * modules/unistr/u8-strmbtouc-tests: Likewise.
14876         * modules/unistr/u8-strncat-tests: Likewise.
14877         * modules/unistr/u8-strncmp-tests: Likewise.
14878         * modules/unistr/u8-strncpy-tests: Likewise.
14879         * modules/unistr/u8-strnlen-tests: Likewise.
14880         * modules/unistr/u8-to-u16-tests: Likewise.
14881         * modules/unistr/u8-to-u32-tests: Likewise.
14882         * modules/unistr/u8-uctomb-tests: Likewise.
14883         * modules/unistr/u16-check-tests: Likewise.
14884         * modules/unistr/u16-chr-tests: Likewise.
14885         * modules/unistr/u16-cmp-tests: Likewise.
14886         * modules/unistr/u16-cmp2-tests: Likewise.
14887         * modules/unistr/u16-cpy-alloc-tests: Likewise.
14888         * modules/unistr/u16-cpy-tests: Likewise.
14889         * modules/unistr/u16-mblen-tests: Likewise.
14890         * modules/unistr/u16-mbsnlen-tests: Likewise.
14891         * modules/unistr/u16-mbtouc-tests: Likewise.
14892         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
14893         * modules/unistr/u16-mbtoucr-tests: Likewise.
14894         * modules/unistr/u16-move-tests: Likewise.
14895         * modules/unistr/u16-next-tests: Likewise.
14896         * modules/unistr/u16-prev-tests: Likewise.
14897         * modules/unistr/u16-set-tests: Likewise.
14898         * modules/unistr/u16-stpcpy-tests: Likewise.
14899         * modules/unistr/u16-stpncpy-tests: Likewise.
14900         * modules/unistr/u16-strcat-tests: Likewise.
14901         * modules/unistr/u16-strcmp-tests: Likewise.
14902         * modules/unistr/u16-strcoll-tests: Likewise.
14903         * modules/unistr/u16-strcpy-tests: Likewise.
14904         * modules/unistr/u16-strdup-tests: Likewise.
14905         * modules/unistr/u16-strlen-tests: Likewise.
14906         * modules/unistr/u16-strmblen-tests: Likewise.
14907         * modules/unistr/u16-strmbtouc-tests: Likewise.
14908         * modules/unistr/u16-strncat-tests: Likewise.
14909         * modules/unistr/u16-strncmp-tests: Likewise.
14910         * modules/unistr/u16-strncpy-tests: Likewise.
14911         * modules/unistr/u16-strnlen-tests: Likewise.
14912         * modules/unistr/u16-to-u32-tests: Likewise.
14913         * modules/unistr/u16-to-u8-tests: Likewise.
14914         * modules/unistr/u16-uctomb-tests: Likewise.
14915         * modules/unistr/u32-check-tests: Likewise.
14916         * modules/unistr/u32-chr-tests: Likewise.
14917         * modules/unistr/u32-cmp-tests: Likewise.
14918         * modules/unistr/u32-cmp2-tests: Likewise.
14919         * modules/unistr/u32-cpy-alloc-tests: Likewise.
14920         * modules/unistr/u32-cpy-tests: Likewise.
14921         * modules/unistr/u32-mblen-tests: Likewise.
14922         * modules/unistr/u32-mbsnlen-tests: Likewise.
14923         * modules/unistr/u32-mbtouc-tests: Likewise.
14924         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
14925         * modules/unistr/u32-mbtoucr-tests: Likewise.
14926         * modules/unistr/u32-move-tests: Likewise.
14927         * modules/unistr/u32-next-tests: Likewise.
14928         * modules/unistr/u32-prev-tests: Likewise.
14929         * modules/unistr/u32-set-tests: Likewise.
14930         * modules/unistr/u32-stpcpy-tests: Likewise.
14931         * modules/unistr/u32-stpncpy-tests: Likewise.
14932         * modules/unistr/u32-strcat-tests: Likewise.
14933         * modules/unistr/u32-strcmp-tests: Likewise.
14934         * modules/unistr/u32-strcoll-tests: Likewise.
14935         * modules/unistr/u32-strcpy-tests: Likewise.
14936         * modules/unistr/u32-strdup-tests: Likewise.
14937         * modules/unistr/u32-strlen-tests: Likewise.
14938         * modules/unistr/u32-strmblen-tests: Likewise.
14939         * modules/unistr/u32-strmbtouc-tests: Likewise.
14940         * modules/unistr/u32-strncat-tests: Likewise.
14941         * modules/unistr/u32-strncmp-tests: Likewise.
14942         * modules/unistr/u32-strncpy-tests: Likewise.
14943         * modules/unistr/u32-strnlen-tests: Likewise.
14944         * modules/unistr/u32-to-u16-tests: Likewise.
14945         * modules/unistr/u32-to-u8-tests: Likewise.
14946         * modules/unistr/u32-uctomb-tests: Likewise.
14947         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
14948         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
14949         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
14950         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
14951         * modules/uniwidth/u8-strwidth-tests: Likewise.
14952         * modules/uniwidth/u8-width-tests: Likewise.
14953         * modules/uniwidth/u16-strwidth-tests: Likewise.
14954         * modules/uniwidth/u16-width-tests: Likewise.
14955         * modules/uniwidth/u32-strwidth-tests: Likewise.
14956         * modules/uniwidth/u32-width-tests: Likewise.
14957         * modules/uniwidth/width-tests: Likewise.
14958
14959 2010-05-18  Richard Jones  <rjones@redhat.com>
14960
14961         doc: users.txt: list hivex
14962         * users.txt: Add hivex.
14963
14964 2010-05-18  Richard Jones  <rjones@redhat.com>
14965
14966         doc: users.txt: list febootstrap
14967         * users.txt: Add febootstrap.
14968
14969 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
14970
14971         bootstrap: fix an error when gnulib is not used as a git submodule
14972         * build-aux/bootstrap (gnulib_path): If its length is zero then
14973         assign "gnulib" to it.
14974         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
14975
14976 2010-05-16  Bruno Haible  <bruno@clisp.org>
14977
14978         Avoid autoconf warnings about AM_ICONV.
14979         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
14980         2.64.
14981
14982 2010-05-16  Bruno Haible  <bruno@clisp.org>
14983
14984         absolute-header: Make the macro usable in more situations.
14985         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
14986         from gl_ABSOLUTE_HEADER.
14987         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
14988
14989 2010-05-16  James Youngman  <jay@gnu.org>
14990
14991         doc: update users.txt
14992         * users.txt: Add CSSC.
14993
14994 2010-05-16  Jim Meyering  <meyering@redhat.com>
14995
14996         init.sh: fix an error in the previous change; add more comments
14997         * tests/init.sh: Compare exit code in loop against 9, not 2.
14998         Patch by Bruno Haible.
14999         Make the two tests more similar by adding an empty "then" clause.
15000         Add comments.
15001
15002         init.sh: avoid unnecessary shell re-exec
15003         * tests/init.sh: Improve the re-exec-required check to first test the
15004         current shell.  If it passes the test, do not search for a shell that
15005         does pass, and do not re-exec.  This test is particularly contorted to
15006         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
15007         of $(...) evokes a syntax error and causes immediate shell exit with
15008         status 2.  Bruno Haible reported that the re-exec made it impossible
15009         to single-step through any init.sh-using script.
15010
15011 2010-05-16  Bruno Haible  <bruno@clisp.org>
15012
15013         Fix collision between gnulib's and libintl's printf replacements.
15014         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
15015         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
15016         (printf): When using GNU C, map the __printf__ function to rpl_printf
15017         via __asm__. When not using GNU C, define rpl_printf instead of
15018         __printf__.
15019         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
15020         commit.
15021         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
15022         commit.
15023         * m4/asm-underscore.m4: New file.
15024         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
15025         * modules/stdio (Files): Add m4/asm-underscore.m4.
15026         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
15027         Reported by Ben Pfaff.
15028
15029 2010-05-16  Bruno Haible  <bruno@clisp.org>
15030
15031         verify: Avoid skipping the test on openSUSE 11.0.
15032         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
15033
15034 2010-05-13  Bruno Haible  <bruno@clisp.org>
15035
15036         Avoid useless warnings from G++.
15037         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
15038         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
15039         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
15040
15041 2010-05-11  Jim Meyering  <meyering@redhat.com>
15042
15043         maint.mk: tweak preceding change
15044         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
15045         regexps tighter by anchoring at EOL, and make the new group "shy"
15046         for slightly decreased overhead.
15047
15048 2010-05-11  Eric Blake  <eblake@redhat.com>
15049
15050         maint.mk: gnulib doesn't guarantee NSIG
15051         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
15052
15053 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
15054
15055         test-pwrite.c: Remove unused variable declaration.
15056         * tests/test-pwrite.c (main): Remove read_buf declaration.
15057
15058         Remove useless test-pwrite.sh file.
15059         * tests/test-pwrite.sh: Delete file.
15060         * modules/pwrite-tests: Remove references.
15061         Reported by Bruno Haible.
15062
15063 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
15064
15065         init.sh: fix a typo
15066         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
15067
15068 2010-05-10  Jim Meyering  <meyering@redhat.com>
15069
15070         maint.mk: avoid using a temporary file in the always-defined-macros check
15071         * top/maint.mk (.re-defmac): Remove rule.
15072         (gl_trap_): Remove definition.
15073         (sc_prohibit_always-defined_macros): Rewrite not to create and
15074         depend on a temporary file.  Instead, depend on GNU grep's ability
15075         to read a list of regular expressions from stdin when given "-f -".
15076
15077 2010-05-09  Bruno Haible  <bruno@clisp.org>
15078
15079         Update to GNU gettext 0.18, part 1.
15080         * m4/gettext.m4: Update to GNU gettext 0.18.
15081         * m4/intl.m4: Likewise.
15082         * m4/po.m4: Likewise.
15083         * modules/gettext (Files): Add m4/fcntl-o.m4.
15084         (configure.ac): Require gettext infrastructure from version 0.18.
15085
15086 2010-05-09  Jim Meyering  <meyering@redhat.com>
15087
15088         init.sh: enable MALLOC_PERTURB_
15089         * tests/init.sh: Enable glibc's malloc-perturbing option.
15090
15091         maint.mk: improve sc_cross_check_PATH_usage_in_tests
15092         With my recent change in init.sh from the two-line form:
15093             -#   : ${srcdir=.}
15094             -#   . "$srcdir/init.sh"; path_prepend_ .
15095             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
15096         I noticed that using the one-line form would cause this test
15097         to fail with a false-positive, or to stop working altogether,
15098         depending on whether help-version changed or all the tests did.
15099         * top/maint.mk (_hv_regex): Remove this definition.
15100         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
15101         (_hv_regex_strong): Use a stronger regex to check for conformance.
15102         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
15103         Give a separate diagnostic for lack of conforming use.
15104
15105         maint.mk: prohibit definition of symbols defined by gnulib
15106         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
15107         definition of symbols defined by gnulib.
15108
15109 2010-05-09  Bruno Haible  <bruno@clisp.org>
15110
15111         acl: Avoid test failure on Cygwin-hosted mingw.
15112         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
15113
15114 2010-05-09  Bruno Haible  <bruno@clisp.org>
15115
15116         error: Use system's fcntl function.
15117         * lib/error.c (fcntl): Undefine.
15118
15119 2010-05-09  Jim Meyering  <meyering@redhat.com>
15120
15121         verify: adjust formatting to be more consistent
15122         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
15123         argument-list '('s, and after one comma.
15124
15125 2010-05-09  Bruno Haible  <bruno@clisp.org>
15126
15127         error: More reliable output on mingw.
15128         * lib/error.c: Include <windows.h>.
15129         (is_open): New function.
15130         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
15131         defined.
15132
15133 2010-05-09  Bruno Haible  <bruno@clisp.org>
15134
15135         vasnprintf: Fix syntax errors in libintl build on mingw.
15136         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
15137         pad_ourselves and prec_ourselves after use.
15138
15139 2010-05-08  Bruno Haible  <bruno@clisp.org>
15140
15141         * lib/config.charset: Update comments for Cygwin 1.7.
15142         * lib/localcharset.c: Likewise.
15143
15144 2010-05-07  Jim Meyering  <meyering@redhat.com>
15145
15146         init.sh: improve comments
15147         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
15148         . "${srcdir=.}/init.sh"; path_prepend_ .
15149         Add a note about path_prepend_ and the alternative of using
15150         TESTS_ENVIRONMENT.
15151
15152 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
15153
15154         exclude: Unescape hashed patterns in wildcard mode.
15155         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
15156         to the hash list.
15157         * tests/test-exclude8.sh: New test case.
15158         * modules/exclude-tests: Add new test.
15159
15160 2010-05-05  Eric Blake  <eblake@redhat.com>
15161
15162         verify: automate tests
15163         * modules/verify-tests: New module.
15164         * tests/test-verify.sh: New file.
15165         * tests/test-verify.c: Guard each negative test with a unique id.
15166         Also avoid warning about unused left hand of comma expressions.
15167
15168 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
15169
15170         Further improvements to verify.h, suggested by Eric Blake.
15171         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
15172         the GL_* versions, to avoid collision with OpenGL.
15173         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
15174         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
15175         than testing merely whether it's defined.
15176
15177         Modify verify.h to pacify gcc -Wredundant_decls.
15178         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
15179         These use the prefix "GL_" since they're likely to be useful elsewhere.
15180         We may need to break them out into a different .h file.
15181         (__COUNTER__): Define to 0 if the compiler doesn't support it.
15182         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
15183         of verify_function__.
15184
15185 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
15186
15187         Tests for module pwrite.
15188         * modules/pwrite-tests: New file.
15189         * tests/test-pwrite.sh: New file.
15190         * tests/test-pwrite.c: New file.
15191
15192         New module pwrite.
15193         * lib/unistd.in.h (pwrite): New declaration.
15194         * lib/pwrite.c: New file, from glibc with modifications.
15195         * m4/pwrite.m4: New file.
15196         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
15197         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
15198         REPLACE_PWRITE.
15199         * modules/pwrite: New file.
15200         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
15201         REPLACE_PWRITE.
15202         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
15203         * doc/posix-functions/pwrite.texi: Mention the new module.
15204
15205 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
15206
15207         pread: Update documentation.
15208         * doc/posix-functions/pread.texi: Mention the 'pread' module.
15209
15210 2010-05-04  Eric Blake  <eblake@redhat.com>
15211
15212         docs: update cygwin progress
15213         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
15214         this bug.
15215         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
15216         Added in cygwin 1.7.2.
15217         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
15218         Likewise.
15219         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
15220         Likewise.
15221         * doc/glibc-functions/dup3.texi (dup3): Likewise.
15222         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
15223         * doc/glibc-functions/accept4.texi (accept4): Likewise.
15224         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
15225         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
15226         Mention nproc module.
15227         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
15228         bug in cygwin 1.7.5 addition.
15229         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
15230         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
15231         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
15232         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
15233         1.7.5.
15234         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
15235         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
15236         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
15237         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
15238         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
15239         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
15240         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
15241         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
15242         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
15243         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
15244         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
15245         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
15246         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
15247         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
15248         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
15249         Likewise.
15250         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
15251         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
15252         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
15253         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
15254         Likewise.
15255         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
15256         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
15257         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
15258         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
15259         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
15260         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
15261         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
15262         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
15263         Likewise.
15264         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
15265         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
15266         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
15267         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
15268         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
15269         Likewise.
15270         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
15271         Likewise.
15272         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
15273         Likewise.
15274         * doc/glibc-functions/xdrrec_endofrecord.texi
15275         (xdrrec_endofrecord): Likewise.
15276         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
15277         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
15278         Likewise.
15279         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
15280         Likewise.
15281
15282 2010-05-04  Jim Meyering  <meyering@redhat.com>
15283
15284         gendocs.sh: make its "-s FILE" option more useful
15285         * build-aux/gendocs.sh: When honoring the -s FILE option, update
15286         $PACKAGE to reflect the probably-different basename of "FILE".
15287
15288 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
15289
15290         bootstrap: don't ignore download_po_files failure
15291         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
15292         failure.
15293
15294 2010-05-03  Jim Meyering  <meyering@redhat.com>
15295
15296         maint.mk: allow to pass options to gendocs.sh
15297         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
15298         (gendocs_options_): New overridable variable.
15299
15300         gnu-web-doc-update: don't ignore configure or build failure
15301         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
15302
15303         announce-gen: backslash-escape '@'s in --help output
15304         * build-aux/announce-gen: Fix syntax errors.
15305
15306         maint.mk, announce-gen: allow project-specific announcement mail headers
15307         * top/maint.mk (translation_project_): Define default.
15308         (announcement_Cc_, announcement_mail_headers_): Likewise.
15309         (announcement): Invoke announce-gen with new --mail-headers option.
15310         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
15311
15312         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
15313         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
15314         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
15315         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
15316         line in the "err2" output file when running "make check" in verbose
15317         mode (i.e., with set -x enabled).
15318
15319 2010-05-03  Bruno Haible  <bruno@clisp.org>
15320
15321         wctob: Fix for weird platforms.
15322         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
15323         argument value.
15324
15325 2010-05-03  Jim Meyering  <meyering@redhat.com>
15326
15327         maint.mk: prohibit unwarranted use of <strings.h>
15328         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
15329         strings.h in a file that does not also use strcasecmp, strncasecmp,
15330         ffs or ffsll.
15331
15332         maint.mk: remove obsolete comments
15333         * top/maint.mk: Remove stale, commented-out rules.
15334
15335 2010-05-02  Bruno Haible  <bruno@clisp.org>
15336
15337         wcwidth: Declare also when it's aliased.
15338         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
15339         macro.
15340
15341 2010-05-02  Bruno Haible  <bruno@clisp.org>
15342
15343         Fix regression from 2010-04-25.
15344         * gnulib-tool (func_modules_transitive_closure): Check the status of
15345         all modules, not only of the tests that are of the form foo-tests where
15346         foo is a module.
15347
15348 2010-05-02  Bruno Haible  <bruno@clisp.org>
15349
15350         wctob: Work around nasty Cygwin 1.7.2 bug.
15351         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
15352         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
15353
15354 2010-05-01  Bruno Haible  <bruno@clisp.org>
15355
15356         fpurge: Sharper test.
15357         * tests/test-fpurge.c (main): Add one more ftell check.
15358         * modules/fpurge-tests (Depends-on): Add ftell.
15359         Suggested by Eric Blake.
15360
15361 2010-05-01  Bruno Haible  <bruno@clisp.org>
15362
15363         ftello: Another test.
15364         * tests/test-ftello3.c: New file.
15365         * modules/ftello-tests (Files): Add it.
15366         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
15367         MOSTLYCLEANFILES.
15368
15369         ftell: Another test.
15370         * tests/test-ftell3.c: New file.
15371         * modules/ftell-tests (Files): Add it.
15372         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
15373         MOSTLYCLEANFILES.
15374
15375 2010-05-01  Bruno Haible  <bruno@clisp.org>
15376
15377         ftell, ftello: Work around Solaris bug.
15378         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
15379         * lib/ftello.c: Include stdio-impl.h.
15380         (ftello): On Solaris, when _IOWRT is set, compute the result without
15381         looking at _IOREAD.
15382         * modules/ftello (Files): Add lib/stdio-impl.h.
15383         * doc/posix-functions/ftell.texi: Mention Solaris bug.
15384         * doc/posix-functions/ftello.texi: Likewise.
15385         Reported by Eric Blake.
15386
15387 2010-05-01  Bruno Haible  <bruno@clisp.org>
15388
15389         freading: Adapt to special meaning of _IOREAD flag on Solaris.
15390         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
15391         the _IOWRT flag is also set.
15392
15393 2010-05-01  Bruno Haible  <bruno@clisp.org>
15394
15395         Fix doc about a HP-UX stdio bug.
15396         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
15397         * doc/posix-functions/ftello.texi: Likewise.
15398
15399 2010-05-01  Bruno Haible  <bruno@clisp.org>
15400
15401         lseek test: Fix failure on Solaris.
15402         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
15403         output.
15404
15405 2010-04-30  Jim Meyering  <meyering@redhat.com>
15406
15407         bootstrap: don't ignore failure to generate po*/Makevars
15408         * build-aux/bootstrap (with_gettext): Don't ignore failure
15409         to create po/Makevars or runtime-po/Makevars.
15410
15411 2010-04-29  Eric Blake  <eblake@redhat.com>
15412
15413         headers: relax license to LGPLv2+
15414         * modules/fcntl-h (License): Relax license.
15415         * modules/getopt-posix (License): Likewise.
15416         * modules/locale (License): Likewise.
15417         * modules/math (License): Likewise.
15418         * modules/pty (License): Likewise.
15419         * modules/sched (License): Likewise.
15420         * modules/search (License): Likewise.
15421         * modules/spawn (License): Likewise.
15422         * modules/stdarg (License): Likewise.
15423         * modules/sysexits (License): Likewise.
15424
15425 2010-04-29  Jim Meyering  <meyering@redhat.com>
15426
15427         inttypes: relax license to LGPLv2+
15428         * modules/inttypes (License): Relax license.
15429
15430 2010-04-29  Simon Josefsson  <simon@josefsson.org>
15431
15432         * top/maint.mk (indent): Run twice to produce idempotent results.
15433
15434 2010-04-28  Bruno Haible  <bruno@clisp.org>
15435
15436         getdate: Generate getdate.c in the source directory.
15437         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
15438         MOSTLYCLEANFILES.
15439         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
15440
15441 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
15442
15443         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
15444         is not declared as a const *; avoid warnings in that case.
15445
15446 2010-04-28  Eric Blake  <eblake@redhat.com>
15447
15448         canonicalize-lgpl: avoid compiler warning
15449         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
15450         declaration' / 'extraneous semicolon' warning with some compilers.
15451         Reported by Andreas Gruenbacher.
15452
15453 2010-04-28  Jim Meyering  <meyering@redhat.com>
15454
15455         init.sh: ensure a more reliable exit status when exiting via trap
15456         * tests/init.sh (setup_): Don't rely on $? in signal handler.
15457         Inspired by patches from Dmitry V. Levin.
15458         Also trap on signal 3 (SIGQUIT).
15459
15460 2010-04-27  Bruno Haible  <bruno@clisp.org>
15461
15462         Update doc about utimes().
15463         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
15464         'utimens' module.
15465         Reported by Andreas Gruenbacher <agruen@suse.de>.
15466
15467 2010-04-27  Eric Blake  <eblake@redhat.com>
15468
15469         full-read, full-write: relax license
15470         * modules/full-read (License): Drop to LGPLv2+.
15471         * modules/full-write (License): Likewise.
15472         * modules/safe-read (License): Likewise.
15473         * modules/safe-write (License): Likewise.
15474
15475         pthread: mention library for linking
15476         * modules/pthread (Link): Mention $(LIB_PTHREAD).
15477
15478 2010-04-27  Jim Meyering  <meyering@redhat.com>
15479
15480         maint.mk: fix a bug introduced in last change
15481         * top/maint.mk (gl_assured_headers_): Now that all names are on
15482         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
15483         is not anchored to end of word, it should be adequate.
15484
15485         maint.mk: avoid side-effect in latest syntax-check
15486         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
15487         to run commands via $(shell...), and hence to incur cost only when
15488         the new rule is actually run.
15489
15490         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
15491         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
15492         and use that to create a regexp used to detect all #if HAVE_..._H uses.
15493         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
15494         (gl_assured_headers_, az_, AZ_): Define.
15495         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
15496
15497 2010-04-26  Jim Meyering  <jim@meyering.net>
15498             Bruno Haible  <bruno@clisp.org>
15499
15500         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
15501         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
15502         Prompted by an exchange with Gilles Espinasse.
15503
15504 2010-04-26  Jim Meyering  <meyering@redhat.com>
15505
15506         git-version-gen: aesthetic tweak
15507         * build-aux/git-version-gen: Use "$nl" rather than a literal,
15508         so that the command remains on a single line.
15509
15510 2010-04-26  Eric Blake  <eblake@redhat.com>
15511
15512         git-version-gen: allow use on EBCDIC hosts
15513         * build-aux/git-version-gen (dirty): Use literal rather than tying
15514         ourselves to ascii.
15515         Reported by Steve Goetze.
15516
15517 2010-04-25  Bruno Haible  <bruno@clisp.org>
15518
15519         netdb: Add support for GNULIB_POSIXCHECK.
15520         * lib/netdb.in.h: Include warn-on-use.h.
15521         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
15522         functions are used when GNULIB_POSIXCHECK is defined and the
15523         getaddrinfo module is not in use.
15524         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
15525         freeaddrinfo, gai_strerror, getnameinfo are declared.
15526         * modules/netdb (Depends-on): Add warn-on-use.
15527         (Makefile.am): Include warn-on-use.h in netdb.h.
15528
15529 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
15530
15531         build: avoid "make check" failure without .git/ directory
15532         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
15533         there is no .git/ directory.
15534
15535 2010-04-25  Bruno Haible  <bruno@clisp.org>
15536
15537         ptsname: Fix misuse of ttyname_r.
15538         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
15539         of errno.
15540
15541 2010-04-25  Bruno Haible  <bruno@clisp.org>
15542
15543         ttyname_r: Make it work on Solaris 10.
15544         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
15545         if the system function has the POSIX declaration. Test whether the
15546         function fails if the buffer is less than 128 bytes large.
15547         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
15548         system's ttyname_r function. Provide a reasonably large buffer.
15549         * modules/ttyname_r (Depends-on): Add extensions.
15550         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
15551
15552 2010-04-25  Bruno Haible  <bruno@clisp.org>
15553
15554         Use the 'extensions' module for some more functions on Solaris.
15555         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
15556         module.
15557         * doc/posix-functions/ctime_r.texi: Likewise.
15558         * doc/posix-functions/getgrgid_r.texi: Likewise.
15559         * doc/posix-functions/getgrnam_r.texi: Likewise.
15560         * doc/posix-functions/getpwnam_r.texi: Likewise.
15561         * doc/posix-functions/getpwuid_r.texi: Likewise.
15562         * doc/posix-functions/readdir_r.texi: Likewise.
15563         * doc/posix-functions/sigwait.texi: Likewise.
15564         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
15565         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
15566
15567 2010-04-25  Bruno Haible  <bruno@clisp.org>
15568
15569         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
15570         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
15571         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
15572         * lib/ttyname_r.c: Include <limits.h>.
15573         (ttyname_r): Define using the system's ttyname_r function, if it exists
15574         and not on Solaris.
15575         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
15576         set.
15577         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
15578         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
15579         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
15580         Reported by Simon Josefsson.
15581
15582 2010-04-25  Bruno Haible  <bruno@clisp.org>
15583
15584         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
15585         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
15586         * doc/posix-functions/ctime_r.texi: Likewise.
15587         * doc/posix-functions/getgrgid_r.texi: Likewise.
15588         * doc/posix-functions/getgrnam_r.texi: Likewise.
15589         * doc/posix-functions/getlogin_r.texi: Likewise.
15590         * doc/posix-functions/getpwnam_r.texi: Likewise.
15591         * doc/posix-functions/getpwuid_r.texi: Likewise.
15592         * doc/posix-functions/readdir_r.texi: Likewise.
15593         * doc/posix-functions/sigwait.texi: Likewise.
15594         * doc/posix-functions/ttyname_r.texi: Likewise.
15595         Reported by Simon Josefsson.
15596
15597 2010-04-25  Bruno Haible  <bruno@clisp.org>
15598
15599         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
15600         * gnulib-tool (func_usage): Document that --with-*-tests options apply
15601         also to --create-testdir.
15602         (func_acceptable): Don't consider the status of *-tests modules here.
15603         (func_modules_transitive_closure): Consider it here, before including a
15604         test module.
15605         (func_import, func_create_testdir): Set inc_all_direct_tests,
15606         inc_all_indirect_tests.
15607         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
15608         --create-testdir and --create-megatestdir.
15609
15610 2010-04-25  Bruno Haible  <bruno@clisp.org>
15611
15612         gnulib-tool: Add --without-*-tests options.
15613         * gnulib-tool (func_usage): Document the --without-*-tests options.
15614         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
15615         excl_unportable_tests): New variables.
15616         Fail if they are specified with --import or --update.
15617         (func_acceptable): Respect the excl_*_tests variables.
15618         (func_import): Set the excl_*_tests variables to empty.
15619
15620 2010-04-25  Simon Josefsson  <simon@josefsson.org>
15621             Bruno Haible  <bruno@clisp.org>
15622
15623         Work around a MacOS X 10.4 bug with openpty.
15624         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
15625         * tests/test-openpty.c (main): Close the master side explicitly.
15626
15627 2010-04-25  Bruno Haible  <bruno@clisp.org>
15628
15629         strnlen: Fix a C++ test error on MacOS X and Solaris.
15630         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
15631         the function is not declared.
15632         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
15633         Simon Josefsson.
15634
15635 2010-04-24  Bruno Haible  <bruno@clisp.org>
15636
15637         Avoid a gcc warning.
15638         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
15639         of correct type for %08lx directive.
15640         Reported by Eric Blake.
15641
15642 2010-04-24  Bruno Haible  <bruno@clisp.org>
15643
15644         vasnprintf: Correct errno value in case of out-of-memory.
15645         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
15646         or sprintf. Use the errno value from SNPRINTF or sprintf.
15647         Reported by Ian Beckwith <ianb@erislabs.net>.
15648
15649 2010-04-24  Bruno Haible  <bruno@clisp.org>
15650
15651         ansi-c++-opt: Find correct compiler when cross-compiling.
15652         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
15653         AC_CHECK_PROGS.
15654         Reported by Simon Josefsson.
15655
15656 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
15657
15658         vc-list-files: Add support for subversion
15659         * build-aux/vc-list-files: Use "svn list" to generate the list of
15660         files controlled by subversion.
15661
15662 2010-04-23  Jim Meyering  <meyering@redhat.com>
15663
15664         vc-list-files tests: convert to use init.sh
15665         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
15666         path_prepend_.
15667         Use Exit, not exit.
15668         Use skip_ rather than open coding it.
15669         Remove trap set-up and compare definitions.
15670         * tests/test-vc-list-files-git.sh: Likewise.
15671         * modules/vc-list-files-tests (Files): Add tests/init.sh.
15672
15673 2010-04-22  Simon Josefsson  <simon@josefsson.org>
15674
15675         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
15676         backup files.
15677
15678 2010-04-21  Simon Josefsson  <simon@josefsson.org>
15679
15680         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
15681
15682 2010-04-20  Eric Blake  <eblake@redhat.com>
15683
15684         tests: be robust to ignored SIGPIPE
15685         * tests/test-select-in.sh: Consume all output.
15686         * tests/test-lseek.sh: Check correct exit status, while avoiding
15687         EPIPE.
15688
15689 2010-04-20  Simon Josefsson  <simon@josefsson.org>
15690             Bruno Haible  <bruno@clisp.org>
15691
15692         visibility: Don't use -fvisibility if it leads to a warning.
15693         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
15694         yes, don't pretend that visibility works if it leads to a warning.
15695         Reported by Mike Gran <spk121@yahoo.com>.
15696
15697 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
15698
15699         * build-aux/bootstrap: Use "git -h" for testing for supported options
15700         instead of "git --help".  The short-form option only shows a summary,
15701         and doesn't layout the full man page.  Grep for the full option name
15702         in the summary, too.
15703
15704 2010-04-19  Bruno Haible  <bruno@clisp.org>
15705
15706         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
15707         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
15708         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
15709         mention of RELOCATABLE_STRIP.
15710         Reported by Sylvain Beucler <beuc@beuc.net>.
15711
15712 2010-04-19  Bruno Haible  <bruno@clisp.org>
15713
15714         * lib/diffseq.h: Fix typo in comment.
15715         Reported by Eric Blake.
15716
15717 2010-04-19  Bruno Haible  <bruno@clisp.org>
15718
15719         ioctl: Move autoconf macro to a .m4 file.
15720         * m4/ioctl.m4: New file, extracted from modules/ioctl.
15721         * modules/ioctl (Files): Add it.
15722         (configure.ac): Simply invoke gl_FUNC_IOCTL.
15723         Reported by Ian Beckwith <ianb@erislabs.net>.
15724
15725 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
15726             Bruno Haible  <bruno@clisp.org>
15727
15728         diffseq: Accommodate use-case with abstract arrays.
15729         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
15730         is not defined.
15731         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
15732         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
15733
15734 2010-04-18  Bruno Haible  <bruno@clisp.org>
15735
15736         * doc/posix-headers/stdbool.texi: More precise wording.
15737
15738 2010-04-17  Jim Meyering  <meyering@redhat.com>
15739
15740         maint.mk: use gnu-style indentation in an embedded perl script
15741         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
15742         Rename variable: s/two/last_two_bytes/
15743
15744 2010-04-16  Eric Blake  <eblake@redhat.com>
15745
15746         test-stdbool: skip test that fails with Solaris CC
15747         * tests/test-stdbool.c (f): Skip test that causes compilation
15748         error under buggy C++ compiler.
15749         * lib/stdbool.in.h: Document the limitation.
15750         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
15751
15752         setenv: allow compilation with C++
15753         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
15754         register keyword.
15755
15756         stdint: allow test to pass with C++
15757         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
15758
15759         getopt: allow compilation with C++
15760         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
15761         struct.
15762         * lib/getopt.c (_getopt_internal_r): Use correct type.
15763         Reported by Dagobert Michelson, via Joel E. Denny.
15764
15765 2010-04-16  Bruno Haible  <bruno@clisp.org>
15766
15767         Override netdb.h always.
15768         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
15769         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
15770         Reported by Ludovic Courtès <ludo@gnu.org>.
15771
15772 2010-04-15  Bruno Haible  <bruno@clisp.org>
15773
15774         openpty: Fix mistake from 2010-03-21.
15775         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
15776         Reported by Simon Josefsson.
15777
15778 2010-04-15  Eric Blake  <eblake@redhat.com>
15779
15780         test-forkpty: fix expected signature
15781         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
15782         Reported by Simon Josefsson.
15783
15784 2010-04-15  Jim Meyering  <meyering@redhat.com>
15785
15786         maint.mk: texinfo_suffix_re_: correct the default regexp
15787         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
15788
15789         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
15790         make it configurable via texinfo_suffix_re_.
15791
15792 2010-04-14  Eric Blake  <eblake@redhat.com>
15793
15794         strtok_r: relax license to LGPLv2+
15795         * modules/strtok_r (License): Relax license.
15796         Reported by Matthias Bolte.
15797
15798 2010-04-14  Simon Josefsson  <simon@josefsson.org>
15799
15800         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
15801         version 1.4.4 by default instead of requiring the libgcrypt
15802         version used during build.  This makes it possible to use the
15803         application with older but still binary compatible libgcrypt
15804         versions.
15805
15806 2010-04-13  Eric Blake  <eblake@redhat.com>
15807
15808         getopt-gnu: match recent glibc fixes and posix ruling
15809         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
15810         '+' handling, when requesting extensions.
15811         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
15812         'W;' handling.
15813         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
15814         * doc/posix-functions/getopt.texi (getopt): Document this.
15815         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
15816         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
15817         Likewise.
15818
15819         getopt: merge bug fixes from glibc
15820         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
15821         diagnostics.  Honor '+:' correctly.  Reject ';'.
15822
15823         getopt-posix: detect MacOS bug
15824         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
15825         optind when missing a required argument.
15826         * doc/posix-functions/getopt.texi (getopt): Document the bug.
15827         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
15828         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
15829         Likewise.
15830
15831         getopt-posix: avoid spurious failure on Solaris
15832         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
15833         an indicator that setting optind=1 is sufficient for reset.
15834
15835         getopt-posix: avoid spurious failure on FreeBSD
15836         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
15837         in POSIX mode, since the m4 test uses it.
15838
15839         gnulib-tool: silence warning on BSD sh
15840         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
15841
15842 2010-04-13  Jim Meyering  <meyering@redhat.com>
15843
15844         doc: users.txt: GNU patch now uses gnulib
15845         * users.txt: Add patch.
15846
15847 2010-04-12  Jim Meyering  <meyering@redhat.com>
15848
15849         maint.mk: generate more concise timing data for syntax-check rules
15850         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
15851         " done" from each line that reports a syntax-check test duration.
15852
15853 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
15854
15855         git-version-gen: use "git update-index..." rather than "git status"
15856         * build-aux/git-version-gen: Use git update-index --refresh, not
15857         "git status".  With some versions of git, "git status" would fail
15858         to update the index and result in an unwarranted "-dirty" suffix.
15859
15860 2010-04-11  Jim Meyering  <meyering@redhat.com>
15861
15862         openat: correct formatting (no semantic change)
15863         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
15864         Suggested by Bruno Haible.
15865
15866 2010-04-11  Bruno Haible  <bruno@clisp.org>
15867
15868         Stricter declaration checking in testdirs.
15869         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
15870         If for_tests is true, augment AM_CPPFLAGS to define
15871         GNULIB_STRICT_CHECKING.
15872         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
15873         GNULIB_STRICT_CHECKING is defined, verify that the function is
15874         declared.
15875
15876 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
15877             Bruno Haible  <bruno@clisp.org>
15878
15879         libunistring: Improve configure output.
15880         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
15881         Don't say "consider installing GNU libunistring" when checking again
15882         with libiconv.
15883
15884 2010-04-11  Bruno Haible  <bruno@clisp.org>
15885
15886         libunistring: Correct value of $LTLIBUNISTRING.
15887         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
15888         correct the value of $LTLIBUNISTRING.
15889
15890 2010-04-11  Bruno Haible  <bruno@clisp.org>
15891
15892         havelib: Add static libraries to LIBS in the right order.
15893         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
15894         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
15895
15896 2010-04-11  Bruno Haible  <bruno@clisp.org>
15897
15898         libunistring: Detect libunistring also when it depends on libiconv.
15899         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
15900         the second AC_LIB_HAVE_LINKFLAGS invocation.
15901
15902 2010-04-11  James Youngman  <jay@gnu.org>
15903
15904         close-stream: declare local scalars to be "const"
15905         * lib/close-stream.c (close_stream): Make boolean variables const
15906         to document the fact that we set but do not change them.
15907
15908 2010-04-11  Bruno Haible  <bruno@clisp.org>
15909
15910         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
15911
15912 2010-04-11  Jim Meyering  <meyering@redhat.com>
15913
15914         maint.mk: don't include dist-check.mk
15915         * top/maint.mk: Remove bogus include directive.
15916
15917         maint.mk: improve empty-line-at-EOF check
15918         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
15919         solution, rather than tail+Perl-based one.  The latter would read
15920         a few kilobytes from the end of each file, and did not handle empty
15921         files properly.
15922
15923         maint.mk: print the elapsed time for each syntax-check rule
15924         * top/maint.mk (sc_m_rules_): Save start time in a file.
15925         (sc_z_rules_): New rules: remove temp file and print elapsed time.
15926         (local-check): Interpose the .z rules
15927
15928 2010-04-11  Jim Meyering  <meyering@redhat.com>
15929
15930         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
15931         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
15932         empty file with one that ends in an empty line.
15933
15934 2010-04-10  Bruno Haible  <bruno@clisp.org>
15935
15936         mkdir: Make it work on mingw64.
15937         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
15938         * lib/mkdir.c: Update comment.
15939         Reported by Roman Donchenko (Роман Ð”онченко) <dxdragon@yandex.ru>.
15940
15941 2010-04-10  Bruno Haible  <bruno@clisp.org>
15942
15943         Don't override improved macro from newer autoconf.
15944         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
15945         autoconf >= 2.62.
15946         Reported by Joel E. Denny <jdenny@clemson.edu>.
15947
15948 2010-04-10  Jim Meyering  <meyering@redhat.com>
15949
15950         maint.mk: new syntax-check rule: prohibit empty lines at end of file
15951         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
15952
15953         maint.mk: correct a diagnostic
15954         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
15955         in diagnostic; now use $prohibit.
15956
15957 2010-04-10  Bruno Haible  <address@hidden>
15958
15959         fchownat: Fix a C++ test error on Solaris 8.
15960         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
15961         the function does not exist.
15962
15963 2010-04-10  Bruno Haible  <bruno@clisp.org>
15964
15965         vasnprintf: Add more tests.
15966         * tests/test-vasnprintf-posix.c: Include <errno.h>.
15967         (test_function): Test converting an invalid wide string.
15968
15969         vasnprintf: Correct handling of unconvertible wide string arguments.
15970         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
15971         VASNPRINTF.
15972         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
15973         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
15974         smaller than the expected maximum need for the directive. Set errno to
15975         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
15976         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
15977         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
15978         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
15979         * modules/vasnprintf (Files): Add m4/printf.m4.
15980         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
15981
15982 2010-04-10  Bruno Haible  <bruno@clisp.org>
15983
15984         vasnprintf: Fix crash in %ls directive.
15985         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
15986         string is passed as argument to %ls, with no precision and no width.
15987         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
15988
15989 2010-04-10  Bruno Haible  <bruno@clisp.org>
15990
15991         vasnprintf: Fix multiple test failures on mingw.
15992         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
15993         _snprintf, or snwprintf, not _snwprintf.
15994
15995 2010-04-10  Bruno Haible  <bruno@clisp.org>
15996
15997         write: Fix a C++ test error on mingw.
15998         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
15999
16000 2010-04-10  Bruno Haible  <bruno@clisp.org>
16001
16002         vasnprintf test: Reduce code duplication.
16003         * tests/test-vasnprintf.c (test_function): New function, extracted from
16004         test_vasnprintf.
16005         (test_vasnprintf, test_asnprintf): Invoke it.
16006
16007 2010-04-10  Bruno Haible  <bruno@clisp.org>
16008
16009         strnlen: Fix warning in C++ mode on MacOS X.
16010         * lib/string.in.h (strnlen): Use the modern idiom.
16011         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
16012         defining strnlen as a macro already in <config.h>.
16013         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
16014         REPLACE_STRNLEN.
16015         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
16016         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
16017
16018 2010-04-08  James Youngman  <jay@gnu.org>
16019
16020         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
16021         the example.
16022
16023 2010-04-09  Jim Meyering  <meyering@redhat.com>
16024
16025         maint.mk: print better diagnostic when there is no $(_hv_file)
16026         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
16027         announce that when $(_hv_file) (aka help-version) does not exist.
16028
16029         init.sh: run tr in the "C" locale to avoid multibyte interpretation
16030         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
16031         not try to interpret its random input bytes.  Jarno Rajahalme reported
16032         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
16033         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
16034         (mktempd_): Likewise, just in case.
16035
16036         ftruncate: add two years to projected module removal date: 2012
16037         * m4/ftruncate.m4: Adjust comments.
16038
16039         ftruncate: mark module as obsolete; even MinGW provides it, now
16040         * modules/ftruncate (Status): Obsolete.
16041         (Notice): Say that.
16042         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
16043         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
16044
16045 2010-04-08  Bruno Haible  <bruno@clisp.org>
16046
16047         Fix side effects from tests-related modules.
16048         * modules/dprintf-posix (Comment): New section.
16049         * modules/fprintf-posix (Comment): Likewise.
16050         * modules/obstack-printf-posix (Comment): Likewise.
16051         * modules/printf-posix (Comment): Likewise.
16052         * modules/snprintf-posix (Comment): Likewise.
16053         * modules/sprintf-posix (Comment): Likewise.
16054         * modules/vasnprintf-posix (Comment): Likewise.
16055         * modules/vasprintf-posix (Comment): Likewise.
16056         * modules/vdprintf-posix (Comment): Likewise.
16057         * modules/vfprintf-posix (Comment): Likewise.
16058         * modules/vprintf-posix (Comment): Likewise.
16059         * modules/vsnprintf-posix (Comment): Likewise.
16060         * modules/vsprintf-posix (Comment): Likewise.
16061         * modules/xprintf-posix (Comment): Likewise.
16062         * modules/xvasprintf-posix (Comment): Likewise.
16063         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
16064         * modules/floorf-tests (Depends-on): Likewise.
16065         * modules/round-tests (Depends-on): Likewise.
16066         * modules/roundf-tests (Depends-on): Likewise.
16067         * modules/trunc-tests (Depends-on): Likewise.
16068         * modules/truncf-tests (Depends-on): Likewise.
16069         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
16070         'fprintf-posix' module is not present.
16071         * tests/test-floorf2.c (check): Likewise.
16072         * tests/test-trunc2.c (check): Likewise.
16073         * tests/test-truncf2.c (check): Likewise.
16074         * tests/test-round2.c (equal): Likewise.
16075         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
16076
16077 2010-04-07  Karl Berry  <karl@gnu.org>
16078
16079         * config/srclist.txt,
16080         * config/srclistvars.sh,
16081         * config/srclist-update: doc fixes.
16082
16083 2010-04-07  Jim Meyering  <meyering@redhat.com>
16084
16085         maint.mk: add a PATH crosschecking syntax-check rule
16086         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
16087         Useful if you use a test like the one in help-version (coreutils,
16088         diffutils, grep, gzip) that ensures $(VERSION) matches what is
16089         printed by prog --version.
16090
16091 2010-04-06  Bruno Haible  <bruno@clisp.org>
16092
16093         Fix link error on mingw.
16094         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
16095         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
16096
16097 2010-04-06  Bruno Haible  <bruno@clisp.org>
16098
16099         Assume rmdir exists.
16100         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
16101
16102 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
16103
16104         doc: update users.txt
16105         * users.txt: Add gcal.
16106
16107 2010-04-06  Jim Meyering  <meyering@redhat.com>
16108
16109         init.sh: simply unset TMPDIR rather than risking env -i
16110         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
16111         although it probably works fine on all Unix-based systems, some
16112         systems (Cygwin?) cannot tolerate a totally cleared environment.
16113         Suggestion from Eric Blake.
16114
16115 2010-04-06  Jim Meyering  <meyering@redhat.com>
16116
16117         init.sh: portability fix: use env's POSIX-specified -i option not -u
16118         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
16119         than unportable env -u.  Solaris 5.11's env lacks support for -u.
16120
16121 2010-04-05  Bruno Haible  <bruno@clisp.org>
16122
16123         btowc: Work around Cygwin 1.7.2 bug.
16124         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
16125         does not map NUL to 0.
16126         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
16127
16128 2010-04-05  Bruno Haible  <bruno@clisp.org>
16129
16130         Make the multithread modules work on Cygwin 1.7.2.
16131         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
16132         imported symbols can be declared weak, so that it returns "no" on
16133         Cygwin 1.7.2.
16134
16135 2010-04-05  Bruno Haible  <bruno@clisp.org>
16136
16137         Use the module 'strncat'.
16138         * modules/unistr/u8-strncat (Depends-on): Add strncat.
16139
16140         Tests for module 'strncat'.
16141         * modules/strncat-tests: New file.
16142         * tests/test-strncat.c: New file.
16143
16144         New module 'strncat'.
16145         * lib/string.in.h (strncat): New declaration.
16146         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
16147         * m4/strncat.m4: New file, based on m4/memchr.m4.
16148         * modules/strncat: New file.
16149         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
16150         is declared.
16151         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
16152         REPLACE_STRNCAT.
16153         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
16154         REPLACE_STRNCAT.
16155         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
16156         module.
16157         * tests/test-string-c++.cc: Check signature of strncat.
16158
16159 2010-04-05  Jim Meyering  <meyering@redhat.com>
16160
16161         xstrtoumax-tests: convert to use init.sh
16162         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
16163         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
16164         Use Exit, not exit.
16165         Remove uses of $EXEEXT and "./" to run a program in the current dir.
16166
16167         xstrtoimax-tests: convert to use init.sh
16168         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
16169         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
16170         Use Exit, not exit.
16171         Remove uses of $EXEEXT and "./" to run a program in the current dir.
16172
16173 2010-04-05  Bruno Haible  <bruno@clisp.org>
16174
16175         sys_socket: Avoid #define replacements in C++ mode.
16176         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
16177         warning to the function if possible, rather than #defining the symbol
16178         to a dysfunctional alias.
16179
16180 2010-04-05  Bruno Haible  <bruno@clisp.org>
16181
16182         fseeko: Fix C++ test error on mingw.
16183         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
16184         gl_FUNC_FSEEKO.
16185         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
16186         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
16187         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
16188         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
16189
16190 2010-04-05  Bruno Haible  <bruno@clisp.org>
16191
16192         duplocale: Improve test output.
16193         * tests/test-duplocale.c (main): Print reason for skipped test.
16194
16195 2010-04-05  Bruno Haible  <bruno@clisp.org>
16196
16197         Assume rmdir exists.
16198         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
16199         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
16200
16201 2010-04-05  Bruno Haible  <bruno@clisp.org>
16202
16203         Fix link error on Solaris 8 with cc.
16204         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
16205
16206 2010-04-05  Bruno Haible  <bruno@clisp.org>
16207
16208         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
16209         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
16210
16211 2010-04-05  Bruno Haible  <bruno@clisp.org>
16212
16213         vasprintf: Update documentation.
16214         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
16215
16216 2010-04-05  Bruno Haible  <bruno@clisp.org>
16217
16218         ptsname: Improve test.
16219         * tests/test-ptsname.c (main): Also try the various master names of BSD
16220         systems.
16221
16222 2010-04-05  Bruno Haible  <bruno@clisp.org>
16223
16224         memchr: Avoid a possible C++ test error.
16225         * lib/string.in.h (memchr): Provide declaration if function is missing.
16226         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
16227         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
16228         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
16229         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
16230
16231 2010-04-05  Bruno Haible  <bruno@clisp.org>
16232
16233         strtok_r: Improve idiom.
16234         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
16235         AC_LIBOBJ is used.
16236
16237 2010-04-05  Bruno Haible  <bruno@clisp.org>
16238
16239         strdup: Improve idiom.
16240         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
16241         AC_LIBOBJ is used.
16242         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
16243         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
16244         when AC_LIBOBJ is used.
16245
16246 2010-04-05  Bruno Haible  <bruno@clisp.org>
16247
16248         mbsinit, mbrtowc, wcrtomb: Improve idioms.
16249         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
16250         don't set REPLACE_MBSINIT to 1.
16251         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
16252         don't set REPLACE_MBRTOWC to 1.
16253         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
16254         exist, don't set REPLACE_MBSRTOWCS to 1.
16255         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
16256         exist, don't set REPLACE_MBSNRTOWCS to 1.
16257         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
16258         don't set REPLACE_WCRTOMB to 1.
16259         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
16260         exist, don't set REPLACE_WCSRTOMBS to 1.
16261         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
16262         exist, don't set REPLACE_WCSNRTOMBS to 1.
16263
16264 2010-04-05  Bruno Haible  <bruno@clisp.org>
16265
16266         ldexpl: Improve idiom.
16267         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
16268         make sure to set HAVE_DECL_LDEXPL to 0.
16269
16270 2010-04-05  Jim Meyering  <meyering@redhat.com>
16271
16272         xstrtol-tests: convert to use init.sh
16273         * modules/xstrtol-tests (Files): Add tests/init.sh.
16274         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
16275         Use Exit, not exit.
16276         Remove uses of $EXEEXT and "./" to run a program in the current dir.
16277
16278         atexit-tests: convert to use init.sh
16279         * modules/atexit-tests (Files): Add tests/init.sh.
16280         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
16281         Use Exit, not exit.
16282         Remove uses of $EXEEXT and "./" to run a program in the current dir.
16283
16284         init.sh: fix typo
16285         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
16286
16287         init.sh: make it easier for a test script to write to the tty, ...
16288         when using automake's parallel-tests mode.
16289         * tests/init.sh (stderr_fileno_): Define overridable variable.
16290         (warn_): New function, to use it.
16291         (fail_, skip_, framework_failure_): Use warn_.
16292
16293 2010-04-04  Bruno Haible  <bruno@clisp.org>
16294
16295         btowc: Avoid warning.
16296         * lib/btowc.c: Include <stdlib.h>.
16297         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
16298
16299 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
16300             Bruno Haible  <bruno@clisp.org>
16301
16302         wchar: Port to NetBSD 1.5.
16303         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
16304         * lib/wctype.in.h (WEOF): Likewise.
16305
16306 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
16307             Bruno Haible  <bruno@clisp.org>
16308
16309         Port extended stdio to NetBSD 1.5.
16310         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
16311         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
16312         older.
16313
16314 2010-04-04  Bruno Haible  <bruno@clisp.org>
16315
16316         string: Remove unused substitution.
16317         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
16318         HAVE_DECL_STRERROR.
16319         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
16320
16321 2010-04-04  Bruno Haible  <bruno@clisp.org>
16322
16323         strtod: Avoid a possible C++ test error.
16324         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
16325         set REPLACE_STRTOD.
16326
16327 2010-04-04  Bruno Haible  <bruno@clisp.org>
16328
16329         strerror: Update documentation.
16330         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
16331
16332 2010-04-04  Bruno Haible  <bruno@clisp.org>
16333
16334         stdio: Fix some C++ test errors on Solaris 8 with GCC.
16335         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
16336         _GL_CXXALIAS_SYS_CAST.
16337
16338 2010-04-04  Bruno Haible  <bruno@clisp.org>
16339
16340         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
16341         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
16342         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
16343         REPLACE_FREXPL to 1.
16344         * doc/posix-functions/frexpl.texi: Update documentation.
16345
16346 2010-04-04  Bruno Haible  <bruno@clisp.org>
16347
16348         math: Fix some C++ test errors on Solaris 8 and Cygwin.
16349         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
16350
16351 2010-04-04  Bruno Haible  <bruno@clisp.org>
16352
16353         Implement nanosleep for native Windows.
16354         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
16355
16356 2010-04-04  Bruno Haible  <bruno@clisp.org>
16357
16358         math: Fix some C++ test errors on Solaris 8.
16359         * lib/math.in.h (truncf, trunc): Use simpler idiom.
16360
16361 2010-04-04  Bruno Haible  <bruno@clisp.org>
16362
16363         math: Fix some C++ test errors on Cygwin.
16364         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
16365         truncl): Provide declaration if the system does not have it.
16366         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
16367         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
16368         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
16369         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
16370         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
16371         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
16372         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
16373         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
16374         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
16375         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
16376         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
16377         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
16378         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
16379         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
16380         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
16381         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
16382         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
16383         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
16384         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
16385         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
16386         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
16387         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
16388
16389 2010-04-04  Bruno Haible  <bruno@clisp.org>
16390
16391         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
16392         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
16393         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
16394         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
16395         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
16396         * m4/isinf.m4 (gl_ISINF): Likewise.
16397         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
16398
16399 2010-04-04  Bruno Haible  <bruno@clisp.org>
16400
16401         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
16402         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
16403
16404 2010-04-04  Bruno Haible  <bruno@clisp.org>
16405
16406         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
16407         * modules/tmpfile (configure.ac): Update.
16408
16409         tmpfile: Fix C++ test error on mingw.
16410         * lib/stdio.in.h (tmpfile): New declaration.
16411         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
16412         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
16413         * modules/tmpfile (Depends-on): Add stdio.
16414         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
16415         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
16416         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
16417         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
16418         REPLACE_TMPFILE.
16419         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
16420
16421 2010-04-04  Bruno Haible  <bruno@clisp.org>
16422
16423         ioctl: Fix C++ test error on mingw.
16424         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
16425         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
16426         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
16427
16428 2010-04-03  Bruno Haible  <bruno@clisp.org>
16429
16430         wcwidth: Fix C++ test error on mingw.
16431         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
16432         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
16433         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
16434
16435 2010-04-03  Bruno Haible  <bruno@clisp.org>
16436
16437         nanosleep: Fix C++ test error on mingw.
16438         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
16439         * lib/time.in.h (nanosleep): Use modern idiom.
16440         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
16441         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
16442         REPLACE_NANOSLEEP to 1.
16443         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
16444         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
16445
16446 2010-04-03  Bruno Haible  <bruno@clisp.org>
16447
16448         strptime: Fix C++ test error on mingw.
16449         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
16450         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
16451         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
16452         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
16453         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
16454         not REPLACE_STRPTIME.
16455         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
16456         REPLACE_STRPTIME.
16457
16458 2010-04-03  Bruno Haible  <bruno@clisp.org>
16459
16460         timegm: Fix C++ test error on mingw.
16461         * lib/time.in.h (timegm): Use modern idiom.
16462         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
16463         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
16464         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
16465         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
16466
16467 2010-04-03  Bruno Haible  <bruno@clisp.org>
16468
16469         timegm: Assume declaration if function exists.
16470         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
16471         if it exists. Don't clobber ac_cv_func_timegm.
16472
16473 2010-04-03  Bruno Haible  <bruno@clisp.org>
16474
16475         time_r: Fix C++ test error on mingw.
16476         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
16477         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
16478         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
16479         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
16480         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
16481
16482 2010-04-03  Bruno Haible  <bruno@clisp.org>
16483
16484         time_r: Minor updates.
16485         * modules/time_r (Description): Mention the provided functions.
16486         * lib/time_r.c: Don't include <string.h>.
16487         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
16488         * doc/posix-functions/localtime_r.texi: Likewise.
16489
16490 2010-04-03  Bruno Haible  <bruno@clisp.org>
16491
16492         time: Fix regression introduced on 2010-03-08.
16493         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
16494         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
16495
16496 2010-04-03  Jim Meyering  <meyering@redhat.com>
16497
16498         maint.mk: don't silently disable project-specific syntax-check rules
16499         * top/maint.mk (_prohibit_regexp): Define, to help people realize
16500         that they need to convert their project-specific syntax-check rules
16501         to use the new _sc_search_regexp.
16502
16503 2010-04-03  Bruno Haible  <bruno@clisp.org>
16504
16505         fchdir: Fix regression introduced on 2010-03-08.
16506         * lib/unistd.in.h (fchdir): Fix declaration.
16507         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
16508         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
16509         REPLACE_FCHDIR.
16510         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
16511         REPLACE_FCHDIR.
16512
16513 2010-04-03  Bruno Haible  <bruno@clisp.org>
16514
16515         getpagesize: Fix C++ test error on mingw.
16516         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
16517         system does not declare the function.
16518         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
16519         declared.
16520         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
16521         HAVE_DECL_GETPAGESIZE.
16522         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
16523
16524 2010-04-03  Bruno Haible  <bruno@clisp.org>
16525
16526         stdio: Make C++ tests work on mingw.
16527         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
16528         does not declare the function.
16529
16530 2010-04-03  Bruno Haible  <bruno@clisp.org>
16531
16532         ftello: Fix C++ test error on mingw.
16533         * lib/stdio.in.h (ftello): Use modern idiom.
16534         * lib/ftello.c (ftello): Renamed from rpl_ftello.
16535         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
16536         is missing and that it needs to be replaced.
16537         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
16538         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
16539         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
16540
16541 2010-04-03  Bruno Haible  <bruno@clisp.org>
16542
16543         fseeko: Fix C++ test error on mingw.
16544         * lib/stdio.in.h (fseeko): Use modern idiom.
16545         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
16546         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
16547         is missing and that it needs to be replaced.
16548         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
16549         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
16550         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
16551
16552 2010-04-03  Bruno Haible  <bruno@clisp.org>
16553
16554         mkstemp: Fix C++ test error on mingw.
16555         * lib/stdlib.in.h (mkstemp): Use modern idiom.
16556         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
16557         function is missing and that it needs to be replaced.
16558         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
16559         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
16560
16561 2010-04-03  Bruno Haible  <bruno@clisp.org>
16562
16563         stpncpy: Fix C++ test error on mingw.
16564         * lib/string.in.h (stpncpy): Use modern idiom.
16565         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
16566         function is missing and that it needs to be replaced.
16567         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
16568         REPLACE_STPNCPY.
16569         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
16570
16571 2010-04-03  Bruno Haible  <bruno@clisp.org>
16572
16573         sys_stat: Fix C++ test error on mingw.
16574         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
16575         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
16576
16577 2010-04-03  Bruno Haible  <bruno@clisp.org>
16578
16579         pty: Update doc.
16580         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
16581
16582 2010-04-03  Bruno Haible  <bruno@clisp.org>
16583
16584         unistd: Fix C++ test error on mingw.
16585         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
16586
16587 2010-04-03  Bruno Haible  <bruno@clisp.org>
16588
16589         Update doc regarding mingw.
16590         * doc/glibc-functions/openpty.texi: Update regarding mingw.
16591         * doc/glibc-functions/login_tty.texi: Likewise.
16592         * doc/glibc-functions/forkpty.texi: Likewise.
16593
16594 2010-04-03  Bruno Haible  <bruno@clisp.org>
16595
16596         stdlib: Avoid compilation failure of c-strtold on mingw.
16597         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
16598
16599 2010-04-03  Bruno Haible  <bruno@clisp.org>
16600
16601         locale: Make C++ tests work on Cygwin and mingw.
16602         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
16603         cannot provide the function.
16604         Reported by Simon Josefsson.
16605
16606 2010-04-03  Bruno Haible  <bruno@clisp.org>
16607
16608         localename: Port to MacOS X 10.6.
16609         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
16610         memory layout of the locales in MacOS X 10.6 as well.
16611         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
16612
16613 2010-04-02  Bruno Haible  <bruno@clisp.org>
16614
16615         gnulib-tool: Ensure that long-running tests are executed last.
16616         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
16617         running tests after the one for the other tests.
16618
16619 2010-04-02  Bruno Haible  <bruno@clisp.org>
16620
16621         gnulib-tool: Ensure the tests in the main directory are executed first.
16622         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
16623         start with the current directory.
16624
16625 2010-04-02  Bruno Haible  <bruno@clisp.org>
16626
16627         Tests for module 'havelib', moved here from GNU gettext.
16628         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
16629         modifications.
16630         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
16631         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
16632         with modifications.
16633         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
16634         modifications.
16635         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
16636         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
16637         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
16638         with modifications.
16639         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
16640         with modifications.
16641         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
16642         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
16643         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
16644         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
16645         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
16646         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
16647         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
16648         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
16649         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
16650         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
16651         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
16652         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
16653         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
16654         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
16655         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
16656         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
16657         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
16658         with modifications.
16659         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
16660         with modifications.
16661         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
16662         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
16663         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
16664         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
16665         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
16666         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
16667         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
16668         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
16669         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
16670         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
16671         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
16672         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
16673         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
16674         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
16675         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
16676         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
16677         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
16678         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
16679         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
16680         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
16681         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
16682         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
16683         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
16684         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
16685         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
16686         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
16687         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
16688         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
16689         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
16690         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
16691         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
16692         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
16693         * tests/havelib/rpathx/rpathx.c: New file, from
16694         gettext/autoconf-lib-link.
16695         * tests/havelib/rpathx/Makefile.am: New file, from
16696         gettext/autoconf-lib-link.
16697         * tests/havelib/rpathx/configure.ac: New file, from
16698         gettext/autoconf-lib-link with modifications.
16699         * tests/havelib/rpathy/rpathy.c: New file, from
16700         gettext/autoconf-lib-link.
16701         * tests/havelib/rpathy/Makefile.am: New file, from
16702         gettext/autoconf-lib-link.
16703         * tests/havelib/rpathy/configure.ac: New file, from
16704         gettext/autoconf-lib-link with modifications.
16705         * tests/havelib/rpathz/rpathz.c: New file, from
16706         gettext/autoconf-lib-link.
16707         * tests/havelib/rpathz/Makefile.am: New file, from
16708         gettext/autoconf-lib-link.
16709         * tests/havelib/rpathz/configure.ac: New file, from
16710         gettext/autoconf-lib-link with modifications.
16711         * tests/havelib/rpathlx/usex.c: New file, from
16712         gettext/autoconf-lib-link.
16713         * tests/havelib/rpathlx/Makefile.am: New file, from
16714         gettext/autoconf-lib-link.
16715         * tests/havelib/rpathlx/configure.ac: New file, from
16716         gettext/autoconf-lib-link with modifications.
16717         * tests/havelib/rpathly/usey.c: New file, from
16718         gettext/autoconf-lib-link.
16719         * tests/havelib/rpathly/Makefile.am: New file, from
16720         gettext/autoconf-lib-link.
16721         * tests/havelib/rpathly/configure.ac: New file, from
16722         gettext/autoconf-lib-link with modifications.
16723         * tests/havelib/rpathlz/usez.c: New file, from
16724         gettext/autoconf-lib-link.
16725         * tests/havelib/rpathlz/Makefile.am: New file, from
16726         gettext/autoconf-lib-link.
16727         * tests/havelib/rpathlz/configure.ac: New file, from
16728         gettext/autoconf-lib-link with modifications.
16729         * tests/havelib/rpathlyx/usey.c: New file, from
16730         gettext/autoconf-lib-link.
16731         * tests/havelib/rpathlyx/Makefile.am: New file, from
16732         gettext/autoconf-lib-link.
16733         * tests/havelib/rpathlyx/configure.ac: New file, from
16734         gettext/autoconf-lib-link with modifications.
16735         * tests/havelib/rpathlzyx/usez.c: New file, from
16736         gettext/autoconf-lib-link.
16737         * tests/havelib/rpathlzyx/Makefile.am: New file, from
16738         gettext/autoconf-lib-link.
16739         * tests/havelib/rpathlzyx/configure.ac: New file, from
16740         gettext/autoconf-lib-link with modifications.
16741         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
16742         with modifications.
16743
16744 2010-04-02  Bruno Haible  <bruno@clisp.org>
16745
16746         gnulib-tool: Create distributed built sources also for the tests.
16747         * gnulib-tool (func_create_testdir): Also generate distributed built
16748         sources in the tests directory.
16749
16750 2010-04-02  Bruno Haible  <bruno@clisp.org>
16751
16752         gnulib-tool: Obey user's environment variables.
16753         * gnulib-tool (func_create_testdir): When creating built sources,
16754         respect the environment variables for autoconf, automake, etc. given by
16755         the user.
16756
16757 2010-04-02  Bruno Haible  <bruno@clisp.org>
16758
16759         gnulib-tool: Provide the value of --m4-base to modules.
16760         * gnulib-tool (func_import, func_create_testdir): Emit a definition
16761         of gl_m4_base.
16762
16763 2010-04-02  Eric Blake  <eblake@redhat.com>
16764
16765         maint.mk: fix some fallout
16766         * NEWS: Document the incompatible change, and its effect on cfg.mk.
16767         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
16768
16769 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
16770
16771         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
16772         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
16773         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
16774         (sc_cast_of_x_alloc_return_value): Likewise.
16775         (sc_cast_of_alloca_return_value): Likewise.
16776         (sc_space_tab): Likewise.
16777         (sc_prohibit_atoi_atof): Likewise.
16778         (sc_prohibit_magic_number_exit): Likewise.
16779         (sc_error_exit_success): Likewise.
16780         (sc_file_system): Likewise.
16781         (sc_prohibit_have_config_h): Likewise.
16782         (sc_require_config_h): Likewise.
16783         (sc_prohibit_HAVE_MBRTOWC): Likewise.
16784         (sc_obsolete_symbols): Likewise.
16785         (sc_changelog): Likewise.
16786         (sc_program_name): Likewise.
16787         (sc_the_the): Likewise.
16788         (sc_trailing_blank): Likewise.
16789         (sc_two_space_separator_in_usage): Likewise.
16790         (sc_useless_cpp_parens): Likewise.
16791         (sc_GPL_version): Likewise.
16792         (sc_GFDL_version): Likewise.
16793         (sc_texinfo_acronym): Likewise.
16794         (sc_prohibit_cvs_keyword): Likewise.
16795         (sc_prohibit_stat_st_blocks): Likewise.
16796         (sc_prohibit_S_IS_definition): Likewise.
16797         (sc_redundant_const): Likewise.
16798         (sc_makefile_TAB_only_indentation): Likewise.
16799         (sc_m4_quote_check): Likewise.
16800         (sc_makefile_path_separator_check): Likewise.
16801         (sc_copyright_check): Likewise.
16802         (sc_Wundef_boolean): Likewise.
16803         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
16804
16805         maint.mk: match 0 or more whitespace-before-function-call '('
16806         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
16807         that have zero or two-and-more spaces between the function name
16808         and the open parenthesis.
16809         (sc_error_message_warn_fatal): Likewise.
16810         (sc_error_message_uppercase): Likewise.
16811         (sc_error_message_period): Likewise.
16812
16813 2010-03-31  Eric Blake  <eblake@redhat.com>
16814
16815         maint.mk: check for [ as well as test
16816         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
16817         Based on a libvirt report by Matthias Bolte.
16818
16819         gnumakefile: don't squelch _version output
16820         * top/GNUmakefile (_version): Create one-shot dependency rather
16821         than using $(shell) when version must be regenerated.
16822         (_autoreconf): Run verbosely, by default.
16823
16824         sys_time: avoid compiler warnings
16825         * lib/sys_time.in.h (includes): Ensure gcc pragma is
16826         unconditional, fixing regression from 2010-03-29.
16827         Reported by Simon Josefsson.
16828
16829 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
16830
16831         maint.mk: s/_header_without_use/_sc_header_without_use/
16832         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
16833         (sc_prohibit_assert_without_use): Use the new name.
16834         (sc_prohibit_close_stream_without_use): Likewise.
16835         (sc_prohibit_getopt_without_use): Likewise.
16836         (sc_prohibit_quotearg_without_use): Likewise.
16837         (sc_prohibit_quote_without_use): Likewise.
16838         (sc_prohibit_long_options_without_use): Likewise.
16839         (sc_prohibit_inttostr_without_use): Likewise.
16840         (sc_prohibit_ignore_value_without_use): Likewise.
16841         (sc_prohibit_error_without_use): Likewise.
16842         (sc_prohibit_xalloc_without_use): Likewise.
16843         (sc_prohibit_hash_without_use): Likewise.
16844         (sc_prohibit_hash_pjw_without_use): Likewise.
16845         (sc_prohibit_safe_read_without_use): Likewise.
16846         (sc_prohibit_argmatch_without_use): Likewise.
16847         (sc_prohibit_canonicalize_without_use): Likewise.
16848         (sc_prohibit_root_dev_ino_without_use): Likewise.
16849         (sc_prohibit_openat_without_use): Likewise.
16850         (sc_prohibit_c_ctype_without_use): Likewise.
16851         (sc_prohibit_signal_without_use): Likewise.
16852         (sc_prohibit_intprops_without_use): Likewise.
16853
16854 2010-03-30  Eric Blake  <eblake@redhat.com>
16855
16856         maint: improve module indicators
16857         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
16858         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
16859         columns, and avoid extra macro expansion.
16860
16861         fdopendir: work around FreeBSD bug
16862         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
16863         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
16864         * modules/dirent (Makefile.am): Substitute it.
16865         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
16866         declaration.
16867         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
16868         fix.
16869         Reported by Christian Weisgerber <naddy@mips.inka.de>.
16870
16871 2010-03-29  Bruno Haible  <bruno@clisp.org>
16872
16873         Emit #pragma system_header after the inclusion guard, not before.
16874         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
16875         guard that spans the entire file, not before. This enables an
16876         optimization in GCC's preprocessor.
16877         * lib/ctype.in.h: Likewise.
16878         * lib/dirent.in.h: Likewise.
16879         * lib/errno.in.h: Likewise.
16880         * lib/float.in.h: Likewise.
16881         * lib/getopt.in.h: Likewise.
16882         * lib/iconv.in.h: Likewise.
16883         * lib/langinfo.in.h: Likewise.
16884         * lib/locale.in.h: Likewise.
16885         * lib/math.in.h: Likewise.
16886         * lib/netdb.in.h: Likewise.
16887         * lib/netinet_in.in.h: Likewise.
16888         * lib/pty.in.h: Likewise.
16889         * lib/sched.in.h: Likewise.
16890         * lib/se-selinux.in.h: Likewise.
16891         * lib/search.in.h: Likewise.
16892         * lib/spawn.in.h: Likewise.
16893         * lib/stdarg.in.h: Likewise.
16894         * lib/stdint.in.h: Likewise.
16895         * lib/string.in.h: Likewise.
16896         * lib/strings.in.h: Likewise.
16897         * lib/sys_file.in.h: Likewise.
16898         * lib/sys_ioctl.in.h: Likewise.
16899         * lib/sys_time.in.h: Likewise.
16900         * lib/sys_times.in.h: Likewise.
16901         * lib/sys_utsname.in.h: Likewise.
16902         * lib/sys_wait.in.h: Likewise.
16903         * lib/sysexits.in.h: Likewise.
16904         * lib/wctype.in.h: Likewise.
16905
16906 2010-03-28  James Youngman  <jay@gnu.org>
16907
16908         save-cwd: don't leak a file descriptor when the caller execs.
16909         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
16910         saved file descriptor.
16911         * modules/save-cwd (Depends-on): Depend on cloexec.
16912
16913 2010-03-29  Bruno Haible  <bruno@clisp.org>
16914
16915         Remove vestiges of fts-lgpl module.
16916         * lib/fts_.h: Assume GNULIB_FTS is 1.
16917         * lib/fts.c: Likewise.
16918         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
16919
16920 2010-03-28  Bruno Haible  <bruno@clisp.org>
16921
16922         Fix definition of tests witness macro.
16923         * gnulib-tool (func_import): Fix definition of witness macro.
16924
16925 2010-03-28  Bruno Haible  <bruno@clisp.org>
16926
16927         Fix ioctl's protoype on glibc systems.
16928         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
16929         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
16930         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
16931         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
16932         signature. If not, arrange to replace the ioctl function.
16933         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
16934         REPLACE_IOCTL.
16935         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
16936         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
16937         Reported by Ludovic Courtès <ludo@gnu.org>.
16938
16939 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
16940
16941         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
16942         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
16943         made it so grep -r --include=GLOB* ... did not work.
16944
16945 2010-03-26  Jim Meyering  <meyering@redhat.com>
16946             Eric Blake  <eblake@redhat.com>
16947
16948         maint.mk: prohibit use of test's -o and -a operators
16949         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
16950
16951 2010-03-28  Bruno Haible  <bruno@clisp.org>
16952
16953         Remove unused GNULIB_XYZ macro definitions.
16954         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
16955         invocation.
16956
16957 2010-03-28  Bruno Haible  <bruno@clisp.org>
16958
16959         Mark privileged tests modules.
16960         * modules/idpriv-drop-tests (Status): New section.
16961         * modules/idpriv-droptemp-tests (Status): New section.
16962
16963 2010-03-28  Bruno Haible  <bruno@clisp.org>
16964
16965         Split C++ tests into separate tests modules.
16966         * modules/dirent-c++-tests: New file, extracted from
16967         modules/dirent-tests.
16968         * modules/dirent-tests: Depend on it.
16969         * modules/fcntl-h-c++-tests: New file, extracted from
16970         modules/fcntl-h-tests.
16971         * modules/fcntl-h-tests: Depend on it.
16972         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
16973         * modules/glob-tests: Depend on it.
16974         * modules/iconv-h-c++-tests: New file, extracted from
16975         modules/iconv-h-tests.
16976         * modules/iconv-h-tests: Depend on it.
16977         * modules/langinfo-c++-tests: New file, extracted from
16978         modules/langinfo-tests.
16979         * modules/langinfo-tests: Depend on it.
16980         * modules/locale-c++-tests: New file, extracted from
16981         modules/locale-tests.
16982         * modules/locale-tests: Depend on it.
16983         * modules/math-c++-tests: New file, extracted from modules/math-tests.
16984         * modules/math-tests: Depend on it.
16985         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
16986         * modules/pty-tests: Depend on it.
16987         * modules/search-c++-tests: New file, extracted from
16988         modules/search-tests.
16989         * modules/search-tests: Depend on it.
16990         * modules/signal-c++-tests: New file, extracted from
16991         modules/signal-tests.
16992         * modules/signal-tests: Depend on it.
16993         * modules/spawn-c++-tests: New file, extracted from
16994         modules/spawn-tests.
16995         * modules/spawn-tests: Depend on it.
16996         * modules/stdio-c++-tests: New file, extracted from
16997         modules/stdio-tests.
16998         * modules/stdio-tests: Depend on it.
16999         * modules/stdlib-c++-tests: New file, extracted from
17000         modules/stdlib-tests.
17001         * modules/stdlib-tests: Depend on it.
17002         * modules/string-c++-tests: New file, extracted from
17003         modules/string-tests.
17004         * modules/string-tests: Depend on it.
17005         * modules/sys_ioctl-c++-tests: New file, extracted from
17006         modules/sys_ioctl-tests.
17007         * modules/sys_ioctl-tests: Depend on it.
17008         * modules/sys_select-c++-tests: New file, extracted from
17009         modules/sys_select-tests.
17010         * modules/sys_select-tests: Depend on it.
17011         * modules/sys_socket-c++-tests: New file, extracted from
17012         modules/sys_socket-tests.
17013         * modules/sys_socket-tests: Depend on it.
17014         * modules/sys_stat-c++-tests: New file, extracted from
17015         modules/sys_stat-tests.
17016         * modules/sys_stat-tests: Depend on it.
17017         * modules/sys_time-c++-tests: New file, extracted from
17018         modules/sys_time-tests.
17019         * modules/sys_time-tests: Depend on it.
17020         * modules/time-c++-tests: New file, extracted from modules/time-tests.
17021         * modules/time-tests: Depend on it.
17022         * modules/unistd-c++-tests: New file, extracted from
17023         modules/unistd-tests.
17024         * modules/unistd-tests: Depend on it.
17025         * modules/wchar-c++-tests: New file, extracted from
17026         modules/wchar-tests.
17027         * modules/wchar-tests: Depend on it.
17028         * modules/wctype-c++-tests: New file, extracted from
17029         modules/wctype-tests.
17030         * modules/wctype-tests: Depend on it.
17031         Reported by Simon Josefsson.
17032
17033 2010-03-28  Bruno Haible  <bruno@clisp.org>
17034
17035         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
17036         * gnulib-tool (func_exists_module): New function, extracted from
17037         func_verify_module.
17038         (func_verify_module): Use it.
17039         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
17040         'foo' only if 'foo' exists.
17041         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
17042         module.
17043
17044 2010-03-28  Bruno Haible  <bruno@clisp.org>
17045
17046         gnulib-tool: Add support for special categories of tests.
17047         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
17048         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
17049         (func_usage): Document them.
17050         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
17051         inc_unportable_tests, inc_all_tests): New variables.
17052         (func_acceptable): Consider these variables.
17053         (func_modules_transitive_closure): Make it work when the 'Status' field
17054         consists of multiple words.
17055         (func_import): Store and restore the values of inc_cxx_tests,
17056         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
17057         inc_all_tests in gnulib-comp.m4.
17058         (func_create_testdir): Set inc_all_tests to true.
17059         * doc/gnulib.texi (Extra tests modules): New section.
17060         Suggested by Jim Meyering.
17061
17062 2010-03-28  Bruno Haible  <bruno@clisp.org>
17063
17064         ansi-c++-opt: Allow turning off the C++ build by default.
17065         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
17066         gl_CXX_CHOICE_DEFAULT_NO is defined.
17067         Requested by Eric Blake.
17068
17069 2010-03-28  Bruno Haible  <bruno@clisp.org>
17070
17071         unistd: Avoid #define replacements in C++ mode.
17072         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
17073         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
17074         setsockopt, shutdown, select): In C++, attach a warning to the function
17075         if possible, rather than #defining the symbol to a dysfunctional alias.
17076         Reported by John W. Eaton <jwe@gnu.org>.
17077
17078 2010-03-28  Bruno Haible  <bruno@clisp.org>
17079
17080         Fix link errors on mingw.
17081         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
17082         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
17083         $(LIBSOCKET).
17084         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
17085         $(LIBSOCKET).
17086
17087 2010-03-28  Bruno Haible  <bruno@clisp.org>
17088             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17089
17090         lib-ignore: Determine different options for different compilers.
17091         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
17092         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
17093         Add comments.
17094         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
17095         * NEWS: Mention the change.
17096
17097 2010-03-27  Bruno Haible  <bruno@clisp.org>
17098
17099         Remove unused GNULIB_XYZ macro definitions.
17100         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
17101         * modules/fseek (configure.ac): Likewise.
17102         * modules/ioctl (configure.ac): Likewise.
17103         * modules/open (configure.ac): Likewise.
17104         * modules/stdlib-safer (configure.ac): Likewise.
17105
17106 2010-03-27  Bruno Haible  <bruno@clisp.org>
17107
17108         Add a remark about certain modules.
17109         * modules/malloc (Comment): New section.
17110         * modules/realloc (Comment): Likewise.
17111         * modules/sigpipe (Comment): Likewise.
17112
17113 2010-03-27  Bruno Haible  <bruno@clisp.org>
17114
17115         Resolve conflict between the two kinds of module indicators.
17116         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
17117         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
17118         * modules/canonicalize (configure.ac): Invoke
17119         gl_MODULE_INDICATOR_FOR_TESTS.
17120         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
17121         GNULIB_XYZ.
17122         * tests/test-dirent-c++.cc: Likewise.
17123         * tests/test-dirent-safer.c: Likewise.
17124         * tests/test-dup2.c: Likewise.
17125         * tests/test-fchdir.c: Likewise.
17126         * tests/test-fcntl-h-c++.cc: Likewise.
17127         * tests/test-getopt.c: Likewise.
17128         * tests/test-getopt.h: Likewise.
17129         * tests/test-langinfo-c++.cc: Likewise.
17130         * tests/test-locale-c++.cc: Likewise.
17131         * tests/test-math-c++.cc: Likewise.
17132         * tests/test-pty-c++.cc: Likewise.
17133         * tests/test-search-c++.cc: Likewise.
17134         * tests/test-signal-c++.cc: Likewise.
17135         * tests/test-spawn-c++.cc: Likewise.
17136         * tests/test-stdio-c++.cc: Likewise.
17137         * tests/test-stdlib-c++.cc: Likewise.
17138         * tests/test-string-c++.cc: Likewise.
17139         * tests/test-sys_ioctl-c++.cc: Likewise.
17140         * tests/test-sys_select-c++.cc: Likewise.
17141         * tests/test-sys_socket-c++.cc: Likewise.
17142         * tests/test-sys_stat-c++.cc: Likewise.
17143         * tests/test-sys_time-c++.cc: Likewise.
17144         * tests/test-time-c++.cc: Likewise.
17145         * tests/test-unistd-c++.cc: Likewise.
17146         * tests/test-wchar-c++.cc: Likewise.
17147         * tests/uninorm/test-u8-nfc.c: Likewise.
17148         * tests/uninorm/test-u8-nfd.c: Likewise.
17149         * tests/uninorm/test-u8-nfkc.c: Likewise.
17150         * tests/uninorm/test-u8-nfkd.c: Likewise.
17151         * tests/uninorm/test-u16-nfc.c: Likewise.
17152         * tests/uninorm/test-u16-nfd.c: Likewise.
17153         * tests/uninorm/test-u16-nfkc.c: Likewise.
17154         * tests/uninorm/test-u16-nfkd.c: Likewise.
17155         * tests/uninorm/test-u32-nfc.c: Likewise.
17156         * tests/uninorm/test-u32-nfc-big.c: Likewise.
17157         * tests/uninorm/test-u32-nfd.c: Likewise.
17158         * tests/uninorm/test-u32-nfd-big.c: Likewise.
17159         * tests/uninorm/test-u32-nfkc.c: Likewise.
17160         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
17161         * tests/uninorm/test-u32-nfkd.c: Likewise.
17162         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
17163         * tests/uninorm/test-u32-normalize-big.c: Likewise.
17164
17165 2010-03-27  Bruno Haible  <bruno@clisp.org>
17166
17167         Distinguish two kinds of module indicators.
17168         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
17169         gl_MODULE_INDICATOR.
17170         (gl_MODULE_INDICATOR): New macro.
17171         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
17172         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
17173         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
17174         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
17175         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
17176         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
17177         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
17178         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
17179         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
17180         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
17181         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
17182         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
17183         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
17184         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
17185         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
17186         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
17187         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
17188         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
17189         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
17190         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
17191         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
17192         * modules/cloexec (configure.ac): Likewise.
17193         * modules/getopt-gnu (configure.ac): Likewise.
17194         * modules/uninorm/u8-normalize (configure.ac): Likewise.
17195         * modules/uninorm/u16-normalize (configure.ac): Likewise.
17196         * modules/uninorm/u32-normalize (configure.ac): Likewise.
17197         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
17198
17199 2010-03-27  Bruno Haible  <bruno@clisp.org>
17200
17201         New module description field 'Comment'.
17202         * gnulib-tool: New option --extract-comment.
17203         (func_usage): Document it.
17204         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
17205         (func_get_comment): New function.
17206         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
17207
17208 2010-03-27  Bruno Haible  <bruno@clisp.org>
17209
17210         Addendum to 2010-02-07 commit.
17211         * gnulib-tool (func_usage): Document --extract-applicability option.
17212
17213 2010-03-27  Bruno Haible  <bruno@clisp.org>
17214
17215         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
17216         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
17217         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
17218         rather than link errors.
17219
17220 2010-03-27  Bruno Haible  <bruno@clisp.org>
17221
17222         Avoid side effects from tests-related modules on the compilation of lib.
17223         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
17224         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
17225         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
17226         parameter. Emit into AM_CPPFLAGS a definition of the designated C
17227         macro.
17228         (func_import): Define a witness macro. Assign it a value that depends
17229         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
17230         tests-related modules.
17231         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
17232         Reported by Jim Meyering.
17233
17234 2010-03-27  Bruno Haible  <bruno@clisp.org>
17235
17236         Factorize common .m4 code.
17237         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
17238         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
17239         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
17240         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
17241         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
17242         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
17243         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
17244         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
17245         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
17246         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
17247         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
17248         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
17249         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
17250         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
17251         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
17252         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
17253         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
17254         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
17255         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
17256         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
17257         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
17258         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
17259         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
17260         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
17261         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
17262         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
17263         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
17264         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
17265         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
17266         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
17267         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
17268         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
17269
17270 2010-03-27  Bruno Haible  <bruno@clisp.org>
17271
17272         Fix a compilation error on Cygwin with g++ >= 4.3.
17273         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
17274         if it is undefined or if we alias it to chmod.
17275         (lstat): Don't warn about the use of this function if it is undefined
17276         or if we alias it to stat.
17277         Reported by Simon Josefsson.
17278
17279 2010-03-27  Bruno Haible  <bruno@clisp.org>
17280
17281         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
17282         * modules/getlogin (configure.ac): Update.
17283
17284         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
17285         * modules/getlogin_r (configure.ac): Update.
17286
17287         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
17288         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
17289         * modules/inet_ntop (configure.ac): Update.
17290
17291         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
17292         * modules/inet_pton (configure.ac): Update.
17293
17294         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
17295         * modules/mbslen (configure.ac): Update.
17296
17297         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
17298         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
17299         * modules/forkpty (configure.ac): Update.
17300         * modules/openpty (configure.ac): Update.
17301
17302 2010-03-26  Simon Josefsson  <simon@josefsson.org>
17303
17304         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
17305         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
17306
17307 2010-03-25  Eric Blake  <eblake@redhat.com>
17308
17309         maint: use pragma consistently across replacement headers
17310         * lib/ctype.in.h (system_header): Hoist for consistent placement.
17311         * lib/dirent.in.h (system_header): Likewise.
17312         * lib/errno.in.h (system_header): Likewise.
17313         * lib/float.in.h (system_header): Likewise.
17314         * lib/getopt.in.h (system_header): Likewise.
17315         * lib/iconv.in.h (system_header): Likewise.
17316         * lib/inttypes.in.h (system_header): Likewise.
17317         * lib/langinfo.in.h (system_header): Likewise.
17318         * lib/locale.in.h (system_header): Likewise.
17319         * lib/math.in.h (system_header): Likewise.
17320         * lib/netdb.in.h (system_header): Likewise.
17321         * lib/netinet_in.in.h (system_header): Likewise.
17322         * lib/pty.in.h (system_header): Likewise.
17323         * lib/sched.in.h (system_header): Likewise.
17324         * lib/se-selinux.in.h (system_header): Likewise.
17325         * lib/search.in.h (system_header): Likewise.
17326         * lib/spawn.in.h (system_header): Likewise.
17327         * lib/stdarg.in.h (system_header): Likewise.
17328         * lib/stdint.in.h (system_header): Likewise.
17329         * lib/string.in.h (system_header): Likewise.
17330         * lib/strings.in.h (system_header): Likewise.
17331         * lib/sys_file.in.h (system_header): Likewise.
17332         * lib/sys_ioctl.in.h (system_header): Likewise.
17333         * lib/sys_socket.in.h (system_header): Likewise.
17334         * lib/sys_times.in.h (system_header): Likewise.
17335         * lib/sys_utsname.in.h (system_header): Likewise.
17336         * lib/sys_wait.in.h (system_header): Likewise.
17337         * lib/sysexits.in.h (system_header): Likewise.
17338         * lib/unistd.in.h (system_header): Likewise.
17339         * lib/wctype.in.h (system_header): Likewise.
17340
17341         arpa/inet: fix mingw compilation warning
17342         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
17343         Reported by Matthew Bolte.
17344
17345 2010-03-25  Bruno Haible  <bruno@clisp.org>
17346
17347         Avoid collision between gnulib wrapper and libintl wrapper.
17348         * lib/printf.c (printf): Don't define if a printf wrapper is already
17349         defined in intl/printf.c.
17350         Reported by Michel Boaventura <michel@michelboaventura.com>.
17351
17352 2010-03-25  Bruno Haible  <bruno@clisp.org>
17353
17354         Use ANSI C.
17355         * lib/readutmp.h (getutent): Provide ANSI C prototype.
17356
17357 2010-03-25  Bruno Haible  <bruno@clisp.org>
17358
17359         Minor formatting changes.
17360         * lib/acosl.c: Insert space before function argument list.
17361         * lib/argz.c: Likewise.
17362         * lib/asinl.c: Likewise.
17363         * lib/expl.c: Likewise.
17364         * lib/gen-uni-tables.c: Likewise.
17365         * lib/gettext.h: Likewise.
17366         * lib/glthread/lock.h: Likewise.
17367         * lib/tanl.c: Likewise.
17368         * lib/uniname/uniname.c: Likewise.
17369         * tests/test-idpriv-drop.c: Likewise.
17370         * tests/test-idpriv-droptemp.c: Likewise.
17371         * tests/test-lock.c: Likewise.
17372         * tests/test-tls.c: Likewise.
17373         * lib/argp-help.c: Insert space before function-like macro argument
17374         list.
17375         * lib/memcmp.c: Likewise.
17376         * tests/test-base64.c: Likewise.
17377         * lib/localename.c: Insert space before sizeof's argument list.
17378         * lib/safe-alloc.h: Likewise.
17379         * lib/file-set.h: Insert space before macro argument list.
17380         * tests/test-argp.c: Likewise.
17381         * lib/argp-namefrob.h: Insert space before function parameter list.
17382         * lib/getaddrinfo.c: Likewise.
17383         * lib/netdb.in.h: Likewise.
17384         * lib/parse-duration.h: Likewise.
17385         * lib/parse-duration.c: Likewise.
17386         * lib/poll.c: Likewise.
17387         * lib/select.c: Likewise.
17388         * lib/trim.h: Likewise.
17389         * tests/test-usleep.c: Likewise.
17390         * lib/ldexpl.c: Insert space before function parameter list and before
17391         function argument list.
17392         * lib/logl.c: Likewise.
17393         * lib/sqrtl.c: Likewise.
17394         * lib/trim.c: Likewise.
17395         * lib/cosl.c: Use GNU style indentation. Insert space before function
17396         argument list.
17397         * lib/sinl.c: Likewise.
17398         * lib/tsearch.c: Insert space after 'for'.
17399         Reported by Jim Meyering.
17400
17401 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
17402
17403         * maint.mk (sc_Wundef_boolean): Check for the presence of the
17404         config header before grepping, as it's not present before
17405         autoreconf/configure are run.  Reported by Simon Josefsson.
17406
17407 2010-03-23  Bruno Haible  <bruno@clisp.org>
17408
17409         pt_chown: Make it work with automake < 1.11.
17410         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
17411         Reported by Simon Josefsson.
17412
17413 2010-03-23  Bruno Haible  <bruno@clisp.org>
17414
17415         pt_chown: Don't depend on GPLed modules.
17416         * lib/pt_chown.c: Don't include idpriv.h.
17417         (main): Don't drop privileges.
17418         * modules/pt_chown (Depends-on): Remove idpriv-drop.
17419         Reported by Simon Josefsson.
17420
17421 2010-03-24  Simon Josefsson  <simon@josefsson.org>
17422
17423         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
17424         suggestions from karl@freefriends.org (Karl Berry).
17425
17426 2010-03-22  Eric Blake  <eblake@redhat.com>
17427
17428         gethostname: further tweaks
17429         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
17430         are overriding gethostname.
17431         Suggested by Bruno Haible.
17432
17433 2010-03-21  Bruno Haible  <bruno@clisp.org>
17434
17435         Fix comments.
17436         * lib/forkpty.c (rpl_forkpty): Fix comment.
17437         * lib/openpty.c (rpl_openpty): Likewise.
17438         Reported by Eric Blake.
17439
17440 2010-03-22  Eric Blake  <eblake@redhat.com>
17441
17442         gethostname: fix build on mingw
17443         * lib/unistd.in.h (includes): Work around fact that mingw
17444         <winsock2.h> re-includes <unistd.h>, by avoiding any
17445         redeclarations if we are being included by <winsock2.h>.
17446         Reported by Matthias Bolte.
17447
17448 2010-03-21  Bruno Haible  <bruno@clisp.org>
17449
17450         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
17451         * lib/forkpty.c (forkpty): New replacement function, from glibc with
17452         modifications.
17453         * lib/pty.in.h (forkpty): Update declaration. Add comments.
17454         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
17455         provide the replacement.
17456         * modules/forkpty (Depends-on): Add openpty, login_tty.
17457         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
17458         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
17459         * doc/glibc-functions/forkpty.texi: More supported platforms.
17460         * config/srclist.txt: Add forkpty.c (commented).
17461
17462 2010-03-21  Bruno Haible  <bruno@clisp.org>
17463
17464         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
17465         (Makefile.am): Verify that PTY_LIB is defined.
17466
17467         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
17468
17469 2010-03-21  Bruno Haible  <bruno@clisp.org>
17470
17471         Tests for module 'login_tty'.
17472         * modules/login_tty-tests: New file.
17473         * tests/test-login_tty.c: New file.
17474
17475         New module 'login_tty'.
17476         * lib/login_tty.c: New file.
17477         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
17478         * modules/login_tty: New file.
17479         * doc/glibc-functions/login_tty.texi: Mention the new module.
17480
17481 2010-03-21  Bruno Haible  <bruno@clisp.org>
17482
17483         login_tty: Documentation.
17484         * doc/glibc-functions/login_tty.texi: New file.
17485         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
17486
17487 2010-03-21  Bruno Haible  <bruno@clisp.org>
17488
17489         pty: Consistent macro naming.
17490         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
17491         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
17492         * modules/pty (configure.ac): Update.
17493
17494 2010-03-21  Bruno Haible  <bruno@clisp.org>
17495
17496         Tests for openpty: Make stricter.
17497         * tests/test-openpty.c (main): Add test of canonical processing and
17498         erase.
17499         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
17500
17501         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
17502         * lib/openpty.c (openpty): New replacement function.
17503         * lib/pty.in.h: Include <termios.h>.
17504         (openpty): Update declaration. Add comments.
17505         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
17506         is not declared, arrange to provide the replacement. Check for _getpty
17507         and posix_openpt.
17508         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
17509         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
17510         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
17511         * modules/pty-tests (test_pty_c___LDADD): New variable.
17512         * doc/glibc-functions/openpty.texi: More supported platforms.
17513
17514 2010-03-21  Bruno Haible  <bruno@clisp.org>
17515
17516         setenv: Tweaks.
17517         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
17518         the test program.
17519         * doc/posix-functions/setenv.texi: Update platforms list.
17520
17521 2010-03-21  Bruno Haible  <bruno@clisp.org>
17522
17523         New module 'unlockpt'.
17524         * lib/unlockpt.c: New file, from glibc with modifications.
17525         * m4/unlockpt.m4: New file.
17526         * modules/unlockpt: New file.
17527         * lib/stdlib.in.h (unlockpt): New declaration.
17528         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
17529         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
17530         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
17531         HAVE_UNLOCKPT.
17532         * doc/posix-functions/unlockpt.texi: Mention the new module.
17533         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
17534         * config/srclist.txt: Add unlockpt.c (commented).
17535
17536 2010-03-21  Jim Meyering  <meyering@redhat.com>
17537
17538         maint.mk: prohibit inclusion of "intprops.h" without use
17539         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
17540
17541 2010-03-21  Bruno Haible  <bruno@clisp.org>
17542
17543         New module 'grantpt'.
17544         * lib/grantpt.c: New file, from glibc with modifications.
17545         * m4/grantpt.m4: New file.
17546         * modules/grantpt: New file.
17547         * lib/stdlib.in.h (grantpt): New declaration.
17548         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
17549         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
17550         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
17551         HAVE_GRANTPT.
17552         * doc/posix-functions/grantpt.texi: Mention the new module.
17553         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
17554         * config/srclist.txt: Add grantpt.c (commented).
17555
17556 2010-03-21  Bruno Haible  <bruno@clisp.org>
17557
17558         New module 'pt_chown'.
17559         * lib/pt_chown.c: New file, from glibc with modifications.
17560         * lib/pty-private.h: New file, from glibc with modifications.
17561         * modules/pt_chown: New file.
17562         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
17563
17564 2010-03-21  Bruno Haible  <bruno@clisp.org>
17565
17566         Tests for module 'ptsname'.
17567         * modules/ptsname-tests: New file.
17568         * tests/test-ptsname.c: New file.
17569
17570         New module 'ptsname'.
17571         * lib/ptsname.c: New file, from glibc with modifications.
17572         * m4/ptsname.m4: New file.
17573         * modules/ptsname: New file.
17574         * lib/stdlib.in.h (ptsname): New declaration.
17575         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
17576         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
17577         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
17578         HAVE_PTSNAME.
17579         * doc/posix-functions/ptsname.texi: Mention the new module.
17580         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
17581         * config/srclist.txt: Add ptsname.c (commented).
17582
17583 2010-03-21  Bruno Haible  <bruno@clisp.org>
17584
17585         Tests for module 'ttyname_r'.
17586         * modules/ttyname_r-tests: New file.
17587         * tests/test-ttyname_r.c: New file.
17588
17589         New module 'ttyname_r'.
17590         * lib/ttyname_r.c: New file.
17591         * m4/ttyname_r.m4: New file.
17592         * modules/ttyname_r: New file.
17593         * lib/unistd.in.h (ttyname_r): New declaration.
17594         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
17595         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
17596         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
17597         HAVE_TTYNAME_R.
17598         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
17599         * doc/posix-functions/ttyname_r.texi: Mention the new module.
17600
17601 2010-03-20  Bruno Haible  <bruno@clisp.org>
17602
17603         signal: Undefine macro definitions in C++ mode.
17604         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
17605         sigfillset): Undefine macro definitions from the system header in C++
17606         mode.
17607         Reported by John W. Eaton <jwe@gnu.org>.
17608
17609 2010-03-20  Bruno Haible  <bruno@clisp.org>
17610
17611         Ensure no #include statements inside extern "C" { ... }.
17612         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
17613         contain #include statements.
17614         * lib/time.in.h: Likewise.
17615
17616 2010-03-20  Bruno Haible  <bruno@clisp.org>
17617
17618         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
17619         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
17620         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
17621         Reported by John W. Eaton <jwe@gnu.org>.
17622
17623 2010-03-20  Bruno Haible  <bruno@clisp.org>
17624
17625         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
17626         Reported by Jim Meyering.
17627
17628 2010-03-20  Bruno Haible  <bruno@clisp.org>
17629
17630         pipe: Set errno upon failure.
17631         * lib/pipe.h: Specify that when -1 is returned, errno is set.
17632         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
17633         errno value in error message.
17634
17635 2010-03-20  Bruno Haible  <bruno@clisp.org>
17636             Jim Meyering  <meyering@redhat.com>
17637
17638         lchown: Avoid "unused variable" warning.
17639         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
17640
17641 2010-03-20  Bruno Haible  <bruno@clisp.org>
17642
17643         Work around unlink() bug on MacOS X 10.5.6.
17644         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
17645         attempting to unlink a parent directory.
17646         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
17647         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
17648         activate for the replacement function.
17649         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
17650
17651 2010-03-20  Bruno Haible  <bruno@clisp.org>
17652
17653         Fix link errors on Solaris 8.
17654         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
17655         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
17656
17657 2010-03-19  Jim Meyering  <meyering@redhat.com>
17658
17659         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
17660         The _LIBC implementation of build_range_exp correctly honors the
17661         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
17662         However, the non-_LIBC implementation would ignore that syntax-bit
17663         flag and return REG_ERANGE unconditionally.
17664         This change makes it honor that flag.
17665         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
17666         Make two pointer parameters "const".
17667         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
17668         (parse_bracket_exp): Update caller.
17669
17670         regex.m4: correct the reversed range endpoint ([b-a]) test
17671         * m4/regex.m4: When requiring that [b-a] evoke failure,
17672         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
17673         test pass once again for x86-based systems.
17674
17675 2010-03-19  Bruno Haible  <bruno@clisp.org>
17676
17677         scandir: Fix link error on Solaris 8.
17678         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
17679         macros.
17680
17681 2010-03-19  Bruno Haible  <bruno@clisp.org>
17682
17683         getusershell: Fix documentation.
17684         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
17685         module.
17686         * doc/glibc-functions/setusershell.texi: Likewise.
17687
17688         getusershell: Provide declaration, missing on Solaris 9.
17689         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
17690         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
17691         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
17692         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
17693         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
17694         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
17695         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
17696         HAVE_GETUSERSHELL.
17697         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
17698
17699 2010-03-19  Bruno Haible  <bruno@clisp.org>
17700
17701         wctype: Provide iswblank function.
17702         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
17703         exists and is fine.
17704         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
17705         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
17706         * tests/test-wctype.c (main): Re-enable the iswblank tests.
17707         * doc/posix-functions/iswblank.texi: Update.
17708
17709 2010-03-19  Bruno Haible  <bruno@clisp.org>
17710
17711         Tests of module 'pty' in C++ mode.
17712         * modules/pty-tests: New file.
17713         * tests/test-pty-c++.cc: New file.
17714         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
17715
17716 2010-03-19  Eric Blake  <eblake@redhat.com>
17717
17718         logb: fix documentation
17719         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
17720         1.5 declaration bug.
17721
17722         forkpty, openpty: prefer glibc's const-safe prototype
17723         * lib/forkpty.c (rpl_forkpty): New file.
17724         * lib/openpty.c (rpl_openpty): Likewise.
17725         * modules/forkpty (Files): Distribute it.
17726         * modules/openpty (Files): Likewise.
17727         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
17728         check...
17729         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
17730         replacement for for non-const BSD signature.
17731         * modules/pty (Makefile.am): Substitute witnesses.
17732         * lib/pty.in.h (forkpty, openpty): Declare replacements.
17733         * tests/test-forkpty.c: Update signature check.
17734         * tests/test-openpty.c: Likewise.
17735         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
17736         * doc/glibc-functions/openpty.texi (openpty): Likewise.
17737
17738         forkpty, openpty: split functions into new modules
17739         * modules/pty (Makefile.am): Substitute new witnesses.
17740         (Libraries): Move library detection...
17741         * modules/forkpty: ...into new module.
17742         * modules/openpty: Another new module.
17743         * modules/pty-tests: Rename and split...
17744         * modules/forkpty-tests: ...to this...
17745         * modules/openpty-tests: ...and this.
17746         * tests/test-pty.c: Rename and split...
17747         * tests/test-forkpty.c: ...to this...
17748         * tests/test-openpty.c: ...and this.
17749         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
17750         (gl_PTY): Split library searching...
17751         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
17752         (gl_FORKPTY, gl_OPENPTY): New macros.
17753         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
17754         * NEWS: Mention the split.
17755         * MODULES.html.sh (Misc): Document the modules.
17756         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
17757         * doc/glibc-functions/openpty.texi (openpty): Likewise.
17758
17759         pty: improve replacement header
17760         * lib/pty.in.h: New file.
17761         * modules/pty (Files): Ship it.
17762         (Makefile.am): Always build replacement.
17763         * m4/pty.m4: Rename...
17764         * m4/pty_h.m4: ...to this.
17765         (gl_PTY): Modernize setting of witness macros; update check of
17766         forkpty to take proper advantage of cache.
17767         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
17768
17769         getopt: avoid compiler warning
17770         * lib/getopt.c (attribute_hidden): Remove unused macro.
17771
17772 2010-03-18  Bruno Haible  <bruno@clisp.org>
17773
17774         Fix link errors on Solaris 8.
17775         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
17776         * modules/search-tests (test_search_c___LDADD): Likewise.
17777         * modules/signal-tests (test_signal_c___LDADD): Likewise.
17778         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
17779         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
17780         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
17781         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
17782         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
17783         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
17784
17785 2010-03-18  Bruno Haible  <bruno@clisp.org>
17786
17787         Fix bug introduced on 2010-03-14.
17788         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
17789         (gl_SPAWN_H): Require it.
17790         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
17791         Reported by Simon Josefsson.
17792
17793 2010-03-18  Bruno Haible  <bruno@clisp.org>
17794
17795         Fix typo introduced on 2009-12-31.
17796         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
17797         posix_spawn_file_actions_adddup2.
17798
17799 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
17800         and Eric Blake  <eblake@redhat.com>
17801
17802         test-vc-list-files-git: make more robust
17803         * tests/test-vc-list-files-git.sh: Unset problematic environment
17804         variables.  Chain commands together.
17805
17806 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
17807
17808         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
17809         `AC_CHECK_DECL' invocation.
17810
17811 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
17812
17813         * lib/inttostr.c (inttostr): Make sure the invocation of verify
17814         appears before executable statements. Suggested by Petr Sumbera
17815         <Petr.Sumbera@Sun.COM>.
17816
17817 2010-03-14  Bruno Haible  <bruno@clisp.org>
17818
17819         * tests/test-flock.c (test_exclusive): Comment out a test that causes
17820         portability problems. Instead use a simpler test.
17821         (main): Check that invalid arguments are rejected only on Linux.
17822
17823 2010-03-14  Bruno Haible  <bruno@clisp.org>
17824
17825         Fix bug introduced on 2009-12-31.
17826         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
17827         gl_PREREQ_SYS_H_WINSOCK2 always.
17828         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
17829         SYS_SOCKET_H variable.
17830         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
17831         Update comments.
17832         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
17833         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
17834         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
17835         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
17836         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
17837
17838 2010-03-14  Bruno Haible  <bruno@clisp.org>
17839
17840         Fix values returned by sinl, cosl.
17841         * lib/trigl.h: Add specification comments.
17842         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
17843         that combines the values from the precomputed table with the values of
17844         the Chebyshev polynomials.
17845
17846 2010-03-14  Bruno Haible  <bruno@clisp.org>
17847
17848         Fix compilation error when modules 'posix_spawn[p]' are not used.
17849         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
17850         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
17851
17852 2010-03-14  Bruno Haible  <bruno@clisp.org>
17853
17854         Fix compilation error on mingw when module 'time_r' is not used.
17855         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
17856         is 1.
17857         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
17858         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
17859         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
17860         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
17861
17862 2010-03-14  Bruno Haible  <bruno@clisp.org>
17863
17864         Fix compilation error with Sun C.
17865         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
17866         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
17867         instead of GCC specific ULONG_LONG_MAX.
17868         * lib/xstrtoll.c: Likewise.
17869         * lib/xstrtoull.c: Likewise.
17870
17871 2010-03-13  Bruno Haible  <bruno@clisp.org>
17872
17873         Allow the user to disable C++ code and tests.
17874         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
17875         (gl_PROG_ANSI_CXX): Require it.
17876
17877 2010-03-13  Bruno Haible  <bruno@clisp.org>
17878
17879         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
17880         cases.
17881
17882 2010-03-13  Bruno Haible  <bruno@clisp.org>
17883
17884         Test that gnulib does not break the standard C++ headers.
17885         * tests/test-locale-c++2.cc: New file.
17886         * modules/locale-tests (Files): Add it.
17887         (Makefile.am): Compile it for test-locale-c++.
17888         * tests/test-math-c++2.cc: New file.
17889         * modules/math-tests (Files): Add it.
17890         (Makefile.am): Compile it for test-math-c++.
17891         * tests/test-signal-c++2.cc: New file.
17892         * modules/signal-tests (Files): Add it.
17893         (Makefile.am): Compile it for test-signal-c++.
17894         * tests/test-stdio-c++2.cc: New file.
17895         * modules/stdio-tests (Files): Add it.
17896         (Makefile.am): Compile it for test-stdio-c++.
17897         * tests/test-stdlib-c++2.cc: New file.
17898         * modules/stdlib-tests (Files): Add it.
17899         (Makefile.am): Compile it for test-stdlib-c++.
17900         * tests/test-string-c++2.cc: New file.
17901         * modules/string-tests (Files): Add it.
17902         (Makefile.am): Compile it for test-string-c++.
17903         * tests/test-time-c++2.cc: New file.
17904         * modules/time-tests (Files): Add it.
17905         (Makefile.am): Compile it for test-time-c++.
17906         Reported by John W. Eaton <jwe@gnu.org>.
17907
17908 2010-03-13  Bruno Haible  <bruno@clisp.org>
17909
17910         * gnulib-tool (func_usage): Clarify which options are available for
17911         --create-testdir and --create-megatestdir.
17912
17913 2010-03-13  Bruno Haible  <bruno@clisp.org>
17914
17915         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
17916         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
17917         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
17918         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
17919         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
17920         when appropriate.
17921         Reported by Jim Meyering.
17922
17923 2010-03-12  Simon Josefsson  <simon@josefsson.org>
17924
17925         * gnulib-tool (func_import): Explain origin of code.
17926
17927 2010-03-12  Bruno Haible  <bruno@clisp.org>
17928
17929         Fix problem with automake's definition of CXXLINK.
17930         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
17931         Reported by Simon Josefsson and Ludovic Courtès.
17932
17933 2010-03-12  Bruno Haible  <bruno@clisp.org>
17934
17935         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
17936         stable releases.
17937
17938 2010-03-11  Bruno Haible  <bruno@clisp.org>
17939
17940         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
17941         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
17942         whether the system provides one variant or multiple variants of the
17943         function.
17944         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
17945         C++ compilers.
17946         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
17947         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
17948         Reported by Jim Meyering.
17949
17950 2010-03-09  Simon Josefsson  <simon@josefsson.org>
17951
17952         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
17953
17954 2010-03-08  Bruno Haible  <bruno@clisp.org>
17955
17956         gnulib-tool: Add support for --libtool in --create-testdir.
17957         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
17958         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
17959
17960 2010-03-08  Eric Blake  <eblake@redhat.com>
17961
17962         gnulib-tool.texi: mention possibility of git submodule
17963         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
17964         submodules.
17965         * doc/.gitignore: Ignore another generated file.
17966
17967 2010-03-08  Karl Berry  <karl@gnu.org>
17968
17969         * doc/gnulib-tool.texi (VCS Issues): Mention third option
17970         of committing gnulib files while skipping others.
17971
17972 2010-03-07  Bruno Haible  <bruno@clisp.org>
17973
17974         Tests of module 'wctype' in C++ mode.
17975         * tests/test-wctype-c++.cc: New file.
17976         * modules/wctype-tests (Files): Add it and tests/signature.h.
17977         (Depends-on): Add ansi-c++-opt.
17978         (Makefile.am): Arrange to compile and run test-wctype-c++.
17979
17980         Tests of module 'wchar' in C++ mode.
17981         * tests/test-wchar-c++.cc: New file.
17982         * modules/wchar-tests (Files): Add it and tests/signature.h.
17983         (Depends-on): Add ansi-c++-opt.
17984         (Makefile.am): Arrange to compile and run test-wchar-c++.
17985         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
17986         gl_MODULE_INDICATOR.
17987
17988         Tests of module 'unistd' in C++ mode.
17989         * tests/test-unistd-c++.cc: New file.
17990         * modules/unistd-tests (Files): Add it and tests/signature.h.
17991         (Depends-on): Add ansi-c++-opt.
17992         (Makefile.am): Arrange to compile and run test-unistd-c++.
17993         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
17994         gl_MODULE_INDICATOR.
17995
17996         Tests of module 'time' in C++ mode.
17997         * tests/test-time-c++.cc: New file.
17998         * modules/time-tests (Files): Add it and tests/signature.h.
17999         (Depends-on): Add ansi-c++-opt.
18000         (Makefile.am): Arrange to compile and run test-time-c++.
18001         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
18002
18003         Tests of module 'sys_time' in C++ mode.
18004         * tests/test-sys_time-c++.cc: New file.
18005         * modules/sys_time-tests (Files): Add it and tests/signature.h.
18006         (Depends-on): Add ansi-c++-opt.
18007         (Makefile.am): Arrange to compile and run test-sys_time-c++.
18008         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
18009         gl_MODULE_INDICATOR.
18010
18011         Tests of module 'sys_stat' in C++ mode.
18012         * tests/test-sys_stat-c++.cc: New file.
18013         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
18014         (Depends-on): Add ansi-c++-opt.
18015         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
18016         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
18017         gl_MODULE_INDICATOR.
18018
18019         Tests of module 'sys_socket' in C++ mode.
18020         * tests/test-sys_socket-c++.cc: New file.
18021         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
18022         (Depends-on): Add ansi-c++-opt.
18023         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
18024         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
18025         gl_MODULE_INDICATOR.
18026
18027         Tests of module 'sys_select' in C++ mode.
18028         * tests/test-sys_select-c++.cc: New file.
18029         * modules/sys_select-tests (Files): Add it and tests/signature.h.
18030         (Depends-on): Add ansi-c++-opt.
18031         (Makefile.am): Arrange to compile and run test-sys_select-c++.
18032         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
18033         gl_MODULE_INDICATOR.
18034
18035         Tests of module 'sys_ioctl' in C++ mode.
18036         * tests/test-sys_ioctl-c++.cc: New file.
18037         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
18038         (Depends-on): Add ansi-c++-opt.
18039         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
18040         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
18041         gl_MODULE_INDICATOR.
18042
18043         Tests of module 'string' in C++ mode.
18044         * tests/test-string-c++.cc: New file.
18045         * modules/string-tests (Files): Add it and tests/signature.h.
18046         (Depends-on): Add ansi-c++-opt.
18047         (Makefile.am): Arrange to compile and run test-string-c++.
18048         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
18049         gl_MODULE_INDICATOR.
18050
18051         Tests of module 'stdlib' in C++ mode.
18052         * tests/test-stdlib-c++.cc: New file.
18053         * modules/stdlib-tests (Files): Add it and tests/signature.h.
18054         (Depends-on): Add ansi-c++-opt.
18055         (Makefile.am): Arrange to compile and run test-stdlib-c++.
18056         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
18057         gl_MODULE_INDICATOR.
18058
18059         Tests of module 'stdio' in C++ mode.
18060         * tests/test-stdio-c++.cc: New file.
18061         * modules/stdio-tests (Files): Add it and tests/signature.h.
18062         (Depends-on): Add ansi-c++-opt.
18063         (Makefile.am): Arrange to compile and run test-stdio-c++.
18064         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
18065         gl_MODULE_INDICATOR.
18066
18067         Tests of module 'spawn' in C++ mode.
18068         * tests/test-spawn-c++.cc: New file.
18069         * modules/spawn-tests (Files): Add it and tests/signature.h.
18070         (Depends-on): Add ansi-c++-opt.
18071         (Makefile.am): Arrange to compile and run test-spawn-c++.
18072         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
18073         gl_MODULE_INDICATOR.
18074
18075         Tests of module 'signal' in C++ mode.
18076         * tests/test-signal-c++.cc: New file.
18077         * modules/signal-tests (Files): Add it and tests/signature.h.
18078         (Depends-on): Add ansi-c++-opt.
18079         (Makefile.am): Arrange to compile and run test-signal-c++.
18080         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
18081         gl_MODULE_INDICATOR.
18082
18083         Tests of module 'search' in C++ mode.
18084         * tests/test-search-c++.cc: New file.
18085         * modules/search-tests (Files): Add it and tests/signature.h.
18086         (Depends-on): Add ansi-c++-opt.
18087         (Makefile.am): Arrange to compile and run test-search-c++.
18088         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
18089         gl_MODULE_INDICATOR.
18090
18091         Tests of module 'math' in C++ mode.
18092         * tests/test-math-c++.cc: New file.
18093         * modules/math-tests (Files): Add it and tests/signature.h.
18094         (Depends-on): Add ansi-c++-opt.
18095         (Makefile.am): Arrange to compile and run test-math-c++.
18096         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
18097
18098         Tests of module 'locale' in C++ mode.
18099         * tests/test-locale-c++.cc: New file.
18100         * modules/locale-tests (Files): Add it and tests/signature.h.
18101         (Depends-on): Add ansi-c++-opt.
18102         (Makefile.am): Arrange to compile and run test-locale-c++.
18103         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
18104         gl_MODULE_INDICATOR.
18105
18106         Tests of module 'langinfo' in C++ mode.
18107         * tests/test-langinfo-c++.cc: New file.
18108         * modules/langinfo-tests (Files): Add it and tests/signature.h.
18109         (Depends-on): Add ansi-c++-opt.
18110         (Makefile.am): Arrange to compile and run test-langinfo-c++.
18111         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
18112         gl_MODULE_INDICATOR.
18113
18114         Tests of module 'iconv-h' in C++ mode.
18115         * tests/test-iconv-h-c++.cc: New file.
18116         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
18117         (Depends-on): Add ansi-c++-opt.
18118         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
18119
18120         Tests of module 'glob' in C++ mode.
18121         * tests/test-glob-c++.cc: New file.
18122         * modules/glob-tests (Files): Add it.
18123         (Depends-on): Add ansi-c++-opt.
18124         (Makefile.am): Arrange to compile and run test-glob-c++.
18125
18126         Tests of module 'fcntl-h' in C++ mode.
18127         * tests/test-fcntl-h-c++.cc: New file.
18128         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
18129         (Depends-on): Add ansi-c++-opt.
18130         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
18131         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
18132         gl_MODULE_INDICATOR.
18133
18134         Tests of module 'dirent' in C++ mode.
18135         * tests/test-dirent-c++.cc: New file.
18136         * modules/dirent-tests (Files): Add it and tests/signature.h.
18137         (Depends-on): Add ansi-c++-opt.
18138         (Makefile.am): Arrange to compile and run test-dirent-c++.
18139         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
18140         gl_MODULE_INDICATOR.
18141
18142         New module 'ansi-c++-opt'.
18143         * modules/ansi-c++-opt: New file.
18144         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
18145
18146         Document C++ namespace mode.
18147         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
18148
18149         wctype: Avoid #define replacements in C++ mode.
18150         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
18151         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
18152         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
18153         In C++, define a namespaced alias symbol.
18154         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
18155         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
18156         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
18157         rule.
18158
18159         wchar: Avoid #define replacements in C++ mode.
18160         * lib/wchar.in.h: Include c++defs.h.
18161         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
18162         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
18163         symbol.
18164         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
18165         * modules/wchar (Depends-on): Add c++defs.
18166         (Makefile.am): Update wchar.h rule.
18167
18168         unistd: Avoid #define replacements in C++ mode.
18169         * lib/unistd.in.h: Include c++defs.h.
18170         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
18171         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
18172         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
18173         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
18174         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
18175         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
18176         symbol.
18177         (environ): Update.
18178         * modules/unistd (Depends-on): Add c++defs.
18179         (Makefile.am): Update unistd.h rule.
18180
18181         time: Avoid #define replacements in C++ mode.
18182         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
18183         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
18184         define a namespaced alias symbol.
18185         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
18186         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
18187         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
18188         * modules/time (Depends-on): Add c++defs, warn-on-use.
18189         (Makefile.am): Update time.h rule.
18190         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
18191         * modules/nanosleep (configure.ac): Likewise.
18192         * modules/strptime (configure.ac): Likewise.
18193         * modules/timegm (configure.ac): Likewise.
18194
18195         sys_time: Avoid #define replacements in C++ mode.
18196         * lib/sys_time.in.h: Include c++defs.h.
18197         (gettimeofday): In C++, define a namespaced alias symbol.
18198         * modules/sys_time (Depends-on): Add c++defs.
18199         (Makefile.am): Update sys/time.h rule.
18200
18201         sys_stat: Avoid #define replacements in C++ mode.
18202         * lib/sys_stat.in.h: Include c++defs.h.
18203         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
18204         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
18205         namespaced alias symbol.
18206         In C++, define a namespaced alias symbol.
18207         * modules/sys_stat (Depends-on): Add c++defs.
18208         (Makefile.am): Update sys/stat.h rule.
18209
18210         sys_socket: Avoid #define replacements in C++ mode.
18211         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
18212         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
18213         definitions also when the system has a <sys/socket.h>.
18214         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
18215         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
18216         In C++, define a namespaced alias symbol.
18217         * modules/sys_socket (Depends-on): Add c++defs.
18218         (Makefile.am): Update sys/socket.h rule.
18219
18220         sys_select: Avoid #define replacements in C++ mode.
18221         * lib/sys_select.in.h: Include c++defs.h. Enable the function
18222         definitions also when the system has a <sys/select.h>.
18223         (select): In C++, define a namespaced alias symbol.
18224         * modules/sys_select (Depends-on): Add c++defs.
18225         (Makefile.am): Update sys/select.h rule.
18226
18227         sys_ioctl: Avoid #define replacements in C++ mode.
18228         * lib/sys_ioctl.in.h: Include c++defs.h.
18229         (ioctl): In C++, define a namespaced alias symbol.
18230         * modules/sys_ioctl (Depends-on): Add c++defs.
18231         (Makefile.am): Update sys/ioctl.h rule.
18232
18233         string: Avoid #define replacements in C++ mode.
18234         * lib/string.in.h: Include c++defs.h.
18235         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
18236         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
18237         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
18238         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
18239         strsignal, strverscmp): In C++, define a namespaced alias symbol.
18240         * modules/string (Depends-on): Add c++defs.
18241         (Makefile.am): Update string.h rule.
18242
18243         stdlib: Avoid #define replacements in C++ mode.
18244         * lib/stdlib.in.h: Include c++defs.h.
18245         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
18246         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
18247         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
18248         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
18249         symbol.
18250         * modules/stdlib (Depends-on): Add c++defs.
18251         (Makefile.am): Update stdlib.h rule.
18252
18253         stdio: Avoid #define replacements in C++ mode.
18254         * lib/stdio.in.h: Include c++defs.h.
18255         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
18256         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
18257         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
18258         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
18259         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
18260         namespaced alias symbol.
18261         * modules/stdio (Depends-on): Add c++defs.
18262         (Makefile.am): Update stdio.h rule.
18263
18264         spawn: Avoid #define replacements in C++ mode.
18265         * lib/spawn.in.h: Include c++defs.h.
18266         (posix_spawn, posix_spawnp, posix_spawnattr_init,
18267         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
18268         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
18269         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
18270         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
18271         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
18272         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
18273         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
18274         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
18275         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
18276         In C++, define a namespaced alias symbol.
18277         * modules/spawn (Depends-on): Add c++defs.
18278         (Makefile.am): Update spawn.h rule.
18279
18280         signal: Avoid #define replacements in C++ mode.
18281         * lib/signal.in.h: Include c++defs.h.
18282         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
18283         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
18284         namespaced alias symbol.
18285         * modules/signal (Depends-on): Add c++defs.
18286         (Makefile.am): Update signal.h rule.
18287
18288         search: Avoid #define replacements in C++ mode.
18289         * lib/search.in.h: Include c++defs.h.
18290         (_gl_search_compar_fn, _gl_search_action_fn): New types.
18291         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
18292         symbol.
18293         * modules/search (Depends-on): Add c++defs.
18294         (Makefile.am): Update search.h rule.
18295
18296         math: Avoid #define replacements in C++ mode.
18297         * lib/math.in.h: Include c++defs.h.
18298         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
18299         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
18300         trunc, truncl): In C++, define a namespaced alias symbol.
18301         * modules/math (Depends-on): Add c++defs.
18302         (Makefile.am): Update math.h rule.
18303
18304         locale: Avoid #define replacements in C++ mode.
18305         * lib/locale.in.h: Include c++defs.h.
18306         (duplocale): In C++, define a namespaced alias symbol.
18307         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
18308         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
18309         * modules/locale (Depends-on): Add c++defs.
18310         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
18311
18312         langinfo: Avoid #define replacements in C++ mode.
18313         * lib/langinfo.in.h: Include c++defs.h.
18314         (nl_langinfo): In C++, define a namespaced alias symbol.
18315         * modules/langinfo (Depends-on): Add c++defs.
18316         (Makefile.am): Update langinfo.h rule.
18317
18318         iconv-h: Avoid #define replacements in C++ mode.
18319         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
18320         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
18321         symbol.
18322         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
18323         whenever iconv is present.
18324         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
18325         (Makefile.am): Update iconv.h rule.
18326
18327         glob: Avoid #define replacements in C++ mode.
18328         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
18329         (_gl_glob_errfunc_fn): New type.
18330         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
18331         symbol.
18332         * modules/glob (Depends-on): Add c++defs, warn-on-use.
18333         (Makefile.am): Update glob.h rule.
18334
18335         fcntl-h: Avoid #define replacements in C++ mode.
18336         * lib/fcntl.in.h: Include c++defs.h.
18337         (fcntl, open, openat): In C++, define a namespaced alias symbol.
18338         * modules/fcntl-h (Depends-on): Add c++defs.
18339         (Makefile.am): Update fcntl.h rule.
18340
18341         dirent: Avoid #define replacements in C++ mode.
18342         * lib/dirent.in.h: Include c++defs.h.
18343         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
18344         namespaced alias symbol.
18345         (dirfd): Update declaration.
18346         * modules/dirent (Depends-on): Add c++defs.
18347         (Makefile.am): Update dirent.h rule.
18348
18349         ctype: Make it usable in C++ code.
18350         * lib/ctype.in.h: Include c++defs.h.
18351         (isblank): Declare as extern "C".
18352         * modules/ctype (Depends-on): Add c++defs.
18353         (Makefile.am): Update ctype.h rule.
18354
18355         New module 'c++defs'.
18356         * modules/c++defs: New file.
18357         * build-aux/c++defs.h: New file.
18358         Reported by John W. Eaton <jwe@gnu.org>.
18359
18360 2010-03-07  Bruno Haible  <bruno@clisp.org>
18361
18362         logb: Provide missing declaration for Cygwin.
18363         * lib/math.in.h (logb): New declaration.
18364         * m4/logb.m4: New file.
18365         * modules/logb (Files): Add m4/logb.m4.
18366         (Depends-on): Add math.
18367         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
18368         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
18369         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
18370         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
18371         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
18372
18373 2010-03-07  Bruno Haible  <bruno@clisp.org>
18374
18375         Fix test-cond link error.
18376         * tests/test-cond.c: Include <stdio.h>.
18377
18378 2010-03-07  Bruno Haible  <bruno@clisp.org>
18379
18380         Fix test-dirent-safer link error.
18381         * modules/dirent-safer-tests (Makefile.am): Define
18382         test_dirent_safer_LDADD.
18383
18384 2010-03-07  Bruno Haible  <bruno@clisp.org>
18385
18386         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
18387         among default module list.
18388
18389 2010-03-07  Bruno Haible  <bruno@clisp.org>
18390
18391         Fix link error on platforms with GNU libiconv.
18392         * modules/unistr/u8-strcoll-tests (Makefile): Define
18393         test_u8_strcoll_LDADD.
18394         * modules/unistr/u16-strcoll-tests (Makefile): Define
18395         test_u16_strcoll_LDADD.
18396         * modules/unistr/u32-strcoll-tests (Makefile): Define
18397         test_u32_strcoll_LDADD.
18398
18399 2010-03-07  Bruno Haible  <bruno@clisp.org>
18400
18401         Use POSIX declarations for socket functions.
18402         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
18403         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
18404         rpl_sendto): Change declaration to match POSIX.
18405         * lib/connect.c (rpl_connect): Likewise.
18406         * lib/accept.c (rpl_accept): Likewise.
18407         * lib/bind.c (rpl_bind): Likewise.
18408         * lib/getpeername.c (rpl_getpeername): Likewise.
18409         * lib/getsockname.c (rpl_getsockname): Likewise.
18410         * lib/recv.c (rpl_recv): Likewise.
18411         * lib/send.c (rpl_send): Likewise.
18412         * lib/recvfrom.c (rpl_recvfrom): Likewise.
18413         * lib/sendto.c (rpl_sendto): Likewise.
18414
18415 2010-03-06  Bruno Haible  <bruno@clisp.org>
18416
18417         Clarify access, euidaccess, faccessat.
18418         * doc/posix-functions/faccessat.texi: Mention security problem under
18419         "Other problems", not "Portability problems".
18420         * doc/posix-functions/access.texi: Likewise. Mention a related security
18421         problem.
18422         * doc/glibc-functions/euidaccess.texi: Mention security problems.
18423         * lib/euidaccess.c: Add comments about platforms.
18424         * lib/unistd.in.h (access, euidaccess): Add warnings.
18425
18426 2010-03-07  Bruno Haible  <bruno@clisp.org>
18427
18428         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
18429         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
18430         (POSIX_SPAWN_SETSCHEDULER): Likewise.
18431         (POSIX_SPAWN_USEVFORK): Define in a way that works when
18432         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
18433         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
18434         declare when POSIX_SPAWN_SETSCHEDULER is zero.
18435         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
18436         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
18437         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
18438         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
18439         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
18440         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
18441         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
18442         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
18443         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
18444         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
18445         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
18446         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
18447         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
18448         Likewise.
18449         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
18450         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
18451         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
18452         Likewise.
18453         * tests/test-spawn.c (main): Make it work when
18454         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
18455
18456 2010-03-07  Bruno Haible  <bruno@clisp.org>
18457
18458         Fix incorrect Makefile.am generation in German locale.
18459         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
18460         Execute sed command with character range in C locale.
18461
18462 2010-03-06  Bruno Haible  <bruno@clisp.org>
18463
18464         Tests for module 'iconv-h'.
18465         * modules/iconv-h-tests: New file.
18466         * tests/test-iconv-h.c: New file.
18467
18468         New module 'iconv-h'.
18469         * modules/iconv-h: New file.
18470         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
18471         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
18472         (configure.ac): Remove gl_ICONV_H.
18473         (Makefile.am): Remove rule for iconv.h.
18474
18475 2010-03-06  Bruno Haible  <bruno@clisp.org>
18476
18477         More consistent naming of *.m4 files.
18478         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
18479         * modules/wctype (Files): Update.
18480
18481         More consistent naming of *.m4 files.
18482         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
18483         * modules/wchar (Files): Update.
18484
18485 2010-03-06  Jim Meyering  <meyering@redhat.com>
18486
18487         euidaccess: relax license to LGPLv2+
18488         * modules/euidaccess (License): Relax to LGPLv2+.
18489
18490 2010-03-06  Bruno Haible  <bruno@clisp.org>
18491
18492         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
18493         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
18494         (Makefile.am): Augment lib_SOURCES instead.
18495
18496 2010-03-04  Jim Meyering  <meyering@redhat.com>
18497
18498         utime: remove obsolete module
18499         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
18500         unnecessary for years, and has been marked as obsolete for 10 months.
18501         * modules/utime: Remove file.
18502         * lib/utime.c: Remove file.
18503         * m4/utime.m4: Remove file.
18504         * m4/utimes-null.m4: Remove file.
18505         * doc/posix-functions/utime.texi (utime): Remove reference to
18506         the module.  Move the sole "fixed by gnulib" item into the
18507         "problems not fixed by Gnulib" list.
18508         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
18509
18510 2010-03-05  Simon Josefsson  <simon@josefsson.org>
18511
18512         * modules/exit (License): Relax license to LGPLv2+.
18513         (Status): Mark as obsolete.
18514         * NEWS: Mention deprecated 'exit' module.
18515         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
18516         of now obsolete 'exit'.
18517
18518 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18519
18520         fts-lgpl: remove unused module
18521         * modules/fts-lgpl: Remove.
18522         * MODULES.html.sh (func_all_modules): Adjust.
18523         * check-module (find_included_lib_files): Adjust.
18524         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
18525
18526 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
18527
18528         copy-acl: enhance Solaris ACL error handling
18529         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
18530         * lib/set-mode-acl.c (qset_acl): Likewise.
18531
18532 2010-03-02  Bruno Haible  <bruno@clisp.org>
18533
18534         spawn: Don't override the system defined values on FreeBSD 8.
18535         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
18536         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
18537         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
18538         if HAVE_POSIX_SPAWN is 1.
18539         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
18540
18541 2010-03-01  Bruno Haible  <bruno@clisp.org>
18542
18543         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
18544         regarding Automake.
18545
18546 2010-02-25  Bruno Haible  <bruno@clisp.org>
18547
18548         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
18549         * gnulib-tool: Define 'echo' as a function only before the ksh alias
18550         setting, not afterwards.
18551         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
18552
18553 2010-02-24  Eric Blake  <eblake@redhat.com>
18554
18555         bootstrap, git-version-gen: use timestamp
18556         * build-aux/git-version-gen (scriptversion): Force UTC.
18557         * build-aux/bootstrap (scriptversion): New variable.
18558
18559         bootstrap: allow older git
18560         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
18561         older than 1.6.4.  Requested by the libvirt project.
18562
18563 2010-02-23  Eric Blake  <eblake@redhat.com>
18564
18565         warn-on-use: work with old autoconf
18566         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
18567         AS_VAR semantics of autoconf 2.60.
18568         Reported by Bruno Haible.
18569
18570         bootstrap: improve some comments
18571         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
18572         clarification comments.
18573
18574         gettimeofday: provide correct function
18575         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
18576         when replacement is declared, otherwise provide gettimeofday.
18577         Reported by Michael Goffioul.
18578
18579 2010-02-23  Jim Meyering  <meyering@redhat.com>
18580
18581         lib-ignore: relax license to "unlimited", not LGPLv2+
18582         * modules/lib-ignore (License): Relax to "unlimited".
18583
18584 2010-02-23  Jim Meyering  <meyering@redhat.com>
18585
18586         lib-ignore: relax license to LGPLv2+
18587         * modules/lib-ignore (License): Relax to LGPLv2+.
18588
18589 2010-02-22  Eric Blake  <eblake@redhat.com>
18590
18591         lseek: avoid bash 3.2 broken pipe bug
18592         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
18593         warning from bash 3.2.
18594         Reported by Ben Pfaff, with analysis from Bruno Haible.
18595
18596         bootstrap: support non-FSF copyright holder
18597         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
18598         bootstrap.conf override of COPYRIGHT_HOLDER.
18599         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
18600
18601         bootstrap: interoperate with gettext 0.14.1
18602         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
18603
18604         bootstrap: allow for alternate submodule location
18605         * build-aux/bootstrap (gnulib_path): New variable; use instead of
18606         hardcoding submodule location.
18607         (gnulib_mk): Allow direct use of Makefile.am.
18608
18609         bootstrap: use GNULIB_SRCDIR to reduce disk usage
18610         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
18611         rather than reconfiguring where the submodule points.
18612
18613         gettimeofday: restore support for platforms that lack function
18614         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
18615         replacement if function is missing.
18616         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
18617         * modules/sys_time (Makefile.am): Substitute it.
18618         * lib/sys_time.in.h (gettimeofday): Check it.
18619         Reported by Michael Goffioul.
18620
18621 2010-02-21  Bruno Haible  <bruno@clisp.org>
18622
18623         * lib/stdio.in.h (obstack_printf): Fix typo.
18624
18625 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
18626
18627         vc-list-files: use bzr ls's -R option
18628         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
18629         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
18630
18631 2010-02-21  Jim Meyering  <meyering@redhat.com>
18632
18633         init.sh: fix EXEEXT shims to work also for names like test-prog
18634         * tests/init.sh: Re-exec a better shell, when needed.
18635         If the current shell lacks support for posix $(...), an init.sh-using
18636         test will now try to find a shell that supports that.  If EXEEXT is
18637         nonempty, we also require support for hyphen-in-alias-name and shell
18638         substitutions like ${var#glob}.  Failure to find such a shell results
18639         in a skipped test.
18640
18641 2010-02-21  Bruno Haible  <bruno@clisp.org>
18642
18643         Really work around around "broken pipe" error message from bash 3.2.
18644         * gnulib-tool (func_reset_sigpipe): Remove function.
18645         (echo): In bash 3.2, define to a function that uses printf.
18646         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
18647
18648 2010-02-20  Bruno Haible  <bruno@clisp.org>
18649
18650         Restore support for automake 1.9.6 with autoconf 2.61.
18651         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
18652         Reported by James Youngman <jay@gnu.org>.
18653
18654 2010-02-20  Bruno Haible  <bruno@clisp.org>
18655
18656         Improve *printf warning condition.
18657         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
18658         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
18659         and the function is overridden due to SIGPIPE emulation.
18660
18661 2010-02-20  Bruno Haible  <bruno@clisp.org>
18662
18663         * lib/stdio.in.h: Tweak comments.
18664
18665 2010-02-19  Bruno Haible  <bruno@clisp.org>
18666
18667         Make it easier to find modules. New gnulib-tool option '--find'.
18668         * gnulib-tool: New option --find.
18669         (func_usage): Document it.
18670         (func_sanitize_modulelist): New function, extracted from
18671         func_all_modules.
18672         (func_all_modules): Invoke it.
18673         * doc/gnulib-tool.texi (Which modules?): New node.
18674
18675 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
18676
18677         * lib/sys_select.in.h: Provide select replacement even if
18678         sys/select.h exists on a system, for Interix.
18679
18680 2010-02-18  Jim Meyering  <meyering@redhat.com>
18681
18682         init.sh: don't use $(...) just yet
18683         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
18684         to accommodate e.g., Solaris' /bin/sh.
18685
18686 2010-02-17  Bruno Haible  <bruno@clisp.org>
18687
18688         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
18689         Reported by Ludovic Courtès <ludo@gnu.org>.
18690
18691 2010-02-16  Simon Josefsson  <simon@josefsson.org>
18692
18693         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
18694         linking with -lintl.
18695
18696 2010-02-17  Simon Josefsson  <simon@josefsson.org>
18697
18698         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
18699         if not provided by the system's netdb.h.  Reported by
18700         ludo@gnu.org (Ludovic Courtès).
18701
18702 2010-02-15  Jim Meyering  <meyering@redhat.com>
18703
18704         init.sh: improve portability and efficiency
18705         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
18706         "dummy" in a for loop.
18707         Use '!', not '^' to select the complement of a character set used
18708         in a "case" statement.
18709         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
18710         Suggestions from Eric Blake.
18711
18712         init.sh: automatically accommodate programs with the .exe suffix
18713         Automatically arrange for an invocation of "prog" to execute the
18714         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
18715         may use the simpler "prog", yet still work when built on a system
18716         that requires specifying the added suffix.
18717         Do this by constructing a function named "prog" that invokes
18718         "prog.exe" for each .exe file in selected directories.
18719         * tests/init.sh (find_exe_basenames_): New function.
18720         (create_exe_shim_functions_): New function.
18721         (path_prepend_): Use it.
18722
18723         maint.mk: mark syntax-check sc_*.m rules as .PHONY
18724         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
18725         "make -t syntax-check" doesn't create a ton of sc_*.m files.
18726
18727 2010-02-14  Jim Meyering  <meyering@redhat.com>
18728
18729         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
18730         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
18731         (sc_prohibit_hash_pjw_without_use): New rule.
18732
18733         maint.mk: allow the default upload destination dir to be overridden
18734         * top/maint.mk (upload_dest_dir_): Define with a default that
18735         preserves the status quo.
18736         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
18737         Reported by Peter Simons.
18738
18739         maint.mk: prohibit inclusion of "hash.h" without_use
18740         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
18741
18742 2010-02-10  Jim Meyering  <meyering@redhat.com>
18743
18744         maint.mk: prohibit inclusion of "ignore-value.h" without_use
18745         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
18746
18747 2010-02-09  Eric Blake  <ebb9@byu.net>
18748         and Bruno Haible  <bruno@clisp.org>
18749
18750         obstack-printf-posix: ensure declaration
18751         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
18752         extracted from gl_FUNC_OBSTACK_PRINTF.
18753         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
18754         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
18755         Likewise.
18756         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
18757         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
18758         0.
18759
18760 2010-02-08  Bruno Haible  <bruno@clisp.org>
18761
18762         gnulib-tool: Fix typo in 2010-02-07 commit.
18763         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
18764         Reported by Eric Blake.
18765
18766 2010-02-07  Bruno Haible  <bruno@clisp.org>
18767
18768         gnulib-tool: Fix up caching patches.
18769         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
18770         option --no-cache. Use associative arrays when supported by the shell.
18771         (sed_comments): New variable.
18772         (modcache): Renamed from do_cache.
18773         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
18774         abbreviate unnecessarily.
18775         (have_associative): New variable.
18776         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
18777         way also for ksh and zsh.
18778         (func_init_sed_convert_to_cache_statements): New function, extracted
18779         from func_cache_lookup_module. Add support for associative arrays.
18780         Don't set the c_MODULE_cached variable here. Ignore all lines before
18781         the first field header. Remove only the final newline, not all trailing
18782         newlines. Support empty fields correctly. Limit the use of 'eval' to
18783         assignments.
18784         (func_get_description, func_get_status, func_get_notice,
18785         func_get_applicability, func_get_filelist, func_get_dependencies,
18786         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
18787         func_get_automake_snippet, func_get_include_directive,
18788         func_get_link_directive, func_get_license, func_get_maintainer):
18789         Update documentation. List the unoptimized code first. Add support for
18790         associative arrays. Limit the use of 'eval' to assignments.
18791         (func_get_applicability): Undo stylistic pessimisations.
18792         (func_get_automake_snippet, func_get_include_directive): Reduce code
18793         duplication.
18794         (func_modules_transitive_closure, func_modules_add_dummy,
18795         func_modules_notice, func_modules_to_filelist, func_add_file,
18796         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
18797         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
18798         func_create_testdir, func_create_megatestdir): Update documentation.
18799
18800 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18801
18802         * gnulib-tool (func_cache_lookup_module): Store the module name
18803         belonging to the cache variable; error out if two different
18804         module names map to the same cache variable name.
18805
18806 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18807
18808         gnulib-tool: Make caching optional.
18809         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
18810         Update matching short versions of --no-changelog.
18811         (func_usage): Update.
18812         (sed_extract_cache_prog): Renamed from ...
18813         (sed_extract_prog): ... this; revert to old extraction script.
18814         (func_get_description, func_get_status)
18815         (func_get_notice, func_get_applicability, func_get_filelist)
18816         (func_get_dependencies, func_get_autoconf_early_snippet)
18817         (func_get_autoconf_snippet, func_get_automake_snippet)
18818         (func_get_include_directive, func_get_link_directive)
18819         (func_get_license, func_get_maintainer): If $do_cache is false,
18820         use old, non-caching extraction scripts.
18821         Suggestion by Bruno Haible.
18822
18823 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18824
18825         gnulib-tool: cache module metainformation.
18826         * gnulib-tool (sed_extract_prog): Match newline before each
18827         header, and rewrite header to a shell variable suffix.
18828         (func_cache_var, func_cache_lookup_module): New functions,
18829         to turn a module name into a cache variable prefix, and to
18830         look up and cache module metainformation.
18831         (func_get_description, func_get_status)
18832         (func_get_notice, func_get_applicability, func_get_filelist)
18833         (func_get_dependencies, func_get_autoconf_early_snippet)
18834         (func_get_autoconf_snippet, func_get_automake_snippet)
18835         (func_get_include_directive, func_get_link_directive)
18836         (func_get_license, func_get_maintainer): Use
18837         func_cache_lookup_module.
18838
18839 2010-02-07  Bruno Haible  <bruno@clisp.org>
18840
18841         fnctl: Fix missing dependency.
18842         * modules/fcntl (Depends-on): Add getdtablesize.
18843         Reported by John W. Eaton <jwe@gnu.org>.
18844
18845 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
18846
18847         Argp: fix recognition of short alias options.
18848
18849         * lib/argp-parse.c (convert_options): Fix improper use of
18850         `|' between character values.
18851         * tests/test-argp.c (group1_option): New alias option
18852         --read (-r).
18853         (group1_parser): Special handling for 'r'.
18854         (test15): New test case.
18855         (test_fun): Add test15.
18856         * tests/test-argp-2.sh: Update expected --help and --usage
18857         outputs.
18858
18859 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
18860
18861         * tests/test-argp.c: Fix indentation.
18862
18863 2010-02-04  Eric Blake  <ebb9@byu.net>
18864
18865         gettimeofday: expose type of second argument
18866         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
18867         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
18868         * tests/test-gettimeofday.c: Use it to silence warning.
18869         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
18870         the issue.
18871
18872 2010-02-03  Jim Meyering  <meyering@redhat.com>
18873
18874         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
18875         * lib/regcomp.c (TYPE_SIGNED): Define.
18876         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
18877
18878         regcomp.c: avoid a new -Wshadow warning
18879         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
18880
18881 2010-02-01  Jim Meyering  <meyering@redhat.com>
18882
18883         removing useless parentheses in cpp #define directives
18884         For motivation, see commit c0221df4, "define STREQ(a,b)
18885         consistently, removing useless parentheses"
18886         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
18887         * lib/mountlist.c (MNT_IGNORE): Likewise.
18888         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
18889
18890 2010-02-01  Eric Blake  <ebb9@byu.net>
18891
18892         sys_time: use link-warning
18893         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
18894         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
18895         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
18896         * modules/sys_time (Depends-on): Add warn-on-use.
18897         (Makefile.am): Always build replacement.
18898         (configure.ac): Update substitutions.
18899         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
18900         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
18901         bother with SYS_TIME_H.
18902         * modules/gettimeofday (configure.ac): Declare indicator.
18903         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
18904         in use.
18905
18906         closein-tests: silence compiler warning
18907         * tests/test-closein.c (main): Ignore fread result.
18908         * modules/closein-tests (Depends-on): Add ignore-value.
18909
18910         tests: silence warning about system return
18911         * tests/test-areadlink-with-size.c (main): Ignore system result.
18912         * tests/test-areadlink.c (main): Likewise.
18913         * tests/test-areadlinkat-with-size.c (main): Likewise.
18914         * tests/test-areadlinkat.c (main): Likewise.
18915         * tests/test-canonicalize-lgpl.c (main): Likewise.
18916         * tests/test-canonicalize.c (main): Likewise.
18917         * tests/test-chown.c (main): Likewise.
18918         * tests/test-fchownat.c (main): Likewise.
18919         * tests/test-fdutimensat.c (main): Likewise.
18920         * tests/test-fstatat.c (main): Likewise.
18921         * tests/test-futimens.c (main): Likewise.
18922         * tests/test-lchown.c (main): Likewise.
18923         * tests/test-link.c (main): Likewise.
18924         * tests/test-linkat.c (main): Likewise.
18925         * tests/test-lstat.c (main): Likewise.
18926         * tests/test-mkdir.c (main): Likewise.
18927         * tests/test-mkdirat.c (main): Likewise.
18928         * tests/test-mkfifo.c (main): Likewise.
18929         * tests/test-mkfifoat.c (main): Likewise.
18930         * tests/test-mknod.c (main): Likewise.
18931         * tests/test-readlink.c (main): Likewise.
18932         * tests/test-remove.c (main): Likewise.
18933         * tests/test-rename.c (main): Likewise.
18934         * tests/test-renameat.c (main): Likewise.
18935         * tests/test-rmdir.c (main): Likewise.
18936         * tests/test-symlink.c (main): Likewise.
18937         * tests/test-symlinkat.c (main): Likewise.
18938         * tests/test-unlink.c (main): Likewise.
18939         * tests/test-unlinkat.c (main): Likewise.
18940         * tests/test-utimens.c (main): Likewise.
18941         * tests/test-utimensat.c (main): Likewise.
18942         * modules/areadlink-tests (Depends-on): Add ignore-value.
18943         * modules/areadlink-with-size-tests (Depends-on): Likewise.
18944         * modules/areadlinkat-tests (Depends-on): Likewise.
18945         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
18946         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
18947         * modules/canonicalize-tests (Depends-on): Likewise.
18948         * modules/chown-tests (Depends-on): Likewise.
18949         * modules/fdutimensat-tests (Depends-on): Likewise.
18950         * modules/futimens-tests (Depends-on): Likewise.
18951         * modules/lchown-tests (Depends-on): Likewise.
18952         * modules/link-tests (Depends-on): Likewise.
18953         * modules/linkat-tests (Depends-on): Likewise.
18954         * modules/lstat-tests (Depends-on): Likewise.
18955         * modules/mkdir-tests (Depends-on): Likewise.
18956         * modules/mkfifo-tests (Depends-on): Likewise.
18957         * modules/mkfifoat-tests (Depends-on): Likewise.
18958         * modules/mknod-tests (Depends-on): Likewise.
18959         * modules/openat-tests (Depends-on): Likewise.
18960         * modules/readlink-tests (Depends-on): Likewise.
18961         * modules/remove-tests (Depends-on): Likewise.
18962         * modules/rename-tests (Depends-on): Likewise.
18963         * modules/renameat-tests (Depends-on): Likewise.
18964         * modules/rmdir-tests (Depends-on): Likewise.
18965         * modules/symlink-tests (Depends-on): Likewise.
18966         * modules/symlinkat-tests (Depends-on): Likewise.
18967         * modules/unlink-tests (Depends-on): Likewise.
18968         * modules/utimens-tests (Depends-on): Likewise.
18969         * modules/utimensat-tests (Depends-on): Likewise.
18970
18971 2010-01-31  Bruno Haible  <bruno@clisp.org>
18972
18973         Perform the same test for many <math.h> functions.
18974         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
18975         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
18976         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
18977         of gl_MATHFUNC.
18978         * modules/acos (configure.ac): Likewise.
18979         * modules/asin (configure.ac): Likewise.
18980         * modules/atan (configure.ac): Likewise.
18981         * modules/atan2 (configure.ac): Likewise.
18982         * modules/cbrt (configure.ac): Likewise.
18983         * modules/copysign (configure.ac): Likewise.
18984         * modules/cos (configure.ac): Likewise.
18985         * modules/cosh (configure.ac): Likewise.
18986         * modules/erf (configure.ac): Likewise.
18987         * modules/erfc (configure.ac): Likewise.
18988         * modules/exp (configure.ac): Likewise.
18989         * modules/fmod (configure.ac): Likewise.
18990         * modules/hypot (configure.ac): Likewise.
18991         * modules/j0 (configure.ac): Likewise.
18992         * modules/j1 (configure.ac): Likewise.
18993         * modules/jn (configure.ac): Likewise.
18994         * modules/lgamma (configure.ac): Likewise.
18995         * modules/log (configure.ac): Likewise.
18996         * modules/log10 (configure.ac): Likewise.
18997         * modules/log1p (configure.ac): Likewise.
18998         * modules/pow (configure.ac): Likewise.
18999         * modules/remainder (configure.ac): Likewise.
19000         * modules/sin (configure.ac): Likewise.
19001         * modules/sinh (configure.ac): Likewise.
19002         * modules/tan (configure.ac): Likewise.
19003         * modules/tanh (configure.ac): Likewise.
19004         * modules/y0 (configure.ac): Likewise.
19005         * modules/y1 (configure.ac): Likewise.
19006         * modules/yn (configure.ac): Likewise.
19007         Suggested by Paolo Bonzini.
19008
19009 2010-01-31  Bruno Haible  <bruno@clisp.org>
19010
19011         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
19012
19013 2010-01-31  Bruno Haible  <bruno@clisp.org>
19014
19015         Work around getdelim() bug on FreeBSD 8.0.
19016         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
19017         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
19018         not work.
19019         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
19020         is 1.
19021         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
19022         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
19023         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
19024         a non-zero size.
19025         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
19026
19027 2010-01-31  Bruno Haible  <bruno@clisp.org>
19028
19029         Work around getline() bug on FreeBSD 8.0.
19030         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
19031         and a non-zero size.
19032         * tests/test-getline.c (main): Likewise.
19033         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
19034         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
19035
19036 2010-01-28  Eric Blake  <ebb9@byu.net>
19037
19038         regex: fix build failure
19039         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
19040         platforms.
19041
19042 2010-01-28  Jim Meyering  <meyering@redhat.com>
19043
19044         regex: do not ignore memory allocation failure
19045         * lib/regex_internal.c (create_cd_newstate): Detect
19046         re_node_set_init_copy failure.   Extracted from glibc commit
19047         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
19048
19049         regex: sync more white-space changes from libc
19050         * lib/regex_internal.c: White-space only changes.
19051         * lib/regexec.c: Likewise.
19052
19053         regex: add many uses of __attribute_warn_unused_result__
19054         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
19055         * lib/regexec.c: Likewise.
19056         Extracted from a messy glibc commit.
19057
19058         regcomp.c: spelling and merge-artifact from glibc
19059         * lib/regcomp.c: Merge remainder of glibc's
19060         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
19061
19062         regcomp.c: sync white-space changes from glibc
19063         * lib/regcomp.c: Merge to accommodate white space
19064         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
19065
19066         regcomp.c: do not ignore internal return values
19067         * lib/regcomp.c: Do not ignore internal return values.
19068         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
19069         but without its white-space changes and spelling fixes.
19070
19071         regex_internal.h: define __attribute_warn_unused_result__
19072         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
19073
19074         maint: add a syntax-check rule to check for vulnerable Makefile.in
19075         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
19076
19077 2010-01-27  Jim Meyering  <meyering@redhat.com>
19078
19079         ncftpput-ftp: clean up spaces
19080         * build-aux/ncftpput-ftp: Make Copyright line consistent.
19081         Remove trailing blanks.
19082
19083 2010-01-27  Simon Josefsson  <simon@josefsson.org>
19084
19085         * build-aux/git-version-gen: Fix copyright statement.
19086         * build-aux/gnupload: Likewise.
19087         * tests/test-arcfour.c: Likewise.
19088         * tests/test-arctwo.c: Likewise.
19089         * tests/test-count-one-bits.c: Likewise.
19090         * tests/test-crc.c: Likewise.
19091         * tests/test-des.c: Likewise.
19092         * tests/test-gc-arcfour.c: Likewise.
19093         * tests/test-gc-arctwo.c: Likewise.
19094         * tests/test-gc-des.c: Likewise.
19095         * tests/test-gc-hmac-md5.c: Likewise.
19096         * tests/test-gc-hmac-sha1.c: Likewise.
19097         * tests/test-gc-md2.c: Likewise.
19098         * tests/test-gc-md4.c: Likewise.
19099         * tests/test-gc-md5.c: Likewise.
19100         * tests/test-gc-pbkdf2-sha1.c: Likewise.
19101         * tests/test-gc-rijndael.c: Likewise.
19102         * tests/test-gc-sha1.c: Likewise.
19103         * tests/test-gc.c: Likewise.
19104         * tests/test-gethostname.c: Likewise.
19105         * tests/test-gettimeofday.c: Likewise.
19106         * tests/test-hash.c: Likewise.
19107         * tests/test-hmac-md5.c: Likewise.
19108         * tests/test-hmac-sha1.c: Likewise.
19109         * tests/test-md2.c: Likewise.
19110         * tests/test-md4.c: Likewise.
19111         * tests/test-md5.c: Likewise.
19112         * tests/test-memchr.c: Likewise.
19113         * tests/test-memchr2.c: Likewise.
19114         * tests/test-memcmp.c: Likewise.
19115         * tests/test-memmem.c: Likewise.
19116         * tests/test-memrchr.c: Likewise.
19117         * tests/test-rawmemchr.c: Likewise.
19118         * tests/test-read-file.c: Likewise.
19119         * tests/test-rijndael.c: Likewise.
19120         * tests/test-sockets.c: Likewise.
19121         * tests/test-strchrnul.c: Likewise.
19122         * tests/test-strstr.c: Likewise.
19123         * tests/test-strtod.c: Likewise.
19124         * build-aux/ncftpput-ftp: Likewise.
19125
19126 2010-01-26  Eric Blake  <ebb9@byu.net>
19127
19128         ignore-value: update recommended header name
19129         * modules/ignore-value (Include): Only use <> for headers that
19130         exist in glibc.
19131
19132 2010-01-26  Jim Meyering  <meyering@redhat.com>
19133
19134         test-userspec.c: avoid compiler warnings
19135         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
19136         and "initialization discards qualifiers..." warnings.
19137         Put the first "uid" in its own scope, and make char* members "const".
19138
19139 2010-01-25  Bruno Haible  <bruno@clisp.org>
19140
19141         gnulib-tool: Make warning diagnostics consistent.
19142         * gnulib-tool (func_warning): New function.
19143         Use it everywhere where gnulib-tool produces output to stderr and it is
19144         not a fatal error.
19145
19146 2010-01-25  Bruno Haible  <bruno@clisp.org>
19147
19148         Fix test dependencies.
19149         * modules/xstrtol-tests (Depends-on): Add inttypes.
19150         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
19151
19152 2010-01-25 Pádraig Brady <P@draigBrady.com>
19153
19154         syntax-check: detect incorrect boolean macro values in config.h
19155         * modules/maintainer-makefile (configure.ac): Parameterize the location
19156         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
19157         The logic is from Eric Blake and the location indicated by Jim Meyering.
19158         Note the more natural CONFIG_HEADER name is prohibited by automake
19159         for backwards compatibility reasons.
19160         * top/maint.mk (sc_Wundef_boolean): New rule.
19161
19162 2010-01-25  Jim Meyering  <meyering@redhat.com>
19163
19164         bootstrap: detect MacOS 10.6's shasum, too
19165         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
19166         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
19167
19168 2010-01-23  Jim Meyering  <meyering@redhat.com>
19169
19170         xstrtoll: new module
19171         * modules/xstrtoll: New file.
19172         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
19173         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
19174         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
19175         ./configure fails if you use this module and lack "long long".
19176         * modules/xstrtoll-tests: New module.
19177         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
19178         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
19179         new init.sh-based test framework.
19180
19181 2010-01-24  Bruno Haible  <bruno@clisp.org>
19182
19183         Tests for module 'yn'.
19184         * modules/yn-tests: New file.
19185         * tests/test-yn.c: New file.
19186
19187         Tests for module 'y1'.
19188         * modules/y1-tests: New file.
19189         * tests/test-y1.c: New file.
19190
19191         Tests for module 'y0'.
19192         * modules/y0-tests: New file.
19193         * tests/test-y0.c: New file.
19194
19195         Tests for module 'tanh'.
19196         * modules/tanh-tests: New file.
19197         * tests/test-tanh.c: New file.
19198
19199         Tests for module 'tan'.
19200         * modules/tan-tests: New file.
19201         * tests/test-tan.c: New file.
19202
19203         Tests for module 'sqrt'.
19204         * modules/sqrt-tests: New file.
19205         * tests/test-sqrt.c: New file.
19206
19207         Tests for module 'sinh'.
19208         * modules/sinh-tests: New file.
19209         * tests/test-sinh.c: New file.
19210
19211         Tests for module 'sin'.
19212         * modules/sin-tests: New file.
19213         * tests/test-sin.c: New file.
19214
19215         Tests for module 'rint'.
19216         * modules/rint-tests: New file.
19217         * tests/test-rint.c: New file.
19218
19219         Tests for module 'remainder'.
19220         * modules/remainder-tests: New file.
19221         * tests/test-remainder.c: New file.
19222
19223         Tests for module 'pow'.
19224         * modules/pow-tests: New file.
19225         * tests/test-pow.c: New file.
19226
19227         Tests for module 'nextafter'.
19228         * modules/nextafter-tests: New file.
19229         * tests/test-nextafter.c: New file.
19230
19231         Tests for module 'modf'.
19232         * modules/modf-tests: New file.
19233         * tests/test-modf.c: New file.
19234
19235         Tests for module 'logb'.
19236         * modules/logb-tests: New file.
19237         * tests/test-logb.c: New file.
19238
19239         Tests for module 'log1p'.
19240         * modules/log1p-tests: New file.
19241         * tests/test-log1p.c: New file.
19242
19243         Tests for module 'log10'.
19244         * modules/log10-tests: New file.
19245         * tests/test-log10.c: New file.
19246
19247         Tests for module 'log'.
19248         * modules/log-tests: New file.
19249         * tests/test-log.c: New file.
19250
19251         Tests for module 'lgamma'.
19252         * modules/lgamma-tests: New file.
19253         * tests/test-lgamma.c: New file.
19254
19255         Tests for module 'ldexp'.
19256         * modules/ldexp-tests: New file.
19257         * tests/test-ldexp.c: New file.
19258
19259         Tests for module 'jn'.
19260         * modules/jn-tests: New file.
19261         * tests/test-jn.c: New file.
19262
19263         Tests for module 'j1'.
19264         * modules/j1-tests: New file.
19265         * tests/test-j1.c: New file.
19266
19267         Tests for module 'j0'.
19268         * modules/j0-tests: New file.
19269         * tests/test-j0.c: New file.
19270
19271         Tests for module 'hypot'.
19272         * modules/hypot-tests: New file.
19273         * tests/test-hypot.c: New file.
19274
19275         Tests for module 'fmod'.
19276         * modules/fmod-tests: New file.
19277         * tests/test-fmod.c: New file.
19278
19279         Tests for module 'fabs'.
19280         * modules/fabs-tests: New file.
19281         * tests/test-fabs.c: New file.
19282
19283         Tests for module 'exp'.
19284         * modules/exp-tests: New file.
19285         * tests/test-exp.c: New file.
19286
19287         Tests for module 'erfc'.
19288         * modules/erfc-tests: New file.
19289         * tests/test-erfc.c: New file.
19290
19291         Tests for module 'erf'.
19292         * modules/erf-tests: New file.
19293         * tests/test-erf.c: New file.
19294
19295         Tests for module 'cosh'.
19296         * modules/cosh-tests: New file.
19297         * tests/test-cosh.c: New file.
19298
19299         Tests for module 'cos'.
19300         * modules/cos-tests: New file.
19301         * tests/test-cos.c: New file.
19302
19303         Tests for module 'copysign'.
19304         * modules/copysign-tests: New file.
19305         * tests/test-copysign.c: New file.
19306
19307         Tests for module 'cbrt'.
19308         * modules/cbrt-tests: New file.
19309         * tests/test-cbrt.c: New file.
19310
19311         Tests for module 'atan2'.
19312         * modules/atan2-tests: New file.
19313         * tests/test-atan2.c: New file.
19314
19315         Tests for module 'atan'.
19316         * modules/atan-tests: New file.
19317         * tests/test-atan.c: New file.
19318
19319         Tests for module 'asin'.
19320         * modules/asin-tests: New file.
19321         * tests/test-asin.c: New file.
19322
19323         Tests for module 'acos'.
19324         * modules/acos-tests: New file.
19325         * tests/test-acos.c: New file.
19326
19327 2010-01-24  Bruno Haible  <bruno@clisp.org>
19328
19329         Fix tests for common <math.h> functions.
19330         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
19331         code snippet that references the function pointer, rather than merely
19332         calling the function. Substitute the FUNC_LIBM variable.
19333         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
19334         * modules/acos (configure.ac): Likewise.
19335         * modules/asin (configure.ac): Likewise.
19336         * modules/atan (configure.ac): Likewise.
19337         * modules/atan2 (configure.ac): Likewise.
19338         * modules/cbrt (configure.ac): Likewise.
19339         * modules/copysign (configure.ac): Likewise.
19340         * modules/cos (configure.ac): Likewise.
19341         * modules/cosh (configure.ac): Likewise.
19342         * modules/erf (configure.ac): Likewise.
19343         * modules/erfc (configure.ac): Likewise.
19344         * modules/exp (configure.ac): Likewise.
19345         * modules/fabs (configure.ac): Likewise.
19346         * modules/fmod (configure.ac): Likewise.
19347         * modules/hypot (configure.ac): Likewise.
19348         * modules/j0 (configure.ac): Likewise.
19349         * modules/j1 (configure.ac): Likewise.
19350         * modules/jn (configure.ac): Likewise.
19351         * modules/ldexp (configure.ac): Likewise.
19352         * modules/lgamma (configure.ac): Likewise.
19353         * modules/log (configure.ac): Likewise.
19354         * modules/log10 (configure.ac): Likewise.
19355         * modules/log1p (configure.ac): Likewise.
19356         * modules/logb (configure.ac): Likewise.
19357         * modules/modf (configure.ac): Likewise.
19358         * modules/nextafter (configure.ac): Likewise.
19359         * modules/pow (configure.ac): Likewise.
19360         * modules/remainder (configure.ac): Likewise.
19361         * modules/rint (configure.ac): Likewise.
19362         * modules/sin (configure.ac): Likewise.
19363         * modules/sinh (configure.ac): Likewise.
19364         * modules/tan (configure.ac): Likewise.
19365         * modules/tanh (configure.ac): Likewise.
19366         * modules/y0 (configure.ac): Likewise.
19367         * modules/y1 (configure.ac): Likewise.
19368         * modules/yn (configure.ac): Likewise.
19369
19370 2010-01-24  Bruno Haible  <bruno@clisp.org>
19371
19372         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
19373         * tests/test-acosl.c (x): New variable.
19374         (main): Store argument in x and fetch it from x.
19375         * tests/test-asinl.c (x): New variable.
19376         (main): Store argument in x and fetch it from x.
19377         * tests/test-atanl.c (x): New variable.
19378         (main): Store argument in x and fetch it from x.
19379         * tests/test-cosl.c (x): New variable.
19380         (main): Store argument in x and fetch it from x.
19381         * tests/test-expl.c (x): New variable.
19382         (main): Store argument in x and fetch it from x.
19383         * tests/test-logl.c (x): New variable.
19384         (main): Store argument in x and fetch it from x.
19385         * tests/test-sinl.c (x): New variable.
19386         (main): Store argument in x and fetch it from x.
19387         * tests/test-sqrtl.c (x): New variable.
19388         (main): Store argument in x and fetch it from x.
19389         * tests/test-tanl.c (x): New variable.
19390         (main): Store argument in x and fetch it from x.
19391
19392 2010-01-24  Bruno Haible  <bruno@clisp.org>
19393
19394         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
19395         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
19396         assignments to the initial TESTS_ENVIRONMENT.
19397         * doc/gnulib.texi (Unit test modules): Document it.
19398         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
19399         TESTS_ENVIRONMENT.
19400         * modules/btowc-tests (Makefile.am): Likewise.
19401         * modules/c-stack-tests (Makefile.am): Likewise.
19402         * modules/c-strcase-tests (Makefile.am): Likewise.
19403         * modules/copy-file-tests (Makefile.am): Likewise.
19404         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
19405         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
19406         * modules/mbrtowc-tests (Makefile.am): Likewise.
19407         * modules/mbscasecmp-tests (Makefile.am): Likewise.
19408         * modules/mbscasestr-tests (Makefile.am): Likewise.
19409         * modules/mbschr-tests (Makefile.am): Likewise.
19410         * modules/mbscspn-tests (Makefile.am): Likewise.
19411         * modules/mbsinit-tests (Makefile.am): Likewise.
19412         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
19413         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
19414         * modules/mbspbrk-tests (Makefile.am): Likewise.
19415         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
19416         * modules/mbsrchr-tests (Makefile.am): Likewise.
19417         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
19418         * modules/mbsspn-tests (Makefile.am): Likewise.
19419         * modules/mbsstr-tests (Makefile.am): Likewise.
19420         * modules/nl_langinfo-tests (Makefile.am): Likewise.
19421         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
19422         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
19423         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
19424         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
19425         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
19426         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
19427         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
19428         * modules/wcrtomb-tests (Makefile.am): Likewise.
19429         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
19430         * modules/wcsrtombs-tests (Makefile.am): Likewise.
19431         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
19432         assignments from TESTS_ENVIRONMENT.
19433         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
19434         augmentation.
19435         * modules/argp-version-etc-tests (Makefile.am): Likewise.
19436         * modules/atexit-tests (Makefile.am): Likewise.
19437         * modules/binary-io-tests (Makefile.am): Likewise.
19438         * modules/closein-tests (Makefile.am): Likewise.
19439         * modules/dprintf-posix-tests (Makefile.am): Likewise.
19440         * modules/exclude-tests (Makefile.am): Likewise.
19441         * modules/fflush-tests (Makefile.am): Likewise.
19442         * modules/fpending-tests (Makefile.am): Likewise.
19443         * modules/fprintf-posix-tests (Makefile.am): Likewise.
19444         * modules/freadahead-tests (Makefile.am): Likewise.
19445         * modules/freadptr-tests (Makefile.am): Likewise.
19446         * modules/freadseek-tests (Makefile.am): Likewise.
19447         * modules/fseek-tests (Makefile.am): Likewise.
19448         * modules/fseeko-tests (Makefile.am): Likewise.
19449         * modules/ftell-tests (Makefile.am): Likewise.
19450         * modules/ftello-tests (Makefile.am): Likewise.
19451         * modules/idpriv-drop-tests (Makefile.am): Likewise.
19452         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
19453         * modules/lseek-tests (Makefile.am): Likewise.
19454         * modules/parse-duration-tests (Makefile.am): Likewise.
19455         * modules/perror-tests (Makefile.am): Likewise.
19456         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
19457         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
19458         * modules/pipe-tests (Makefile.am): Likewise.
19459         * modules/pread-tests (Makefile.am): Likewise.
19460         * modules/printf-posix-tests (Makefile.am): Likewise.
19461         * modules/select-tests (Makefile.am): Likewise.
19462         * modules/sigpipe-tests (Makefile.am): Likewise.
19463         * modules/tsearch-tests (Makefile.am): Likewise.
19464         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
19465         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
19466         * modules/uniname/uniname-tests (Makefile.am): Likewise.
19467         * modules/uniwidth/width-tests (Makefile.am): Likewise.
19468         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
19469         * modules/version-etc-tests (Makefile.am): Likewise.
19470         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
19471         * modules/vprintf-posix-tests (Makefile.am): Likewise.
19472         * modules/xalloc-die-tests (Makefile.am): Likewise.
19473         * modules/xprintf-posix-tests (Makefile.am): Likewise.
19474         * modules/xstrtoimax-tests (Makefile.am): Likewise.
19475         * modules/xstrtol-tests (Makefile.am): Likewise.
19476         * modules/xstrtoumax-tests (Makefile.am): Likewise.
19477         * modules/yesno-tests (Makefile.am): Likewise.
19478         Suggested by Jim Meyering.
19479
19480 2010-01-24  Bruno Haible  <bruno@clisp.org>
19481
19482         More documentation.
19483         * doc/gnulib.texi (Writing modules): New chapter.
19484         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
19485         the new chapter.
19486
19487 2010-01-24  Jim Meyering  <meyering@redhat.com>
19488
19489         maint.mk: do not prepend "./" after filtering
19490         * top/maint.mk (_prepend_srcdir_prefix): New variable
19491         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
19492         "./" when $(srcdir) is ".".
19493
19494         define STREQ(a,b) consistently, removing useless parentheses
19495         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
19496         since the only risk is that "a" or "b" contains an unparenthesized
19497         comma, but if either did that, STREQ would have 3 or more arguments.
19498         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
19499         * lib/fts.c (STREQ): Remove unnecessary parentheses.
19500         * lib/hash-triple.c (STREQ): Likewise.
19501         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
19502         * lib/getugroups.c (STREQ): Likewise.
19503
19504 2010-01-23  Jim Meyering  <meyering@redhat.com>
19505
19506         maint.mk: fix syntax-check in a non-srcdir build directory
19507         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
19508         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
19509
19510 2010-01-22  Jim Meyering  <meyering@redhat.com>
19511
19512         userspec: add unit tests
19513         * tests/test-userspec.c: New file.
19514         * modules/userspec-tests: Likewise.
19515
19516 2010-01-21  Jim Meyering  <meyering@redhat.com>
19517
19518         maint.mk: handle source file names containing "." robustly
19519         * top/maint.mk (_dot_escaped_srcdir): Define.
19520         (VC_LIST): Use it in LHS of sed substitution.
19521
19522 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
19523
19524         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
19525         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
19526         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
19527         from a non-srcdir build.
19528
19529 2010-01-20  Eric Blake  <ebb9@byu.net>
19530
19531         warn-on-use: use instead of link-warning
19532         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
19533         * modules/unistd (Depends-on, Makefile.am): Likewise.
19534         * modules/arpa_inet (Depends-on): Replace link-warning with
19535         warn-on-use.
19536         (Makefile.am): Update rules accordingly.
19537         * modules/ctype (Depends-on, Makefile.am): Likewise.
19538         * modules/dirent (Depends-on, Makefile.am): Likewise.
19539         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
19540         * modules/inttypes (Depends-on, Makefile.am): Likewise.
19541         * modules/langinfo (Depends-on, Makefile.am): Likewise.
19542         * modules/locale (Depends-on, Makefile.am): Likewise.
19543         * modules/math (Depends-on, Makefile.am): Likewise.
19544         * modules/search (Depends-on, Makefile.am): Likewise.
19545         * modules/signal (Depends-on, Makefile.am): Likewise.
19546         * modules/spawn (Depends-on, Makefile.am): Likewise.
19547         * modules/stdlib (Depends-on, Makefile.am): Likewise.
19548         * modules/string (Depends-on, Makefile.am): Likewise.
19549         * modules/strings (Depends-on, Makefile.am): Likewise.
19550         * modules/sys_file (Depends-on, Makefile.am): Likewise.
19551         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
19552         * modules/sys_select (Depends-on, Makefile.am): Likewise.
19553         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
19554         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
19555         * modules/sys_times (Depends-on, Makefile.am): Likewise.
19556         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
19557         * modules/wchar (Depends-on, Makefile.am): Likewise.
19558         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
19559         should be poisoned.
19560         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
19561         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
19562         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
19563         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
19564         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
19565         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
19566         * m4/math_h.m4 (gl_MATH_H): Likewise.
19567         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
19568         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
19569         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
19570         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
19571         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
19572         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
19573         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
19574         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
19575         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
19576         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
19577         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
19578         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
19579         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
19580         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
19581         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
19582         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
19583         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
19584         GL_LINK_WARNING.
19585         * lib/ctype.in.h: Likewise.
19586         * lib/dirent.in.h: Likewise.
19587         * lib/fcntl.in.h: Likewise.
19588         * lib/inttypes.in.h: Likewise.
19589         * lib/langinfo.in.h: Likewise.
19590         * lib/locale.in.h: Likewise.
19591         * lib/math.in.h: Likewise.
19592         * lib/search.in.h: Likewise.
19593         * lib/signal.in.h: Likewise.
19594         * lib/spawn.in.h: Likewise.
19595         * lib/stdio.in.h: Likewise.
19596         * lib/stdlib.in.h: Likewise.
19597         * lib/string.in.h: Likewise.
19598         * lib/strings.in.h: Likewise.
19599         * lib/sys_file.in.h: Likewise.
19600         * lib/sys_ioctl.in.h: Likewise.
19601         * lib/sys_select.in.h: Likewise.
19602         * lib/sys_socket.in.h: Likewise.
19603         * lib/sys_stat.in.h: Likewise.
19604         * lib/sys_times.in.h: Likewise.
19605         * lib/sys_utsname.in.h: Likewise.
19606         * lib/unistd.in.h: Likewise.
19607         * lib/wchar.in.h: Likewise.
19608
19609 2010-01-20  Bruno Haible  <bruno@clisp.org>
19610
19611         Avoid duplicate -lm.
19612         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
19613         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
19614         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
19615         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
19616         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
19617         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
19618         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
19619         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
19620         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
19621         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
19622         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
19623         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
19624         Reported by Paolo Bonzini.
19625
19626 2010-01-19  Bruno Haible  <bruno@clisp.org>
19627
19628         langinfo, nl_langinfo: Relicense under LGPLv2+.
19629         * modules/langinfo (License): Change to LGPLv2+.
19630         * modules/nl_langinfo (License): Likewise.
19631         Patch by David Lutterkort <lutter@redhat.com>.
19632
19633 2010-01-19  Bruno Haible  <bruno@clisp.org>
19634
19635         Avoid compilation error with cc on OSF/1 5.1.
19636         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
19637         statement, not before.
19638         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
19639
19640 2010-01-18  Bruno Haible  <bruno@clisp.org>
19641
19642         Avoid a link error due to the __printf__ symbol.
19643         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
19644         and 2.6.x.
19645         (__format__, __printf__): Remove definitions.
19646         * lib/argp-fmtstream.h: Likewise.
19647         * lib/argp.h: Likewise.
19648         * lib/error.h: Likewise.
19649         * lib/vasnprintf.h: Likewise.
19650         * lib/xprintf.h: Likewise.
19651         * lib/xvasprintf.h: Likewise.
19652         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
19653
19654 2010-01-18  Bruno Haible  <bruno@clisp.org>
19655
19656         Tests for module 'tanl'.
19657         * modules/tanl-tests: New file.
19658         * tests/test-tanl.c: New file.
19659
19660         Tests for module 'sqrtl'.
19661         * modules/sqrtl-tests: New file.
19662         * tests/test-sqrtl.c: New file.
19663
19664         Tests for module 'sinl'.
19665         * modules/sinl-tests: New file.
19666         * tests/test-sinl.c: New file.
19667
19668         Tests for module 'logl'.
19669         * modules/logl-tests: New file.
19670         * tests/test-logl.c: New file.
19671
19672         Tests for module 'expl'.
19673         * modules/expl-tests: New file.
19674         * tests/test-expl.c: New file.
19675
19676         Tests for module 'cosl'.
19677         * modules/cosl-tests: New file.
19678         * tests/test-cosl.c: New file.
19679
19680         Tests for module 'atanl'.
19681         * modules/atanl-tests: New file.
19682         * tests/test-atanl.c: New file.
19683
19684         Tests for module 'asinl'.
19685         * modules/asinl-tests: New file.
19686         * tests/test-asinl.c: New file.
19687
19688         Tests for module 'acosl'.
19689         * modules/acosl-tests: New file.
19690         * tests/test-acosl.c: New file.
19691
19692         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
19693         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
19694         tanl): Use the standard gnulib idiom.
19695         * lib/cosl.c: Don't include trigl.c and sincosl.c.
19696         * lib/sinl.c: Likewise.
19697         * lib/tanl.c: Don't include trigl.c.
19698         (kernel_tanl): Make static.
19699         * lib/sincosl.c: Include trigl.h first.
19700         * lib/trigl.c: Likewise.
19701         * m4/acosl.m4: New file.
19702         * m4/asinl.m4: New file.
19703         * m4/atanl.m4: New file.
19704         * m4/cosl.m4: New file.
19705         * m4/expl.m4: New file.
19706         * m4/logl.m4: New file.
19707         * m4/sinl.m4: New file.
19708         * m4/sqrtl.m4: New file.
19709         * m4/tanl.m4: New file.
19710         * m4/mathl.m4: Remove file.
19711         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
19712         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
19713         Don't initialize GNULIB_MATHL.
19714         * modules/acosl: New file.
19715         * modules/asinl: New file.
19716         * modules/atanl: New file.
19717         * modules/cosl: New file.
19718         * modules/expl: New file.
19719         * modules/logl: New file.
19720         * modules/sinl: New file.
19721         * modules/sqrtl: New file.
19722         * modules/tanl: New file.
19723         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
19724         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
19725         substitute GNULIB_MATHL.
19726         * modules/mathl: Rewritten.
19727         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
19728         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
19729         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
19730         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
19731         * doc/posix-functions/expl.texi: Mention the 'expl' module.
19732         * doc/posix-functions/logl.texi: Mention the 'logl' module.
19733         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
19734         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
19735         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
19736
19737 2010-01-18  Bruno Haible  <bruno@clisp.org>
19738
19739         sqrt: Make gl_FUNC_SQRT requirable.
19740         * m4/sqrt.m4: New file.
19741         * modules/sqrt (Files): Add it.
19742         (configure.ac): Invoke gl_FUNC_SQRT.
19743
19744 2010-01-18  Bruno Haible  <bruno@clisp.org>
19745
19746         New modules for common <math.h> functions.
19747         * m4/mathfunc.m4: New file.
19748         * modules/acos: New file.
19749         * modules/asin: New file.
19750         * modules/atan: New file.
19751         * modules/atan2: New file.
19752         * modules/cbrt: New file.
19753         * modules/copysign: New file.
19754         * modules/cos: New file.
19755         * modules/cosh: New file.
19756         * modules/erf: New file.
19757         * modules/erfc: New file.
19758         * modules/exp: New file.
19759         * modules/fabs: New file.
19760         * modules/fmod: New file.
19761         * modules/hypot: New file.
19762         * modules/j0: New file.
19763         * modules/j1: New file.
19764         * modules/jn: New file.
19765         * modules/ldexp: New file.
19766         * modules/lgamma: New file.
19767         * modules/log: New file.
19768         * modules/log10: New file.
19769         * modules/log1p: New file.
19770         * modules/logb: New file.
19771         * modules/modf: New file.
19772         * modules/nextafter: New file.
19773         * modules/pow: New file.
19774         * modules/remainder: New file.
19775         * modules/rint: New file.
19776         * modules/sin: New file.
19777         * modules/sinh: New file.
19778         * modules/sqrt: New file.
19779         * modules/tan: New file.
19780         * modules/tanh: New file.
19781         * modules/y0: New file.
19782         * modules/y1: New file.
19783         * modules/yn: New file.
19784         * doc/posix-functions/acos.texi: Mention the 'acos' module.
19785         * doc/posix-functions/asin.texi: Mention the 'asin' module.
19786         * doc/posix-functions/atan.texi: Mention the 'atan' module.
19787         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
19788         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
19789         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
19790         * doc/posix-functions/cos.texi: Mention the 'cos' module.
19791         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
19792         * doc/posix-functions/erf.texi: Mention the 'erf' module.
19793         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
19794         * doc/posix-functions/exp.texi: Mention the 'exp' module.
19795         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
19796         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
19797         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
19798         * doc/posix-functions/j0.texi: Mention the 'j0' module.
19799         * doc/posix-functions/j1.texi: Mention the 'j1' module.
19800         * doc/posix-functions/jn.texi: Mention the 'jn' module.
19801         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
19802         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
19803         * doc/posix-functions/log.texi: Mention the 'log' module.
19804         * doc/posix-functions/log10.texi: Mention the 'log10' module.
19805         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
19806         * doc/posix-functions/logb.texi: Mention the 'logb' module.
19807         * doc/posix-functions/modf.texi: Mention the 'modf' module.
19808         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
19809         * doc/posix-functions/pow.texi: Mention the 'pow' module.
19810         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
19811         * doc/posix-functions/rint.texi: Mention the 'rint' module.
19812         * doc/posix-functions/sin.texi: Mention the 'sin' module.
19813         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
19814         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
19815         * doc/posix-functions/tan.texi: Mention the 'tan' module.
19816         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
19817         * doc/posix-functions/y0.texi: Mention the 'y0' module.
19818         * doc/posix-functions/y1.texi: Mention the 'y1' module.
19819         * doc/posix-functions/yn.texi: Mention the 'yn' module.
19820
19821 2010-01-18  Jim Meyering  <meyering@redhat.com>
19822
19823         ignore-value: relax license to LGPLv2+
19824         * modules/ignore-value (License): Relax to LGPLv2+.
19825
19826         getdate: don't leak when TZ contains two or more '"'s
19827         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
19828         double quote in TZ after the first one.
19829
19830         readtokens: do not leak internal token_lengths buffer
19831         * lib/readtokens.c (readtokens): Free the local, lengths,
19832         when the supplied "token_lengths" parameter is NULL.
19833
19834 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19835
19836         Fix a couple of missing LIBTHREAD link failures on AIX.
19837         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
19838         $(LIBTHREAD).
19839         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
19840
19841         Link test-poll against INET_PTON_LIB.
19842         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
19843         for inet_pton on Solaris 10.
19844
19845 2010-01-17  Bruno Haible  <bruno@clisp.org>
19846
19847         unistdio/*-sprintf: Fix typo in module description.
19848         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
19849         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
19850         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
19851         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
19852         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
19853         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
19854         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
19855         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
19856
19857 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19858
19859         gnulib-tool: fix filelist for AIX, HP-UX ksh.
19860         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
19861         variables in shell case patterns, for AIX and HP-UX ksh.
19862
19863         Split large sed scripts, for HP-UX sed.
19864         * modules/stdio: Split sed scripts around 50 sed commands,
19865         to avoid HP-UX limit of 99 commands, in the near future.
19866         * modules/string: Likewise.
19867         * modules/unistd: Likewise.
19868
19869         gnulib-tool: avoid writing in the current directory.
19870         * gnulib-tool (func_emit_lib_Makefile_am)
19871         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
19872         not in the current directory, so concurrent gnulib-tool
19873         instances do not interfere.
19874
19875 2010-01-16  Jim Meyering  <meyering@redhat.com>
19876
19877         doc: update users.txt
19878         * users.txt: Add grep.
19879         (diffutils, gzip): Update URLs.
19880
19881 2010-01-12  Bruno Haible  <bruno@clisp.org>
19882
19883         posix_spawn: Avoid test failure on Cygwin.
19884         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
19885         characters.
19886         Reported by Simon Josefsson.
19887
19888 2010-01-12  Bruno Haible  <bruno@clisp.org>
19889
19890         * tests/test-cond.c (main): When skipping the test, show the reason.
19891
19892 2010-01-12  Simon Josefsson  <simon@josefsson.org>
19893
19894         * lib/striconv.c (str_cd_iconv): Avoid if before free.
19895
19896 2010-01-12  Simon Josefsson  <simon@josefsson.org>
19897
19898         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
19899         VC_LIST_ALWAYS_EXCLUDE_REGEX.
19900
19901 2010-01-12  Eric Blake  <ebb9@byu.net>
19902
19903         build: guarantee AS_VAR_IF
19904         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
19905         (gl_AS_VAR_IF): Move...
19906         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
19907         Reported by Simon Josefsson.
19908
19909 2010-01-12  Simon Josefsson  <simon@josefsson.org>
19910
19911         * lib/stdio.in.h: Fix typo.
19912
19913 2010-01-12  Simon Josefsson  <simon@josefsson.org>
19914
19915         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
19916         libgpg-error.
19917
19918 2010-01-12  Simon Josefsson  <simon@josefsson.org>
19919
19920         * tests/test-xalloc-die.sh: Use $EXEEXT.
19921
19922 2010-01-12  Simon Josefsson  <simon@josefsson.org>
19923             Bruno Haible  <bruno@clisp.org>
19924
19925         getlogin, getlogin_r: Avoid test failure.
19926         * tests/test-getlogin.c: Include <stdio.h>.
19927         (main): Skip the test when the function fails because stdin is not a
19928         tty.
19929         * tests/test-getlogin_r.c: Include <stdio.h>.
19930         (main): Skip the test when the function fails because stdin is not a
19931         tty.
19932
19933 2010-01-11  Eric Blake  <ebb9@byu.net>
19934
19935         tests: avoid more large file warnings
19936         * tests/test-fflush.c: Avoid warning about ftell use.
19937         * tests/test-fseek.c: Avoid warning about fseek use.
19938
19939 2010-01-10  Bruno Haible  <bruno@clisp.org>
19940
19941         nproc: Work better on Linux when /proc and /sys are not mounted.
19942         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
19943         as lower bound when, on glibc/Linux systems,
19944         sysconf (_SC_NPROCESSORS_CONF) returns 1.
19945         Suggested by Pádraig Brady <P@draigbrady.com>.
19946         Reported by Dmitry V. Levin <ldv@altlinux.org>.
19947
19948         nproc: Refactor.
19949         * lib/nproc.c (num_processors_via_affinity_mask): New function,
19950         extracted from num_processors.
19951         (num_processors): Call it.
19952
19953 2010-01-11  Jim Meyering  <meyering@redhat.com>
19954
19955         utimecmp: avoid new warning from upcoming gcc-4.5.0
19956         * lib/utimecmp.c (BILLION): Define using #define rather than an
19957         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
19958
19959 2010-01-11  Eric Blake  <ebb9@byu.net>
19960
19961         math: add portability warnings for classification macros
19962         * modules/math (Depends-on): Add warn-on-use.
19963         (Makefile.am): Provide new substitutions.
19964         * m4/math_h.m4 (gl_MATH_H): Require inline.
19965         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
19966         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
19967         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
19968         implement warnings.
19969
19970         unistd: warn on use of environ without module
19971         * modules/unistd (Depends-on): Add warn-on-use.
19972         (Makefile.am): Provide new substitutions.
19973         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
19974         * lib/unistd.in.h (environ): Wrap with a warning helper function.
19975
19976         stdio: warn on suspicious uses
19977         * modules/stdio (Depends-on): Add warn-on-use.
19978         (Makefile.am): Provide new substitutions.
19979         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
19980         fseeko.
19981         * lib/stdio.in.h (gets): Always warn on use.
19982         (fseek, ftell): Adjust when warnings are issued, and honor
19983         _GL_NO_LARGE_FILES as a way to silence the warning.
19984         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
19985         any warning about large file offsets.
19986         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
19987         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
19988         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
19989         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
19990         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
19991         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
19992         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
19993         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
19994
19995         warn-on-use: new module
19996         * modules/warn-on-use: New file.
19997         * build-aux/warn-on-use.h: Likewise.
19998         * m4/warn-on-use.m4: Likewise.
19999         * MODULES.html.sh (Support for building): Mention it.
20000
20001 2010-01-10  Bruno Haible  <bruno@clisp.org>
20002
20003         Tests for module 'unistr/u32-strdup'.
20004         * modules/unistr/u32-strdup-tests: New file.
20005         * tests/unistr/test-u32-strdup.c: New file.
20006
20007         Tests for module 'unistr/u16-strdup'.
20008         * modules/unistr/u16-strdup-tests: New file.
20009         * tests/unistr/test-u16-strdup.c: New file.
20010
20011         Tests for module 'unistr/u8-strdup'.
20012         * modules/unistr/u8-strdup-tests: New file.
20013         * tests/unistr/test-u8-strdup.c: New file.
20014         * tests/unistr/test-strdup.h: New file.
20015
20016         Tests for module 'unistr/u32-strncmp'.
20017         * modules/unistr/u32-strncmp-tests: New file.
20018         * tests/unistr/test-u32-strncmp.c: New file.
20019
20020         Tests for module 'unistr/u16-strncmp'.
20021         * modules/unistr/u16-strncmp-tests: New file.
20022         * tests/unistr/test-u16-strncmp.c: New file.
20023
20024         Tests for module 'unistr/u8-strncmp'.
20025         * modules/unistr/u8-strncmp-tests: New file.
20026         * tests/unistr/test-u8-strncmp.c: New file.
20027         * tests/unistr/test-strncmp.h: New file.
20028
20029         Tests for module 'unistr/u32-strcoll'.
20030         * modules/unistr/u32-strcoll-tests: New file.
20031         * tests/unistr/test-u32-strcoll.c: New file.
20032
20033         Tests for module 'unistr/u16-strcoll'.
20034         * modules/unistr/u16-strcoll-tests: New file.
20035         * tests/unistr/test-u16-strcoll.c: New file.
20036
20037         Tests for module 'unistr/u8-strcoll'.
20038         * modules/unistr/u8-strcoll-tests: New file.
20039         * tests/unistr/test-u8-strcoll.c: New file.
20040
20041         Tests for module 'unistr/u32-strcmp'.
20042         * modules/unistr/u32-strcmp-tests: New file.
20043         * tests/unistr/test-u32-strcmp.c: New file.
20044         * tests/unistr/test-u32-strcmp.h: New file.
20045
20046         Tests for module 'unistr/u16-strcmp'.
20047         * modules/unistr/u16-strcmp-tests: New file.
20048         * tests/unistr/test-u16-strcmp.c: New file.
20049         * tests/unistr/test-u16-strcmp.h: New file.
20050
20051         Tests for module 'unistr/u8-strcmp'.
20052         * modules/unistr/u8-strcmp-tests: New file.
20053         * tests/unistr/test-u8-strcmp.c: New file.
20054         * tests/unistr/test-u8-strcmp.h: New file.
20055         * tests/unistr/test-strcmp.h: New file.
20056
20057         Tests for module 'unistr/u32-strncat'.
20058         * modules/unistr/u32-strncat-tests: New file.
20059         * tests/unistr/test-u32-strncat.c: New file.
20060
20061         Tests for module 'unistr/u16-strncat'.
20062         * modules/unistr/u16-strncat-tests: New file.
20063         * tests/unistr/test-u16-strncat.c: New file.
20064
20065         Tests for module 'unistr/u8-strncat'.
20066         * modules/unistr/u8-strncat-tests: New file.
20067         * tests/unistr/test-u8-strncat.c: New file.
20068         * tests/unistr/test-strncat.h: New file.
20069
20070         Tests for module 'unistr/u32-strcat'.
20071         * modules/unistr/u32-strcat-tests: New file.
20072         * tests/unistr/test-u32-strcat.c: New file.
20073
20074         Tests for module 'unistr/u16-strcat'.
20075         * modules/unistr/u16-strcat-tests: New file.
20076         * tests/unistr/test-u16-strcat.c: New file.
20077
20078         Tests for module 'unistr/u8-strcat'.
20079         * modules/unistr/u8-strcat-tests: New file.
20080         * tests/unistr/test-u8-strcat.c: New file.
20081         * tests/unistr/test-strcat.h: New file.
20082
20083         Tests for module 'unistr/u32-stpncpy'.
20084         * modules/unistr/u32-stpncpy-tests: New file.
20085         * tests/unistr/test-u32-stpncpy.c: New file.
20086
20087         Tests for module 'unistr/u16-stpncpy'.
20088         * modules/unistr/u16-stpncpy-tests: New file.
20089         * tests/unistr/test-u16-stpncpy.c: New file.
20090
20091         Tests for module 'unistr/u8-stpncpy'.
20092         * modules/unistr/u8-stpncpy-tests: New file.
20093         * tests/unistr/test-u8-stpncpy.c: New file.
20094         * tests/unistr/test-stpncpy.h: New file.
20095
20096         Tests for module 'unistr/u32-strncpy'.
20097         * modules/unistr/u32-strncpy-tests: New file.
20098         * tests/unistr/test-u32-strncpy.c: New file.
20099
20100         Tests for module 'unistr/u16-strncpy'.
20101         * modules/unistr/u16-strncpy-tests: New file.
20102         * tests/unistr/test-u16-strncpy.c: New file.
20103
20104         Tests for module 'unistr/u8-strncpy'.
20105         * modules/unistr/u8-strncpy-tests: New file.
20106         * tests/unistr/test-u8-strncpy.c: New file.
20107         * tests/unistr/test-strncpy.h: New file.
20108
20109         Tests for module 'unistr/u32-stpcpy'.
20110         * modules/unistr/u32-stpcpy-tests: New file.
20111         * tests/unistr/test-u32-stpcpy.c: New file.
20112
20113         Tests for module 'unistr/u16-stpcpy'.
20114         * modules/unistr/u16-stpcpy-tests: New file.
20115         * tests/unistr/test-u16-stpcpy.c: New file.
20116
20117         Tests for module 'unistr/u8-stpcpy'.
20118         * modules/unistr/u8-stpcpy-tests: New file.
20119         * tests/unistr/test-u8-stpcpy.c: New file.
20120         * tests/unistr/test-stpcpy.h: New file.
20121
20122         Tests for module 'unistr/u32-strcpy'.
20123         * modules/unistr/u32-strcpy-tests: New file.
20124         * tests/unistr/test-u32-strcpy.c: New file.
20125
20126         Tests for module 'unistr/u16-strcpy'.
20127         * modules/unistr/u16-strcpy-tests: New file.
20128         * tests/unistr/test-u16-strcpy.c: New file.
20129
20130         Tests for module 'unistr/u8-strcpy'.
20131         * modules/unistr/u8-strcpy-tests: New file.
20132         * tests/unistr/test-u8-strcpy.c: New file.
20133         * tests/unistr/test-strcpy.h: New file.
20134
20135         Tests for module 'unistr/u32-strnlen'.
20136         * modules/unistr/u32-strnlen-tests: New file.
20137         * tests/unistr/test-u32-strnlen.c: New file.
20138
20139         Tests for module 'unistr/u16-strnlen'.
20140         * modules/unistr/u16-strnlen-tests: New file.
20141         * tests/unistr/test-u16-strnlen.c: New file.
20142
20143         Tests for module 'unistr/u8-strnlen'.
20144         * modules/unistr/u8-strnlen-tests: New file.
20145         * tests/unistr/test-u8-strnlen.c: New file.
20146         * tests/unistr/test-strnlen.h: New file.
20147
20148         Tests for module 'unistr/u32-strlen'.
20149         * modules/unistr/u32-strlen-tests: New file.
20150         * tests/unistr/test-u32-strlen.c: New file.
20151
20152         Tests for module 'unistr/u16-strlen'.
20153         * modules/unistr/u16-strlen-tests: New file.
20154         * tests/unistr/test-u16-strlen.c: New file.
20155
20156         Tests for module 'unistr/u8-strlen'.
20157         * modules/unistr/u8-strlen-tests: New file.
20158         * tests/unistr/test-u8-strlen.c: New file.
20159
20160         Tests for module 'unistr/u32-prev'.
20161         * modules/unistr/u32-prev-tests: New file.
20162         * tests/unistr/test-u32-prev.c: New file.
20163
20164         Tests for module 'unistr/u16-prev'.
20165         * modules/unistr/u16-prev-tests: New file.
20166         * tests/unistr/test-u16-prev.c: New file.
20167
20168         Tests for module 'unistr/u8-prev'.
20169         * modules/unistr/u8-prev-tests: New file.
20170         * tests/unistr/test-u8-prev.c: New file.
20171
20172         Tests for module 'unistr/u32-next'.
20173         * modules/unistr/u32-next-tests: New file.
20174         * tests/unistr/test-u32-next.c: New file.
20175
20176         Tests for module 'unistr/u16-next'.
20177         * modules/unistr/u16-next-tests: New file.
20178         * tests/unistr/test-u16-next.c: New file.
20179
20180         Tests for module 'unistr/u8-next'.
20181         * modules/unistr/u8-next-tests: New file.
20182         * tests/unistr/test-u8-next.c: New file.
20183
20184         Tests for module 'unistr/u32-strmbtouc'.
20185         * modules/unistr/u32-strmbtouc-tests: New file.
20186         * tests/unistr/test-u32-strmbtouc.c: New file.
20187
20188         Tests for module 'unistr/u16-strmbtouc'.
20189         * modules/unistr/u16-strmbtouc-tests: New file.
20190         * tests/unistr/test-u16-strmbtouc.c: New file.
20191
20192         Tests for module 'unistr/u8-strmbtouc'.
20193         * modules/unistr/u8-strmbtouc-tests: New file.
20194         * tests/unistr/test-u8-strmbtouc.c: New file.
20195
20196         Tests for module 'unistr/u32-strmblen'.
20197         * modules/unistr/u32-strmblen-tests: New file.
20198         * tests/unistr/test-u32-strmblen.c: New file.
20199
20200         Tests for module 'unistr/u16-strmblen'.
20201         * modules/unistr/u16-strmblen-tests: New file.
20202         * tests/unistr/test-u16-strmblen.c: New file.
20203
20204         Tests for module 'unistr/u8-strmblen'.
20205         * modules/unistr/u8-strmblen-tests: New file.
20206         * tests/unistr/test-u8-strmblen.c: New file.
20207
20208         Tests for module 'unistr/u32-cpy-alloc'.
20209         * modules/unistr/u32-cpy-alloc-tests: New file.
20210         * tests/unistr/test-u32-cpy-alloc.c: New file.
20211
20212         Tests for module 'unistr/u16-cpy-alloc'.
20213         * modules/unistr/u16-cpy-alloc-tests: New file.
20214         * tests/unistr/test-u16-cpy-alloc.c: New file.
20215
20216         Tests for module 'unistr/u8-cpy-alloc'.
20217         * modules/unistr/u8-cpy-alloc-tests: New file.
20218         * tests/unistr/test-u8-cpy-alloc.c: New file.
20219         * tests/unistr/test-cpy-alloc.h: New file.
20220
20221         Tests for module 'unistr/u32-mbsnlen'.
20222         * modules/unistr/u32-mbsnlen-tests: New file.
20223         * tests/unistr/test-u32-mbsnlen.c: New file.
20224
20225         Tests for module 'unistr/u16-mbsnlen'.
20226         * modules/unistr/u16-mbsnlen-tests: New file.
20227         * tests/unistr/test-u16-mbsnlen.c: New file.
20228
20229         Tests for module 'unistr/u8-mbsnlen'.
20230         * modules/unistr/u8-mbsnlen-tests: New file.
20231         * tests/unistr/test-u8-mbsnlen.c: New file.
20232
20233         Tests for module 'unistr/u32-chr'.
20234         * modules/unistr/u32-chr-tests: New file.
20235         * tests/unistr/test-u32-chr.c: New file.
20236
20237         Tests for module 'unistr/u16-chr'.
20238         * modules/unistr/u16-chr-tests: New file.
20239         * tests/unistr/test-u16-chr.c: New file.
20240
20241         Tests for module 'unistr/u8-chr'.
20242         * modules/unistr/u8-chr-tests: New file.
20243         * tests/unistr/test-u8-chr.c: New file.
20244         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
20245
20246         Tests for module 'unistr/u32-cmp2'.
20247         * modules/unistr/u32-cmp2-tests: New file.
20248         * tests/unistr/test-u32-cmp2.c: New file.
20249
20250         Tests for module 'unistr/u16-cmp2'.
20251         * modules/unistr/u16-cmp2-tests: New file.
20252         * tests/unistr/test-u16-cmp2.c: New file.
20253
20254         Tests for module 'unistr/u8-cmp2'.
20255         * modules/unistr/u8-cmp2-tests: New file.
20256         * tests/unistr/test-u8-cmp2.c: New file.
20257         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
20258
20259         Tests for module 'unistr/u32-cmp'.
20260         * modules/unistr/u32-cmp-tests: New file.
20261         * tests/unistr/test-u32-cmp.c: New file.
20262
20263         Tests for module 'unistr/u16-cmp'.
20264         * modules/unistr/u16-cmp-tests: New file.
20265         * tests/unistr/test-u16-cmp.c: New file.
20266
20267         Tests for module 'unistr/u8-cmp'.
20268         * modules/unistr/u8-cmp-tests: New file.
20269         * tests/unistr/test-u8-cmp.c: New file.
20270         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
20271
20272         Tests for module 'unistr/u32-set'.
20273         * modules/unistr/u32-set-tests: New file.
20274         * tests/unistr/test-u32-set.c: New file.
20275
20276         Tests for module 'unistr/u16-set'.
20277         * modules/unistr/u16-set-tests: New file.
20278         * tests/unistr/test-u16-set.c: New file.
20279
20280         Tests for module 'unistr/u8-set'.
20281         * modules/unistr/u8-set-tests: New file.
20282         * tests/unistr/test-u8-set.c: New file.
20283         * tests/unistr/test-set.h: New file.
20284
20285         Tests for module 'unistr/u32-move'.
20286         * modules/unistr/u32-move-tests: New file.
20287         * tests/unistr/test-u32-move.c: New file.
20288
20289         Tests for module 'unistr/u16-move'.
20290         * modules/unistr/u16-move-tests: New file.
20291         * tests/unistr/test-u16-move.c: New file.
20292
20293         Tests for module 'unistr/u8-move'.
20294         * modules/unistr/u8-move-tests: New file.
20295         * tests/unistr/test-u8-move.c: New file.
20296         * tests/unistr/test-move.h: New file.
20297
20298         Tests for module 'unistr/u32-cpy'.
20299         * modules/unistr/u32-cpy-tests: New file.
20300         * tests/unistr/test-u32-cpy.c: New file.
20301
20302         Tests for module 'unistr/u16-cpy'.
20303         * modules/unistr/u16-cpy-tests: New file.
20304         * tests/unistr/test-u16-cpy.c: New file.
20305
20306         Tests for module 'unistr/u8-cpy'.
20307         * modules/unistr/u8-cpy-tests: New file.
20308         * tests/unistr/test-u8-cpy.c: New file.
20309         * tests/unistr/test-cpy.h: New file.
20310
20311 2010-01-09  Bruno Haible  <bruno@clisp.org>
20312
20313         Tests for module 'unistr/u32-uctomb'.
20314         * modules/unistr/u32-uctomb-tests: New file.
20315         * tests/unistr/test-u32-uctomb.c: New file.
20316
20317         Tests for module 'unistr/u16-uctomb'.
20318         * modules/unistr/u16-uctomb-tests: New file.
20319         * tests/unistr/test-u16-uctomb.c: New file.
20320
20321         Tests for module 'unistr/u8-uctomb'.
20322         * modules/unistr/u8-uctomb-tests: New file.
20323         * tests/unistr/test-u8-uctomb.c: New file.
20324
20325         Tests for module 'unistr/u32-mbtoucr'.
20326         * modules/unistr/u32-mbtoucr-tests: New file.
20327         * tests/unistr/test-u32-mbtoucr.c: New file.
20328
20329         Tests for module 'unistr/u16-mbtoucr'.
20330         * modules/unistr/u16-mbtoucr-tests: New file.
20331         * tests/unistr/test-u16-mbtoucr.c: New file.
20332
20333         Tests for module 'unistr/u8-mbtoucr'.
20334         * modules/unistr/u8-mbtoucr-tests: New file.
20335         * tests/unistr/test-u8-mbtoucr.c: New file.
20336
20337         Tests for module 'unistr/u32-mbtouc'.
20338         * modules/unistr/u32-mbtouc-tests: New file.
20339         * tests/unistr/test-u32-mbtouc.c: New file.
20340
20341         Tests for module 'unistr/u16-mbtouc'.
20342         * modules/unistr/u16-mbtouc-tests: New file.
20343         * tests/unistr/test-u16-mbtouc.c: New file.
20344
20345         Tests for module 'unistr/u8-mbtouc'.
20346         * modules/unistr/u8-mbtouc-tests: New file.
20347         * tests/unistr/test-u8-mbtouc.c: New file.
20348
20349         Tests for module 'unistr/u32-mbtouc-unsafe'.
20350         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
20351         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
20352         * tests/unistr/test-u32-mbtouc.h: New file.
20353
20354         Tests for module 'unistr/u16-mbtouc-unsafe'.
20355         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
20356         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
20357         * tests/unistr/test-u16-mbtouc.h: New file.
20358
20359         Tests for module 'unistr/u8-mbtouc-unsafe'.
20360         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
20361         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
20362         * tests/unistr/test-u8-mbtouc.h: New file.
20363
20364         Tests for module 'unistr/u32-mblen'.
20365         * modules/unistr/u32-mblen-tests: New file.
20366         * tests/unistr/test-u32-mblen.c: New file.
20367
20368         Tests for module 'unistr/u16-mblen'.
20369         * modules/unistr/u16-mblen-tests: New file.
20370         * tests/unistr/test-u16-mblen.c: New file.
20371
20372         Tests for module 'unistr/u8-mblen'.
20373         * modules/unistr/u8-mblen-tests: New file.
20374         * tests/unistr/test-u8-mblen.c: New file.
20375
20376         Tests for module 'unistr/u32-to-u16'.
20377         * modules/unistr/u32-to-u16-tests: New file.
20378         * tests/unistr/test-u32-to-u16.c: New file.
20379
20380         Tests for module 'unistr/u32-to-u8'.
20381         * modules/unistr/u32-to-u8-tests: New file.
20382         * tests/unistr/test-u32-to-u8.c: New file.
20383
20384         Tests for module 'unistr/u16-to-u32'.
20385         * modules/unistr/u16-to-u32-tests: New file.
20386         * tests/unistr/test-u16-to-u32.c: New file.
20387
20388         Tests for module 'unistr/u16-to-u8'.
20389         * modules/unistr/u16-to-u8-tests: New file.
20390         * tests/unistr/test-u16-to-u8.c: New file.
20391
20392         Tests for module 'unistr/u8-to-u32'.
20393         * modules/unistr/u8-to-u32-tests: New file.
20394         * tests/unistr/test-u8-to-u32.c: New file.
20395
20396         Tests for module 'unistr/u8-to-u16'.
20397         * modules/unistr/u8-to-u16-tests: New file.
20398         * tests/unistr/test-u8-to-u16.c: New file.
20399
20400         Tests for module 'unistr/u32-check'.
20401         * modules/unistr/u32-check-tests: New file.
20402         * tests/unistr/test-u32-check.c: New file.
20403
20404         Tests for module 'unistr/u16-check'.
20405         * modules/unistr/u16-check-tests: New file.
20406         * tests/unistr/test-u16-check.c: New file.
20407
20408         Tests for module 'unistr/u8-check'.
20409         * modules/unistr/u8-check-tests: New file.
20410         * tests/unistr/test-u8-check.c: New file.
20411
20412         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
20413         (category_equals): New function.
20414         (main): Add more tests.
20415         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
20416
20417         * tests/unictype/test-bidi_byname.c (main): Add more tests.
20418
20419 2010-01-10  Bruno Haible  <bruno@clisp.org>
20420
20421         unistr/u*-strcoll: Try harder to distinguish different strings.
20422         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
20423         compare s1 and s2 to see if they are different.
20424
20425 2010-01-10  Bruno Haible  <bruno@clisp.org>
20426
20427         unistr/u*-stpncpy: Fix the return value.
20428         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
20429         description of the return value consistent with stpncpy in glibc.
20430         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
20431         written non-NUL unit.
20432
20433 2010-01-10  Bruno Haible  <bruno@clisp.org>
20434
20435         unistr/u*-next: Add missing dependencies.
20436         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
20437         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
20438         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
20439
20440 2010-01-10  Bruno Haible  <bruno@clisp.org>
20441
20442         unistr/u8-mbsnlen: Fix return value for incomplete character.
20443         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
20444         u8_mblen.
20445         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
20446         Remove unistr/u8-mblen.
20447         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
20448         u16_mblen.
20449         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
20450         Remove unistr/u16-mblen.
20451
20452 2010-01-10  Bruno Haible  <bruno@clisp.org>
20453
20454         wchar: Fix compilation error when <wchar.h> is used from coreutils.
20455         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
20456         Reported by Brian Gough <bjg@gnu.org> and
20457         Chris Clayton <chris2553@googlemail.com> via
20458         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
20459
20460 2010-01-09  Bruno Haible  <bruno@clisp.org>
20461
20462         unistr/u16-to-u32: Reject invalid input.
20463         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
20464         u16_mbtouc.
20465         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
20466         Remove unistr/u16-mbtouc.
20467
20468         unistr/u16-to-u8: Reject invalid input.
20469         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
20470         u16_mbtouc.
20471         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
20472         Remove unistr/u16-mbtouc.
20473
20474         unistr/u8-to-u32: Reject invalid input.
20475         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
20476         u8_mbtouc.
20477         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
20478         Remove unistr/u8-mbtouc.
20479
20480         unistr/u8-to-u16: Reject invalid input.
20481         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
20482         u8_mbtouc.
20483         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
20484         Remove unistr/u8-mbtouc.
20485
20486 2010-01-09  Bruno Haible  <bruno@clisp.org>
20487
20488         Tests for module 'getlogin'.
20489         * modules/getlogin-tests: New file.
20490         * tests/test-getlogin.c: New file.
20491
20492         New module 'getlogin'.
20493         * lib/unistd.in.h (getlogin): New declaration.
20494         * lib/getlogin.c: New file.
20495         * m4/getlogin.m4: New file.
20496         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
20497         HAVE_GETLOGIN.
20498         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
20499         HAVE_GETLOGIN.
20500         * modules/getlogin: New file.
20501         * doc/posix-functions/getlogin.texi: Mention the new module.
20502         Reported by John W. Eaton <jwe@gnu.org>.
20503
20504 2010-01-09  Bruno Haible  <bruno@clisp.org>
20505
20506         getlogin_r: Support for native Windows.
20507         * lib/getlogin_r.c: Include <windows.h>
20508         (getlogin_r): Implement for native Windows.
20509         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
20510         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
20511         via John W. Eaton <jwe@gnu.org>.
20512
20513 2010-01-09  Bruno Haible  <bruno@clisp.org>
20514
20515         getlogin_r: Small fixes.
20516         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
20517         succeeds.
20518         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
20519         before testing whether getlogin_r is declared. No need to set
20520         HAVE_DECL_GETLOGIN_R to 1.
20521         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
20522
20523 2010-01-09  Bruno Haible  <bruno@clisp.org>
20524
20525         * lib/unistd.in.h (getlogin_r): Add comment.
20526
20527 2010-01-09  Bruno Haible  <bruno@clisp.org>
20528
20529         Tests for module 'getlogin_r'.
20530         * modules/getlogin_r-tests: New file.
20531         * tests/test-getlogin_r.c: New file.
20532
20533 2010-01-09  Jim Meyering  <meyering@redhat.com>
20534
20535         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
20536         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
20537         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
20538
20539 2010-01-08  Simon Josefsson  <simon@josefsson.org>
20540
20541         * lib/dup2.c (rpl_dup2): Improve comment.
20542
20543 2010-01-08  Eric Blake  <ebb9@byu.net>
20544
20545         maint.mk: allow packages to add makefile @@ exceptions
20546         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
20547         (sc_makefile_check): Rename...
20548         (sc_makefile_at_at_check): ...to this, and use hook.
20549
20550         dup2: work around mingw bug
20551         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
20552         Reported by Simon Josefsson.
20553
20554 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
20555
20556         glob: Fix C++ compilation.
20557         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
20558         C++.
20559
20560 2010-01-07  Bruno Haible  <bruno@clisp.org>
20561
20562         Fix indentation of wctype.in.h, broken since 2007-01-06.
20563         * lib/wctype.in.h: Fix indentation of preprocessor directives.
20564
20565 2010-01-07  Bruno Haible  <bruno@clisp.org>
20566
20567         mbslen: Avoid collision with system function.
20568         * lib/string.in.h [MirBSD]: Include <wchar.h>.
20569         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
20570         * m4/mbslen.m4: New file.
20571         * modules/mbslen (Files): Add it.
20572         (configure.ac): Invoke gl_MBSLEN.
20573         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
20574         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
20575         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
20576         via Ian Beckwith <ianb@erislabs.net>.
20577
20578 2010-01-07  Bruno Haible  <bruno@clisp.org>
20579
20580         dirent: Document the last fix.
20581         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
20582
20583 2010-01-07  Bruno Haible  <bruno@clisp.org>
20584
20585         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
20586         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
20587         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
20588         va_list are defined.
20589         * doc/posix-headers/stdio.texi: Document the bug of missing types.
20590         Reported by Eric Blake.
20591
20592 2010-01-07  Bruno Haible  <bruno@clisp.org>
20593
20594         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
20595         * modules/xlist (Depends-on): Add 'list',
20596         * modules/xoset (Depends-on): Add 'oset'.
20597         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
20598
20599 2010-01-07  Bruno Haible  <bruno@clisp.org>
20600
20601         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
20602         * doc/posix-functions/strncasecmp.texi: Likewise.
20603
20604 2010-01-07  Bruno Haible  <bruno@clisp.org>
20605
20606         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
20607
20608 2010-01-07  John W. Eaton  <jwe@octave.org>
20609
20610         wctype: allow C++ use
20611         * lib/wctype.in.h: Add extern "C" block for C++.
20612
20613 2010-01-06  Eric Blake  <ebb9@byu.net>
20614
20615         maint.mk: detect incorrect GFDL usage
20616         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
20617
20618 2010-01-06  Jim Meyering  <meyering@redhat.com>
20619         and Eric Blake  <ebb9@byu.net>
20620
20621         maint.mk: ignore multi-line copyright in NEWS
20622         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
20623
20624 2010-01-06  Eric Blake  <ebb9@byu.net>
20625
20626         select: add missing dependency
20627         * modules/select-tests (Depends-on): Move sockets dependency...
20628         * modules/select (Depends-on): ...here.
20629         Reported by Ian Beckwith.
20630
20631         doc: regenerate INSTALL
20632         * doc/INSTALL: Reflect recent autoconf update.
20633         * doc/INSTALL.ISO: Likewise.
20634         * doc/INSTALL.UTF-8: Likewise.
20635
20636         pread: fix compilation on glibc
20637         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
20638         Reported by Ralf Wildenhues.
20639
20640         dirent: fix test failure
20641         * lib/dirent.in.h (includes): Guarantee ino_t.
20642         Reported by Ralf Wildenhues.
20643
20644 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
20645
20646         linkat, renameat: avoid bad free
20647         * lib/at-func2.c (at_func2): Fix typo.
20648         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
20649
20650 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20651
20652         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
20653         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
20654         to avoid failure of symlink test later.
20655
20656 2010-01-06  Eric Blake  <ebb9@byu.net>
20657
20658         stdio, unistd: guarantee ssize_t
20659         * lib/unistd.in.h (includes): Ensure that types required by POSIX
20660         2008 are exposed when needed.
20661         * lib/stdio.in.h (includes): Likewise.
20662         Reported by Ralf Wildenhues.
20663
20664 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
20665
20666         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
20667         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
20668         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
20669
20670 2010-01-06  Jim Meyering  <meyering@redhat.com>
20671
20672         readtokens: this module *does* require xalloc.h
20673         It uses only functions that were omitted by the old syntax-check rule.
20674         * lib/readtokens.c: Include "xalloc.h" once again.
20675         * modules/readtokens (Depends-on): Add xalloc.
20676         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
20677
20678 2010-01-05  Eric Blake  <ebb9@byu.net>
20679
20680         maint: support 'make announcement' from a VPATH build
20681         * top/maint.mk (announcement): Look for correct NEWS file.
20682
20683 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
20684
20685         utimens (fdutimens): ignore a negative FD, per contract
20686         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
20687         when we have a valid file descriptor.  Otherwise, using a brand
20688         new glibc (with just-patched futimens that now fails with EBADF)
20689         would cause this function to fail with ENOSYS.
20690         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
20691         See also http://bugzilla.redhat.com/552320.
20692
20693 2010-01-05  Eric Blake  <ebb9@byu.net>
20694
20695         strcase: document what it provides
20696         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
20697         gnulib module.
20698         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
20699         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
20700
20701 2010-01-05  Jim Meyering  <meyering@redhat.com>
20702
20703         maint: remove useless inclusions of "xalloc.h"
20704         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
20705         * lib/readtokens.c: Likewise.
20706         * lib/same.c: Likewise.
20707         * modules/getloadavg (Depends-on): Remove xalloc.
20708         * modules/readtokens: Likewise.
20709         * modules/same: Likewise.
20710
20711         maint.mk: include 4 more function names in alloca.h-checking regexp
20712         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
20713         regexp.  Before, we would give a false-positive (saying alloca.h
20714         is included unnecessarily) when the only uses involved omitted symbols.
20715
20716         xalloc.h: use consistent formatting
20717         * lib/xalloc.h: Move declarations to start in the first column.
20718
20719 2010-01-05  Eric Blake  <ebb9@byu.net>
20720
20721         mkdir: avoid xalloc
20722         * lib/mkdir.c (includes): Drop unused header.
20723         Reported by John W. Eaton.
20724
20725 2010-01-04  Jim Meyering  <meyering@redhat.com>
20726
20727         nl_langinfo: avoid configure-time syntax error
20728         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
20729         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
20730         the empty string.  Don't let that provoke a shell syntax error.
20731
20732         regcomp, regexec, fnmatch: avoid array bounds read error
20733         * lib/regcomp.c (build_equiv_class): From glibc:
20734         Use only the low 24 bits of a findidx return value as an index
20735         into the weights array.  Patch by Ulrich Drepper:
20736         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
20737         * lib/regexec.c (check_node_accept_bytes): Likewise.
20738         * lib/fnmatch_loop.c (FCT): Likewise.
20739
20740         regcomp: skip collseq lookup when there are no rules
20741         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
20742         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
20743
20744         regcomp: recognize ill-formed { } expressions
20745         * lib/regcomp.c (parse_dup_op): From glibc:
20746         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
20747
20748         regcomp: fix typo in comment
20749         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
20750         s/satisfy/satisfies/.
20751
20752         regcomp: sync from glibc: remove dead store
20753         * lib/regcomp.c (duplicate_node_closure): Remove useless
20754         search_duplicated_node call and dead store.
20755
20756         regcomp: sync from glibc; always use nl_langinfo
20757         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
20758         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
20759         * modules/regex (Depends-on): Add nl_langinfo.
20760
20761 2010-01-04  Eric Blake  <ebb9@byu.net>
20762
20763         fdopendir: fix configure test
20764         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
20765
20766 2010-01-01  Bruno Haible  <bruno@clisp.org>
20767
20768         wchar: Remove unused configure check.
20769         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
20770
20771 2010-01-01  Eric Blake  <ebb9@byu.net>
20772
20773         headers: make check of system header explicit
20774         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
20775         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
20776         ourselves.
20777         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
20778         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
20779         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
20780         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
20781         internals.
20782         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
20783         missing.
20784         Suggested by Bruno Haible.
20785
20786 2010-01-01  Jim Meyering  <meyering@redhat.com>
20787
20788         ChangeLog: tweak to eliminate unnecessary copyright line
20789         * ChangeLog: Remove a copyright line that was mistakenly updated
20790         by today's update-copyright run.  Reported by Eric Blake.
20791
20792         test-update-copyright: don't let envvar setting cause test failure
20793         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
20794
20795 2010-01-01  Bruno Haible  <bruno@clisp.org>
20796
20797         localename: Avoid gcc warning.
20798         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
20799         function if it is not used.
20800
20801 2010-01-01  Jim Meyering  <meyering@redhat.com>
20802
20803         update nearly all FSF copyright year lists to include 2010
20804         Use the same procedure as for 2009, outlined in
20805         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
20806
20807         version-etc: set COPYRIGHT_YEAR to 2010
20808         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
20809
20810 2009-12-31  Eric Blake  <ebb9@byu.net>
20811
20812         doc: correct availability of cygwin 1.5.x getopt
20813         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
20814         variables.
20815         * doc/posix-functions/opterr.texi (opterr): Likewise.
20816         * doc/posix-functions/optind.texi (optind): Likewise.
20817         * doc/posix-functions/optopt.texi (optopt): Likewise.
20818         * doc/posix-functions/tzname.texi (tzname): Likewise.
20819
20820         openat: update maintainer
20821         * modules/openat (Maintainer): Add myself.
20822
20823         utimens: avoid shadowing warning
20824         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
20825         buffers into one, to avoid shadowing, as well as avoiding a
20826         redundant stat.
20827         Reported by Jim Meyering.
20828
20829         test-dup2: avoid compiler warning
20830         * tests/test-dup2.c (is_inheritable): Only define if used.
20831
20832 2010-01-01  Bruno Haible  <bruno@clisp.org>
20833
20834         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
20835         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
20836         defined, use wctomb instead of wcrtomb.
20837
20838 2010-01-01  Bruno Haible  <bruno@clisp.org>
20839
20840         iconv: Reject native Solaris iconv.
20841         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
20842         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
20843
20844 2009-12-31  Bruno Haible  <bruno@clisp.org>
20845
20846         * tests/test-signal.c (main): Remove test of 'SIG'.
20847
20848 2009-12-31  Bruno Haible  <bruno@clisp.org>
20849
20850         spawn: Fix incomplete fix.
20851         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
20852         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
20853         warnings for GNULIB_POSIXCHECK again.
20854         Reported by Eric Blake.
20855
20856 2009-12-31  Bruno Haible  <bruno@clisp.org>
20857
20858         Avoid namespace pollution on glibc systems.
20859         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
20860         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
20861         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
20862         glibc systems.
20863
20864 2009-12-31  Bruno Haible  <bruno@clisp.org>
20865
20866         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
20867         (gl_REPLACE_WCHAR_H): Turn into a no-op.
20868         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
20869         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
20870         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
20871         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
20872         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
20873
20874 2009-12-31  Bruno Haible  <bruno@clisp.org>
20875
20876         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
20877         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
20878         afterwards.
20879
20880 2009-12-31  Bruno Haible  <bruno@clisp.org>
20881
20882         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
20883         SYS_UTSNAME_H.
20884
20885 2009-12-31  Bruno Haible  <bruno@clisp.org>
20886
20887         spawn: Fix misapplied patch.
20888         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
20889         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
20890         warnings for GNULIB_POSIXCHECK.
20891
20892 2009-12-31  Bruno Haible  <bruno@clisp.org>
20893
20894         times: Update after sys_times changed.
20895         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
20896         * modules/times (Files): Add it.
20897         (configure.ac): Invoke gl_FUNC_TIMES.
20898
20899 2009-12-31  Bruno Haible  <bruno@clisp.org>
20900
20901         Use AC_C_INLINE where necessary.
20902         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
20903         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
20904         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
20905         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
20906         * m4/mbfile.m4 (gl_MBFILE): Likewise.
20907         * m4/mbiter.m4 (gl_MBITER): Likewise.
20908         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
20909         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
20910         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
20911         * modules/u64 (configure.ac): Likewise.
20912
20913 2009-12-31  Bruno Haible  <bruno@clisp.org>
20914
20915         Use AC_C_INLINE instead of module 'inline' where possible.
20916         * modules/inline (Description): Clarify purpose.
20917         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
20918         * modules/count-one-bits (Depends-on): Remove inline.
20919         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
20920         * modules/openat (Depends-on): Remove inline.
20921         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
20922         instead of depending on module 'inline'.
20923         * modules/filevercmp (Depends-on, configure.ac): Likewise.
20924         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
20925         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
20926         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
20927         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
20928         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
20929         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
20930         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
20931         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
20932         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
20933         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
20934         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
20935         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
20936         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
20937         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
20938         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
20939         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
20940         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
20941         Likewise.
20942         * modules/unictype/property-ascii-hex-digit (Depends-on,
20943         configure.ac): Likewise.
20944         * modules/unictype/property-bidi-arabic-digit (Depends-on,
20945         configure.ac): Likewise.
20946         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
20947         configure.ac): Likewise.
20948         * modules/unictype/property-bidi-block-separator (Depends-on,
20949         configure.ac): Likewise.
20950         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
20951         configure.ac): Likewise.
20952         * modules/unictype/property-bidi-common-separator (Depends-on,
20953         configure.ac): Likewise.
20954         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
20955         Likewise.
20956         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
20957         configure.ac): Likewise.
20958         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
20959         configure.ac): Likewise.
20960         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
20961         configure.ac): Likewise.
20962         * modules/unictype/property-bidi-european-digit (Depends-on,
20963         configure.ac): Likewise.
20964         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
20965         configure.ac): Likewise.
20966         * modules/unictype/property-bidi-left-to-right (Depends-on,
20967         configure.ac): Likewise.
20968         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
20969         configure.ac): Likewise.
20970         * modules/unictype/property-bidi-other-neutral (Depends-on,
20971         configure.ac): Likewise.
20972         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
20973         Likewise.
20974         * modules/unictype/property-bidi-segment-separator (Depends-on,
20975         configure.ac): Likewise.
20976         * modules/unictype/property-bidi-whitespace (Depends-on,
20977         configure.ac): Likewise.
20978         * modules/unictype/property-combining (Depends-on, configure.ac):
20979         Likewise.
20980         * modules/unictype/property-composite (Depends-on, configure.ac):
20981         Likewise.
20982         * modules/unictype/property-currency-symbol (Depends-on,
20983         configure.ac): Likewise.
20984         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
20985         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
20986         Likewise.
20987         * modules/unictype/property-default-ignorable-code-point (Depends-on,
20988         configure.ac): Likewise.
20989         * modules/unictype/property-deprecated (Depends-on, configure.ac):
20990         Likewise.
20991         * modules/unictype/property-diacritic (Depends-on, configure.ac):
20992         Likewise.
20993         * modules/unictype/property-extender (Depends-on, configure.ac):
20994         Likewise.
20995         * modules/unictype/property-format-control (Depends-on, configure.ac):
20996         Likewise.
20997         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
20998         Likewise.
20999         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
21000         Likewise.
21001         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
21002         Likewise.
21003         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
21004         Likewise.
21005         * modules/unictype/property-hyphen (Depends-on, configure.ac):
21006         Likewise.
21007         * modules/unictype/property-id-continue (Depends-on, configure.ac):
21008         Likewise.
21009         * modules/unictype/property-id-start (Depends-on, configure.ac):
21010         Likewise.
21011         * modules/unictype/property-ideographic (Depends-on, configure.ac):
21012         Likewise.
21013         * modules/unictype/property-ids-binary-operator (Depends-on,
21014         configure.ac): Likewise.
21015         * modules/unictype/property-ids-trinary-operator (Depends-on,
21016         configure.ac): Likewise.
21017         * modules/unictype/property-ignorable-control (Depends-on,
21018         configure.ac): Likewise.
21019         * modules/unictype/property-iso-control (Depends-on, configure.ac):
21020         Likewise.
21021         * modules/unictype/property-join-control (Depends-on, configure.ac):
21022         Likewise.
21023         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
21024         Likewise.
21025         * modules/unictype/property-line-separator (Depends-on, configure.ac):
21026         Likewise.
21027         * modules/unictype/property-logical-order-exception (Depends-on,
21028         configure.ac): Likewise.
21029         * modules/unictype/property-lowercase (Depends-on, configure.ac):
21030         Likewise.
21031         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
21032         * modules/unictype/property-non-break (Depends-on, configure.ac):
21033         Likewise.
21034         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
21035         Likewise.
21036         * modules/unictype/property-numeric (Depends-on, configure.ac):
21037         Likewise.
21038         * modules/unictype/property-other-alphabetic (Depends-on,
21039         configure.ac): Likewise.
21040         * modules/unictype/property-other-default-ignorable-code-point
21041         (Depends-on, configure.ac): Likewise.
21042         * modules/unictype/property-other-grapheme-extend (Depends-on,
21043         configure.ac): Likewise.
21044         * modules/unictype/property-other-id-continue (Depends-on,
21045         configure.ac): Likewise.
21046         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
21047         Likewise.
21048         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
21049         Likewise.
21050         * modules/unictype/property-other-math (Depends-on, configure.ac):
21051         Likewise.
21052         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
21053         Likewise.
21054         * modules/unictype/property-paired-punctuation (Depends-on,
21055         configure.ac): Likewise.
21056         * modules/unictype/property-paragraph-separator (Depends-on,
21057         configure.ac): Likewise.
21058         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
21059         Likewise.
21060         * modules/unictype/property-pattern-white-space (Depends-on,
21061         configure.ac): Likewise.
21062         * modules/unictype/property-private-use (Depends-on, configure.ac):
21063         Likewise.
21064         * modules/unictype/property-punctuation (Depends-on, configure.ac):
21065         Likewise.
21066         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
21067         Likewise.
21068         * modules/unictype/property-radical (Depends-on, configure.ac):
21069         Likewise.
21070         * modules/unictype/property-sentence-terminal (Depends-on,
21071         configure.ac): Likewise.
21072         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
21073         Likewise.
21074         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
21075         * modules/unictype/property-terminal-punctuation (Depends-on,
21076         configure.ac): Likewise.
21077         * modules/unictype/property-titlecase (Depends-on, configure.ac):
21078         Likewise.
21079         * modules/unictype/property-unassigned-code-value (Depends-on,
21080         configure.ac): Likewise.
21081         * modules/unictype/property-unified-ideograph (Depends-on,
21082         configure.ac): Likewise.
21083         * modules/unictype/property-uppercase (Depends-on, configure.ac):
21084         Likewise.
21085         * modules/unictype/property-variation-selector (Depends-on,
21086         configure.ac): Likewise.
21087         * modules/unictype/property-white-space (Depends-on, configure.ac):
21088         Likewise.
21089         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
21090         Likewise.
21091         * modules/unictype/property-xid-start (Depends-on, configure.ac):
21092         Likewise.
21093         * modules/unictype/property-zero-width (Depends-on, configure.ac):
21094         Likewise.
21095         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
21096         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
21097         Likewise.
21098
21099 2009-12-31  Bruno Haible  <bruno@clisp.org>
21100
21101         Remove unnecessary AC_C_INLINE invocation.
21102         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
21103         since 2009-08-21.
21104
21105 2009-12-31  Jim Meyering  <meyering@redhat.com>
21106
21107         maint.mk: don't require explicit gpg_key_ID in cfg.mk
21108         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
21109         With this change, we can all remove the gpg_key_ID = ... definition
21110         from our respective cfg.mk files.
21111
21112         maint.mk: create announcement template in ~/, not in /tmp
21113         * top/maint.mk (emit_upload_commands): Adjust.
21114         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
21115         Remove temporary file, .ci-msg.
21116
21117 2009-12-31  Eric Blake  <ebb9@byu.net>
21118
21119         link-warning: always build headers with link warnings
21120         * modules/arpa_inet (Makefile.am): Always build replacement
21121         header.
21122         * modules/ctype (Makefile.am): Likewise.
21123         * modules/dirent (Makefile.am): Likewise.
21124         * modules/inttypes (Makefile.am): Likewise.
21125         * modules/langinfo (Makefile.am): Likewise.
21126         * modules/locale (Makefile.am): Likewise.
21127         * modules/spawn (Makefile.am): Likewise.
21128         * modules/sys_file (Makefile.am): Likewise.
21129         * modules/sys_ioctl (Makefile.am): Likewise.
21130         * modules/sys_select (Makefile.am): Likewise.
21131         * modules/sys_socket (Makefile.am): Likewise.
21132         * modules/sys_times (Makefile.am): Likewise.
21133         * modules/sys_utsname (Makefile.am): Likewise.
21134         * modules/sys_wait (Makefile.am): Likewise.
21135         * modules/wchar (Makefile.am): Likewise.
21136         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
21137         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
21138         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
21139         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
21140         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
21141         Likewise.
21142         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
21143         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
21144         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
21145         Likewise.
21146         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
21147         Likewise.
21148         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
21149         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
21150         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
21151         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
21152         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
21153         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
21154         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
21155         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
21156         (gl_WCHAR_H_DEFAULTS): Likewise.
21157
21158 2009-12-31  Eric Blake  <ebb9@byu.net>
21159
21160         signal, spawn: use link warnings
21161         * lib/signal.in.h (sigset_t): Make unconditional.
21162         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
21163         (sigpending, sigprocmask, sigaction): Add link warnings.
21164         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
21165         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
21166         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
21167         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
21168         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
21169         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
21170         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
21171         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
21172         (posix_spawn_file_actions_destroy)
21173         (posix_spawn_file_actions_addopen)
21174         (posix_spawn_file_actions_addclose)
21175         (posix_spawn_file_actions_adddup2): Likewise.
21176         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
21177         * tests/test-signal.c (main): Enhance test.
21178
21179         spawn: improve wrapper support
21180         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
21181         (gl_SPAWN_H_DEFAULTS): New defaults.
21182         * modules/spawn (Makefile.am): Substitute them.
21183         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
21184         Only declare if missing or broken.
21185
21186         sys_times, sys_utsname: use include_next
21187         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
21188         header.
21189         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
21190         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
21191         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
21192         * modules/sys_times (Depends-on): Add include_next.
21193         (Makefile.am): Substitute additional values.
21194         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
21195         * lib/sys_times.in.h (includes): Include native header, if
21196         available.
21197         * lib/sys_utsname.in.h (includes): Likewise.
21198         * tests/test-sys_times.c (main): Enhance test.
21199
21200         fdutimensat: revert prior patch
21201         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
21202         utimens.h.
21203         Reported by Bruno Haible.
21204
21205 2009-12-30  Eric Blake  <ebb9@byu.net>
21206
21207         sys_wait: drop link-warning dependency
21208         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
21209         link-warning efforts.
21210         * lib/sys_wait.in.h: Likewise.
21211
21212         fdutimensat: remove bogus dependency
21213         * modules/fdutimensat (Depends-on): Drop inline.
21214
21215         unistd: fix typo
21216         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
21217
21218 2009-12-30  Bruno Haible  <bruno@clisp.org>
21219
21220         Fix compilation error with Solaris cc.
21221         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
21222         * lib/unicase/u16-is-invariant.c: Likewise.
21223         * lib/unicase/u32-is-invariant.c: Likewise.
21224         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
21225
21226 2009-12-30  Bruno Haible  <bruno@clisp.org>
21227
21228         Fix test crash.
21229         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
21230         locales.
21231         Reported by Simon Josefsson <simon@josefsson.org>.
21232
21233 2009-12-30  Bruno Haible  <bruno@clisp.org>
21234
21235         Fix compilation error on most platforms.
21236         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
21237         Reported by Simon Josefsson <simon@josefsson.org>
21238         and Nelson H. F. Beebe <beebe@math.utah.edu>.
21239
21240 2009-12-30  Eric Blake  <ebb9@byu.net>
21241
21242         futimens, utimensat: work around ntfs-3g bug
21243         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
21244         a ctime bug is present, and expand workaround to cover ntfs-3g.
21245         * lib/utimens.c (fdutimens, lutimens): Likewise.
21246         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
21247         (validate_timespec): Adjust return value.
21248         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
21249         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
21250         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
21251
21252 2009-12-29  Eric Blake  <ebb9@byu.net>
21253
21254         link-warning: make usage consistent
21255         * modules/ctype (Depends-on): Add link-warning.
21256         (Makefile.am): Update rules accordingly.
21257         * modules/langinfo (Depends-on, Makefile.am): Likewise.
21258         * modules/locale (Depends-on, Makefile.am): Likewise.
21259         * modules/sys_file (Makefile.am): Likewise.
21260         * modules/getopt-posix (Makefile.am): Delete unused link warning
21261         efforts.
21262         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
21263         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
21264         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
21265         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
21266
21267         stdio: remove unused variables
21268         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
21269         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
21270         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
21271
21272         tests: test more substitute headers
21273         * modules/ctype-tests: New file.
21274         * modules/dirent-tests: Likewise.
21275         * modules/spawn-tests: Likewise.
21276         * modules/sys_file-tests: Likewise.
21277         * modules/sys_ioctl-tests: Likewise.
21278         * modules/sys_wait-tests: Likewise.
21279         * tests/test-ctype.c: Likewise.
21280         * tests/test-dirent.c: Likewise.
21281         * tests/test-spawn.c: Likewise.
21282         * tests/test-sys_file.c: Likewise.
21283         * tests/test-sys_ioctl.c: Likewise.
21284         * tests/test-sys_wait.c: Likewise.
21285         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
21286         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
21287         whether or not flock is in use.
21288
21289         tests: remove License section from module
21290         * modules/arpa_inet-tests: Remove unneeded section.
21291         * modules/byteswap-tests: Likewise.
21292         * modules/ceilf-tests: Likewise.
21293         * modules/ceill-tests: Likewise.
21294         * modules/crypto/des-tests: Likewise.
21295         * modules/crypto/gc-arcfour-tests: Likewise.
21296         * modules/crypto/gc-arctwo-tests: Likewise.
21297         * modules/crypto/gc-des-tests: Likewise.
21298         * modules/crypto/gc-hmac-md5-tests: Likewise.
21299         * modules/crypto/gc-hmac-sha1-tests: Likewise.
21300         * modules/crypto/gc-md2-tests: Likewise.
21301         * modules/crypto/gc-md4-tests: Likewise.
21302         * modules/crypto/gc-md5-tests: Likewise.
21303         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
21304         * modules/crypto/gc-rijndael-tests: Likewise.
21305         * modules/crypto/gc-sha1-tests: Likewise.
21306         * modules/crypto/gc-tests: Likewise.
21307         * modules/crypto/md2-tests: Likewise.
21308         * modules/crypto/md4-tests: Likewise.
21309         * modules/fcntl-h-tests: Likewise.
21310         * modules/floorf-tests: Likewise.
21311         * modules/floorl-tests: Likewise.
21312         * modules/frexp-nolibm-tests: Likewise.
21313         * modules/frexp-tests: Likewise.
21314         * modules/frexpl-nolibm-tests: Likewise.
21315         * modules/frexpl-tests: Likewise.
21316         * modules/getaddrinfo-tests: Likewise.
21317         * modules/inttypes-tests: Likewise.
21318         * modules/isfinite-tests: Likewise.
21319         * modules/isinf-tests: Likewise.
21320         * modules/ldexpl-tests: Likewise.
21321         * modules/locale-tests: Likewise.
21322         * modules/math-tests: Likewise.
21323         * modules/netdb-tests: Likewise.
21324         * modules/netinet_in-tests: Likewise.
21325         * modules/printf-frexp-tests: Likewise.
21326         * modules/printf-frexpl-tests: Likewise.
21327         * modules/priv-set-tests: Likewise.
21328         * modules/random_r-tests: Likewise.
21329         * modules/round-tests: Likewise.
21330         * modules/roundf-tests: Likewise.
21331         * modules/roundl-tests: Likewise.
21332         * modules/search-tests: Likewise.
21333         * modules/select-tests: Likewise.
21334         * modules/signal-tests: Likewise.
21335         * modules/stdbool-tests: Likewise.
21336         * modules/stddef-tests: Likewise.
21337         * modules/stdint-tests: Likewise.
21338         * modules/stdio-tests: Likewise.
21339         * modules/stdlib-tests: Likewise.
21340         * modules/string-tests: Likewise.
21341         * modules/strings-tests: Likewise.
21342         * modules/sys_select-tests: Likewise.
21343         * modules/sys_socket-tests: Likewise.
21344         * modules/sys_stat-tests: Likewise.
21345         * modules/sys_time-tests: Likewise.
21346         * modules/sys_utsname-tests: Likewise.
21347         * modules/sysexits-tests: Likewise.
21348         * modules/time-tests: Likewise.
21349         * modules/trunc-tests: Likewise.
21350         * modules/truncf-tests: Likewise.
21351         * modules/truncl-tests: Likewise.
21352         * modules/tsearch-tests: Likewise.
21353         * modules/unistd-tests: Likewise.
21354         * modules/wchar-tests: Likewise.
21355         * modules/wctype-tests: Likewise.
21356
21357         tests: fix license on several tests
21358         * tests/test-des.c: Update to GPLv3+.
21359         * tests/test-flock.c: Likewise.
21360         * tests/test-fsync.c: Likewise.
21361         * tests/test-futimens.h: Likewise.
21362         * tests/test-gc-arcfour.c: Likewise.
21363         * tests/test-gc-arctwo.c: Likewise.
21364         * tests/test-gc-des.c: Likewise.
21365         * tests/test-gc-hmac-md5.c: Likewise.
21366         * tests/test-gc-hmac-sha1.c: Likewise.
21367         * tests/test-gc-md2.c: Likewise.
21368         * tests/test-gc-md4.c: Likewise.
21369         * tests/test-gc-md5.c: Likewise.
21370         * tests/test-gc-pbkdf2-sha1.c: Likewise.
21371         * tests/test-gc-rijndael.c: Likewise.
21372         * tests/test-gc-sha1.c: Likewise.
21373         * tests/test-gc.c: Likewise.
21374         * tests/test-getcwd.c: Likewise.
21375         * tests/test-link.c: Likewise.
21376         * tests/test-link.h: Likewise.
21377         * tests/test-lutimens.h: Likewise.
21378         * tests/test-md2.c: Likewise.
21379         * tests/test-md4.c: Likewise.
21380         * tests/test-mkdir.h: Likewise.
21381         * tests/test-rename.c: Likewise.
21382         * tests/test-rename.h: Likewise.
21383         * tests/test-safe-alloc.c: Likewise.
21384         * tests/test-utimens-common.h: Likewise.
21385         * tests/test-utimens.h: Likewise.
21386
21387         maint: sync license texts
21388         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
21389         * doc/gpl-3.0.texi: Revert copyright year update.
21390         * doc/lgpl-3.0.texi: Likewise.
21391
21392 2009-12-29  Jim Meyering  <meyering@redhat.com>
21393
21394         update nearly all FSF copyright year lists to include 2009
21395         The files named by the following are exempted:
21396             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
21397               test -f "$dst" && { echo "$dst"; continue; }
21398               test -d "$dst" || continue
21399               echo "$dst"/$(basename "$src")
21400             done > exempt
21401             git ls-files tests/unictype >> exempt
21402         In the remaining files, convert to all-interval notation if
21403         - there is already at least one year interval like 2000-2003
21404         - the file is maintained by me
21405         - the file is in lib/uni*/, where that style already prevails
21406         Otherwise, use update-copyright's default.
21407
21408 2009-12-29  Simon Josefsson  <simon@josefsson.org>
21409         and Eric Blake  <ebb9@byu.net>
21410
21411         tests: don't require debug system() to pass
21412         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
21413         * tests/test-rmdir.h (test_rmdir_func): Likewise.
21414         * tests/test-unlink.h (test_unlink_func): Likewise.
21415         * tests/test-fstatat.c (main): ...into callers.
21416         * tests/test-lstat.c (main): Likewise.
21417         * tests/test-rmdir.c (main): Likewise.
21418         * tests/test-unlink.c (main): Likewise.
21419         * tests/test-unlinkat.c (main): Likewise.
21420         * tests/test-areadlink-with-size.c (main): Don't require a
21421         debug-only system call to pass, aiding cross-testing to mingw.
21422         * tests/test-areadlink.c (main): Likewise.
21423         * tests/test-areadlinkat-with-size.c (main): Likewise.
21424         * tests/test-areadlinkat.c (main): Likewise.
21425         * tests/test-canonicalize-lgpl.c (main): Likewise.
21426         * tests/test-canonicalize.c (main): Likewise.
21427         * tests/test-chown.c (main): Likewise.
21428         * tests/test-fchownat.c (main): Likewise.
21429         * tests/test-lchown.c (main): Likewise.
21430         * tests/test-fdutimensat.c (main): Likewise.
21431         * tests/test-futimens.c (main): Likewise.
21432         * tests/test-link.c (main): Likewise.
21433         * tests/test-linkat.c (main): Likewise.
21434         * tests/test-mkdir.c (main): Likewise.
21435         * tests/test-mkdirat.c (main): Likewise.
21436         * tests/test-mkfifo.c (main): Likewise.
21437         * tests/test-mkfifoat.c (main): Likewise.
21438         * tests/test-mknod.c (main): Likewise.
21439         * tests/test-readlink.c (main): Likewise.
21440         * tests/test-remove.c (main): Likewise.
21441         * tests/test-rename.c (main): Likewise.
21442         * tests/test-renameat.c (main): Likewise.
21443         * tests/test-symlink.c (main): Likewise.
21444         * tests/test-symlinkat.c (main): Likewise.
21445         * tests/test-utimens.c (main): Likewise.
21446         * tests/test-utimensat.c (main): Likewise.
21447
21448 2009-12-29  Simon Josefsson  <simon@josefsson.org>
21449
21450         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
21451         on $(UNUSED_PARAMETER_H) to avoid build failure.
21452
21453 2009-12-28  Jim Meyering  <meyering@redhat.com>
21454
21455         update-copyright: you may specify a max. line length other than 72
21456         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
21457
21458         maint: use consistent FSF copyright line syntax
21459         * lib/posixtm.c: Add missing comma in FSF copyright line.
21460         * lib/posixtm.h: Likewise.
21461         * lib/getugroups.c: Add missing ", Inc.".
21462
21463         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
21464         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
21465         FSF copyright line.  Remove trailing blanks.
21466
21467 2009-12-28  Eric Blake  <ebb9@byu.net>
21468
21469         test-dup2: reduce dependencies
21470         * modules/cloexec (Configure.ac): Set witness.
21471         * modules/dup2-tests (Depends-on): Drop cloexec.
21472         * tests/test-dup2.c (main): Skip portion of test if cloexec module
21473         not present.
21474         Suggested by Bruno Haible.
21475
21476 2009-12-26  Bruno Haible  <bruno@clisp.org>
21477
21478         Remove an unneeded dependency.
21479         * modules/fseterr (Depends-on): Remove dup2.
21480
21481 2009-12-26  Eric Blake  <ebb9@byu.net>
21482
21483         tests: use macros.h in more places
21484         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
21485         (ASSERT_STREAM): Provide default of stderr.
21486         * tests/test-dirent-safer.c: Include macros.h, using alternate
21487         stream for assertions.
21488         * tests/test-dup-safer.c: Likewise.
21489         * tests/test-freopen-safer.c: Likewise.
21490         * tests/test-getopt.c: Likewise.
21491         * tests/test-openat-safer.c: Likewise.
21492         * tests/test-pipe.c: Likewise.
21493         * tests/test-popen-safer.c: Likewise.
21494         * modules/dirent-safer-tests (Files): Include macros.h.
21495         * modules/unistd-safer-tests (Files): Likewise.
21496         * modules/freopen-safer-tests (Files): Likewise.
21497         * modules/getopt-posix-tests (Files): Likewise.
21498         * modules/openat-safer-tests (Files): Likewise.
21499         * modules/pipe-tests (Files): Likewise.
21500
21501 2009-12-26  Bruno Haible  <bruno@clisp.org>
21502
21503         javacomp: Portability fix.
21504         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
21505         that it also works on Solaris.
21506
21507 2009-12-26  Bruno Haible  <bruno@clisp.org>
21508
21509         localename: Fix storage allocation of gl_locale_name_thread's result.
21510         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
21511         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
21512         all platforms that have 'uselocale'.
21513         (gl_locale_name_thread_unsafe): New function, extracted from
21514         gl_locale_name_thread.
21515         (gl_locale_name_thread): Call struniq on all platforms that have
21516         'uselocale'.
21517         * tests/test-localename.c (test_locale_name_thread): Check that the
21518         resulting strings are permanently allocated.
21519         * modules/localename-tests (Depends-on): Add strdup.
21520
21521 2009-12-26  Bruno Haible  <bruno@clisp.org>
21522
21523         * tests/test-localename.c (categories): Fill in the strings.
21524
21525 2009-12-26  Jim Meyering  <meyering@redhat.com>
21526
21527         isdir: complete the removal of m4/isdir.m4
21528         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
21529
21530         isdir: clean up, since at least grep still uses it
21531         * lib/isdir.c: Include "isdir.h".
21532         (S_ISDIR): Remove now-unneeded definition.
21533         * modules/isdir (Files): Add lib/isdir.h.
21534         * lib/isdir.h: New file, with declaration.
21535         * m4/isdir.m4: Remove file -- unneeded.
21536
21537 2009-12-25  Bruno Haible  <bruno@clisp.org>
21538
21539         selinux-h: Make generated .h files standalone.
21540         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
21541         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
21542         * lib/se-selinux.in.h: Likewise.
21543         * modules/selinux-h (Depends-on): Add unused-parameter.
21544         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
21545         selinux/selinux.h and selinux/context.h.
21546         Suggested by Eric Blake.
21547
21548 2009-12-25  Bruno Haible  <bruno@clisp.org>
21549
21550         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
21551         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
21552         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
21553         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
21554         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
21555
21556 2009-12-24  Bruno Haible  <bruno@clisp.org>
21557
21558         openat: Fix warning.
21559         * lib/openat-proc.c: Include <unistd.h>.
21560
21561 2009-12-24  Bruno Haible  <bruno@clisp.org>
21562
21563         New module 'unused-parameter'.
21564         * build-aux/unused-parameter.h: New file, extracted from earlier
21565         gnulib-common.m4.
21566         * modules/unused-parameter: New file.
21567         * lib/unistr.h: Include unused-parameter.h.
21568         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
21569         _GL_UNUSED.
21570         * modules/unistr/base (Depends-on): Add unused-parameter.
21571
21572 2009-12-24  Bruno Haible  <bruno@clisp.org>
21573
21574         Add missing dependencies to 'extensions' module.
21575         * m4/extensions.m4: Add comment.
21576         * modules/accept4 (Depends-on): Add extensions.
21577         * modules/dup3 (Depends-on): Likewise.
21578         * modules/fcntl (Depends-on): Likewise.
21579         * modules/futimens (Depends-on): Likewise.
21580         * modules/mknod (Depends-on): Likewise.
21581         * modules/pipe2 (Depends-on): Likewise.
21582         * modules/stat-time (Depends-on): Likewise.
21583         * modules/strcasestr-simple (Depends-on): Likewise.
21584         * modules/strsignal (Depends-on): Likewise.
21585         * modules/utimensat (Depends-on): Likewise.
21586         * modules/localcharset (Depends-on): Likewise. Needed because of
21587         gl_FCNTL_O_FLAGS.
21588         * modules/wcrtomb (Depends-on): Likewise. Needed because of
21589         AC_TYPE_MBSTATE_T.
21590         * modules/wcsnrtombs (Depends-on): Likewise.
21591         * modules/wcsrtombs (Depends-on): Likewise.
21592
21593 2009-12-24  Bruno Haible  <bruno@clisp.org>
21594
21595         binary-io: Avoid gcc warning due to SET_BINARY.
21596         * lib/binary-io.h (SET_BINARY): Cast the result to void.
21597         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
21598
21599 2009-12-24  Bruno Haible  <bruno@clisp.org>
21600
21601         Avoid future namespace pollution on glibc systems.
21602         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
21603         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
21604         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
21605         glibc systems.
21606
21607 2009-12-24  Bruno Haible  <bruno@clisp.org>
21608
21609         Refactor common macros used in tests.
21610         * tests/macros.h: New file.
21611         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
21612         and/or <stdlib.h>, if appropriate.
21613         (ASSERT, SIZEOF): Remove macros.
21614         * tests/test-areadlink-with-size.c: Likewise.
21615         * tests/test-areadlinkat.c: Likewise.
21616         * tests/test-areadlinkat-with-size.c: Likewise.
21617         * tests/test-argmatch.c: Likewise.
21618         * tests/test-argv-iter.c: Likewise.
21619         * tests/test-array-mergesort.c: Likewise.
21620         * tests/test-array_list.c: Likewise.
21621         * tests/test-array_oset.c: Likewise.
21622         * tests/test-avltree_list.c: Likewise.
21623         * tests/test-avltree_oset.c: Likewise.
21624         * tests/test-avltreehash_list.c: Likewise.
21625         * tests/test-base64.c: Likewise.
21626         * tests/test-binary-io.c: Likewise.
21627         * tests/test-bitrotate.c: Likewise.
21628         * tests/test-btowc.c: Likewise.
21629         * tests/test-byteswap.c: Likewise.
21630         * tests/test-c-ctype.c: Likewise.
21631         * tests/test-c-stack.c: Likewise.
21632         * tests/test-c-strcasecmp.c: Likewise.
21633         * tests/test-c-strcasestr.c: Likewise.
21634         * tests/test-c-strncasecmp.c: Likewise.
21635         * tests/test-c-strstr.c: Likewise.
21636         * tests/test-canonicalize-lgpl.c: Likewise.
21637         * tests/test-canonicalize.c: Likewise.
21638         * tests/test-carray_list.c: Likewise.
21639         * tests/test-ceilf1.c: Likewise.
21640         * tests/test-ceilf2.c: Likewise.
21641         * tests/test-ceill.c: Likewise.
21642         * tests/test-chown.c: Likewise.
21643         * tests/test-cloexec.c: Likewise.
21644         * tests/test-copy-acl.c: Likewise.
21645         * tests/test-copy-file.c: Likewise.
21646         * tests/test-count-one-bits.c: Likewise.
21647         * tests/test-dprintf-posix.c: Likewise.
21648         * tests/test-dup2.c: Likewise.
21649         * tests/test-dup3.c: Likewise.
21650         * tests/test-duplocale.c: Likewise.
21651         * tests/test-fbufmode.c: Likewise.
21652         * tests/test-fchdir.c: Likewise.
21653         * tests/test-fchownat.c: Likewise.
21654         * tests/test-fcntl-safer.c: Likewise.
21655         * tests/test-fcntl.c: Likewise.
21656         * tests/test-fdopendir.c: Likewise.
21657         * tests/test-fdutimensat.c: Likewise.
21658         * tests/test-fflush2.c: Likewise.
21659         * tests/test-file-has-acl.c: Likewise.
21660         * tests/test-filevercmp.c: Likewise.
21661         * tests/test-flock.c: Likewise.
21662         * tests/test-floorf1.c: Likewise.
21663         * tests/test-floorf2.c: Likewise.
21664         * tests/test-floorl.c: Likewise.
21665         * tests/test-fnmatch.c: Likewise.
21666         * tests/test-fopen.h: Likewise.
21667         * tests/test-fpending.c: Likewise.
21668         * tests/test-fprintf-posix.c: Likewise.
21669         * tests/test-fpurge.c: Likewise.
21670         * tests/test-freadable.c: Likewise.
21671         * tests/test-freadahead.c: Likewise.
21672         * tests/test-freading.c: Likewise.
21673         * tests/test-freadptr.c: Likewise.
21674         * tests/test-freadptr2.c: Likewise.
21675         * tests/test-freadseek.c: Likewise.
21676         * tests/test-freopen.c: Likewise.
21677         * tests/test-frexp.c: Likewise.
21678         * tests/test-frexpl.c: Likewise.
21679         * tests/test-fseek.c: Likewise.
21680         * tests/test-fseeko.c: Likewise.
21681         * tests/test-fstatat.c: Likewise.
21682         * tests/test-fstrcmp.c: Likewise.
21683         * tests/test-fsync.c: Likewise.
21684         * tests/test-ftell.c: Likewise.
21685         * tests/test-ftello.c: Likewise.
21686         * tests/test-func.c: Likewise.
21687         * tests/test-futimens.c: Likewise.
21688         * tests/test-fwritable.c: Likewise.
21689         * tests/test-fwriting.c: Likewise.
21690         * tests/test-getcwd.c: Likewise.
21691         * tests/test-getdate.c: Likewise.
21692         * tests/test-getdelim.c: Likewise.
21693         * tests/test-getdtablesize.c: Likewise.
21694         * tests/test-getgroups.c: Likewise.
21695         * tests/test-getline.c: Likewise.
21696         * tests/test-getndelim2.c: Likewise.
21697         * tests/test-glob.c: Likewise.
21698         * tests/test-hash.c: Likewise.
21699         * tests/test-i-ring.c: Likewise.
21700         * tests/test-iconv-utf.c: Likewise.
21701         * tests/test-iconv.c: Likewise.
21702         * tests/test-idpriv-drop.c: Likewise.
21703         * tests/test-idpriv-droptemp.c: Likewise.
21704         * tests/test-inet_ntop.c: Likewise.
21705         * tests/test-inet_pton.c: Likewise.
21706         * tests/test-isblank.c: Likewise.
21707         * tests/test-isfinite.c: Likewise.
21708         * tests/test-isinf.c: Likewise.
21709         * tests/test-isnan.c: Likewise.
21710         * tests/test-isnand.h: Likewise.
21711         * tests/test-isnanf.h: Likewise.
21712         * tests/test-isnanl.h: Likewise.
21713         * tests/test-lchown.c: Likewise.
21714         * tests/test-ldexpl.c: Likewise.
21715         * tests/test-link.c: Likewise.
21716         * tests/test-linkat.c: Likewise.
21717         * tests/test-linked_list.c: Likewise.
21718         * tests/test-linkedhash_list.c: Likewise.
21719         * tests/test-localename.c: Likewise.
21720         * tests/test-lseek.c: Likewise.
21721         * tests/test-lstat.c: Likewise.
21722         * tests/test-mbmemcasecmp.c: Likewise.
21723         * tests/test-mbmemcasecoll.c: Likewise.
21724         * tests/test-mbrtowc.c: Likewise.
21725         * tests/test-mbscasecmp.c: Likewise.
21726         * tests/test-mbscasestr1.c: Likewise.
21727         * tests/test-mbscasestr2.c: Likewise.
21728         * tests/test-mbscasestr3.c: Likewise.
21729         * tests/test-mbscasestr4.c: Likewise.
21730         * tests/test-mbschr.c: Likewise.
21731         * tests/test-mbscspn.c: Likewise.
21732         * tests/test-mbsinit.c: Likewise.
21733         * tests/test-mbsncasecmp.c: Likewise.
21734         * tests/test-mbsnrtowcs.c: Likewise.
21735         * tests/test-mbspbrk.c: Likewise.
21736         * tests/test-mbspcasecmp.c: Likewise.
21737         * tests/test-mbsrchr.c: Likewise.
21738         * tests/test-mbsrtowcs.c: Likewise.
21739         * tests/test-mbsspn.c: Likewise.
21740         * tests/test-mbsstr1.c: Likewise.
21741         * tests/test-mbsstr2.c: Likewise.
21742         * tests/test-mbsstr3.c: Likewise.
21743         * tests/test-memchr.c: Likewise.
21744         * tests/test-memchr2.c: Likewise.
21745         * tests/test-memcmp.c: Likewise.
21746         * tests/test-memmem.c: Likewise.
21747         * tests/test-memrchr.c: Likewise.
21748         * tests/test-mkdir.c: Likewise.
21749         * tests/test-mkdirat.c: Likewise.
21750         * tests/test-mkfifo.c: Likewise.
21751         * tests/test-mkfifoat.c: Likewise.
21752         * tests/test-mknod.c: Likewise.
21753         * tests/test-nanosleep.c: Likewise.
21754         * tests/test-nl_langinfo.c: Likewise.
21755         * tests/test-obstack-printf.c: Likewise.
21756         * tests/test-open.c: Likewise.
21757         * tests/test-openat.c: Likewise.
21758         * tests/test-pipe-filter-gi1.c: Likewise.
21759         * tests/test-pipe-filter-gi2-main.c: Likewise.
21760         * tests/test-pipe-filter-ii1.c: Likewise.
21761         * tests/test-pipe-filter-ii2-main.c: Likewise.
21762         * tests/test-pipe2.c: Likewise.
21763         * tests/test-popen.h: Likewise.
21764         * tests/test-posixtm.c: Likewise.
21765         * tests/test-pread.c: Likewise.
21766         * tests/test-printf-frexp.c: Likewise.
21767         * tests/test-printf-frexpl.c: Likewise.
21768         * tests/test-printf-posix.c: Likewise.
21769         * tests/test-priv-set.c: Likewise.
21770         * tests/test-quotearg.c: Likewise.
21771         * tests/test-random_r.c: Likewise.
21772         * tests/test-rawmemchr.c: Likewise.
21773         * tests/test-rbtree_list.c: Likewise.
21774         * tests/test-rbtree_oset.c: Likewise.
21775         * tests/test-rbtreehash_list.c: Likewise.
21776         * tests/test-readlink.c: Likewise.
21777         * tests/test-remove.c: Likewise.
21778         * tests/test-rename.c: Likewise.
21779         * tests/test-renameat.c: Likewise.
21780         * tests/test-rmdir.c: Likewise.
21781         * tests/test-round1.c: Likewise.
21782         * tests/test-roundf1.c: Likewise.
21783         * tests/test-roundl.c: Likewise.
21784         * tests/test-safe-alloc.c: Likewise.
21785         * tests/test-sameacls.c: Likewise.
21786         * tests/test-set-mode-acl.c: Likewise.
21787         * tests/test-setenv.c: Likewise.
21788         * tests/test-sigaction.c: Likewise.
21789         * tests/test-signbit.c: Likewise.
21790         * tests/test-sleep.c: Likewise.
21791         * tests/test-snprintf-posix.c: Likewise.
21792         * tests/test-snprintf.c: Likewise.
21793         * tests/test-sprintf-posix.c: Likewise.
21794         * tests/test-stat-time.c: Likewise.
21795         * tests/test-stat.c: Likewise.
21796         * tests/test-strcasestr.c: Likewise.
21797         * tests/test-strchrnul.c: Likewise.
21798         * tests/test-strerror.c: Likewise.
21799         * tests/test-striconv.c: Likewise.
21800         * tests/test-striconveh.c: Likewise.
21801         * tests/test-striconveha.c: Likewise.
21802         * tests/test-strsignal.c: Likewise.
21803         * tests/test-strstr.c: Likewise.
21804         * tests/test-strtod.c: Likewise.
21805         * tests/test-strverscmp.c: Likewise.
21806         * tests/test-symlink.c: Likewise.
21807         * tests/test-symlinkat.c: Likewise.
21808         * tests/test-trunc1.c: Likewise.
21809         * tests/test-trunc2.c: Likewise.
21810         * tests/test-truncf1.c: Likewise.
21811         * tests/test-truncf2.c: Likewise.
21812         * tests/test-truncl.c: Likewise.
21813         * tests/test-uname.c: Likewise.
21814         * tests/test-unlink.c: Likewise.
21815         * tests/test-unlinkat.c: Likewise.
21816         * tests/test-unsetenv.c: Likewise.
21817         * tests/test-usleep.c: Likewise.
21818         * tests/test-utimens.c: Likewise.
21819         * tests/test-utimensat.c: Likewise.
21820         * tests/test-vasnprintf-posix.c: Likewise.
21821         * tests/test-vasnprintf-posix2.c: Likewise.
21822         * tests/test-vasnprintf.c: Likewise.
21823         * tests/test-vasprintf-posix.c: Likewise.
21824         * tests/test-vasprintf.c: Likewise.
21825         * tests/test-vdprintf-posix.c: Likewise.
21826         * tests/test-vfprintf-posix.c: Likewise.
21827         * tests/test-vprintf-posix.c: Likewise.
21828         * tests/test-vsnprintf-posix.c: Likewise.
21829         * tests/test-vsnprintf.c: Likewise.
21830         * tests/test-vsprintf-posix.c: Likewise.
21831         * tests/test-wcrtomb.c: Likewise.
21832         * tests/test-wcsnrtombs.c: Likewise.
21833         * tests/test-wcsrtombs.c: Likewise.
21834         * tests/test-wctype.c: Likewise.
21835         * tests/test-wcwidth.c: Likewise.
21836         * tests/test-xfprintf-posix.c: Likewise.
21837         * tests/test-xmemdup0.c: Likewise.
21838         * tests/test-xprintf-posix.c: Likewise.
21839         * tests/test-xvasprintf.c: Likewise.
21840         * tests/unicase/test-locale-language.c: Likewise.
21841         * tests/unicase/test-mapping-part1.h: Likewise.
21842         * tests/unicase/test-predicate-part1.h: Likewise.
21843         * tests/unicase/test-u8-casecmp.c: Likewise.
21844         * tests/unicase/test-u8-casecoll.c: Likewise.
21845         * tests/unicase/test-u8-casefold.c: Likewise.
21846         * tests/unicase/test-u8-is-cased.c: Likewise.
21847         * tests/unicase/test-u8-is-casefolded.c: Likewise.
21848         * tests/unicase/test-u8-is-lowercase.c: Likewise.
21849         * tests/unicase/test-u8-is-titlecase.c: Likewise.
21850         * tests/unicase/test-u8-is-uppercase.c: Likewise.
21851         * tests/unicase/test-u8-tolower.c: Likewise.
21852         * tests/unicase/test-u8-totitle.c: Likewise.
21853         * tests/unicase/test-u8-toupper.c: Likewise.
21854         * tests/unicase/test-u16-casecmp.c: Likewise.
21855         * tests/unicase/test-u16-casecoll.c: Likewise.
21856         * tests/unicase/test-u16-casefold.c: Likewise.
21857         * tests/unicase/test-u16-is-cased.c: Likewise.
21858         * tests/unicase/test-u16-is-casefolded.c: Likewise.
21859         * tests/unicase/test-u16-is-lowercase.c: Likewise.
21860         * tests/unicase/test-u16-is-titlecase.c: Likewise.
21861         * tests/unicase/test-u16-is-uppercase.c: Likewise.
21862         * tests/unicase/test-u16-tolower.c: Likewise.
21863         * tests/unicase/test-u16-totitle.c: Likewise.
21864         * tests/unicase/test-u16-toupper.c: Likewise.
21865         * tests/unicase/test-u32-casecmp.c: Likewise.
21866         * tests/unicase/test-u32-casecoll.c: Likewise.
21867         * tests/unicase/test-u32-casefold.c: Likewise.
21868         * tests/unicase/test-u32-is-cased.c: Likewise.
21869         * tests/unicase/test-u32-is-casefolded.c: Likewise.
21870         * tests/unicase/test-u32-is-lowercase.c: Likewise.
21871         * tests/unicase/test-u32-is-titlecase.c: Likewise.
21872         * tests/unicase/test-u32-is-uppercase.c: Likewise.
21873         * tests/unicase/test-u32-tolower.c: Likewise.
21874         * tests/unicase/test-u32-totitle.c: Likewise.
21875         * tests/unicase/test-u32-toupper.c: Likewise.
21876         * tests/unicase/test-ulc-casecmp.c: Likewise.
21877         * tests/unicase/test-ulc-casecoll.c: Likewise.
21878         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
21879         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
21880         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
21881         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
21882         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
21883         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
21884         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
21885         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
21886         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
21887         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
21888         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
21889         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
21890         * tests/unictype/test-bidi_byname.c: Likewise.
21891         * tests/unictype/test-bidi_name.c: Likewise.
21892         * tests/unictype/test-bidi_of.c: Likewise.
21893         * tests/unictype/test-bidi_test.c: Likewise.
21894         * tests/unictype/test-block_list.c: Likewise.
21895         * tests/unictype/test-block_of.c: Likewise.
21896         * tests/unictype/test-block_test.c: Likewise.
21897         * tests/unictype/test-categ_and.c: Likewise.
21898         * tests/unictype/test-categ_and_not.c: Likewise.
21899         * tests/unictype/test-categ_byname.c: Likewise.
21900         * tests/unictype/test-categ_name.c: Likewise.
21901         * tests/unictype/test-categ_none.c: Likewise.
21902         * tests/unictype/test-categ_of.c: Likewise.
21903         * tests/unictype/test-categ_or.c: Likewise.
21904         * tests/unictype/test-categ_test_withtable.c: Likewise.
21905         * tests/unictype/test-combining.c: Likewise.
21906         * tests/unictype/test-decdigit.c: Likewise.
21907         * tests/unictype/test-digit.c: Likewise.
21908         * tests/unictype/test-mirror.c: Likewise.
21909         * tests/unictype/test-numeric.c: Likewise.
21910         * tests/unictype/test-pr_byname.c: Likewise.
21911         * tests/unictype/test-pr_test.c: Likewise.
21912         * tests/unictype/test-predicate-part1.h: Likewise.
21913         * tests/unictype/test-scripts.c: Likewise.
21914         * tests/unictype/test-sy_c_ident.c: Likewise.
21915         * tests/unictype/test-sy_java_ident.c: Likewise.
21916         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
21917         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
21918         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
21919         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
21920         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
21921         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
21922         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
21923         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
21924         * tests/uninorm/test-canonical-decomposition.c: Likewise.
21925         * tests/uninorm/test-compat-decomposition.c: Likewise.
21926         * tests/uninorm/test-composition.c: Likewise.
21927         * tests/uninorm/test-decomposing-form.c: Likewise.
21928         * tests/uninorm/test-decomposition.c: Likewise.
21929         * tests/uninorm/test-u8-nfc.c: Likewise.
21930         * tests/uninorm/test-u8-nfd.c: Likewise.
21931         * tests/uninorm/test-u8-nfkc.c: Likewise.
21932         * tests/uninorm/test-u8-nfkd.c: Likewise.
21933         * tests/uninorm/test-u8-normcmp.c: Likewise.
21934         * tests/uninorm/test-u8-normcoll.c: Likewise.
21935         * tests/uninorm/test-u16-nfc.c: Likewise.
21936         * tests/uninorm/test-u16-nfd.c: Likewise.
21937         * tests/uninorm/test-u16-nfkc.c: Likewise.
21938         * tests/uninorm/test-u16-nfkd.c: Likewise.
21939         * tests/uninorm/test-u16-normcmp.c: Likewise.
21940         * tests/uninorm/test-u16-normcoll.c: Likewise.
21941         * tests/uninorm/test-u32-nfc.c: Likewise.
21942         * tests/uninorm/test-u32-nfd.c: Likewise.
21943         * tests/uninorm/test-u32-nfkc.c: Likewise.
21944         * tests/uninorm/test-u32-nfkd.c: Likewise.
21945         * tests/uninorm/test-u32-normalize-big.c: Likewise.
21946         * tests/uninorm/test-u32-normcmp.c: Likewise.
21947         * tests/uninorm/test-u32-normcoll.c: Likewise.
21948         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
21949         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
21950         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
21951         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
21952         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
21953         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
21954         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
21955         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
21956         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
21957         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
21958         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
21959         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
21960         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
21961         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
21962         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
21963         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
21964         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
21965         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
21966         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
21967         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
21968         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
21969         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
21970         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
21971         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
21972         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
21973         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
21974         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
21975         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
21976         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
21977         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
21978         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
21979         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
21980         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
21981         * tests/uniwidth/test-u8-strwidth.c: Likewise.
21982         * tests/uniwidth/test-u8-width.c: Likewise.
21983         * tests/uniwidth/test-u16-strwidth.c: Likewise.
21984         * tests/uniwidth/test-u16-width.c: Likewise.
21985         * tests/uniwidth/test-u32-strwidth.c: Likewise.
21986         * tests/uniwidth/test-u32-width.c: Likewise.
21987         * tests/uniwidth/test-uc_width.c: Likewise.
21988         * tests/uniwidth/test-uc_width2.c: Likewise.
21989         * modules/acl-tests (Files): Add tests/macros.h.
21990         * modules/areadlink-tests (Files): Likewise.
21991         * modules/areadlink-with-size-tests (Files): Likewise.
21992         * modules/areadlinkat-tests (Files): Likewise.
21993         * modules/areadlinkat-with-size-tests (Files): Likewise.
21994         * modules/argmatch-tests (Files): Likewise.
21995         * modules/argv-iter-tests (Files): Likewise.
21996         * modules/array-list-tests (Files): Likewise.
21997         * modules/array-mergesort-tests (Files): Likewise.
21998         * modules/array-oset-tests (Files): Likewise.
21999         * modules/avltree-list-tests (Files): Likewise.
22000         * modules/avltree-oset-tests (Files): Likewise.
22001         * modules/avltreehash-list-tests (Files): Likewise.
22002         * modules/base64-tests (Files): Likewise.
22003         * modules/binary-io-tests (Files): Likewise.
22004         * modules/bitrotate-tests (Files): Likewise.
22005         * modules/btowc-tests (Files): Likewise.
22006         * modules/byteswap-tests (Files): Likewise.
22007         * modules/c-ctype-tests (Files): Likewise.
22008         * modules/c-stack-tests (Files): Likewise.
22009         * modules/c-strcase-tests (Files): Likewise.
22010         * modules/c-strcasestr-tests (Files): Likewise.
22011         * modules/c-strstr-tests (Files): Likewise.
22012         * modules/canonicalize-lgpl-tests (Files): Likewise.
22013         * modules/canonicalize-tests (Files): Likewise.
22014         * modules/carray-list-tests (Files): Likewise.
22015         * modules/ceilf-tests (Files): Likewise.
22016         * modules/ceill-tests (Files): Likewise.
22017         * modules/chown-tests (Files): Likewise.
22018         * modules/cloexec-tests (Files): Likewise.
22019         * modules/copy-file-tests (Files): Likewise.
22020         * modules/count-one-bits-tests (Files): Likewise.
22021         * modules/dprintf-posix-tests (Files): Likewise.
22022         * modules/dup2-tests (Files): Likewise.
22023         * modules/dup3-tests (Files): Likewise.
22024         * modules/duplocale-tests (Files): Likewise.
22025         * modules/fbufmode-tests (Files): Likewise.
22026         * modules/fchdir-tests (Files): Likewise.
22027         * modules/fcntl-safer-tests (Files): Likewise.
22028         * modules/fcntl-tests (Files): Likewise.
22029         * modules/fdopendir-tests (Files): Likewise.
22030         * modules/fdutimensat-tests (Files): Likewise.
22031         * modules/fflush-tests (Files): Likewise.
22032         * modules/filevercmp-tests (Files): Likewise.
22033         * modules/flock-tests (Files): Likewise.
22034         * modules/floorf-tests (Files): Likewise.
22035         * modules/floorl-tests (Files): Likewise.
22036         * modules/fnmatch-tests (Files): Likewise.
22037         * modules/fopen-safer-tests (Files): Likewise.
22038         * modules/fopen-tests (Files): Likewise.
22039         * modules/fpending-tests (Files): Likewise.
22040         * modules/fprintf-posix-tests (Files): Likewise.
22041         * modules/fpurge-tests (Files): Likewise.
22042         * modules/freadable-tests (Files): Likewise.
22043         * modules/freadahead-tests (Files): Likewise.
22044         * modules/freading-tests (Files): Likewise.
22045         * modules/freadptr-tests (Files): Likewise.
22046         * modules/freadseek-tests (Files): Likewise.
22047         * modules/freopen-tests (Files): Likewise.
22048         * modules/frexp-nolibm-tests (Files): Likewise.
22049         * modules/frexp-tests (Files): Likewise.
22050         * modules/frexpl-nolibm-tests (Files): Likewise.
22051         * modules/frexpl-tests (Files): Likewise.
22052         * modules/fseek-tests (Files): Likewise.
22053         * modules/fseeko-tests (Files): Likewise.
22054         * modules/fstrcmp-tests (Files): Likewise.
22055         * modules/fsync-tests (Files): Likewise.
22056         * modules/ftell-tests (Files): Likewise.
22057         * modules/ftello-tests (Files): Likewise.
22058         * modules/func-tests (Files): Likewise.
22059         * modules/futimens-tests (Files): Likewise.
22060         * modules/fwritable-tests (Files): Likewise.
22061         * modules/fwriting-tests (Files): Likewise.
22062         * modules/getcwd-tests (Files): Likewise.
22063         * modules/getdate-tests (Files): Likewise.
22064         * modules/getdelim-tests (Files): Likewise.
22065         * modules/getdtablesize-tests (Files): Likewise.
22066         * modules/getgroups-tests (Files): Likewise.
22067         * modules/getline-tests (Files): Likewise.
22068         * modules/getndelim2-tests (Files): Likewise.
22069         * modules/glob-tests (Files): Likewise.
22070         * modules/hash-tests (Files): Likewise.
22071         * modules/i-ring-tests (Files): Likewise.
22072         * modules/iconv-tests (Files): Likewise.
22073         * modules/iconv_open-utf-tests (Files): Likewise.
22074         * modules/idpriv-drop-tests (Files): Likewise.
22075         * modules/idpriv-droptemp-tests (Files): Likewise.
22076         * modules/inet_ntop-tests (Files): Likewise.
22077         * modules/inet_pton-tests (Files): Likewise.
22078         * modules/isblank-tests (Files): Likewise.
22079         * modules/isfinite-tests (Files): Likewise.
22080         * modules/isinf-tests (Files): Likewise.
22081         * modules/isnan-tests (Files): Likewise.
22082         * modules/isnand-nolibm-tests (Files): Likewise.
22083         * modules/isnand-tests (Files): Likewise.
22084         * modules/isnanf-nolibm-tests (Files): Likewise.
22085         * modules/isnanf-tests (Files): Likewise.
22086         * modules/isnanl-nolibm-tests (Files): Likewise.
22087         * modules/isnanl-tests (Files): Likewise.
22088         * modules/lchown-tests (Files): Likewise.
22089         * modules/ldexpl-tests (Files): Likewise.
22090         * modules/link-tests (Files): Likewise.
22091         * modules/linkat-tests (Files): Likewise.
22092         * modules/linked-list-tests (Files): Likewise.
22093         * modules/linkedhash-list-tests (Files): Likewise.
22094         * modules/localename-tests (Files): Likewise.
22095         * modules/lseek-tests (Files): Likewise.
22096         * modules/lstat-tests (Files): Likewise.
22097         * modules/mbmemcasecmp-tests (Files): Likewise.
22098         * modules/mbmemcasecoll-tests (Files): Likewise.
22099         * modules/mbrtowc-tests (Files): Likewise.
22100         * modules/mbscasecmp-tests (Files): Likewise.
22101         * modules/mbscasestr-tests (Files): Likewise.
22102         * modules/mbschr-tests (Files): Likewise.
22103         * modules/mbscspn-tests (Files): Likewise.
22104         * modules/mbsinit-tests (Files): Likewise.
22105         * modules/mbsncasecmp-tests (Files): Likewise.
22106         * modules/mbsnrtowcs-tests (Files): Likewise.
22107         * modules/mbspbrk-tests (Files): Likewise.
22108         * modules/mbspcasecmp-tests (Files): Likewise.
22109         * modules/mbsrchr-tests (Files): Likewise.
22110         * modules/mbsrtowcs-tests (Files): Likewise.
22111         * modules/mbsspn-tests (Files): Likewise.
22112         * modules/mbsstr-tests (Files): Likewise.
22113         * modules/memchr-tests (Files): Likewise.
22114         * modules/memchr2-tests (Files): Likewise.
22115         * modules/memcmp-tests (Files): Likewise.
22116         * modules/memmem-tests (Files): Likewise.
22117         * modules/memrchr-tests (Files): Likewise.
22118         * modules/mkdir-tests (Files): Likewise.
22119         * modules/mkfifo-tests (Files): Likewise.
22120         * modules/mkfifoat-tests (Files): Likewise.
22121         * modules/mknod-tests (Files): Likewise.
22122         * modules/nanosleep-tests (Files): Likewise.
22123         * modules/nl_langinfo-tests (Files): Likewise.
22124         * modules/obstack-printf-tests (Files): Likewise.
22125         * modules/open-tests (Files): Likewise.
22126         * modules/openat-tests (Files): Likewise.
22127         * modules/pipe-filter-gi-tests (Files): Likewise.
22128         * modules/pipe-filter-ii-tests (Files): Likewise.
22129         * modules/pipe2-tests (Files): Likewise.
22130         * modules/popen-safer-tests (Files): Likewise.
22131         * modules/popen-tests (Files): Likewise.
22132         * modules/posixtm-tests (Files): Likewise.
22133         * modules/pread-tests (Files): Likewise.
22134         * modules/printf-frexp-tests (Files): Likewise.
22135         * modules/printf-frexpl-tests (Files): Likewise.
22136         * modules/printf-posix-tests (Files): Likewise.
22137         * modules/priv-set-tests (Files): Likewise.
22138         * modules/quotearg-tests (Files): Likewise.
22139         * modules/random_r-tests (Files): Likewise.
22140         * modules/rawmemchr-tests (Files): Likewise.
22141         * modules/rbtree-list-tests (Files): Likewise.
22142         * modules/rbtree-oset-tests (Files): Likewise.
22143         * modules/rbtreehash-list-tests (Files): Likewise.
22144         * modules/readlink-tests (Files): Likewise.
22145         * modules/remove-tests (Files): Likewise.
22146         * modules/rename-tests (Files): Likewise.
22147         * modules/renameat-tests (Files): Likewise.
22148         * modules/rmdir-tests (Files): Likewise.
22149         * modules/round-tests (Files): Likewise.
22150         * modules/roundf-tests (Files): Likewise.
22151         * modules/roundl-tests (Files): Likewise.
22152         * modules/safe-alloc-tests (Files): Likewise.
22153         * modules/setenv-tests (Files): Likewise.
22154         * modules/sigaction-tests (Files): Likewise.
22155         * modules/signbit-tests (Files): Likewise.
22156         * modules/sleep-tests (Files): Likewise.
22157         * modules/snprintf-posix-tests (Files): Likewise.
22158         * modules/snprintf-tests (Files): Likewise.
22159         * modules/sprintf-posix-tests (Files): Likewise.
22160         * modules/stat-tests (Files): Likewise.
22161         * modules/stat-time-tests (Files): Likewise.
22162         * modules/strcasestr-tests (Files): Likewise.
22163         * modules/strchrnul-tests (Files): Likewise.
22164         * modules/strerror-tests (Files): Likewise.
22165         * modules/striconv-tests (Files): Likewise.
22166         * modules/striconveh-tests (Files): Likewise.
22167         * modules/striconveha-tests (Files): Likewise.
22168         * modules/strsignal-tests (Files): Likewise.
22169         * modules/strstr-tests (Files): Likewise.
22170         * modules/strtod-tests (Files): Likewise.
22171         * modules/strverscmp-tests (Files): Likewise.
22172         * modules/symlink-tests (Files): Likewise.
22173         * modules/symlinkat-tests (Files): Likewise.
22174         * modules/trunc-tests (Files): Likewise.
22175         * modules/truncf-tests (Files): Likewise.
22176         * modules/truncl-tests (Files): Likewise.
22177         * modules/uname-tests (Files): Likewise.
22178         * modules/unicase/cased-tests (Files): Likewise.
22179         * modules/unicase/ignorable-tests (Files): Likewise.
22180         * modules/unicase/locale-language-tests (Files): Likewise.
22181         * modules/unicase/tolower-tests (Files): Likewise.
22182         * modules/unicase/totitle-tests (Files): Likewise.
22183         * modules/unicase/toupper-tests (Files): Likewise.
22184         * modules/unicase/u8-casecmp-tests (Files): Likewise.
22185         * modules/unicase/u8-casecoll-tests (Files): Likewise.
22186         * modules/unicase/u8-casefold-tests (Files): Likewise.
22187         * modules/unicase/u8-is-cased-tests (Files): Likewise.
22188         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
22189         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
22190         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
22191         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
22192         * modules/unicase/u8-tolower-tests (Files): Likewise.
22193         * modules/unicase/u8-totitle-tests (Files): Likewise.
22194         * modules/unicase/u8-toupper-tests (Files): Likewise.
22195         * modules/unicase/u16-casecmp-tests (Files): Likewise.
22196         * modules/unicase/u16-casecoll-tests (Files): Likewise.
22197         * modules/unicase/u16-casefold-tests (Files): Likewise.
22198         * modules/unicase/u16-is-cased-tests (Files): Likewise.
22199         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
22200         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
22201         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
22202         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
22203         * modules/unicase/u16-tolower-tests (Files): Likewise.
22204         * modules/unicase/u16-totitle-tests (Files): Likewise.
22205         * modules/unicase/u16-toupper-tests (Files): Likewise.
22206         * modules/unicase/u32-casecmp-tests (Files): Likewise.
22207         * modules/unicase/u32-casecoll-tests (Files): Likewise.
22208         * modules/unicase/u32-casefold-tests (Files): Likewise.
22209         * modules/unicase/u32-is-cased-tests (Files): Likewise.
22210         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
22211         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
22212         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
22213         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
22214         * modules/unicase/u32-tolower-tests (Files): Likewise.
22215         * modules/unicase/u32-totitle-tests (Files): Likewise.
22216         * modules/unicase/u32-toupper-tests (Files): Likewise.
22217         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
22218         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
22219         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
22220         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
22221         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
22222         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
22223         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
22224         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
22225         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
22226         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
22227         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
22228         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
22229         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
22230         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
22231         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
22232         * modules/unictype/bidicategory-name-tests (Files): Likewise.
22233         * modules/unictype/bidicategory-of-tests (Files): Likewise.
22234         * modules/unictype/bidicategory-test-tests (Files): Likewise.
22235         * modules/unictype/block-list-tests (Files): Likewise.
22236         * modules/unictype/block-of-tests (Files): Likewise.
22237         * modules/unictype/block-test-tests (Files): Likewise.
22238         * modules/unictype/category-C-tests (Files): Likewise.
22239         * modules/unictype/category-Cc-tests (Files): Likewise.
22240         * modules/unictype/category-Cf-tests (Files): Likewise.
22241         * modules/unictype/category-Cn-tests (Files): Likewise.
22242         * modules/unictype/category-Co-tests (Files): Likewise.
22243         * modules/unictype/category-Cs-tests (Files): Likewise.
22244         * modules/unictype/category-L-tests (Files): Likewise.
22245         * modules/unictype/category-Ll-tests (Files): Likewise.
22246         * modules/unictype/category-Lm-tests (Files): Likewise.
22247         * modules/unictype/category-Lo-tests (Files): Likewise.
22248         * modules/unictype/category-Lt-tests (Files): Likewise.
22249         * modules/unictype/category-Lu-tests (Files): Likewise.
22250         * modules/unictype/category-M-tests (Files): Likewise.
22251         * modules/unictype/category-Mc-tests (Files): Likewise.
22252         * modules/unictype/category-Me-tests (Files): Likewise.
22253         * modules/unictype/category-Mn-tests (Files): Likewise.
22254         * modules/unictype/category-N-tests (Files): Likewise.
22255         * modules/unictype/category-Nd-tests (Files): Likewise.
22256         * modules/unictype/category-Nl-tests (Files): Likewise.
22257         * modules/unictype/category-No-tests (Files): Likewise.
22258         * modules/unictype/category-P-tests (Files): Likewise.
22259         * modules/unictype/category-Pc-tests (Files): Likewise.
22260         * modules/unictype/category-Pd-tests (Files): Likewise.
22261         * modules/unictype/category-Pe-tests (Files): Likewise.
22262         * modules/unictype/category-Pf-tests (Files): Likewise.
22263         * modules/unictype/category-Pi-tests (Files): Likewise.
22264         * modules/unictype/category-Po-tests (Files): Likewise.
22265         * modules/unictype/category-Ps-tests (Files): Likewise.
22266         * modules/unictype/category-S-tests (Files): Likewise.
22267         * modules/unictype/category-Sc-tests (Files): Likewise.
22268         * modules/unictype/category-Sk-tests (Files): Likewise.
22269         * modules/unictype/category-Sm-tests (Files): Likewise.
22270         * modules/unictype/category-So-tests (Files): Likewise.
22271         * modules/unictype/category-Z-tests (Files): Likewise.
22272         * modules/unictype/category-Zl-tests (Files): Likewise.
22273         * modules/unictype/category-Zp-tests (Files): Likewise.
22274         * modules/unictype/category-Zs-tests (Files): Likewise.
22275         * modules/unictype/category-and-not-tests (Files): Likewise.
22276         * modules/unictype/category-and-tests (Files): Likewise.
22277         * modules/unictype/category-byname-tests (Files): Likewise.
22278         * modules/unictype/category-name-tests (Files): Likewise.
22279         * modules/unictype/category-none-tests (Files): Likewise.
22280         * modules/unictype/category-of-tests (Files): Likewise.
22281         * modules/unictype/category-or-tests (Files): Likewise.
22282         * modules/unictype/category-test-withtable-tests (Files): Likewise.
22283         * modules/unictype/combining-class-tests (Files): Likewise.
22284         * modules/unictype/ctype-alnum-tests (Files): Likewise.
22285         * modules/unictype/ctype-alpha-tests (Files): Likewise.
22286         * modules/unictype/ctype-blank-tests (Files): Likewise.
22287         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
22288         * modules/unictype/ctype-digit-tests (Files): Likewise.
22289         * modules/unictype/ctype-graph-tests (Files): Likewise.
22290         * modules/unictype/ctype-lower-tests (Files): Likewise.
22291         * modules/unictype/ctype-print-tests (Files): Likewise.
22292         * modules/unictype/ctype-punct-tests (Files): Likewise.
22293         * modules/unictype/ctype-space-tests (Files): Likewise.
22294         * modules/unictype/ctype-upper-tests (Files): Likewise.
22295         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
22296         * modules/unictype/decimal-digit-tests (Files): Likewise.
22297         * modules/unictype/digit-tests (Files): Likewise.
22298         * modules/unictype/mirror-tests (Files): Likewise.
22299         * modules/unictype/numeric-tests (Files): Likewise.
22300         * modules/unictype/property-alphabetic-tests (Files): Likewise.
22301         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
22302         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
22303         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
22304         Likewise.
22305         * modules/unictype/property-bidi-block-separator-tests (Files):
22306         Likewise.
22307         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
22308         Likewise.
22309         * modules/unictype/property-bidi-common-separator-tests (Files):
22310         Likewise.
22311         * modules/unictype/property-bidi-control-tests (Files): Likewise.
22312         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
22313         Likewise.
22314         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
22315         Likewise.
22316         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
22317         Likewise.
22318         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
22319         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
22320         Likewise.
22321         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
22322         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
22323         Likewise.
22324         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
22325         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
22326         * modules/unictype/property-bidi-segment-separator-tests (Files):
22327         Likewise.
22328         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
22329         * modules/unictype/property-byname-tests (Files): Likewise.
22330         * modules/unictype/property-combining-tests (Files): Likewise.
22331         * modules/unictype/property-composite-tests (Files): Likewise.
22332         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
22333         * modules/unictype/property-dash-tests (Files): Likewise.
22334         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
22335         * modules/unictype/property-default-ignorable-code-point-tests (Files):
22336         Likewise.
22337         * modules/unictype/property-deprecated-tests (Files): Likewise.
22338         * modules/unictype/property-diacritic-tests (Files): Likewise.
22339         * modules/unictype/property-extender-tests (Files): Likewise.
22340         * modules/unictype/property-format-control-tests (Files): Likewise.
22341         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
22342         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
22343         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
22344         * modules/unictype/property-hex-digit-tests (Files): Likewise.
22345         * modules/unictype/property-hyphen-tests (Files): Likewise.
22346         * modules/unictype/property-id-continue-tests (Files): Likewise.
22347         * modules/unictype/property-id-start-tests (Files): Likewise.
22348         * modules/unictype/property-ideographic-tests (Files): Likewise.
22349         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
22350         * modules/unictype/property-ids-trinary-operator-tests (Files):
22351         Likewise.
22352         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
22353         * modules/unictype/property-iso-control-tests (Files): Likewise.
22354         * modules/unictype/property-join-control-tests (Files): Likewise.
22355         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
22356         * modules/unictype/property-line-separator-tests (Files): Likewise.
22357         * modules/unictype/property-logical-order-exception-tests (Files):
22358         Likewise.
22359         * modules/unictype/property-lowercase-tests (Files): Likewise.
22360         * modules/unictype/property-math-tests (Files): Likewise.
22361         * modules/unictype/property-non-break-tests (Files): Likewise.
22362         * modules/unictype/property-not-a-character-tests (Files): Likewise.
22363         * modules/unictype/property-numeric-tests (Files): Likewise.
22364         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
22365         * modules/unictype/property-other-default-ignorable-code-point-tests
22366         (Files): Likewise.
22367         * modules/unictype/property-other-grapheme-extend-tests (Files):
22368         Likewise.
22369         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
22370         * modules/unictype/property-other-id-start-tests (Files): Likewise.
22371         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
22372         * modules/unictype/property-other-math-tests (Files): Likewise.
22373         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
22374         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
22375         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
22376         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
22377         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
22378         * modules/unictype/property-private-use-tests (Files): Likewise.
22379         * modules/unictype/property-punctuation-tests (Files): Likewise.
22380         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
22381         * modules/unictype/property-radical-tests (Files): Likewise.
22382         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
22383         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
22384         * modules/unictype/property-space-tests (Files): Likewise.
22385         * modules/unictype/property-terminal-punctuation-tests (Files):
22386         Likewise.
22387         * modules/unictype/property-test-tests (Files): Likewise.
22388         * modules/unictype/property-titlecase-tests (Files): Likewise.
22389         * modules/unictype/property-unassigned-code-value-tests (Files):
22390         Likewise.
22391         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
22392         * modules/unictype/property-uppercase-tests (Files): Likewise.
22393         * modules/unictype/property-variation-selector-tests (Files): Likewise.
22394         * modules/unictype/property-white-space-tests (Files): Likewise.
22395         * modules/unictype/property-xid-continue-tests (Files): Likewise.
22396         * modules/unictype/property-xid-start-tests (Files): Likewise.
22397         * modules/unictype/property-zero-width-tests (Files): Likewise.
22398         * modules/unictype/scripts-tests (Files): Likewise.
22399         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
22400         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
22401         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
22402         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
22403         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
22404         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
22405         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
22406         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
22407         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
22408         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
22409         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
22410         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
22411         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
22412         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
22413         * modules/uninorm/composition-tests (Files): Likewise.
22414         * modules/uninorm/decomposing-form-tests (Files): Likewise.
22415         * modules/uninorm/decomposition-tests (Files): Likewise.
22416         * modules/uninorm/filter-tests (Files): Likewise.
22417         * modules/uninorm/nfc-tests (Files): Likewise.
22418         * modules/uninorm/nfd-tests (Files): Likewise.
22419         * modules/uninorm/nfkc-tests (Files): Likewise.
22420         * modules/uninorm/nfkd-tests (Files): Likewise.
22421         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
22422         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
22423         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
22424         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
22425         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
22426         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
22427         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
22428         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
22429         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
22430         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
22431         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
22432         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
22433         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
22434         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
22435         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
22436         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
22437         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
22438         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
22439         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
22440         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
22441         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
22442         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
22443         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
22444         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
22445         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
22446         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
22447         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
22448         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
22449         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
22450         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
22451         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
22452         * modules/uniwidth/u8-width-tests (Files): Likewise.
22453         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
22454         * modules/uniwidth/u16-width-tests (Files): Likewise.
22455         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
22456         * modules/uniwidth/u32-width-tests (Files): Likewise.
22457         * modules/uniwidth/width-tests (Files): Likewise.
22458         * modules/unlink-tests (Files): Likewise.
22459         * modules/unsetenv-tests (Files): Likewise.
22460         * modules/usleep-tests (Files): Likewise.
22461         * modules/utimens-tests (Files): Likewise.
22462         * modules/utimensat-tests (Files): Likewise.
22463         * modules/vasnprintf-posix-tests (Files): Likewise.
22464         * modules/vasnprintf-tests (Files): Likewise.
22465         * modules/vasprintf-posix-tests (Files): Likewise.
22466         * modules/vasprintf-tests (Files): Likewise.
22467         * modules/vdprintf-posix-tests (Files): Likewise.
22468         * modules/vfprintf-posix-tests (Files): Likewise.
22469         * modules/vprintf-posix-tests (Files): Likewise.
22470         * modules/vsnprintf-posix-tests (Files): Likewise.
22471         * modules/vsnprintf-tests (Files): Likewise.
22472         * modules/vsprintf-posix-tests (Files): Likewise.
22473         * modules/wcrtomb-tests (Files): Likewise.
22474         * modules/wcsnrtombs-tests (Files): Likewise.
22475         * modules/wcsrtombs-tests (Files): Likewise.
22476         * modules/wctype-tests (Files): Likewise.
22477         * modules/wcwidth-tests (Files): Likewise.
22478         * modules/xmemdup0-tests (Files): Likewise.
22479         * modules/xprintf-posix-tests (Files): Likewise.
22480         * modules/xvasprintf-tests (Files): Likewise.
22481
22482 2009-12-24  Eric Blake  <ebb9@byu.net>
22483
22484         test-nanosleep: fix typo
22485         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
22486         patch.
22487         Reported by Bruno Haible.
22488
22489 2009-12-24  Bruno Haible  <bruno@clisp.org>
22490
22491         Reduce namespace pollution on glibc systems.
22492         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
22493         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
22494         systems.
22495         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
22496         <getopt.h> on glibc systems.
22497         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
22498         systems.
22499         * lib/fcntl.c: Include <unistd.h> here instead.
22500
22501 2009-12-24  Bruno Haible  <bruno@clisp.org>
22502
22503         * lib/stdlib.in.h (includes): Fix typo in today's commit.
22504
22505 2009-12-24  Eric Blake  <ebb9@byu.net>
22506
22507         tests: add signature checks
22508         * tests/signature.h (SIGNATURE_CHECK): New file.
22509         * modules/atexit-tests (Files): Use it.
22510         * modules/btowc-tests (Files): Likewise.
22511         * modules/canonicalize-lgpl-tests (Files): Likewise.
22512         * modules/ceilf-tests (Files): Likewise.
22513         * modules/ceill-tests (Files): Likewise.
22514         * modules/chown-tests (Files): Likewise.
22515         * modules/dprintf-posix-tests (Files): Likewise.
22516         * modules/dup2-tests (Files): Likewise.
22517         * modules/dup3-tests (Files): Likewise.
22518         * modules/duplocale-tests (Files): Likewise.
22519         * modules/fchdir-tests (Files): Likewise.
22520         * modules/fcntl-tests (Files): Likewise.
22521         * modules/fdopendir-tests (Files): Likewise.
22522         * modules/fflush-tests (Files): Likewise.
22523         * modules/flock-tests (Files): Likewise.
22524         * modules/floorf-tests (Files): Likewise.
22525         * modules/floorl-tests (Files): Likewise.
22526         * modules/fnmatch-tests (Files): Likewise.
22527         * modules/fopen-tests (Files): Likewise.
22528         * modules/fprintf-posix-tests (Files): Likewise.
22529         * modules/freopen-tests (Files): Likewise.
22530         * modules/frexp-nolibm-tests (Files): Likewise.
22531         * modules/frexp-tests (Files): Likewise.
22532         * modules/frexpl-nolibm-tests (Files): Likewise.
22533         * modules/frexpl-tests (Files): Likewise.
22534         * modules/fseek-tests (Files): Likewise.
22535         * modules/fseeko-tests (Files): Likewise.
22536         * modules/fsync-tests (Files): Likewise.
22537         * modules/ftell-tests (Files): Likewise.
22538         * modules/ftello-tests (Files): Likewise.
22539         * modules/futimens-tests (Files): Likewise.
22540         * modules/getaddrinfo-tests (Files): Likewise.
22541         * modules/getcwd-tests (Files): Likewise.
22542         * modules/getdelim-tests (Files): Likewise.
22543         * modules/getdtablesize-tests (Files): Likewise.
22544         * modules/getgroups-tests (Files): Likewise.
22545         * modules/gethostname-tests (Files): Likewise.
22546         * modules/getline-tests (Files): Likewise.
22547         * modules/getopt-posix-tests (Files): Likewise.
22548         * modules/gettimeofday-tests (Files): Likewise.
22549         * modules/glob-tests (Files): Likewise.
22550         * modules/iconv-tests (Files): Likewise.
22551         * modules/inet_ntop-tests (Files): Likewise.
22552         * modules/inet_pton-tests (Files): Likewise.
22553         * modules/isblank-tests (Files): Likewise.
22554         * modules/lchown-tests (Files): Likewise.
22555         * modules/ldexpl-tests (Files): Likewise.
22556         * modules/link-tests (Files): Likewise.
22557         * modules/linkat-tests (Files): Likewise.
22558         * modules/lseek-tests (Files): Likewise.
22559         * modules/lstat-tests (Files): Likewise.
22560         * modules/mbrtowc-tests (Files): Likewise.
22561         * modules/mbsinit-tests (Files): Likewise.
22562         * modules/mbsnrtowcs-tests (Files): Likewise.
22563         * modules/mbsrtowcs-tests (Files): Likewise.
22564         * modules/memchr-tests (Files): Likewise.
22565         * modules/memcmp-tests (Files): Likewise.
22566         * modules/memmem-tests (Files): Likewise.
22567         * modules/memrchr-tests (Files): Likewise.
22568         * modules/mkdir-tests (Files): Likewise.
22569         * modules/mkfifo-tests (Files): Likewise.
22570         * modules/mkfifoat-tests (Files): Likewise.
22571         * modules/mknod-tests (Files): Likewise.
22572         * modules/nanosleep-tests (Files): Likewise.
22573         * modules/nl_langinfo-tests (Files): Likewise.
22574         * modules/obstack-printf-tests (Files): Likewise.
22575         * modules/open-tests (Files): Likewise.
22576         * modules/openat-tests (Files): Likewise.
22577         * modules/perror-tests (Files): Likewise.
22578         * modules/pipe2-tests (Files): Likewise.
22579         * modules/poll-tests (Files): Likewise.
22580         * modules/popen-tests (Files): Likewise.
22581         * modules/posix_spawn-tests (Files): Likewise.
22582         * modules/posix_spawnp-tests (Files): Likewise.
22583         * modules/pread-tests (Files): Likewise.
22584         * modules/printf-posix-tests (Files): Likewise.
22585         * modules/pty-tests (Files): Likewise.
22586         * modules/random_r-tests (Files): Likewise.
22587         * modules/rawmemchr-tests (Files): Likewise.
22588         * modules/readlink-tests (Files): Likewise.
22589         * modules/remove-tests (Files): Likewise.
22590         * modules/rename-tests (Files): Likewise.
22591         * modules/renameat-tests (Files): Likewise.
22592         * modules/rmdir-tests (Files): Likewise.
22593         * modules/round-tests (Files): Likewise.
22594         * modules/roundf-tests (Files): Likewise.
22595         * modules/roundl-tests (Files): Likewise.
22596         * modules/select-tests (Files): Likewise.
22597         * modules/setenv-tests (Files): Likewise.
22598         * modules/sigaction-tests (Files): Likewise.
22599         * modules/sleep-tests (Files): Likewise.
22600         * modules/snprintf-posix-tests (Files): Likewise.
22601         * modules/snprintf-tests (Files): Likewise.
22602         * modules/sprintf-posix-tests (Files): Likewise.
22603         * modules/stat-tests (Files): Likewise.
22604         * modules/strcasestr-tests (Files): Likewise.
22605         * modules/strchrnul-tests (Files): Likewise.
22606         * modules/strerror-tests (Files): Likewise.
22607         * modules/strsignal-tests (Files): Likewise.
22608         * modules/strstr-tests (Files): Likewise.
22609         * modules/strtod-tests (Files): Likewise.
22610         * modules/strverscmp-tests (Files): Likewise.
22611         * modules/symlink-tests (Files): Likewise.
22612         * modules/symlinkat-tests (Files): Likewise.
22613         * modules/times-tests (Files): Likewise.
22614         * modules/trunc-tests (Files): Likewise.
22615         * modules/truncf-tests (Files): Likewise.
22616         * modules/truncl-tests (Files): Likewise.
22617         * modules/tsearch-tests (Files): Likewise.
22618         * modules/uname-tests (Files): Likewise.
22619         * modules/unlink-tests (Files): Likewise.
22620         * modules/unsetenv-tests (Files): Likewise.
22621         * modules/usleep-tests (Files): Likewise.
22622         * modules/utimensat-tests (Files): Likewise.
22623         * modules/vasprintf-tests (Files): Likewise.
22624         * modules/vdprintf-posix-tests (Files): Likewise.
22625         * modules/vfprintf-posix-tests (Files): Likewise.
22626         * modules/vprintf-posix-tests (Files): Likewise.
22627         * modules/vsnprintf-posix-tests (Files): Likewise.
22628         * modules/vsnprintf-tests (Files): Likewise.
22629         * modules/vsprintf-posix-tests (Files): Likewise.
22630         * modules/wcrtomb-tests (Files): Likewise.
22631         * modules/wcsnrtombs-tests (Files): Likewise.
22632         * modules/wcsrtombs-tests (Files): Likewise.
22633         * modules/wcwidth-tests (Files): Likewise.
22634         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
22635         * tests/test-isinf.c (isinf): Likewise.
22636         * tests/test-isnan.c (isnan): Likewise.
22637         * tests/test-signbit.c (signbit): Likewise.
22638         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
22639         declaration, either as macro or with correct signature.
22640         (select): Ensure function under test is declared with correct
22641         signature in correct header.
22642         * tests/test-atexit.c (atexit): Likewise.
22643         * tests/test-btowc.c (btowc): Likewise.
22644         * tests/test-canonicalize-lgpl.c (realpath)
22645         (canonicalize_file_name): Likewise.
22646         * tests/test-ceilf1.c (ceilf): Likewise.
22647         * tests/test-ceill.c (ceill): Likewise.
22648         * tests/test-chown.c (chown): Likewise.
22649         * tests/test-dprintf-posix.c (dprintf): Likewise.
22650         * tests/test-dup2.c (dup2): Likewise.
22651         * tests/test-dup3.c (dup3): Likewise.
22652         * tests/test-duplocale.c (duplocale): Likewise.
22653         * tests/test-fchdir.c (fchdir): Likewise.
22654         * tests/test-fchownat.c (fchownat): Likewise.
22655         * tests/test-fcntl.c (fcntl): Likewise.
22656         * tests/test-fdopendir.c (fdopendir): Likewise.
22657         * tests/test-fflush.c (fflush): Likewise.
22658         * tests/test-flock.c (flock): Likewise.
22659         * tests/test-floorf1.c (floorf): Likewise.
22660         * tests/test-floorl.c (floorl): Likewise.
22661         * tests/test-fnmatch.c (fnmatch): Likewise.
22662         * tests/test-fopen.c (fopen): Likewise.
22663         * tests/test-fprintf-posix.c (fprintf): Likewise.
22664         * tests/test-freopen.c (freopen): Likewise.
22665         * tests/test-frexp.c (frexp): Likewise.
22666         * tests/test-frexpl.c (frexpl): Likewise.
22667         * tests/test-fseek.c (fseek): Likewise.
22668         * tests/test-fseeko.c (fseeko): Likewise.
22669         * tests/test-fstatat.c (fstatat): Likewise.
22670         * tests/test-fsync.c (fsync): Likewise.
22671         * tests/test-ftell.c (ftell): Likewise.
22672         * tests/test-ftello.c (ftello): Likewise.
22673         * tests/test-futimens.c (futimens): Likewise.
22674         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
22675         (gai_strerror): Likewise.
22676         * tests/test-getcwd.c (getcwd): Likewise.
22677         * tests/test-getdelim.c (getdelim): Likewise.
22678         * tests/test-getdtablesize.c (getdtablesize): Likewise.
22679         * tests/test-getgroups.c (getgroups): Likewise.
22680         * tests/test-gethostname.c (gethostname): Likewise.
22681         * tests/test-getline.c (getline): Likewise.
22682         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
22683         Likewise.
22684         * tests/test-gettimeofday.c (gettimeofday): Likewise.
22685         * tests/test-glob.c (glob, globfree): Likewise.
22686         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
22687         * tests/test-inet_ntop.c (inet_ntop): Likewise.
22688         * tests/test-inet_pton.c (inet_pton): Likewise.
22689         * tests/test-isblank.c (isblank): Likewise.
22690         * tests/test-lchown.c (lchown): Likewise.
22691         * tests/test-ldexpl.c (ldexpl): Likewise.
22692         * tests/test-link.c (link): Likewise.
22693         * tests/test-linkat.c (linkat): Likewise.
22694         * tests/test-lseek.c (lseek): Likewise.
22695         * tests/test-lstat.c (lstat): Likewise.
22696         * tests/test-mbrtowc.c (mbrtowc): Likewise.
22697         * tests/test-mbsinit.c (mbsinit): Likewise.
22698         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
22699         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
22700         * tests/test-memchr.c (memchr): Likewise.
22701         * tests/test-memcmp.c (memcmp): Likewise.
22702         * tests/test-memmem.c (memmem): Likewise.
22703         * tests/test-memrchr.c (memrchr): Likewise.
22704         * tests/test-mkdir.c (mkdir): Likewise.
22705         * tests/test-mkdirat.c (mkdirat): Likewise.
22706         * tests/test-mkfifo.c (mkfifo): Likewise.
22707         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
22708         * tests/test-mknod.c (mknod): Likewise.
22709         * tests/test-nanosleep.c (nanosleep): Likewise.
22710         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
22711         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
22712         Likewise.
22713         * tests/test-open.c (open): Likewise.
22714         * tests/test-openat.c (openat): Likewise.
22715         * tests/test-perror.c (perror): Likewise.
22716         * tests/test-pipe2.c (pipe2): Likewise.
22717         * tests/test-poll.c (poll): Likewise.
22718         * tests/test-popen.c (popen, pclose): Likewise.
22719         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
22720         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
22721         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
22722         (posix_spawn_file_actions_destroy)
22723         (posix_spawn_file_actions_addclose)
22724         (posix_spawn_file_actions_addopen)
22725         (posix_spawn_file_actions_adddup2): Likewise.
22726         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
22727         * tests/test-pread.c (pread): Likewise.
22728         * tests/test-printf-posix.c (printf): Likewise.
22729         * tests/test-pty.c (openpty, forkpty): Likewise.
22730         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
22731         (random_r): Likewise.
22732         * tests/test-rawmemchr.c (rawmemchr): Likewise.
22733         * tests/test-readlink.c (readlink): Likewise.
22734         * tests/test-remove.c (remove): Likewise.
22735         * tests/test-rename.c (rename): Likewise.
22736         * tests/test-renameat.c (renameat): Likewise.
22737         * tests/test-rmdir.c (rmdir): Likewise.
22738         * tests/test-round1.c (round): Likewise.
22739         * tests/test-roundf1.c (roundf): Likewise.
22740         * tests/test-roundl.c (roundl): Likewise.
22741         * tests/test-setenv.c (setenv): Likewise.
22742         * tests/test-sigaction.c (sigaction): Likewise.
22743         * tests/test-sleep.c (sleep): Likewise.
22744         * tests/test-snprintf.c (snprintf): Likewise.
22745         * tests/test-sprintf-posix.c (sprintf): Likewise.
22746         * tests/test-stat.c (stat): Likewise.
22747         * tests/test-stpncpy.c (stpncpy): Likewise.
22748         * tests/test-strcasestr.c (strcasestr): Likewise.
22749         * tests/test-strchrnul.c (strchrnul): Likewise.
22750         * tests/test-strerror.c (strerror): Likewise.
22751         * tests/test-strsignal.c (strsignal): Likewise.
22752         * tests/test-strstr.c (strstr): Likewise.
22753         * tests/test-strtod.c (strtod): Likewise.
22754         * tests/test-strverscmp.c (strverscmp): Likewise.
22755         * tests/test-symlink.c (symlink): Likewise.
22756         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
22757         * tests/test-times.c (times): Likewise.
22758         * tests/test-trunc1.c (trunc): Likewise.
22759         * tests/test-truncf1.c (truncf): Likewise.
22760         * tests/test-truncl.c (truncl): Likewise.
22761         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
22762         Likewise.
22763         * tests/test-uname.c (uname): Likewise.
22764         * tests/test-unlink.c (unlink): Likewise.
22765         * tests/test-unlinkat.c (unlinkat): Likewise.
22766         * tests/test-unsetenv.c (unsetenv): Likewise.
22767         * tests/test-usleep.c (usleep): Likewise.
22768         * tests/test-utimensat.c (utimensat): Likewise.
22769         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
22770         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
22771         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
22772         * tests/test-vprintf-posix.c (vprintf): Likewise.
22773         * tests/test-vsnprintf.c (vsnprintf): Likewise.
22774         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
22775         * tests/test-wcrtomb.c (wcrtomb): Likewise.
22776         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
22777         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
22778         * tests/test-wcwidth.c (wcwidth): Likewise.
22779
22780         build: pull in conditional headers during GNULIB_POSIXCHECK
22781         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
22782         definitions from any conditionally-included headers.
22783         * lib/stdlib.in.h (includes): Likewise.
22784         * lib/unistd.in.h (includes): Likewise.
22785
22786 2009-12-24  Bruno Haible  <bruno@clisp.org>
22787
22788         * tests/test-argv-iter.c: Include header file being tested immediately
22789         after config.h.
22790         * tests/test-base64.c: Likewise.
22791         * tests/test-flock.c: Likewise.
22792         * tests/test-fsync.c: Likewise.
22793         * tests/test-getdate.c: Likewise.
22794         * tests/test-getndelim2.c: Likewise.
22795         * tests/test-isfinite.c: Likewise.
22796         * tests/test-isinf.c: Likewise.
22797         * tests/test-strerror.c: Likewise.
22798         * tests/test-strsignal.c: Likewise.
22799
22800 2009-12-23  Eric Blake  <ebb9@byu.net>
22801
22802         unistd: work around cygwin bug
22803         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
22804         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
22805         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
22806
22807 2009-12-23  Bruno Haible  <bruno@clisp.org>
22808
22809         localename: More tests.
22810         * tests/test-localename.c (SIZEOF): New macro.
22811         (categories): New variable.
22812         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
22813         test_locale_name_default): Add test w.r.t. thread locale.
22814         (test_locale_name_thread): New function.
22815         (main): Invoke it.
22816
22817         localename: Make aware of thread locale.
22818         * lib/localename.h (gl_locale_name_thread): New declaration.
22819         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
22820         behaviour with respect to thread locale.
22821         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
22822         <langinfo.h>, glthread/lock.h.
22823         (SIZE_BITS): New macro.
22824         (string_hash): New function.
22825         (struct hash_node): New type.
22826         (HASH_TABLE_SIZE): New macro.
22827         (struniq_hash_table, struniq_lock): New variables.
22828         (struniq): New function.
22829         (gl_locale_name_thread): New function.
22830         (gl_locale_name): Invoke it.
22831         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
22832         * modules/localename (Depends-on): Add lock.
22833         Reported by Mike Gran <spk121@yahoo.com>.
22834
22835 2009-12-23  Eric Blake  <ebb9@byu.net>
22836
22837         va-args: new module
22838         * modules/va-args: New file.
22839         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
22840         * MODULES.html.sh (Core language properties): Mention it.
22841
22842         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
22843         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
22844         named alias for __attribute__((__unused__)).
22845         * lib/chown.c: Update client.
22846         * lib/fchmodat.c: Likewise.
22847         * lib/fts.c: Likewise.
22848         * lib/getdate.y: Likewise.
22849         * lib/getgroups.c: Likewise.
22850         * lib/getopt.c: Likewise.
22851         * lib/getugroups.c: Likewise.
22852         * lib/mkdir.c: Likewise.
22853         * lib/mkfifo.c: Likewise.
22854         * lib/mkfifoat.c: Likewise.
22855         * lib/mknod.c: Likewise.
22856         * lib/mknodat.c: Likewise.
22857         * lib/readlink.c: Likewise.
22858         * lib/se-context.in.h: Likewise.
22859         * lib/se-selinux.in.h: Likewise.
22860         * lib/sockets.c: Likewise.
22861         * lib/symlink.c: Likewise.
22862         * lib/symlinkat.c: Likewise.
22863         * lib/unicodeio.c: Likewise.
22864         * lib/unistr.h: Likewise.
22865         * tests/test-areadlink.c: Likewise.
22866         * tests/test-areadlinkat.c: Likewise.
22867         * tests/test-filenamecat.c: Likewise.
22868         * tests/test-fseeko.c: Likewise.
22869         * tests/test-ftello.c: Likewise.
22870         * tests/test-getdate.c: Likewise.
22871         * tests/test-getgroups.c: Likewise.
22872         * tests/test-gethostname.c: Likewise.
22873         * tests/test-quotearg.c: Likewise.
22874         * tests/test-version-etc.c: Likewise.
22875         * tests/test-xalloc-die.c: Likewise.
22876         * tests/test-xfprintf-posix.c: Likewise.
22877         * tests/test-xprintf-posix.c: Likewise.
22878         * tests/test-xvasprintf.c: Likewise.
22879
22880         tests: avoid compiler warnings
22881         * tests/test-fcntl.c (main): Delete unused parameters.
22882         * tests/test-freopen-safer.c (main): Likewise.
22883         * tests/test-xalloc-die.c (main): Mark unused parameters.
22884         * tests/test-fseeko.c (main): Likewise.
22885         * tests/test-ftello.c (main): Likewise.
22886         * tests/test-nanosleep.c (main): Avoid declaration warning.
22887         * tests/test-sleep.c (main): Likewise.
22888         * tests/test-unsetenv.c (main): Silence warning about string
22889         literal.
22890         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
22891
22892 2009-12-23  Bruno Haible  <bruno@clisp.org>
22893
22894         * tests/test-localename.c (test_locale_name): New function, extracted
22895         from main. Also test mixed situations.
22896         (test_locale_name_posix, test_locale_name_environ,
22897         test_locale_name_default): New functions.
22898         (main): Invoke them all.
22899         * modules/localename-tests (configure.ac): Test for newlocale.
22900
22901 2009-12-23  Bruno Haible  <bruno@clisp.org>
22902
22903         unistd: Ensure getcwd gets declared before being overridden.
22904         * lib/unistd.in.h: Conditionally include <io.h>.
22905
22906 2009-12-22  Bruno Haible  <bruno@clisp.org>
22907
22908         wchar: Diagnose broken combination of glibc and gcc versions and flags.
22909         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
22910         (gl_WCHAR_H): Invoke it.
22911         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
22912         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
22913         Reported by Karl Berry <karl@freefriends.org>.
22914
22915 2009-12-22  Eric Blake  <ebb9@byu.net>
22916
22917         math, unistd: avoid redundant includes
22918         * lib/math.in.h (isnan): No need to re-include <math.h>.
22919         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
22920
22921         getsubopt: work around cygwin bug
22922         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
22923         avoid conflicting with system getsubopt.
22924         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
22925         bug.
22926
22927         getopt: synchronize from glibc
22928         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
22929         parameter order.  Adjust all callers.
22930         (_getopt_internal_r, main): Adjust quoting in error messages.
22931         Drop considerations for outdated POSIX 1003.2 error message.
22932         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
22933         callers.
22934         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
22935
22936         test-getopt: test stderr behavior
22937         * modules/getopt-posix-tests (Depends-on): Add dup2.
22938         * tests/test-getopt.c (ASSERT): Avoid stderr.
22939         (main): Move stderr to a temporary file.
22940         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
22941         Instead, add parameter to inform caller if output occurred.
22942         (test_getopt): Adjust all existing tests to expect silence, and
22943         add new tests of leading ":".
22944         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
22945         glibc shortcomings with leading "-:" or "+:" in optstring.
22946         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
22947         Likewise.
22948         * doc/posix-functions/getopt.texi (getopt): Likewise.
22949
22950         test-getopt: enhance test
22951         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
22952         supports optind=0.
22953         * tests/test-getopt.c (OPTIND_MIN): Move...
22954         * tests/test-getopt.h (OPTIND_MIN): ...here.
22955         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
22956         Require that optind=0 works, since modern BSD supports it in
22957         addition to optreset, and since coreutils expects it.
22958         (test_getopt_long_only): New test.
22959         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
22960         glibc shortcomings with 'W;', and enforcement of optind=0.
22961         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
22962         Likewise.
22963
22964 2009-12-21  Bruno Haible  <bruno@clisp.org>
22965
22966         localename: Improvements for MacOS X and Cygwin.
22967         * lib/localename.h (gl_locale_name_environ): New declaration.
22968         * lib/localename.c (gl_locale_name_environ): New function, extracted from
22969         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
22970         (gl_locale_name_posix): Invoke it.
22971         (gl_locale_name_default): Add comments. Use Windows native API also on
22972         Cygwin.
22973
22974 2009-12-21  Bruno Haible  <bruno@clisp.org>
22975
22976         Update list of Win32 locale ids.
22977         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
22978         (LANG_SAMI): Renamed from LANG_SAAMI.
22979         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
22980         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
22981         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
22982         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
22983         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
22984         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
22985         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
22986         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
22987         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
22988         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
22989         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
22990         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
22991         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
22992         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
22993         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
22994         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
22995         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
22996         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
22997         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
22998         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
22999         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
23000         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
23001         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
23002         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
23003         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
23004         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
23005         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
23006         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
23007         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
23008         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
23009         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
23010         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
23011         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
23012         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
23013         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
23014         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
23015         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
23016         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
23017         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
23018         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
23019         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
23020         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
23021         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
23022         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
23023         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
23024         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
23025         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
23026         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
23027         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
23028         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
23029         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
23030         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
23031         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
23032         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
23033         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
23034         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
23035         Add more languages and countries for Sami, Sorbian. Add more countries
23036         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
23037         for Pashto. Change country for Syriac, Tswana.
23038
23039 2009-12-21  Eric Blake  <ebb9@byu.net>
23040
23041         test-utimens: avoid spurious failure
23042         * tests/test-chown.h (nap): Factor...
23043         * tests/nap.h: ...into new file.
23044         * tests/test-lchown.h (nap): Avoid duplication.
23045         * tests/test-utimens-common.h (nap): Use shared implementation,
23046         necessary on file systems with 1-second resolution.
23047         * modules/chown-tests (Files): Include new file.
23048         * modules/fdutimensat-tests (Files): Likewise.
23049         * modules/futimens-tests (Files): Likewise.
23050         * modules/lchown-tests (Files): Likewise.
23051         * modules/openat-tests (Files): Likewise.
23052         * modules/utimens-tests (Files): Likewise.
23053         * modules/utimensat-tests (Files): Likewise.
23054
23055 2009-12-19  Eric Blake  <ebb9@byu.net>
23056
23057         futimens, utimensat: work around Linux bug
23058         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
23059         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
23060         * lib/utimensat.c (rpl_utimensat): Work around it.
23061         * lib/futimens.c (rpl_futimens): Adjust comment.
23062
23063         utimens: work around Linux ctime bug
23064         * lib/utimens.c (detect_ctime_bug): New helper function.
23065         (update_timespec): Differentiate between workaround needed for
23066         this bug vs. what is needed for systems that lack utimensat.
23067         (fdutimens, lutimens): Work around bug.
23068
23069         utimens: check for ctime update
23070         * tests/test-utimens-common.h (check_ctime): Define.
23071         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
23072         * tests/test-futimens.h (test_futimens): Likewise.
23073         * tests/test-lutimens.h (test_lutimens): Likewise.
23074         * doc/posix-functions/futimens.texi (futimens): Document the bug.
23075         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
23076
23077 2009-12-19  Bruno Haible  <bruno@clisp.org>
23078
23079         dprintf-posix: Check against memory leak fixed on 2009-12-15.
23080         * tests/test-dprintf-posix2.sh: New file.
23081         * tests/test-dprintf-posix2.c: New file.
23082         * modules/dprintf-posix-tests (Files): Add them.
23083         (configure.ac): Check for getrlimit and setrlimit.
23084         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
23085
23086 2009-12-19  Bruno Haible  <bruno@clisp.org>
23087
23088         fprintf-posix: Check against memory leak fixed on 2009-12-15.
23089         * tests/test-fprintf-posix3.sh: New file.
23090         * tests/test-fprintf-posix3.c: New file.
23091         * modules/fprintf-posix-tests (Files): Add them.
23092         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
23093
23094 2009-12-19  Eric Blake  <ebb9@byu.net>
23095
23096         dirfd: fix prototype
23097         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
23098         * lib/dirfd.c (dirfd): Likewise.
23099
23100         canonicalize: reduce memory usage
23101         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
23102         allocation to size.
23103         Reported by Solar Designer <solar@openwall.com>.
23104
23105 2009-12-19  Bruno Haible  <bruno@clisp.org>
23106
23107         New module attribute 'Applicability'.
23108         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
23109         * gnulib-tool: New option --extract-applicability.
23110         (func_usage): Document it.
23111         (sed_extract_prog): Recognize it.
23112         (func_get_applicability): New function.
23113         (func_import): Generalize handling of 'link-warning' module.
23114         * modules/link-warning (Applicability): New section.
23115         * modules/arg-nonnull (Applicability): New section.
23116         Repoted by Simon Josefsson <simon@josefsson.org>.
23117
23118 2009-12-19  Bruno Haible  <bruno@clisp.org>
23119
23120         fflush: tweak
23121         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
23122         * lib/fseeko.c (rpl_fseeko): Likewise.
23123
23124 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
23125
23126         * lib/gl_list.h: Fix typo in comment.
23127
23128 2009-12-16  Eric Blake  <ebb9@byu.net>
23129
23130         fcntl: use to simplify other modules
23131         * modules/cloexec (Depends-on): Add fcntl.
23132         * modules/fchdir (Depends-on): Likewise.
23133         * modules/fd-safer-flag (Depends-on): Likewise.
23134         * modules/unistd-safer (Depends-on): Likewise.
23135         * modules/dup3 (configure.ac): Set module indicator.
23136         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
23137         missing.
23138         * lib/fchdir.c (_gl_register_dup): Fix comment.
23139         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
23140         * lib/dup-safer.c (dup_safer): Likewise.
23141         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
23142         * lib/dup3.c (dup3): Likewise.
23143         * tests/test-fchdir.c (main): Enhance test.
23144         Fixes a dup_cloexec bug reported by OndÅ™ej Vašík.
23145
23146         fcntl: port portions of fcntl to mingw
23147         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
23148         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
23149         replacement for mingw.
23150         * modules/fcntl (Description): Update.
23151         (Depends-on): Add dup2.
23152         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
23153         * modules/fcntl-h (Makefile.am): Substitute it.
23154         * lib/fcntl.in.h (fcntl): Update declaration.
23155         (F_DUPFD, F_GETFD): New macros, when needed.
23156         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
23157         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
23158         * tests/test-fcntl.c (check_flags, main): Enhance test for items
23159         we now guarantee.
23160
23161         fcntl: work around cygwin bug in F_DUPFD
23162         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
23163         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
23164         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
23165         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
23166         * doc/posix-functions/fcntl.texi (fcntl): Document it.
23167
23168         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
23169         * modules/fcntl (Files): List new files.
23170         (configure.ac): Run a test.
23171         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
23172         * lib/fcntl.c (rpl_fcntl): Likewise.
23173         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
23174         (gl_FCNTL_H): Always replace fcntl.h.
23175         * modules/fcntl-h (Makefile.am): Substitute witnesses.
23176         * lib/fcntl.in.h (fcntl): Declare replacement.
23177         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
23178         needed, plus a witness.
23179         * doc/posix-functions/fcntl.texi (fcntl): Document this.
23180         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
23181         * tests/test-fcntl.c: New file.
23182         * modules/fcntl-tests: Likewise.
23183
23184         binary-io: avoid potential compilation warning
23185         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
23186         directives.
23187
23188         fflush: avoid compilation error on NetBSD
23189         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
23190         between off_t and fpos_t, since the latter is sometimes a struct.
23191         * lib/fseeko.c (rpl_fseeko): Likewise.
23192         Reported by Alexander Nasonov <alnsn@yandex.ru>.
23193
23194 2009-12-15  Eric Blake  <ebb9@byu.net>
23195
23196         fcntl-h, stdio, sys_ioctl: fix declarations
23197         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
23198         function must not take arguments.
23199         * lib/sys_ioctl.in.h (ioctl): Likewise.
23200         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
23201         (open): Add a link warning.
23202
23203 2009-12-15  Jim Meyering  <meyering@redhat.com>
23204
23205         areadlink, areadlink-with-size: relax license to LGPLv2+
23206         * modules/areadlink (License): Relax to LGPLv2+.
23207         * modules/areadlink-with-size (License): Likewise.
23208
23209 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
23210             Bruno Haible  <bruno@clisp.org>
23211
23212         *printf: Fix memory leak.
23213         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
23214         * lib/vfprintf.c (vfprintf): Likewise.
23215         * lib/dprintf.c (dprintf): Likewise.
23216         * lib/vdprintf.c (vdprintf): Likewise.
23217
23218 2009-12-14  Eric Blake  <ebb9@byu.net>
23219
23220         accept4: adjust module dependencies
23221         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
23222
23223         utimens: one more try at avoiding compiler warning
23224         * lib/utimens.c (lutimens): Lower scope of result.
23225
23226 2009-12-13  Bruno Haible  <bruno@clisp.org>
23227
23228         Move the malloc checking from module 'list' to new module 'xlist'.
23229         * modules/xlist: New file.
23230         * lib/gl_xlist.h: New file.
23231         * lib/gl_xlist.c: New file.
23232         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
23233         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
23234         gl_list_add_last, gl_list_add_before, gl_list_add_after,
23235         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
23236         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
23237         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
23238         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
23239         gl_sortedlist_nx_add): New declarations.
23240         (struct gl_list_implementation): Rename and change methods accordingly.
23241         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
23242         (gl_list_nx_create): Renamed from gl_list_create.
23243         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
23244         (gl_list_nx_set_at): Renamed from gl_list_set_at.
23245         (gl_list_nx_add_first): Renamed from gl_list_add_first.
23246         (gl_list_nx_add_last): Renamed from gl_list_add_last.
23247         (gl_list_nx_add_before): Renamed from gl_list_add_before.
23248         (gl_list_nx_add_after): Renamed from gl_list_add_after.
23249         (gl_list_nx_add_at): Renamed from gl_list_add_at.
23250         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
23251         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
23252         gl_list_create_empty.
23253         (gl_list_nx_create): Renamed from gl_list_create.
23254         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
23255         (gl_list_nx_set_at): Renamed from gl_list_set_at.
23256         (gl_list_nx_add_first): Renamed from gl_list_add_first.
23257         (gl_list_nx_add_last): Renamed from gl_list_add_last.
23258         (gl_list_nx_add_before): Renamed from gl_list_add_before.
23259         (gl_list_nx_add_after): Renamed from gl_list_add_after.
23260         (gl_list_nx_add_at): Renamed from gl_list_add_at.
23261         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
23262         * lib/gl_array_list.c: Don't include xalloc.h.
23263         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
23264         NULL upon out-of-memory.
23265         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
23266         out-of-memory.
23267         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
23268         Change return type to 'int'.
23269         (gl_array_nx_set_at): Renamed from gl_array_set_at.
23270         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
23271         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
23272         upon out-of-memory.
23273         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
23274         upon out-of-memory.
23275         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
23276         upon out-of-memory.
23277         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
23278         upon out-of-memory.
23279         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
23280         out-of-memory.
23281         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
23282         Update.
23283         (gl_array_list_implementation): Update.
23284         * lib/gl_carray_list.c: Don't include xalloc.h.
23285         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
23286         Return NULL upon out-of-memory.
23287         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
23288         out-of-memory.
23289         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
23290         Change return type to 'int'.
23291         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
23292         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
23293         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
23294         upon out-of-memory.
23295         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
23296         upon out-of-memory.
23297         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
23298         out-of-memory.
23299         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
23300         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
23301         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
23302         Update.
23303         (gl_carray_list_implementation): Update.
23304         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
23305         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
23306         gl_linked_create_empty. Return NULL upon out-of-memory.
23307         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
23308         out-of-memory.
23309         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
23310         Change return type to 'int'. Return -1 upon out-of-memory.
23311         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
23312         out-of-memory.
23313         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
23314         upon out-of-memory.
23315         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
23316         upon out-of-memory.
23317         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
23318         NULL upon out-of-memory.
23319         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
23320         upon out-of-memory.
23321         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
23322         out-of-memory.
23323         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
23324         Update.
23325         * lib/gl_linked_list.c: Don't include xalloc.h.
23326         (gl_linked_list_implementation): Update.
23327         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
23328         (add_to_bucket): Change return type to 'int'.
23329         (gl_linkedhash_list_implementation): Update.
23330         * lib/gl_anytree_list1.h (free_subtree): New function.
23331         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
23332         gl_tree_create_empty. Return NULL upon out-of-memory.
23333         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
23334         Change return type to 'int'. Return -1 upon out-of-memory.
23335         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
23336         out-of-memory.
23337         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
23338         (gl_tree_remove_node): New function, moved here from
23339         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
23340         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
23341         Update.
23342         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
23343         malloc, not xmalloc. Return NULL upon out-of-memory.
23344         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
23345         out-of-memory.
23346         (gl_tree_remove_node_from_tree): New function, extracted from
23347         gl_tree_remove_node.
23348         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
23349         upon out-of-memory.
23350         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
23351         out-of-memory.
23352         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
23353         upon out-of-memory.
23354         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
23355         upon out-of-memory.
23356         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
23357         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
23358         not xmalloc. Return NULL upon out-of-memory.
23359         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
23360         out-of-memory.
23361         (gl_tree_remove_node_from_tree): New function, extracted from
23362         gl_tree_remove_node.
23363         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
23364         upon out-of-memory.
23365         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
23366         out-of-memory.
23367         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
23368         upon out-of-memory.
23369         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
23370         upon out-of-memory.
23371         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
23372         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
23373         gl_anytree_list1.h before gl_anyavltree_list2.h.
23374         (gl_avltree_list_implementation): Update.
23375         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
23376         gl_anytree_list1.h before gl_anyavltree_list2.h.
23377         (gl_rbtree_list_implementation): Update.
23378         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
23379         Change return type to 'int'. Return -1 upon out-of-memory. Use
23380         __builtin_expect.
23381         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
23382         (gl_avltreehash_list_implementation): Update.
23383         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
23384         (gl_rbtreehash_list_implementation): Update.
23385         * modules/array-list (Depends-on): Remove xalloc.
23386         * modules/carray-list (Depends-on): Likewise.
23387         * modules/linked-list (Depends-on): Likewise.
23388         * modules/linkedhash-list (Depends-on): Likewise.
23389         * modules/avltree-list (Depends-on): Likewise.
23390         * modules/rbtree-list (Depends-on): Likewise.
23391         * modules/avltreehash-list (Depends-on): Likewise.
23392         * modules/rbtreehash-list (Depends-on): Likewise.
23393
23394         * modules/xsublist: New file.
23395         * lib/gl_xsublist.h: New file.
23396         * lib/gl_xsublist.c: New file.
23397         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
23398         (gl_sublist_nx_create): New declaration.
23399         * lib/gl_sublist.c: Don't include xalloc.h.
23400         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
23401         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
23402         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
23403         Change return type to 'int'. Return -1 upon out-of-memory.
23404         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
23405         upon out-of-memory.
23406         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
23407         NULL upon out-of-memory.
23408         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
23409         upon out-of-memory.
23410         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
23411         NULL upon out-of-memory.
23412         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
23413         NULL upon out-of-memory.
23414         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
23415         upon out-of-memory.
23416         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
23417         (gl_sublist_list_implementation): Update.
23418         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
23419         upon out-of-memory.
23420         * modules/sublist (Depends-on): Remove xalloc.
23421
23422         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
23423         * tests/test-carray_list.c: Likewise.
23424         * tests/test-linked_list.c: Likewise.
23425         * tests/test-linkedhash_list.c: Likewise.
23426         * tests/test-avltree_list.c: Likewise.
23427         * tests/test-rbtree_list.c: Likewise.
23428         * tests/test-avltreehash_list.c: Likewise.
23429         * tests/test-rbtreehash_list.c: Likewise.
23430         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
23431         * modules/carray-list-tests (Makefile.am): Likewise.
23432         * modules/linked-list-tests (Makefile.am): Likewise.
23433         * modules/linkedhash-list-tests (Makefile.am): Likewise.
23434         * modules/avltree-list-tests (Makefile.am): Likewise.
23435         * modules/rbtree-list-tests (Makefile.am): Likewise.
23436         * modules/avltreehash-list-tests (Makefile.am): Likewise.
23437         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
23438
23439         * NEWS: Mention the changes.
23440
23441         * lib/clean-temp.c: Include gl_xlist.h.
23442         * modules/clean-temp (Depends-on): Add xlist.
23443
23444         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
23445         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
23446
23447         * tests/test-array_oset.c: Include gl_xlist.h.
23448         * modules/array-oset-tests (Depends-on): Add xlist.
23449
23450         Reported by José E. Marchesi <jemarch@gnu.org>.
23451
23452 2009-12-13  Bruno Haible  <bruno@clisp.org>
23453
23454         Move the malloc checking from module 'oset' to new module 'xoset'.
23455         * modules/xoset: New file.
23456         * lib/gl_xoset.h: New file.
23457         * lib/gl_xoset.c: New file.
23458         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
23459         declarations.
23460         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
23461         (struct gl_oset_implementation): Rename and change methods accordingly.
23462         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
23463         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
23464         'int'. Mark as __warn_unused_result__.
23465         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
23466         gl_oset_create_empty.
23467         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
23468         'int'.
23469         * lib/gl_array_oset.c: Don't include xalloc.h.
23470         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
23471         malloc, not xmalloc.
23472         (grow): Change return type to 'int'. Don't call xalloc_die.
23473         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
23474         to 'int'.
23475         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
23476         'int'.
23477         (gl_array_oset_implementation): Update.
23478         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
23479         gl_tree_create_empty.
23480         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
23481         'int'.
23482         * lib/gl_avltree_oset.c: Don't include xalloc.h.
23483         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
23484         xmalloc.
23485         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
23486         not xmalloc.
23487         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
23488         xmalloc.
23489         (gl_avltree_oset_implementation): Update.
23490         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
23491         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
23492         xmalloc.
23493         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
23494         not xmalloc.
23495         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
23496         xmalloc.
23497         (gl_rbtree_oset_implementation): Update.
23498         * modules/array-oset (Depends-on): Remove xalloc.
23499         * modules/avltree-oset (Depends-on): Likewise.
23500         * modules/rbtree-oset (Depends-on): Likewise.
23501         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
23502         * tests/test-avltree_oset.c: Likewise.
23503         * tests/test-rbtree_oset.c: Likewise.
23504         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
23505         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
23506         * modules/rbtree-oset-tests (Makefile.am): Likewise.
23507         * NEWS: Mention the change.
23508
23509 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
23510
23511         maint.mk: allow a project to override release-prep commands
23512         * top/maint.mk (alpha, beta, stable): Move release-preparatory
23513         commands into a new rule.
23514         (release-prep): New rule.
23515         (release-prep-hook): New overridable variable.
23516
23517 2009-12-13  Bruno Haible  <bruno@clisp.org>
23518
23519         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
23520
23521 2009-12-13  Jim Meyering  <meyering@redhat.com>
23522
23523         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
23524         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
23525
23526 2009-12-12  Bruno Haible  <bruno@clisp.org>
23527
23528         duplocale: Tweak.
23529         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
23530
23531 2009-12-12  Karl Berry  <karl@gnu.org>
23532
23533         * config/srclist.txt (strtoll.c): tab changes, no more sync.
23534
23535 2009-12-12  Bruno Haible  <bruno@clisp.org>
23536
23537         * m4/po.m4: Undo incorrect untabification.
23538
23539 2009-12-12  Bruno Haible  <bruno@clisp.org>
23540
23541         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
23542         * modules/c-strtod (Depends-on): Add locale.
23543         * modules/c-strtold (Depends-on): Likewise.
23544
23545 2009-12-12  Bruno Haible  <bruno@clisp.org>
23546
23547         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
23548
23549 2009-12-11  Eric Blake  <ebb9@byu.net>
23550
23551         setenv: relax requirement in light of POSIX ruling
23552         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
23553         not NULL.
23554         * tests/test-setenv.c (main): Relax test.
23555         * tests/test-unsetenv.c (main): Likewise.
23556         * doc/posix-functions/setenv.texi (setenv): Document this.
23557         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
23558
23559 2009-12-11  Bruno Haible  <bruno@clisp.org>
23560
23561         New module 'fd-safer-flag'.
23562         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
23563         * lib/dup-safer.c (dup_safer_flag): Remove function.
23564         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
23565         * lib/fd-safer.c (fd_safer_flag): Remove function.
23566         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
23567         * modules/cloexec (configure.ac): Drop indicator macro.
23568         * modules/fd-safer-flag: New file.
23569         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
23570         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
23571         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
23572
23573 2009-12-11  Bruno Haible  <bruno@clisp.org>
23574
23575         Tests for module 'nl_langinfo'.
23576         * modules/nl_langinfo-tests: New file.
23577         * tests/test-nl_langinfo.sh: New file.
23578         * tests/test-nl_langinfo.c: New file.
23579
23580         New module 'nl_langinfo'.
23581         * lib/nl_langinfo.c: New file.
23582         * m4/nl_langinfo.m4: New file.
23583         * modules/nl_langinfo: New file.
23584         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
23585
23586 2009-12-11  Bruno Haible  <bruno@clisp.org>
23587
23588         Tests for module 'langinfo'.
23589         * modules/langinfo-tests: New file.
23590         * tests/test-langinfo.c: New file.
23591
23592         New module 'langinfo'.
23593         * lib/langinfo.in.h: New file.
23594         * m4/langinfo_h.m4: New file.
23595         * modules/langinfo: New file.
23596         * doc/posix-headers/langinfo.texi: Mention the new module.
23597
23598 2009-12-11  Bruno Haible  <bruno@clisp.org>
23599
23600         * lib/config.charset: Untabify.
23601
23602 2009-12-11  Bruno Haible  <bruno@clisp.org>
23603
23604         * modules/unistd-safer (configure.ac): Drop indicator macro.
23605
23606 2009-12-11  Bruno Haible  <bruno@clisp.org>
23607
23608         Move pipe2-safer code to its own file.
23609         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
23610         * lib/pipe-safer.c (pipe2_safer): Remove function.
23611         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
23612         (Makefile.am): Add it to lib_SOURCES.
23613
23614 2009-12-10  Bruno Haible  <bruno@clisp.org>
23615
23616         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
23617
23618 2009-12-10  Bruno Haible  <bruno@clisp.org>
23619
23620         Declare which arguments expect non-NULL values, for GCC and clang.
23621         * build-aux/arg-nonnull.h: New file.
23622         * modules/arg-nonnull: New file.
23623         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
23624         (inet_ntop, inet_pton): Use it.
23625         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
23626         (closedir, dirfd, opendir, scandir, alphasort): Use it.
23627         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
23628         (open, openat): Use it.
23629         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
23630         (fnmatch): Use it.
23631         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
23632         (getopt, getopt_long, getopt_long_only): Use it.
23633         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
23634         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
23635         Use it.
23636         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
23637         (iconv_open): Use it.
23638         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
23639         (strtoimax, strtoumax): Use it.
23640         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
23641         (duplocale): Use it.
23642         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
23643         (frexp, frexpl): Use it.
23644         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
23645         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
23646         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
23647         (tsearch, tfind, tdelete, twalk): Use it.
23648         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
23649         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
23650         sigpending): Use it.
23651         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
23652         (posix_spawn, posix_spawnp, posix_spawnattr_init,
23653         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
23654         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
23655         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
23656         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
23657         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
23658         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
23659         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
23660         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
23661         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
23662         Use it.
23663         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
23664         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
23665         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
23666         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
23667         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
23668         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
23669         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
23670         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
23671         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
23672         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
23673         strtoull, unsetenv): Use it.
23674         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
23675         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
23676         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
23677         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
23678         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
23679         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
23680         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
23681         (strcasecmp, strncasecmp): Use it.
23682         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
23683         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
23684         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
23685         rpl_setsockopt): Use it.
23686         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
23687         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
23688         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
23689         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
23690         (gettimeofday): Use it.
23691         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
23692         (times): Use it.
23693         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
23694         (uname): Use it.
23695         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
23696         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
23697         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
23698         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
23699         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
23700         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
23701         unlinkat, write): Use it.
23702         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
23703         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
23704         * lib/argv-iter.h: Include arg-nonnull.h.
23705         (_ATTRIBUTE_NONNULL_): Remove macro.
23706         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
23707         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
23708         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
23709         optimization.
23710         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
23711         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
23712         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
23713         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
23714         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
23715         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
23716         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
23717         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
23718         * modules/arpa_inet (Depends-on): Add arg-nonnull.
23719         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
23720         * modules/dirent (Depends-on): Add arg-nonnull.
23721         (Makefile.am): Insert arg-nonnull.h into dirent.h.
23722         * modules/fcntl-h (Depends-on): Add arg-nonnull.
23723         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
23724         * modules/fnmatch (Depends-on): Add arg-nonnull.
23725         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
23726         * modules/getopt-posix (Depends-on): Add arg-nonnull.
23727         (Makefile.am): Insert arg-nonnull.h into getopt.h.
23728         * modules/glob (Depends-on): Add arg-nonnull.
23729         (Makefile.am): Insert arg-nonnull.h into glob.h.
23730         * modules/iconv_open (Depends-on): Add arg-nonnull.
23731         (Makefile.am): Insert arg-nonnull.h into iconv.h.
23732         * modules/inttypes (Depends-on): Add arg-nonnull.
23733         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
23734         * modules/locale (Depends-on): Add arg-nonnull.
23735         (Makefile.am): Insert arg-nonnull.h into locale.h.
23736         * modules/math (Depends-on): Add arg-nonnull.
23737         (Makefile.am): Insert arg-nonnull.h into math.h.
23738         * modules/netdb (Depends-on): Add arg-nonnull.
23739         (Makefile.am): Insert arg-nonnull.h into netdb.h.
23740         * modules/search (Depends-on): Add arg-nonnull.
23741         (Makefile.am): Insert arg-nonnull.h into search.h.
23742         * modules/signal (Depends-on): Add arg-nonnull.
23743         (Makefile.am): Insert arg-nonnull.h into signal.h.
23744         * modules/spawn (Depends-on): Add arg-nonnull.
23745         (Makefile.am): Insert arg-nonnull.h into spawn.h.
23746         * modules/stdio (Depends-on): Add arg-nonnull.
23747         (Makefile.am): Insert arg-nonnull.h into stdio.h.
23748         * modules/stdlib (Depends-on): Add arg-nonnull.
23749         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
23750         * modules/string (Depends-on): Add arg-nonnull.
23751         (Makefile.am): Insert arg-nonnull.h into string.h.
23752         * modules/strings (Depends-on): Add arg-nonnull.
23753         (Makefile.am): Insert arg-nonnull.h into strings.h.
23754         * modules/sys_socket (Depends-on): Add arg-nonnull.
23755         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
23756         * modules/sys_stat (Depends-on): Add arg-nonnull.
23757         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
23758         * modules/sys_time (Depends-on): Add arg-nonnull.
23759         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
23760         * modules/sys_times (Depends-on): Add arg-nonnull.
23761         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
23762         * modules/sys_utsname (Depends-on): Add arg-nonnull.
23763         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
23764         * modules/time (Depends-on): Add arg-nonnull.
23765         (Makefile.am): Insert arg-nonnull.h into time.h.
23766         * modules/unistd (Depends-on): Add arg-nonnull.
23767         (Makefile.am): Insert arg-nonnull.h into unistd.h.
23768         * modules/wchar (Depends-on): Add arg-nonnull.
23769         (Makefile.am): Insert arg-nonnull.h into wchar.h.
23770         * modules/argv-iter (Depends-on): Add arg-nonnull.
23771         * tests/test-canonicalize.c (null_ptr): New function.
23772         (main): Use it.
23773         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
23774         (main): Use it.
23775         * tests/test-memmem.c (null_ptr): New function.
23776         (main): Use it.
23777         Reported by Jim Meyering.
23778
23779 2009-12-10  Bruno Haible  <bruno@clisp.org>
23780
23781         Use spaces for indentation, not tabs.
23782         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
23783         * m4/*.m4: Untabify.
23784         * build-aux/*.h: Untabify.
23785         * tests/**/*.[hc]: Untabify.
23786         * README: New section "Indent with spaces, not TABs", based on
23787         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
23788         * NEWS: Mention the change.
23789
23790 2009-12-10  Bruno Haible  <bruno@clisp.org>
23791
23792         pty test: Fix link error.
23793         * modules/pty-tests (Makefile.am): Add the default LDADD value to
23794         test_pty_LDADD.
23795
23796 2009-12-07  Simon Josefsson  <simon@josefsson.org>
23797
23798         * modules/pty: New file.
23799         * modules/pty-tests: New file.
23800         * m4/pty.m4: New file.
23801         * tests/test-pty.c: New file.
23802         * doc/glibc-headers/pty.texi: Modified.
23803         * doc/glibc-functions/forkpty.texi: Modified.
23804         * doc/glibc-functions/openpty.texi: Modified.
23805
23806 2009-12-10  Bruno Haible  <bruno@clisp.org>
23807
23808         Avoid syntax error in C++ mode.
23809         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
23810
23811 2009-12-10  Bruno Haible  <bruno@clisp.org>
23812
23813         Use sed with option -e.
23814         * gnulib-tool (func_version, func_emit_copyright_notice,
23815         func_emit_initmacro_end, func_import, func_create_testdir): Pass
23816         option -e to sed.
23817         * modules/link-warning (Makefile.am): Likewise.
23818
23819 2009-12-10  Jim Meyering  <meyering@redhat.com>
23820
23821         mgetgroups: do not write bytes beyond end of malloc'd buffer
23822         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
23823         username, we call getgroups with a one-element-shorter buffer,
23824         but still told it the length was original, max_n_groups.
23825
23826 2009-12-09  Eric Blake  <ebb9@byu.net>
23827
23828         cloexec: relax license
23829         * modules/cloexec (Maintainer): Add myself.
23830         (License): Use LGPL, not GPL.
23831
23832         link-warning: optimize generation
23833         * modules/link-warning (Makefile.am): Reduce process usage.
23834
23835 2009-12-09  Bruno Haible  <bruno@clisp.org>
23836
23837         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
23838         workaround was added on 2009-11-17.
23839
23840 2009-12-09  Jim Meyering  <meyering@redhat.com>
23841             Bruno Haible  <bruno@clisp.org>
23842
23843         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
23844         * modules/link-warning (Makefile.am): Make the comment-removing sed
23845         command more robust in the face of bootstrap-prepended comment lines.
23846
23847 2009-12-09  Bruno Haible  <bruno@clisp.org>
23848
23849         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
23850         most one group.
23851
23852 2009-12-09  Simon Josefsson <simon@josefsson.org>
23853             Bruno Haible  <bruno@clisp.org>
23854
23855         * build-aux/link-warning.h: Add copyright notice.
23856         * modules/link-warning (Makefile.am): Generate link-warning.h from
23857         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
23858         * NEWS: Mention change in link-warning module.
23859         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
23860         * modules/dirent (Makefile.am): Add dependency to dirent.h.
23861         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
23862         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
23863         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
23864         * modules/math (Makefile.am): Add dependency to math.h.
23865         * modules/search (Makefile.am): Add dependency to search.h.
23866         * modules/signal (Makefile.am): Add dependency to signal.h.
23867         * modules/spawn (Makefile.am): Add dependency to spawn.h.
23868         * modules/stdio (Makefile.am): Add dependency to stdio.h.
23869         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
23870         * modules/string (Makefile.am): Add dependency to string.h.
23871         * modules/strings (Makefile.am): Add dependency to strings.h.
23872         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
23873         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
23874         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
23875         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
23876         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
23877         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
23878         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
23879         * modules/unistd (Makefile.am): Add dependency to unistd.h.
23880         * modules/wchar (Makefile.am): Add dependency to wchar.h.
23881
23882 2009-12-09  Bruno Haible  <bruno@clisp.org>
23883
23884         fchdir: Optimize away rpl_fstat when possible.
23885         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
23886         REPLACE_OPEN_DIRECTORY.
23887         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
23888
23889 2009-12-09  Bruno Haible  <bruno@clisp.org>
23890
23891         * lib/fchdir.c: Update comment.
23892
23893 2009-12-09  Bruno Haible  <bruno@clisp.org>
23894
23895         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
23896
23897 2009-12-08  Eric Blake  <ebb9@byu.net>
23898
23899         fchdir: avoid memory leak on re-registration.
23900         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
23901
23902 2009-12-08  Jim Meyering  <meyering@redhat.com>
23903
23904         init.sh: avoid Solaris 10 /bin/sh portability problem
23905         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
23906         sourced script:
23907           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
23908           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
23909           bar
23910         tests/init.sh relied on that, accepting a --set-path=DIR argument,
23911         and two tests used that idiom.
23912         * tests/init.sh: Update suggested usage comments.
23913         (path_prepend_): New function, to be used in place
23914         of the --src-path=DIR option.
23915         (setup_): Move PATH-prepending code into path_prepend_.
23916         * tests/test-pread.sh: Adapt to new usage.
23917         * tests/test-xalloc-die.sh: Likewise.
23918
23919 2009-12-08  Simon Josefsson  <simon@josefsson.org>
23920
23921         * doc/gnulib.texi (Glibc pty.h): Add.
23922         * doc/glibc-functions/forkpty.texi: Add.
23923         * doc/glibc-functions/openpty.texi: Add.
23924         Suggested by Bruno Haible.
23925
23926 2009-12-08  Eric Blake  <ebb9@byu.net>
23927
23928         fchdir: fix logic bugs
23929         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
23930         * tests/test-fchdir.c (main): Enhance test.
23931         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
23932         is in use.
23933
23934         dup2: fix logic bugs
23935         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
23936         REPLACE_DUP2 to decide when rpl_dup2 is needed.
23937         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
23938         exists.
23939         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
23940
23941 2009-12-07  Eric Blake  <ebb9@byu.net>
23942
23943         unlink: fix m4 detection
23944         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
23945
23946         unistd-safer: add unit test
23947         * modules/unistd-safer-tests: New file.
23948         * tests/test-dup-safer.c: Likewise.
23949         * tests/test-cloexec.c (setmode): Avoid compiler warning.
23950         * tests/test-dup2.c (setmode): Likewise.
23951         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
23952
23953         cloexec: preserve text vs. binary across dup_cloexec
23954         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
23955         mode.
23956         * modules/dup2-tests (Depends-on): Add binary-io.
23957         * modules/cloexec-tests (Depends-on): Likewise.
23958         * tests/test-dup2.c (setmode, is_mode): New helpers.
23959         (main): Add tests that translation mode is preserved.
23960         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
23961         Reported by Bruno Haible.
23962
23963         mgetgroups: reduce duplicate listings
23964         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
23965         resulting array.
23966         * tests/test-chown.h (test_chown): Simplify client.
23967         * tests/test-lchown.h (test_lchown): Likewise.
23968
23969 2009-12-06  Bruno Haible  <bruno@clisp.org>
23970
23971         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
23972         value.
23973
23974 2009-12-06  Bruno Haible  <bruno@clisp.org>
23975
23976         * lib/progname.c: Include stdio.h, stdlib.h.
23977         (set_program_name): Reject a NULL argument.
23978
23979 2009-12-05  Eric Blake  <ebb9@byu.net>
23980
23981         pipe2-safer: new module
23982         * modules/pipe2-safer: New file.
23983         * lib/unistd-safer.h (pipe2_safer): New prototype.
23984         * lib/unistd--.h (pipe2): New wrapper.
23985         * lib/pipe-safer.c (pipe2_safer): New function.
23986         * modules/pipe (Depends-on): Add pipe2-safer.
23987         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
23988
23989         stdlib-safer: preserve cloexec flag for mkostemp[s]
23990         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
23991         fd_safer_flag.
23992
23993         unistd-safer: allow preservation of cloexec status via flag
23994         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
23995         prototypes.
23996         * lib/dup-safer.c (dup_safer_flag): New function.
23997         * lib/fd-safer.c (fd_safer_flag): Likewise.
23998         * modules/cloexec (configure.ac): Set witness.
23999
24000         test-dup2: enhance test
24001         * modules/dup2-tests (Depends-on): Add cloexec.
24002         * tests/test-dup2.c (main): Enhance test.
24003
24004         cloexec: add dup_cloexec
24005         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
24006         header and comments.
24007         * lib/cloexec.c (set_cloexec_flag): Add comments.
24008         (dup_cloexec): New function, with mingw implementation borrowed
24009         from...
24010         * lib/w32spawn.h (dup_noinherit): ...here.
24011         * modules/execute (Depends-on): Add cloexec.
24012         * modules/pipe (Depends-on): Likewise.
24013         * modules/cloexec (Depends-on): Add dup2.
24014         * modules/cloexec-tests (Files): New file.
24015         * tests/test-cloexec.c: Likewise.
24016
24017         test-xalloc-die: fix test for mingw
24018         * modules/xalloc-die-tests (Files): Add tests/init.sh.
24019         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
24020         directory and .exe suffix off argv[0] output.
24021
24022         test-fseeko: fix test for mingw
24023         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
24024         than undefining fseek, so test will pass on mingw.
24025
24026 2009-12-05  Bruno Haible  <bruno@clisp.org>
24027
24028         * lib/progname.h (set_program_name): Clarify specification.
24029         * lib/progname.c (set_program_name): Likewise.
24030         Reported by Jim Meyering.
24031
24032 2009-12-05  Jim Meyering  <meyering@redhat.com>
24033
24034         maint.mk: backslash-escape parens in default regexp
24035         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
24036         backslash-escape the literal parentheses.
24037
24038         maint.mk: news-date-check: use grep -E
24039         * top/maint.mk (today): Define a Make variable, not a...
24040         (news-date-check): ...shell variable.
24041         (news-date-regexp): Use the Make variable.
24042         Use grep's -E option.  Change the failing diagnostic to mention
24043         the variable, $(news-date-regexp).
24044
24045 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
24046
24047         maintainer-makefile: allow customization of NEWS entry format
24048         * top/maint.mk (news-date-regexp): New overridable variable.
24049         (news-date-check): Use it.
24050
24051 2009-12-04  Eric Blake  <ebb9@byu.net>
24052
24053         mgetgroups: add xgetgroups, and avoid ENOSYS failures
24054         * lib/mgetgroups.h (xgetgroups): New prototype.
24055         * lib/mgetgroups.c (xgetgroups): New wrapper.
24056         (mgetgroups): Handle ENOSYS.
24057         * modules/mgetgroups (Depends-on): Add realloc.
24058         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
24059
24060         mgetgroups: avoid argument promotion issues with -1
24061         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
24062         for invalid gid_t.
24063         * tests/test-chown.h (getegid, test_chown): Likewise.
24064         * tests/test-lchown.h (getegid, test_lchown): Likewise.
24065
24066 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
24067
24068         exclude: Fix header file problems.
24069         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
24070
24071 2009-12-01  Jim Meyering  <meyering@redhat.com>
24072
24073         fts: fts_open: do not let an empty string cause immediate failure
24074         This is required in support of GNU rm, for which the command
24075         "rm A '' B" must process and remove both A and B, in spite of
24076         the empty string argument.
24077         * lib/fts.c (fts_open): Do not let the presence of an empty string
24078         cause fts_open to fail immediately.  Most fts-using tools must be
24079         able to process all arguments, in order, and can be expected to
24080         diagnose such arguments themselves.
24081
24082 2009-11-30  Eric Blake  <ebb9@byu.net>
24083
24084         utimens: fix compilation error
24085         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
24086         Declare variable at right scope.
24087
24088 2009-11-29  Jim Meyering  <meyering@redhat.com>
24089
24090         bootstrap: handle perl-5.11's changed --version output
24091         * build-aux/bootstrap (get_version): Handle perl separately,
24092         since perl-5.11's --version output is different.
24093
24094 2009-11-28  Jim Meyering  <meyering@redhat.com>
24095
24096         userspec: depend on the inttostr module, too
24097         * modules/userspec (Depends-on): Add inttostr.
24098
24099         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
24100         * lib/userspec.c (parse_with_separator): Do not accept a user ID
24101         number of MAXUID when it evaluates to (uid_t) -1.
24102         Likewise for group ID.  Reported by Matt McCutchen in
24103         <http://savannah.gnu.org/bugs/?28113>
24104
24105         userspec: reformat to use spaces, not TABs
24106         * lib/userspec.c: Expand TABs to spaces.
24107         Add Emacs' "indent-tabs-mode: nil" hint.
24108
24109 2009-11-27  Eric Blake  <ebb9@byu.net>
24110
24111         getopt-gnu: flush out another BSD bug
24112         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
24113         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
24114         flush out BSD bug.
24115         * tests/test-getopt.h (test_getopt): End lists with NULL.
24116         * tests/test-getopt_long.h (test_getopt_long): Likewise.
24117         (test_getopt_long_posix): Enhance test.
24118         * modules/getopt-posix-tests (Depends-on): Add stdbool.
24119         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
24120         getopt-gnu.
24121         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
24122         Likewise.
24123
24124 2009-11-27  Simon Josefsson  <simon@josefsson.org>
24125
24126         * modules/idpriv-droptemp-tests (Notice): Fix text.
24127
24128 2009-11-27  Jim Meyering  <meyering@redhat.com>
24129
24130         test-xalloc-die: avoid spurious failure due to libtool argv difference
24131         In a libtool-enabled project, this test would fail due to a difference
24132         in the emitted program name, e.g.,
24133         -test-xalloc-die: memory exhausted
24134         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
24135         Use program to avoid that.
24136         * modules/xalloc-die-tests (Depends-on): Add progname.
24137         * tests/test-xalloc-die.c: Include progname.h".
24138         (program_name): Remove decl.
24139         (main): Call set_program_name.
24140         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
24141
24142 2009-11-26  Richard Jones  <rjones@redhat.com>
24143
24144         w32sock: leave win32 error in place.
24145         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
24146
24147 2009-11-26  Eric Blake  <ebb9@byu.net>
24148
24149         init.sh: suggest to use skip_ and fail_ functions in comments
24150         * tests/init.sh: Add a sentence.
24151
24152 2009-11-25  Bruno Haible  <bruno@clisp.org>
24153
24154         init.sh: add documentation in comments
24155         * tests/init.sh: Add some developer and user documentation.
24156
24157 2009-11-26  Jim Meyering  <meyering@redhat.com>
24158
24159         init.sh: accommodate even those who specify bogus srcdir manually
24160         * tests/init.sh: Normally, srcdir is guaranteed by automake and
24161         configure-time tests to be sanitized, so that there is no need to
24162         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
24163         (with no double quotes) suffices.  However, since tests may be
24164         invoked manually, and since you may explicitly set srcdir to the
24165         name of a directory containing spaces, do quote its uses here.
24166         * tests/test-pread.sh: Likewise.
24167         Suggested by Bruno Haible.
24168
24169         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
24170         * tests/test-pread.sh: Write no data into the pipe, because
24171         test-pread actually reads none.  This avoids a diagnostic,
24172         "bash: echo: write error: Broken pipe", that arises in the unusual
24173         event something is ignoring SIGPIPE, and might be interpreted
24174         as some sort of failure.  Reported by Bruno Haible.
24175
24176 2009-11-25  Jim Meyering  <meyering@redhat.com>
24177
24178         test-pread: cover failure with ESPIPE and EINVAL
24179         * tests/test-pread.c (main): Test for failure, too.
24180         * tests/test-pread.sh: Invoke with stdin on a pipe.
24181         Suggested by Eric Blake.
24182
24183         pread: improvement and fix
24184         * modules/pread (Depends-on): Depend on lseek, for portability to
24185         e.g., mingw.  Suggested by Eric Blake.
24186         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
24187
24188         unistd.in.h: correct declaration of pread
24189         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
24190         Reported by Richard W.M. Jones.
24191
24192         test-pread.sh: distribute the test script
24193         * modules/pread-tests (Files): Include test-pread.sh.
24194
24195         test-pread.sh: clean up
24196         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
24197         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
24198         That is unnecessary, since it's always ".".
24199         Suggestion from Eric Blake.
24200
24201         test-pread.sh: make executable
24202         * tests/test-pread.sh: Set executable bit.
24203         Reported by Eric Blake.
24204
24205         correct typo in test-pread.sh
24206         * tests/test-pread.sh: Add #! line.
24207
24208         test pread
24209         * tests/test-pread.c: New file.
24210         * tests/test-pread.sh: Likewise.
24211         * modules/pread-tests: Likewise.
24212
24213         pread: new module
24214         * modules/pread: New file.
24215         * lib/unistd.in.h (pread): Define/declare.
24216         * lib/pread.c (pread): New file.
24217         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
24218         * modules/unistd (Makefile.am): Substitute witnesses.
24219         * doc/posix-functions/pread.texi (pread): Update.
24220         * MODULES.html.sh: Add pread.
24221
24222 2009-11-25  Jim Meyering  <meyering@redhat.com>
24223
24224         tests/init.sh: new file to be used via most *.sh tests
24225         * tests/init.sh: New file.
24226
24227 2009-11-25  Eric Blake  <ebb9@byu.net>
24228
24229         utimens: work around older Linux failure with symlinks
24230         * lib/utimens.c (lutimensat_works_really): New variable.
24231         (fdutimens, lutimens): Use it to manage kernels that support
24232         nanosecond times on files, but not on symlinks.
24233         Reported by OndÅ™ej Vašík.
24234
24235         utimes: fix configure grammar
24236         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
24237
24238 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
24239
24240         regex: Fix fastmap for multibyte character ranges.
24241         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
24242         characters when a multibyte character range is included.
24243
24244 2009-11-22  Andy Wingo  <wingo@pobox.com>
24245
24246         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
24247         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
24248
24249 2009-11-24  Bruno Haible  <bruno@clisp.org>
24250
24251         doc: Most *_l functions exist in MacOS X 10.5.
24252         * doc/posix-functions/duplocale.texi: Update platforms list.
24253         * doc/posix-functions/freelocale.texi: Likewise.
24254         * doc/posix-functions/newlocale.texi: Likewise.
24255         * doc/posix-functions/uselocale.texi: Likewise.
24256         * doc/posix-functions/isalnum_l.texi: Likewise.
24257         * doc/posix-functions/isalpha_l.texi: Likewise.
24258         * doc/posix-functions/isblank_l.texi: Likewise.
24259         * doc/posix-functions/iscntrl_l.texi: Likewise.
24260         * doc/posix-functions/isdigit_l.texi: Likewise.
24261         * doc/posix-functions/isgraph_l.texi: Likewise.
24262         * doc/posix-functions/islower_l.texi: Likewise.
24263         * doc/posix-functions/isprint_l.texi: Likewise.
24264         * doc/posix-functions/ispunct_l.texi: Likewise.
24265         * doc/posix-functions/isspace_l.texi: Likewise.
24266         * doc/posix-functions/isupper_l.texi: Likewise.
24267         * doc/posix-functions/iswalnum_l.texi: Likewise.
24268         * doc/posix-functions/iswalpha_l.texi: Likewise.
24269         * doc/posix-functions/iswblank_l.texi: Likewise.
24270         * doc/posix-functions/iswcntrl_l.texi: Likewise.
24271         * doc/posix-functions/iswctype_l.texi: Likewise.
24272         * doc/posix-functions/iswdigit_l.texi: Likewise.
24273         * doc/posix-functions/iswgraph_l.texi: Likewise.
24274         * doc/posix-functions/iswlower_l.texi: Likewise.
24275         * doc/posix-functions/iswprint_l.texi: Likewise.
24276         * doc/posix-functions/iswpunct_l.texi: Likewise.
24277         * doc/posix-functions/iswspace_l.texi: Likewise.
24278         * doc/posix-functions/iswupper_l.texi: Likewise.
24279         * doc/posix-functions/iswxdigit_l.texi: Likewise.
24280         * doc/posix-functions/isxdigit_l.texi: Likewise.
24281         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
24282         * doc/posix-functions/strcasecmp_l.texi: Likewise.
24283         * doc/posix-functions/strcoll_l.texi: Likewise.
24284         * doc/posix-functions/strfmon_l.texi: Likewise.
24285         * doc/posix-functions/strftime_l.texi: Likewise.
24286         * doc/posix-functions/strncasecmp_l.texi: Likewise.
24287         * doc/posix-functions/strxfrm_l.texi: Likewise.
24288         * doc/posix-functions/tolower_l.texi: Likewise.
24289         * doc/posix-functions/toupper_l.texi: Likewise.
24290         * doc/posix-functions/towctrans_l.texi: Likewise.
24291         * doc/posix-functions/towlower_l.texi: Likewise.
24292         * doc/posix-functions/towupper_l.texi: Likewise.
24293         * doc/posix-functions/wcscoll_l.texi: Likewise.
24294         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
24295         * doc/posix-functions/wctrans_l.texi: Likewise.
24296         * doc/posix-functions/wctype_l.texi: Likewise.
24297         * doc/glibc-functions/strptime_l.texi: Likewise.
24298         * doc/glibc-functions/strtod_l.texi: Likewise.
24299         * doc/glibc-functions/strtof_l.texi: Likewise.
24300         * doc/glibc-functions/strtol_l.texi: Likewise.
24301         * doc/glibc-functions/strtold_l.texi: Likewise.
24302         * doc/glibc-functions/strtoll_l.texi: Likewise.
24303         * doc/glibc-functions/strtoul_l.texi: Likewise.
24304         * doc/glibc-functions/strtoull_l.texi: Likewise.
24305         * doc/glibc-functions/wcsftime_l.texi: Likewise.
24306         * doc/glibc-functions/wcstod_l.texi: Likewise.
24307         * doc/glibc-functions/wcstof_l.texi: Likewise.
24308         * doc/glibc-functions/wcstol_l.texi: Likewise.
24309         * doc/glibc-functions/wcstold_l.texi: Likewise.
24310         * doc/glibc-functions/wcstoll_l.texi: Likewise.
24311         * doc/glibc-functions/wcstoul_l.texi: Likewise.
24312         * doc/glibc-functions/wcstoull_l.texi: Likewise.
24313
24314 2009-11-24  Bruno Haible  <bruno@clisp.org>
24315
24316         duplocale: Fix logic bug.
24317         * lib/duplocale.c: Don't include <langinfo.h>.
24318         (_NL_LOCALE_NAME): Remove macro.
24319         (rpl_duplocale): Use setlocale instead of nl_langinfo.
24320         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
24321
24322 2009-11-23  Jim Meyering  <meyering@redhat.com>
24323
24324         test-update-copyright: don't hard-code /usr/bin/perl
24325         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
24326         perl to print the current year.  Gilles Espinasse reported that
24327         the replaced use of perl was hard-coded as /usr/bin/perl.
24328
24329 2009-11-23  Bruno Haible  <bruno@clisp.org>
24330
24331         duplocale: Add support for glibc 2.3.x.
24332         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
24333
24334 2009-11-22  Bruno Haible  <bruno@clisp.org>
24335
24336         vasnprintf: Tiny optimization.
24337         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
24338         MacOS X.
24339
24340 2009-11-22  Bruno Haible  <bruno@clisp.org>
24341
24342         Tests for module 'duplocale'.
24343         * modules/duplocale-tests: New file.
24344         * tests/test-duplocale.c: New file.
24345
24346         New module 'duplocale'.
24347         * m4/duplocale.m4: New file.
24348         * lib/locale.in.h (duplocale): New declaration.
24349         * lib/duplocale.c: New file.
24350         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
24351         gl_LOCALE_H_DEFAULTS): New macros.
24352         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
24353         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
24354         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
24355         REPLACE_DUPLOCALE.
24356         * modules/duplocale: New file.
24357         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
24358
24359 2009-11-22  Bruno Haible  <bruno@clisp.org>
24360
24361         * modules/locale-tests (configure.ac): Test for newlocale function.
24362         * tests/test-locale.c: When the system has extended locale functions,
24363         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
24364
24365         locale: Make locale_t available when possible.
24366         * lib/locale.in.h: Include <xlocale.h> when it exists.
24367         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
24368         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
24369         * modules/locale (Depends-on): Add extensions.
24370         (Makefile.am): Also substitute HAVE_XLOCALE_H.
24371         * doc/posix-headers/locale.texi: Document the problem with locale_t.
24372
24373 2009-11-22  Bruno Haible  <bruno@clisp.org>
24374
24375         Add comments.
24376         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
24377         invocation.
24378         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
24379         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
24380         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
24381
24382 2009-11-22  Bruno Haible  <bruno@clisp.org>
24383
24384         error: account for the possibility of freopen (stdout).
24385         * lib/error.c: Include <unistd.h>.
24386         (flush_stdout): New function, extracted from error and error_at_line.
24387         Determine stdout's fd dynamically.
24388         (error, error_at_line): Invoke flush_stdout.
24389         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
24390         * modules/error (Depends-on): Add unistd.
24391
24392 2009-11-22  Bruno Haible  <bruno@clisp.org>
24393
24394         diffseq: Add comment.
24395         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
24396
24397 2009-11-22  Jim Meyering  <meyering@redhat.com>
24398
24399         c-stack: avoid defining an unused static function
24400         * lib/c-stack.c (find_stack_direction): Do not define this function
24401         when it will not be used.
24402
24403         diffseq: avoid spurious gcc warnings
24404         * lib/diffseq.h (IF_LINT2): Define.
24405         (compareseq): Use it to initialize two members of "part".
24406         This avoids two used-uninitialized warnings.
24407
24408 2009-11-21  Jim Meyering  <meyering@redhat.com>
24409
24410         c-stack: avoid "ignoring return value of `write'" warning
24411         * lib/c-stack.c: Include "ignore-value.h".
24412         (die): Explicitly ignore each write return value.
24413         * modules/c-stack (Depends-on): Add ignore-value.
24414
24415 2009-11-21  Bruno Haible  <bruno@clisp.org>
24416
24417         diffseq: reduce scope of variable 'best'.
24418         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
24419         variable, earlier used for two different purposes.
24420
24421 2009-11-21  Jim Meyering  <meyering@redhat.com>
24422
24423         diffseq: remove useless assignment to "best"
24424         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
24425         assignment.  At that point "best" is already guaranteed to be zero.
24426
24427 2009-11-20  Eric Blake  <ebb9@byu.net>
24428
24429         build: mention ftp redirector in release announcements
24430         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
24431         values that used to come from cfg.mk; mention FTP redirect URL.
24432         * build-aux/announce-gen: Mention the mirror list.
24433         Suggested by Karl Berry.
24434
24435         nanosleep: improve port to mingw
24436         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
24437         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
24438         LIB_NANOSLEEP, but only when needed.
24439         * modules/select (Link): Document LIBSOCKET.
24440         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
24441         enough.
24442
24443         nanosleep: work around cygwin bug
24444         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
24445         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
24446         bug.
24447         (getnow): Delete, not needed.
24448         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
24449         LIB_CLOCK_GETTIME.
24450         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
24451         clock-time, gettime.
24452         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
24453         bug.
24454         * modules/nanosleep-tests: New test.
24455         * tests/test-nanosleep.c: New file.
24456
24457         sleep: work around cygwin bug
24458         * lib/sleep.c (rpl_sleep): Work around the bug.
24459         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
24460         (gl_PREREQ_SLEEP): Delete unused macro.
24461         * modules/sleep (Depends-on): Add verify.
24462         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
24463         * modules/unistd (Makefile.am): Substitute witness.
24464         * lib/unistd.in.h (sleep): Update prototype.
24465         * doc/posix-functions/sleep.texi (sleep): Document the bug.
24466         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
24467         * modules/sleep-tests (Depends-on): Check for alarm.
24468
24469 2009-11-20  Jim Meyering  <meyering@redhat.com>
24470
24471         maint.mk: improve sc_prohibit_magic_number_exit
24472         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
24473         so it does not match uses like System.exit(1).
24474         Add comments showing how to correct all offenders.
24475
24476 2009-11-19  Eric Blake  <ebb9@byu.net>
24477
24478         xalloc-die-tests: add missing library
24479         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
24480
24481         test-xvasprintf: silence compiler warnings
24482         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
24483         empty string from gcc.
24484
24485 2009-11-19  Jim Meyering  <meyering@redhat.com>
24486
24487         xfreopen: new module, from coreutils
24488         * modules/xfreopen: New module.
24489         * lib/xfreopen.c: New file.
24490         * lib/xfreopen.h: New file.
24491         * MODULES.html.sh (File stream based Input/Output"): Add it.
24492
24493 2009-11-19  Eric Blake  <ebb9@byu.net>
24494
24495         manywarnings: depend on warnings
24496         * modules/manywarnings (Depends-on): Add warnings.
24497
24498         build: avoid compiler warnings
24499         * lib/select.c (rpl_select): Delete unused variable.
24500         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
24501
24502 2009-11-18  Eric Blake  <ebb9@byu.net>
24503
24504         tests: avoid false negative with --with-packager
24505         * tests/test-version-etc.sh: Discard packager information.
24506         * tests/test-argp-version-etc-1.sh: Likewise.
24507         Reported by Mike Frysinger.
24508
24509         utimens: fix regression on Solaris
24510         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
24511         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
24512         can only change fd timestamps via futimesat.  Instead, use an
24513         additional witness macro to avoid BSD bug.
24514         Reported by Jim Meyering.
24515
24516 2009-11-17  Eric Blake  <ebb9@byu.net>
24517
24518         usleep: use it to simplify tests
24519         * modules/stat-time-tests (Depends-on): Add usleep.
24520         (configure.ac): Drop usleep check.
24521         * modules/chown-tests (Depends-on, configure.ac): Likewise.
24522         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
24523         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
24524         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
24525         * modules/openat-tests (Depends-on, configure.ac): Likewise.
24526         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
24527         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
24528         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
24529         Likewise.
24530         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
24531         * tests/test-lchown.h (nap): Likewise.
24532         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
24533         * tests/test-stat-time.c (nap): Likewise.
24534         * tests/test-utimens-common.h (nap): Update comments.
24535
24536         usleep: new module
24537         * modules/usleep: New file.
24538         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
24539         * lib/usleep.c (usleep): Likewise.
24540         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
24541         * modules/unistd (Makefile.am): Substitute witnesses.
24542         * lib/unistd.in.h (usleep): Add declaration.
24543         * doc/pastposix-functions/usleep.texi (usleep): Document this.
24544         * MODULES.html.sh (Date and time): Likewise.
24545         * modules/usleep-tests (Depends-on): New test.
24546         * tests/test-usleep.c: New file.
24547
24548         chown: work around OpenBSD bug
24549         * lib/chown.c (rpl_chown): Work around the bug.
24550         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
24551         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
24552         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
24553         * modules/chown (Depends-on): Add stdbool.
24554         * modules/lchown (Depends-on): Likewise.
24555         * doc/posix-functions/chown.texi (chown): Document the bug.
24556         * doc/posix-functions/lchown.texi (lchown): Likewise.
24557         * tests/test-lchown.h (test_chown): Relax test.
24558
24559         mkstemp: avoid conflict with C++ keyword template
24560         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
24561         * lib/mkostemp.c (mkostemp): Likewise.
24562         * lib/mkostemps.c (mkostemps): Likewise.
24563         * lib/mkstemp.c (mkstemp): Likewise.
24564         * lib/mkstemps.c (mkstemps): Likewise.
24565
24566         xalloc-die-tests: optimize
24567         * tests/test-xalloc-die.sh: Reduce number of processes.
24568
24569 2009-11-17  Simon Josefsson  <simon@josefsson.org>
24570
24571         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
24572         patch from ludo@gnu.org (Ludovic Courtès).
24573
24574 2009-11-17  Jim Meyering  <meyering@redhat.com>
24575
24576         version-etc: use proper license string
24577         * modules/version-etc (License): Use LGPL, not LGPLv3+.
24578         * modules/version-etc-fsf: Likewise.
24579
24580 2009-11-17  Simon Josefsson  <simon@josefsson.org>
24581
24582         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
24583         printed to stdout.  Deal with EOL differences.
24584
24585 2009-11-17  Eric Blake  <ebb9@byu.net>
24586
24587         unsetenv: work around Solaris bug
24588         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
24589         * lib/unsetenv.c (rpl_unsetenv): Work around it.
24590         Reported by Jim Meyering.
24591
24592         vasnprintf: avoid compiler warnings
24593         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
24594         variables.
24595         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
24596
24597 2009-11-17  Simon Josefsson  <simon@josefsson.org>
24598
24599         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
24600         settings since xalloc-die is no longer the self test,
24601         xalloc-die.sh is.
24602
24603 2009-11-17  Jim Meyering  <meyering@redhat.com>
24604
24605         test-xalloc-die.sh: make the code agree with the commit log
24606         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
24607         at the end, just in case you happen to have a test-xalloc-die
24608         program in some other PATH directory.
24609
24610         test-xalloc-die.sh: fix a portability bug
24611         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
24612         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
24613         Otherwise, argv[0] (as often seen in diagnostics) would be too
24614         system-dependent, sometimes with, and sometimes without the leading "./".
24615
24616         version-etc-fsf: relax license to LGPLv3+
24617         * modules/version-etc-fsf (License): Relax license.
24618
24619 2009-11-16  Eric Blake  <ebb9@byu.net>
24620
24621         xalloc-die-tests: avoid printing null pointer
24622         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
24623         shell script.
24624         * tests/test-xalloc-die.c (program_name): Declare.
24625         * tests/test-xalloc-die.sh (tmpfiles): New file.
24626
24627         setenv, unsetenv: work around various bugs
24628         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
24629         (setenv) [HAVE_SETENV]: Work around bugs.
24630         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
24631         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
24632         for bugs.
24633         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
24634         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
24635         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
24636         * modules/stdlib (Makefile.am): Update substitutions.
24637         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
24638         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
24639         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
24640         * modules/setenv-tests: New test.
24641         * modules/unsetenv-tests: Likewise.
24642         * tests/test-setenv.c: New file.
24643         * tests/test-unsetenv.c: Likewise.
24644
24645 2009-11-16  Jim Meyering  <meyering@redhat.com>
24646
24647         version-etc: relax license to LGPLv3+
24648         * modules/version-etc (License): Relax license.
24649
24650         better AC_REQUIRE expanded-before-required-warning avoidance
24651         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
24652         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
24653         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
24654         which is no longer needed.
24655
24656 2009-11-16  Eric Blake  <ebb9@byu.net>
24657
24658         test-freading: clean up temporary file
24659         * tests/test-freading.c (main): Remove file on success, and use
24660         ASSERT more liberally.
24661         Reported by Jim Meyering.
24662
24663 2009-11-16  Jim Meyering  <meyering@redhat.com>
24664
24665         avoid new AC_REQUIRE expanded-before-required warnings
24666         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
24667         merely using it.
24668         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
24669         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
24670
24671 2009-11-15  Simon Josefsson  <simon@josefsson.org>
24672
24673         * tests/test-xalloc-die.c: New file.
24674         * modules/xalloc-die-tests: New file.
24675         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
24676         XFAIL_TESTS so it can be appended by modules.
24677
24678 2009-11-15  Simon Josefsson  <simon@josefsson.org>
24679
24680         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
24681         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
24682
24683 2009-11-14  Eric Blake  <ebb9@byu.net>
24684
24685         fnmatch: avoid compiler warning
24686         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
24687         to silence compiler warning about mismatch signedness in ?:.
24688         Reported by Robert Millan.
24689
24690         intprops: add double-inclusion guard
24691         * lib/intprops.h: Allow idempotent includes.
24692         Suggested by Bruce Korb.
24693
24694         openat: detect Solaris fchownat bug
24695         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
24696         penalizing glibc chownat when only lchownat is broken.
24697         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
24698         trailing slash bugs.
24699         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
24700         * modules/openat-tests (Files): Include more files.
24701         (Depends-on): Add mgetgroups, sleep, stat-time.
24702         (configure.ac): Add additional checks.
24703         (Makefile.am): Build new test.
24704         * tests/test-fchownat.c: New file.
24705
24706         lchown: detect Solaris and FreeBSD bug
24707         * lib/lchown.c (rpl_lchown): Work around bug.
24708         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
24709         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
24710         * modules/unistd (Makefile.am): Populate it.
24711         * lib/unistd.in.h (lchown): Update declaration.
24712         * doc/posix-functions/lchown.texi (lchown): Document the bug.
24713         * modules/lchown-tests: New file.
24714         * tests/test-lchown.h (test_lchown): Likewise.
24715         * tests/test-lchown.c (main): Likewise.
24716
24717         chown: detect Solaris and FreeBSD bug
24718         * lib/chown.c (rpl_chown): Work around bug.
24719         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
24720         (gl_PREREQ_CHOWN): Delete.
24721         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
24722         * modules/unistd (Makefile.am): Populate it.
24723         * lib/unistd.in.h (chown): Update declaration.
24724         * lib/lchown.c (chown): Update client.
24725         * modules/lchown (Depends-on): Add lstat.
24726         * doc/posix-functions/chown.texi (chown): Document the bug.
24727         * doc/posix-functions/getgroups.texi (getgroups): Document
24728         getgroups pitfall.
24729         * modules/chown-tests: New file.
24730         * tests/test-chown.h (test_chown): Likewise.
24731         * tests/test-chown.c (main): Likewise.
24732
24733 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
24734
24735         gnulib-tool: correctly detect absence of m4 directories
24736         * gnulib-tool: Avoid extra newline on data passed to wc -l.
24737
24738 2009-11-14  Jim Meyering  <meyering@redhat.com>
24739
24740         maint.mk: Prohibit inclusion of "xalloc.h" without use.
24741         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
24742
24743 2009-11-14  John W. Eaton  <jwe@gnu.org>
24744
24745         strftime.h: wrap funtion declaration in extern "C" block
24746         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
24747
24748 2009-11-13  Eric Blake  <ebb9@byu.net>
24749
24750         getgroups: avoid compiler warning
24751         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
24752
24753         getgroups: work around FreeBSD bug
24754         * lib/getgroups.c (rpl_getgroups): Work around the bug.
24755         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
24756         * doc/posix-functions/getgroups.texi (getgroups): Document it.
24757         * tests/test-getgroups.c (main): Fix buffer overrun.
24758
24759         getgroups: avoid compilation failure
24760         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
24761         * modules/getgroups (Depends-on): Add stdint.
24762
24763 2009-11-13  Jim Meyering  <meyering@redhat.com>
24764
24765         test-getgroups: avoid compilation failure
24766         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
24767
24768 2009-11-13  Eric Blake  <ebb9@byu.net>
24769
24770         mgetgroups: new module, taken from coreutils
24771         * modules/mgetgroups: New file.
24772         * lib/mgetgroups.h: Likewise.
24773         * lib/mgetgroups.c (mgetgroups): Likewise.
24774         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
24775         * MODULES.html.sh (Users and groups): Mention it.
24776
24777         getgroups: don't expose GETGROUPS_T to user
24778         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
24779         an element at a time if GETGROUPS_T is wrong size.
24780         * lib/getugroups.h (getugroups): Change signature.
24781         * lib/unistd.in.h (getgroups): Likewise.
24782         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
24783         signature needs fixing.
24784         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
24785         AC_TYPE_GETGROUPS.
24786         * modules/group-member (Depends-on): Add getgroups.
24787         * lib/group-member.c (group_info, get_group_info): Use gid_t.
24788         (group_member): Rely on getgroups replacement.
24789         * lib/getugroups.c (getugroups): Use gid_t.
24790         * tests/test-getgroups.c (main): Likewise.
24791         * NEWS: Mention the signature change.
24792         * doc/posix-functions/getgroups.texi (getgroups): Mention the
24793         problem with signature.
24794         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
24795         GETGROUPS_T is still useful for setgroups.
24796
24797         getgroups, getugroups: provide stubs for mingw
24798         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
24799         * lib/getugroups.c (getugroups): Likewise.
24800         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
24801         function.  Modernize replacement scheme.
24802         (gl_PREREQ_GETGROUPS): Delete.
24803         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
24804         * modules/getgroups (configure.ac): Declare witness.
24805         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
24806         * modules/unistd (Depends-on): Substitute witness.
24807         * lib/unistd.in.h (getgroups): Declare replacement.
24808
24809         getgroups: avoid calling exit
24810         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
24811         drop xalloc.
24812         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
24813         dependencies.
24814         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
24815         exiting, in the rare case of malloc failure.
24816
24817         getgroups: fix logic error
24818         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
24819         has more than 20 groups.
24820         * modules/getgroups-tests: New test.
24821         * tests/test-getgroups.c: New file.
24822
24823 2009-11-13  Simon Josefsson  <simon@josefsson.org>
24824
24825         * tests/test-base64.c: Improve.
24826
24827 2009-11-13  Simon Josefsson  <simon@josefsson.org>
24828
24829         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
24830         Blake <ebb9@byu.net>.
24831
24832 2009-11-13  Simon Josefsson  <simon@josefsson.org>
24833
24834         * tests/test-xvasprintf.c: Add %s%s related checks.
24835
24836 2009-11-12  Eric Blake  <ebb9@byu.net>
24837
24838         version-etc: match standards.texi style
24839         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
24840         and use <> only for URLs.
24841
24842 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
24843
24844         fts: do not fail on a submount during traversal
24845         * lib/fts.c (fts_build): Read the stat info again after opening
24846         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
24847         Original report at http://bugzilla.redhat.com/501848.
24848
24849 2009-11-12  Jim Meyering  <meyering@redhat.com>
24850
24851         bootstrap: sync from coreutils
24852         * build-aux/bootstrap (bootstrap_epilogue): New function.
24853         Use git_modules_config in one more place.  This make bootstrap's
24854         --gnulib-srcdir option more useful for testing.
24855
24856         bootstrap: generalize autoheader check
24857         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
24858         AC_CONFIG_HEADERS.
24859
24860 2009-11-11  Eric Blake  <ebb9@byu.net>
24861
24862         mkfifoat: use new modules for Solaris and BSD bugs
24863         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
24864         * lib/mkfifoat.c (mknodat): Split...
24865         * lib/mknodat.c (mknodat): ...into new file.
24866         * modules/mkfifoat (Files): Ship new file.
24867         (Depends-on): Add mkfifo, mknod.
24868         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
24869         (Depends-on): Add symlink.
24870         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
24871         redundant with test_mkfifo.h.
24872         (do_mkfifoat, do_mknodat): New helpers.
24873
24874         mknod: new module
24875         * modules/mknod: New file.
24876         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
24877         * lib/mknod.c (mknod): Likewise.
24878         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
24879         defaults.
24880         * modules/sys_stat (Makefile.am): Substitute them.
24881         * lib/sys_stat.in.h (mknod): Declare replacement.
24882         * MODULES.html.sh (Support for systems lacking POSIX:2008):
24883         Document it.
24884         * doc/posix-functions/mknod.texi (mknod): Likewise.
24885         * modules/mknod-tests: New test.
24886         * tests/test-mknod.c: Likewise.
24887
24888         mkfifo: new module
24889         * modules/mkfifo: New file.
24890         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
24891         * lib/mkfifo.c (mkfifo): Likewise.
24892         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
24893         defaults.
24894         * modules/sys_stat (Makefile.am): Substitute them.
24895         * lib/sys_stat.in.h (mkfifo): Declare replacement.
24896         * MODULES.html.sh (Support for systems lacking POSIX:2008):
24897         Document it.
24898         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
24899         * modules/mkfifo-tests: New test.
24900         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
24901         from test-mkfifoat.c.
24902         * tests/test-mkfifo.c: New file.
24903
24904         readlink: detect FreeBSD bug
24905         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
24906         slash on symlink.
24907         * doc/posix-functions/readlink.texi (readlink): Document the bug.
24908         * tests/test-readlink.h (test_readlink): Enhance test.
24909
24910         symlink: detect FreeBSD bug
24911         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
24912         slash on symlink.
24913         * doc/posix-functions/symlink.texi (symlink): Document the bug.
24914         * tests/test-symlink.h (test_symlink): Enhance test.
24915
24916 2009-11-10  Eric Blake  <ebb9@byu.net>
24917
24918         link: detect FreeBSD bug
24919         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
24920         symlink.
24921         * doc/posix-functions/link.texi (link): Document the bug.
24922         * tests/test-link.h (test_link): Enhance test.
24923         * tests/test-linkat.c (main): Update caller.
24924
24925         unlink, remove: detect FreeBSD bug
24926         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
24927         slash on symlink.
24928         * doc/posix-functions/unlink.texi (unlink): Document the bug.
24929         * doc/posix-functions/remove.texi (remove): Likewise.
24930         * tests/test-unlink.h (test_unlink): Enhance test.
24931         * tests/test-remove.c (main): Likewise.
24932
24933 2009-11-09  Eric Blake  <ebb9@byu.net>
24934
24935         rename: detect FreeBSD bug
24936         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
24937         slash on symlink.
24938         * modules/renameat-tests (Depends-on): Add filenamecat.
24939         * tests/test-rename.h (test_rename): Allow one more errno.
24940         * tests/test-renameat.c (main): Likewise.
24941         * doc/posix-functions/rename.texi (rename): Document the bug.
24942
24943         open: detect FreeBSD bug
24944         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
24945         symlink.
24946         * doc/posix-functions/open.texi (open): Document the bug.
24947         * doc/posix-functions/utimes.texi (utimes): Likewise.
24948         * tests/test-open.h (test_open): Add parameters, and test symlink
24949         handling.
24950         * tests/test-open.c (main): Adjust caller.
24951         * tests/test-fcntl-safer.c (main): Likewise.
24952         * modules/open-tests (Depends-on): Add stdbool, symlink.
24953         * modules/fcntl-safer-tests (Depends-on): Likewise.
24954         * tests/test-openat.c (main): Add test-open tests.
24955
24956         stat: detect FreeBSD bug
24957         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
24958         symlink.
24959         * doc/posix-functions/stat.texi (stat): Document the bug.
24960         * tests/test-stat.h (test_stat_func): Add argument.
24961         * tests/test-stat.c (main): Adjust caller.
24962         * tests/test-fstatat.c (main): Likewise.
24963         * modules/stat-tests (Depends-on): Add stdbool, symlink.
24964         Reported by Jim Meyering.
24965
24966 2009-11-09  James Youngman  <jay@gnu.org>
24967
24968         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
24969         * lib/strftime.c: Correct placement of #include "ignore-value.h".
24970
24971 2009-11-08  Jim Meyering  <meyering@redhat.com>
24972
24973         utimens: remove invalid futimesat call
24974         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
24975         It used the file descriptor of the target file as the DIR_FD
24976         parameter and NULL as the file name.  That caused failure with
24977         errno == EFAULT on FreeBSD-8.0-rc2
24978
24979 2009-11-07  Eric Blake  <ebb9@byu.net>
24980
24981         fflush, freadseek: use fseeko, not fseek
24982         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
24983         (clear_ungetc_buffer): Avoid potential problems on large files.
24984         * lib/freadseek.c (freadseek): Likewise.
24985         * modules/freadseek (Depends-on): Add fseeko.
24986         * modules/fseek (configure.ac): Set a witness.
24987         * tests/test-fflush.c (main): Use fseeko.
24988         * tests/test-fpurge.c (fseek): Disable link warning.
24989         * tests/test-freadable.c (fseek): Likewise.
24990         * tests/test-freading.c (fseek): Likewise.
24991         * tests/test-fseeko.c (fseek): Likewise.
24992         * tests/test-ftell.c (fseek): Likewise.
24993         * tests/test-ftello.c (fseek): Likewise.
24994         * tests/test-fwritable.c (fseek): Likewise.
24995         * tests/test-fwriting.c (fseek): Likewise.
24996
24997 2009-11-06  Simon Josefsson  <simon@josefsson.org>
24998
24999         * modules/memchr (Depends-on): Drop getpagesize dependency.
25000
25001 2009-11-06  Simon Josefsson  <simon@josefsson.org>
25002
25003         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
25004         Reported by Ludovic Courtès.
25005         * build-aux/pmccabe2html: Improve example usage.
25006         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
25007
25008 2009-11-06  Jim Meyering  <meyering@redhat.com>
25009
25010         do-release-commit-and-tag: New module.
25011         Automate the release-commit and tag process.
25012         * build-aux/do-release-commit-and-tag: New script, from coreutils.
25013         * modules/do-release-commit-and-tag: New file.
25014         * MODULES.html.sh (Support for maintaining and releasing): Add it.
25015
25016 2009-11-06  Simon Josefsson  <simon@josefsson.org>
25017
25018         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
25019         because test-select.c uses inet_pton.
25020
25021 2009-11-06  Simon Josefsson  <simon@josefsson.org>
25022
25023         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
25024         GETADDRINFO_LIB.  Bump serial number.
25025         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
25026         Suggested by Eric Blake <ebb9@byu.net>.
25027
25028 2009-11-05  Eric Blake  <ebb9@byu.net>
25029
25030         strtod: detect darwin bug
25031         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
25032         Reported by Leo Davis.
25033
25034         freopen-safer: new module
25035         * modules/freopen-safer: New module.
25036         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
25037         * lib/freopen-safer.c (freopen_safer): New file.
25038         * lib/stdio-safer.h (freopen_safer): New declaration.
25039         * lib/stdio--.h (freopen): New override.
25040         * MODULES.html.sh (File stream based Input/Output): Mention it.
25041         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
25042         freopen-safer module.
25043         * doc/posix-functions/stderr.texi (stderr): Likewise.
25044         * doc/posix-functions/stdin.texi (stdin): Likewise.
25045         * doc/posix-functions/stdout.texi (stdout): Likewise.
25046         * modules/freopen-safer-tests: New test.
25047         * tests/test-reopen-safer.c: New file.
25048
25049 2009-11-05  Jim Meyering  <meyering@redhat.com>
25050
25051         maint.mk: Prohibit inclusion of "close-stream.h" without use.
25052         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
25053
25054 2009-11-05  Simon Josefsson  <simon@josefsson.org>
25055
25056         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
25057
25058 2009-11-05  Simon Josefsson  <simon@josefsson.org>
25059
25060         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
25061
25062 2009-11-05  Simon Josefsson  <simon@josefsson.org>
25063
25064         Fix link error.
25065         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
25066         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
25067
25068 2009-11-05  Simon Josefsson  <simon@josefsson.org>
25069
25070         * tests/test-func.c: Also test value of __func__.
25071
25072 2009-11-05  Simon Josefsson  <simon@josefsson.org>
25073
25074         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
25075         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
25076
25077 2009-11-05  Bruno Haible  <bruno@clisp.org>
25078
25079         Fix link error.
25080         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
25081         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
25082         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
25083
25084 2009-11-05  Bruno Haible  <bruno@clisp.org>
25085
25086         Tests for module 'inet_pton'.
25087         * modules/inet_pton-tests: New file.
25088         * tests/test-inet_pton.c: New file.
25089
25090 2009-11-05  Bruno Haible  <bruno@clisp.org>
25091
25092         Tests for module 'inet_ntop'.
25093         * modules/inet_ntop-tests: New file.
25094         * tests/test-inet_ntop.c: New file.
25095
25096 2009-11-04  Eric Blake  <ebb9@byu.net>
25097
25098         stdlib-safer: wrap all mkstemp variants
25099         * modules/mkostemp (configure.ac): Set witness.
25100         * modules/mkostemps (configure.ac): Likewise.
25101         * modules/mkstemps (configure.ac): Likewise.
25102         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
25103         (mkstemps_safer): Wrap more functions.
25104         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
25105         wrapping.
25106         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
25107         (mkstemps_safer): Implement the wrappers.
25108
25109         mkstemps, mkostemps: new modules
25110         * modules/mkostemps: New module.
25111         * modules/mkstemps: Likewise.
25112         * lib/mkostemps.c (mkostemps): New file.
25113         * lib/mkstemps.c (mkstemps): Likewise.
25114         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
25115         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
25116         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
25117         * modules/stdlib (Makefile.am): Substitute them.
25118         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
25119         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
25120         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
25121         * doc/gnulib.texi (Glibc stdlib.h): Include them.
25122         * MODULES.html.sh (File system functions): Mention them.
25123
25124         tempname: resync from glibc
25125         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
25126         same values for __GT_FILE as glibc.  Abort even when assertions
25127         are disabled.
25128         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
25129         match its value otherwise.  Allow idempotent inclusion.
25130         * lib/mkdtemp.c (mkdtemp): Adjust caller.
25131         * lib/mkostemp.c (mkostemp): Likewise.
25132         * lib/mkstemp.c (mkstemp): Likewise.
25133         * lib/tmpfile.c (tmpfile): Likewise.
25134         * NEWS: Document this.
25135
25136         utimens: fix use of futimens on older Linux
25137         * lib/utimens.c (fdutimens): Use updated, rather than original,
25138         timespec to avoid bug in older Linux kernel.
25139         Reported by Simon Josefsson.
25140
25141 2009-11-04  Bruno Haible  <bruno@clisp.org>
25142
25143         Make num_processors more flexible and consistent.
25144         * lib/nproc.h (enum nproc_query): New type.
25145         (num_processors): Add a 'query' argument.
25146         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
25147         (num_processors): Add a 'query' argument. Test the value of the
25148         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
25149         mingw, count the number of CPUs available for the current process.
25150         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
25151         Check for sched_getaffinity and sched_getaffinity_np.
25152         * modules/nproc (Depends-on): Add c-ctype, extensions.
25153         * NEWS: Mention the change.
25154
25155 2009-11-03  Bruno Haible  <bruno@clisp.org>
25156
25157         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
25158
25159 2009-11-03  Jim Meyering  <meyering@redhat.com>
25160
25161         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
25162         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
25163         if it is defined.
25164
25165 2009-11-02  Eric Blake  <ebb9@byu.net>
25166
25167         mktime, timegm: share common declaration
25168         * lib/mktime-internal.h: New file.
25169         * lib/mktime.c: Use it rather than open-coding a declaration.
25170         * lib/timegm.c: Likewise.
25171         * modules/mktime (Files): Ship it.
25172         * modules/timegm (Files): Likewise.
25173         Suggested by Bruno Haible.
25174
25175         test-update-copyright: update test to match script changes
25176         * tests/test-update-copyright.sh: Avoid hard-coding perl
25177         location.  Don't update *.bak created by earlier runs.
25178
25179 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
25180             Simon Josefsson  <simon@josefsson.org>
25181             Bruno Haible  <bruno@clisp.org>
25182
25183         Fix link error on Solaris 8.
25184         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
25185         also in libnsl. Define also INET_PTON_LIB.
25186         * modules/inet_pton (Link): New section.
25187
25188 2009-11-02  Simon Josefsson  <simon@josefsson.org>
25189             Bruno Haible  <bruno@clisp.org>
25190
25191         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
25192         * modules/inet_ntop (Link): New section.
25193         Reported by Boyan Kasarov <bkasarov@gmail.com>.
25194
25195 2009-11-02  Eric Blake  <ebb9@byu.net>
25196
25197         maint: avoid compiler warnings in m4 macros
25198         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
25199         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
25200
25201 2009-11-02  Simon Josefsson  <simon@josefsson.org>
25202
25203         * m4/pmccabe2html.m4: Remove file.
25204         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
25205         function.  Change maintainer.
25206         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
25207         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
25208         Courtès).
25209
25210 2009-10-31  Eric Blake  <ebb9@byu.net>
25211
25212         fseeko: fix m4 regression
25213         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
25214         regression from 2009-10-27.
25215         Reported by Ralf Wildenhues.
25216
25217 2009-10-31  Jim Meyering  <meyering@redhat.com>
25218
25219         inttostr: aesthetics and improved (compile-time) safety
25220         Define inttype_is_signed rather than inttype_is_unsigned,
25221         since the sole use is via "#if inttype_is_signed".
25222         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
25223         inttype_is_unsigned.
25224         * lib/offtostr.c (inttype_is_signed): Likewise.
25225         * lib/uinttostr.c (inttype_is_signed): Likewise.
25226         * lib/umaxtostr.c (inttype_is_signed): Likewise.
25227         * lib/inttostr.c (inttostr): Use verify to cross-check the
25228         inttype_is_signed value and the signedness of the actual type.
25229         * modules/inttostr (Depends-on): Add verify.
25230
25231 2009-10-30  Eric Blake  <ebb9@byu.net>
25232
25233         build: avoid compiler warnings
25234         * lib/fchmodat.c (lchmod): Mark unused variables.
25235         * lib/getopt.c (_getopt_initialize): Likewise.
25236         * lib/mktime.c (__mktime_internal): Provide prototype.
25237         * lib/inttostr.c (inttostr): Avoid compiler warning even with
25238         older gcc that do not understand #pragma GCC diagnostic.
25239         * lib/uinttostr.c (inttype_is_unsigned): Define.
25240         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
25241
25242 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
25243
25244         stat: fix compilation on AIX
25245         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
25246         only see struct stat64.
25247
25248 2009-10-30  Eric Blake  <ebb9@byu.net>
25249
25250         exclude: make more robust
25251         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
25252         rather than masking a coding bug.
25253         Suggested by Bruno Haible.
25254
25255 2009-10-30  Jim Meyering  <meyering@redhat.com>
25256
25257         perl scripts: remove #!/usr/bin/perl in favor of more portable...
25258         Rather than putting #!/usr/bin/perl on the first line,
25259         start with a variant of what's recommended by "man perlrun" that
25260         invokes the first "perl" program from your shell's search path.
25261         * build-aux/gitlog-to-changelog: Replace #!... as above.
25262         Add a "Local Variables" perl mode setting.
25263         Prompted by a patch from Ludovic Courtès.
25264         Improved by Eric Blake.
25265         * build-aux/useless-if-before-free: Likewise.
25266         * build-aux/announce-gen: Likewise.
25267         * build-aux/update-copyright: Likewise.
25268
25269 2009-10-29  Eric Blake  <ebb9@byu.net>
25270
25271         filenamecat-lgpl: adjust clients
25272         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
25273         filenamecat.
25274         * modules/renameat (Depends-on): Likewise.
25275
25276         filenamecat: split into filenamecat-lgpl
25277         * modules/filenamecat-lgpl: New module.
25278         * modules/filenamecat (Files): Move library-safe files into
25279         filenamecat-lgpl.
25280         (Depends-on): Add filenamecat-lgpl.
25281         (configure.ac): Declare witness.
25282         * lib/filenamecat.h (file_name_concat): Only declare when using
25283         GPL module.
25284         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
25285         Move...
25286         * lib/filenamecat-lgpl.c: ...into new file.
25287         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
25288         (gl_FILE_NAME_CONCAT): Use it.
25289         * MODULES.html.sh (File system functions): Mention new module.
25290
25291         argp: avoid memory leak
25292         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
25293         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
25294         base_name, since the latter malloc()s and can call exit().
25295         Leak introduced 2006-07-03.
25296
25297         dirname-lgpl: adjust clients that don't need full dirname
25298         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
25299         * modules/filenamecat (Depends-on): Likewise.
25300         * modules/linkat (Depends-on): Likewise.
25301         * modules/mkancesdirs (Depends-on): Likewise.
25302         * modules/mkdir (Depends-on): Likewise.
25303         * modules/openat (Depends-on): Likewise.
25304         * modules/savewd (Depends-on): Likewise.
25305         * modules/rename (Depends-on): Likewise.
25306         (License): Relax license.
25307         * modules/mkdir-tests (Depends-on): Drop progname.
25308         (Makefile.am): Delete unneeded LDADD.
25309         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
25310
25311         dirname: split into dirname-lgpl
25312         * modules/dirname-lgpl: New module.
25313         * modules/dirname (Files): Move library-safe files into
25314         dirname-lgpl.
25315         (Depends-on): Add dirname-lgpl.
25316         (configure.ac): Declare witness.
25317         * modules/double-slash-root (License): Relax license.
25318         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
25319         module.
25320         * lib/dirname.c (dir_len, mdir_name): Move...
25321         * lib/dirname-lgpl.c: ...into new file.
25322         * lib/basename.c (last_component, base_len): Move...
25323         * lib/basename-lgpl.c: ...into new file.
25324         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
25325         (gl_DIRNAME): Use it.
25326         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
25327         Mention new module.
25328         * modules/dirname-tests (Depends-on): Add progname.
25329         * tests/test-dirname.c (program_name): Delete.
25330
25331         mkdir: make safe for libraries
25332         * modules/mkdir (Depends-on): Drop xalloc.
25333         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
25334         exit.
25335
25336         tests: avoid some compiler warnings
25337         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
25338         literals.
25339         * tests/test-memchr.c (main): Avoid type mismatch.
25340         * tests/test-arpa_inet.c (main): Avoid unused parameters.
25341         * tests/test-base64.c (main): Likewise.
25342         * tests/test-getdelim.c (main): Likewise.
25343         * tests/test-gethostname.c (main): Likewise.
25344         * tests/test-getline.c (main): Likewise.
25345         * tests/test-netinet_in.c (main): Likewise.
25346         * tests/test-select.c (open_server_socket, main): Likewise.
25347         * tests/test-select-stdin.c (main): Likewise.
25348         * tests/test-sockets.c (main): Likewise.
25349         * tests/test-strsignal.c (main): Likewise.
25350         * tests/test-sys_select.c (main): Likewise.
25351         * tests/test-sys_socket.c (main): Likewise.
25352         * tests/test-u64.c (main): Likewise.
25353         * tests/test-xfprintf-posix.c (main): Likewise.
25354         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
25355
25356         sockets: avoid compiler warning
25357         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
25358
25359         maint: detect usage(1) and other suspicious exits
25360         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
25361
25362 2009-10-29  Jim Meyering  <meyering@redhat.com>
25363
25364         timespec: long-to-int truncation could make timespec_cmp malfunction
25365         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
25366         a multiple of 2^32 nanoseconds as no difference.
25367
25368 2009-10-28  Jim Meyering  <meyering@redhat.com>
25369
25370         fprintftime: wrap macro code argument in "do {...} while(0)"
25371         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
25372         cpy macro must be a statement that can be followed by a semicolon.
25373         Now that the else clause contains a comment and is hence longer
25374         than one line, I require curly braces.  That in turn requires
25375         that we wrap this code block in the standard do...while(0).
25376
25377         fprintftime: remove stray semicolon from previous change
25378         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
25379
25380         fprintftime: avoid a warning about ignored fwrite return value
25381         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
25382         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
25383         that is unsafe.
25384         * modules/fprintftime (Depends-on): Add ignore-value.
25385
25386         exclude: avoid an unwarranted warning
25387         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
25388
25389 2009-10-27  Eric Blake  <ebb9@byu.net>
25390
25391         fseek: avoid compilation failure when fflush is replaced
25392         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
25393         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
25394         module is in use.
25395         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
25396         module is not in use; since REPLACE_FSEEK worked otherwise.
25397         (GNULIB_FTELLO): Likewise for ftell.
25398         Reported by Ian Beckwith and others.
25399
25400 2009-10-27  Bruno Haible  <bruno@clisp.org>
25401
25402         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
25403         Reported by Jim Meyering.
25404
25405 2009-10-27  Jim Meyering  <jim@meyering.net>
25406             Bruno Haible  <bruno@clisp.org>
25407
25408         Avoid warning despite dropping the return value of fwrite.
25409         * lib/unicodeio.c: Include ignore-value.h.
25410         (fwrite_success_callback): Explicitly ignore fwrite's return value.
25411         * modules/unicodeio (Depends-on): Add ignore-value.
25412
25413 2009-10-26  Eric Blake  <ebb9@byu.net>
25414
25415         areadlinkat: fix fallback path
25416         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
25417         pointer and zero.
25418
25419 2009-10-22  Pádraig Brady  <P@draigBrady.com>
25420
25421         Use a better IO block size for modern systems
25422         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
25423         * lib/md2.c: Likewise.
25424         * lib/md4.c: Likewise.
25425         * lib/md5.c: Likewise.
25426         * lib/sha1.c: Likewise.
25427         * lib/sha256.c: Likewise.
25428         * lib/sha512.c: Likewise.
25429
25430 2009-10-22  Eric Blake  <ebb9@byu.net>
25431
25432         tests: avoid several compiler warnings
25433         * tests/test-getcwd.c (main): Avoid buffer underflow.
25434         * tests/test-getdate.c (main): String literals are not safe with
25435         putenv, so use setenv.  Declare unused argument.
25436         * modules/getdate-tests (Depends-on): Add setenv.
25437         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
25438         problems with string literals in char *.
25439         * tests/test-hash.c (main): Avoid shadowing declaration.
25440         (insert_new): Treat string literals as char const *.
25441         * tests/test-getopt.h (test_getopt): Likewise.
25442         (getopt_loop): Alter types to minimize casting elsewhere.
25443         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
25444         (test_getopt_long_posix): Likewise.
25445         (do_getopt_long): Add wrapper to minimize casting.
25446         * tests/test-atexit.c (clear_temp_file): Use void.
25447         * tests/test-areadlink-with-size.c (main): Declare unused
25448         arguments.
25449         * tests/test-areadlink.c (main): Likewise.
25450         * tests/test-areadlinkat-with-size.c (main): Likewise.
25451         * tests/test-areadlinkat.c (main): Likewise.
25452         * tests/test-canonicalize-lgpl.c (main): Likewise.
25453         * tests/test-canonicalize.c (main): Likewise.
25454         * tests/test-dirent-safer.c (main): Likewise.
25455         * tests/test-dirname.c (main): Likewise.
25456         * tests/test-dup2.c (main): Likewise.
25457         * tests/test-fchdir.c (main): Likewise.
25458         * tests/test-fcntl-h.c (main): Likewise.
25459         * tests/test-fcntl-safer.c (main): Likewise.
25460         * tests/test-fdopendir.c (main): Likewise.
25461         * tests/test-fdutimensat.c (main): Likewise.
25462         * tests/test-fflush.c (main): Likewise.
25463         * tests/test-filenamecat.c (main): Likewise.
25464         * tests/test-filevercmp.c (main): Likewise.
25465         * tests/test-fopen-safer.c (main): Likewise.
25466         * tests/test-fopen.c (main): Likewise.
25467         * tests/test-fpending.c (main): Likewise.
25468         * tests/test-fpurge.c (main): Likewise.
25469         * tests/test-freading.c (main): Likewise.
25470         * tests/test-fstatat.c (main): Likewise.
25471         * tests/test-fsync.c (main): Likewise.
25472         * tests/test-futimens.c (main): Likewise.
25473         * tests/test-getndelim2.c (main): Likewise.
25474         * tests/test-gettimeofday.c (main): Likewise.
25475         * tests/test-getopt.c (main): Likewise.
25476         * tests/test-i-ring.c (main): Likewise.
25477         * tests/test-inttypes.c (main): Likewise.
25478         * tests/test-link.c (main): Likewise.
25479         * tests/test-lstat.c (main): Likewise.
25480         * tests/test-math.c (main): Likewise.
25481         * tests/test-md5.c (main): Likewise.
25482         * tests/test-memchr2.c (main): Likewise.
25483         * tests/test-memrchr.c (main): Likewise.
25484         * tests/test-mkdir.c (main): Likewise.
25485         * tests/test-mkdirat.c (main): Likewise.
25486         * tests/test-mkfifoat.c (main): Likewise.
25487         * tests/test-open.c (main): Likewise.
25488         * tests/test-openat-safer.c (main): Likewise.
25489         * tests/test-openat.c (main): Likewise.
25490         * tests/test-quotearg.c (main): Likewise.
25491         * tests/test-rawmemchr.c (main): Likewise.
25492         * tests/test-readlink.c (main): Likewise.
25493         * tests/test-remove.c (main): Likewise.
25494         * tests/test-rename.c (main): Likewise.
25495         * tests/test-renameat.c (main): Likewise.
25496         * tests/test-rmdir.c (main): Likewise.
25497         * tests/test-sha1.c (main): Likewise.
25498         * tests/test-signal.c (main): Likewise.
25499         * tests/test-sigaction.c (main): Likewise.
25500         * tests/test-stat.c (main): Likewise.
25501         * tests/test-stat-time.c (main): Likewise.
25502         * tests/test-stddef.c (main): Likewise.
25503         * tests/test-stdint.c (main): Likewise.
25504         * tests/test-stdio.c (main): Likewise.
25505         * tests/test-stdlib.c (main): Likewise.
25506         * tests/test-strchrnul.c (main): Likewise.
25507         * tests/test-strerror.c (main): Likewise.
25508         * tests/test-string.c (main): Likewise.
25509         * tests/test-strtod.c (main): Likewise.
25510         * tests/test-strverscmp.c (main): Likewise.
25511         * tests/test-symlink.c (main): Likewise.
25512         * tests/test-symlinkat.c (main): Likewise.
25513         * tests/test-sys_stat.c (main): Likewise.
25514         * tests/test-sys_time.c (main): Likewise.
25515         * tests/test-time.c (main): Likewise.
25516         * tests/test-unistd.c (main): Likewise.
25517         * tests/test-unlink.c (main): Likewise.
25518         * tests/test-unlinkat.c (main): Likewise.
25519         * tests/test-utimens.c (main): Likewise.
25520         * tests/test-utimensat.c (main): Likewise.
25521         * tests/test-version-etc.c (main): Likewise.
25522         * tests/test-wchar.c (main): Likewise.
25523         * tests/test-wctype.c (main): Likewise.
25524         * tests/test-xprintf-posix.c (main): Likewise.
25525         * tests/test-posixtm.c (main): Likewise.
25526         (STREQ): Delete unused macro.
25527         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
25528         shadowed variables.
25529         * tests/test-memchr.c (main): Likewise.
25530
25531 2009-10-21  Eric Blake  <ebb9@byu.net>
25532
25533         areadlinkat: avoid failure on older glibc
25534         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
25535         rather than mis-comparing 0 against FUNC_RESULT of char*.
25536
25537 2009-10-21  Bruno Haible  <bruno@clisp.org>
25538
25539         * modules/stpncpy (License): Relicense under LGPLv2+.
25540         Reported by David Lutterkort <lutter@redhat.com>.
25541
25542 2009-10-20  Eric Blake  <ebb9@byu.net>
25543
25544         utimensat: work around Solaris 9 bug
25545         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
25546         has trailing slash bugs.
25547         * tests/test-lutimens.h (test_lutimens): Enhance test.
25548         * tests/test-utimens.h (test_utimens): Likewise.
25549         * doc/posix-functions/utime.texi (utime): Enhance documentation.
25550         * doc/posix-functions/utimes.texi (utimes): Likewise.
25551         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
25552         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
25553         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
25554         * doc/posix-functions/futimens.texi (futimens): Likewise.
25555
25556         fdutimensat: new module
25557         * modules/fdutimensat: New file.
25558         * lib/fdutimensat.c (fdutimensat): Likewise.
25559         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
25560         * MODULES.html.sh (File system functions): Mention module.
25561         * modules/fdutimensat-tests: New test.
25562         * tests/test-fdutimensat.c: Likewise.
25563
25564         doc: regenerate INSTALL
25565         * doc/INSTALL: Reflect recent autoconf update.
25566         * doc/INSTALL.ISO: Likewise.
25567         * doc/INSTALL.UTF-8: Likewise.
25568
25569 2009-10-20  Pádraig Brady  <P@draigBrady.com>
25570
25571         acl: warn if ACL support is not detected
25572         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
25573
25574 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
25575
25576         * lib/nproc.h: Add extern "C" block for C++.
25577
25578 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
25579             Bruno Haible  <bruno@clisp.org>
25580
25581         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
25582         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
25583         * doc/posix-functions/isalpha.texi: Likewise.
25584         * doc/posix-functions/isblank.texi: Likewise.
25585         * doc/posix-functions/iscntrl.texi: Likewise.
25586         * doc/posix-functions/isdigit.texi: Likewise.
25587         * doc/posix-functions/isgraph.texi: Likewise.
25588         * doc/posix-functions/islower.texi: Likewise.
25589         * doc/posix-functions/isprint.texi: Likewise.
25590         * doc/posix-functions/ispunct.texi: Likewise.
25591         * doc/posix-functions/isspace.texi: Likewise.
25592         * doc/posix-functions/isupper.texi: Likewise.
25593         * doc/posix-functions/isxdigit.texi: Likewise.
25594
25595 2009-10-18  Bruno Haible  <bruno@clisp.org>
25596
25597         Tests for module 'isblank'.
25598         * modules/isblank-tests: New file.
25599         * tests/test-isblank.c: New file.
25600
25601         New module 'isblank'.
25602         * lib/isblank.c: New file.
25603         * m4/isblank.m4: New file.
25604         * modules/isblank: New file.
25605         * doc/posix-functions/isblank.texi: Mention the new module.
25606
25607 2009-10-18  Bruno Haible  <bruno@clisp.org>
25608
25609         New module 'ctype'.
25610         * lib/ctype.in.h: New file.
25611         * m4/ctype.m4: New file.
25612         * modules/ctype: New file.
25613         * doc/posix-headers/ctype.texi: Mention the new module.
25614
25615 2009-10-18  Jim Meyering  <meyering@redhat.com>
25616
25617         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
25618         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
25619         right after its initialization, rather than farther down.
25620         Keeping these in close proximity makes it easier to ensure
25621         that each such variable is initialized.  E.g.,
25622
25623             LIB_CLOCK_GETTIME=
25624             AC_SUBST([LIB_CLOCK_GETTIME])
25625
25626         This change also increments these serial numbers.
25627         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
25628         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
25629         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
25630
25631 2009-10-18  Bruno Haible  <bruno@clisp.org>
25632
25633         Don't let environment variables perturb build.
25634         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
25635         (gl_PREREQ_GETHRXTIME): ... not here.
25636
25637 2009-10-18  Bruno Haible  <bruno@clisp.org>
25638
25639         Avoid symlink attack in localcharset module.
25640         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
25641         (O_NOFOLLOW): Define fallback.
25642         (get_charset_aliases): Don't open the file if it is a symbolic link.
25643         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
25644         gl_FCNTL_H.
25645         (gl_FCNTL_H): Require it.
25646         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
25647         * modules/localcharset (Files): Add m4/fcntl_h.m4.
25648         Reported by Fergal Glynn <fglynn@veracode.com>.
25649
25650 2009-10-18  Bruno Haible  <bruno@clisp.org>
25651
25652         Implement nproc for mingw.
25653         * lib/nproc.c: Include <windows.h>
25654         (num_processors): On native Windows platforms, try GetSystemInfo.
25655
25656 2009-10-18  Bruno Haible  <bruno@clisp.org>
25657
25658         Implement nproc for IRIX.
25659         * lib/nproc.c: Include <sys/sysmp.h>.
25660         (num_processors): On IRIX systems, try sysmp.
25661         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
25662
25663 2009-10-18  Bruno Haible  <bruno@clisp.org>
25664
25665         Implement nproc for HP-UX.
25666         * lib/nproc.c: Include <sys/pstat.h>
25667         (num_processors): On HP-UX systems, try pstat_getdynamic.
25668         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
25669         pstat_getdynamic.
25670
25671 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
25672             Bruno Haible  <bruno@clisp.org>
25673
25674         Implement nproc for NetBSD, OpenBSD.
25675         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
25676         (ARRAY_SIZE): New macro.
25677         (num_processors): On BSD systems, try sysctl of HW_NCPU.
25678         * m4/nproc.m4: New file.
25679         * modules/nproc (Files): Add m4/nproc.m4.
25680         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
25681         (Makefile.am): Instead, augment lib_SOURCES.
25682
25683 2009-10-18  Bruno Haible  <bruno@clisp.org>
25684
25685         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
25686         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
25687         sys/param.h.
25688
25689 2009-10-16  Eric Blake  <ebb9@byu.net>
25690
25691         utimensat: new module
25692         * modules/utimensat: New file.
25693         * lib/utimensat.c (utimensat): Likewise.
25694         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
25695         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
25696         so we can work around Linux bugs.
25697         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
25698         * modules/sys_stat (Makefile.am): Substitute them.
25699         * lib/sys_stat.in.h (utimensat): Declare it.
25700         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
25701         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
25702         * modules/utimensat-tests: New test.
25703         * tests/test-utimensat.c: Likewise.
25704
25705         utimens: let lutimens work on non-symlinks
25706         * lib/utimens.c (lutimens): Fall back to utimens rather than
25707         failing with ENOSYS, when file is not a symlink.
25708         (utimens): Reduce redirection.
25709         * tests/test-lutimens.h (test_lutimens): Update test to cover
25710         non-symlinks.
25711         * tests/test-utimens.h (test_utimens): Update test to cover
25712         symlinks.
25713         * tests/test-utimens.c (main): Update caller.
25714
25715         utimens: cache whether utimensat syscall works
25716         * lib/utimens.c (utimensat_works_really): New cache variable.
25717         (fdutimens, lutimens): Use it to avoid failing syscall.
25718
25719         test-stat-time, test-utimens: improve portability
25720         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
25721         ext4 on alpha, and for cygwin.
25722         * tests/test-utimens-common.h: New file.
25723         (nap): Factor delays into single function.
25724         * tests/test-lutimens.h (test_lutimens): Use new header.
25725         * tests/test-futimens.h (test_futimens): Likewise.
25726         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
25727         timestamps to occur from same machine, as was done previously for
25728         test_utimens.
25729         * modules/utimens-tests (Files): Ship new file.
25730         * modules/futimens-tests (Files): Likewise.
25731         Reported in part by Jim Meyering.
25732
25733         sys_stat: sort replacement declarations
25734         * lib/sys_stat.in.h: Sort declarations.
25735         * lib/futimens.c (futimens): Fix typo.
25736
25737 2009-10-15  Jim Meyering  <meyering@redhat.com>
25738
25739         don't let environment settings perturb build
25740         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
25741         could cause a configure-time and/or build-time malfunction.
25742         Typically, a configure-time function-in-library test is performed
25743         via code like this:
25744
25745           LIB_VAR=
25746           AC_SUBST([LIB_VAR])
25747           prefix_saved_LIBS=$LIBS
25748             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
25749                        [test "$ac_cv_search_FUNC" = "none required" ||
25750                         LIB_VAR=$ac_cv_search_FUNC])
25751           LIBS=$prefix_saved_LIBS
25752
25753         However, in each of the files affected by this change, the LIB_VAR=
25754         initialization was omitted.  Thus, when set in the environment, its
25755         value would propagate into generated Makefiles when FUNC is not found
25756         in LIB_NAME.
25757         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
25758         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
25759         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
25760
25761 2009-10-14  Eric Blake  <ebb9@byu.net>
25762
25763         fchdir: avoid infinite recursion in mingw
25764         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
25765         recursing.
25766
25767         test-stat-time: port to mingw
25768         * tests/test-stat-time.c (force_unlink): Return a value.
25769         (test_ctime) [W32]: Fix compilation error.
25770         (nap): Don't call usleep with too large an argument.  Use
25771         force_unlink.
25772         * doc/pastposix-functions/usleep.texi (usleep): Document the
25773         portability issue.
25774
25775 2009-10-13  Jim Meyering  <meyering@redhat.com>
25776
25777         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
25778         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
25779         * modules/pipe-filter-ii: Likewise.
25780         * modules/sys_socket-tests: Likewise.
25781         * modules/tsearch-tests: Likewise.
25782         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
25783         (check): Depend on it.
25784
25785 2009-10-12  Eric Blake  <ebb9@byu.net>
25786
25787         utimens-tests: port to NFS file systems
25788         * tests/test-utimens.h (test_utimens): Refactor utimecmp
25789         comparisons to avoid spurious failures from timestamp drift
25790         between NFS machines.
25791
25792 2009-10-12  Eric Blake  <ebb9@byu.net>
25793
25794         stat-time-tests: minor cleanups
25795         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
25796         * tests/test-stat-time.c (nap): Separate assignment from call.
25797         Suggested by Paolo Bonzini and Bruno Haible.
25798
25799         sys_stat: guarantee struct timespec
25800         * lib/sys_stat.in.h (includes): Always include <time.h>
25801         * modules/sys_stat (Depends-on): Add time.
25802         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
25803         mode_t permission values.
25804         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
25805         get at subsecond timestamps.
25806
25807 2009-10-10  Eric Blake  <ebb9@byu.net>
25808
25809         futimens: new module
25810         * modules/futimens: New file.
25811         * lib/futimens.c (futimens): Likewise.
25812         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
25813         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
25814         we can work around Linux bugs.
25815         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
25816         * modules/sys_stat (Makefile.am): Substitute them.
25817         * lib/sys_stat.in.h (futimens): Declare it.
25818         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
25819         * doc/posix-functions/futimens.texi (futimens): Likewise.
25820         * modules/futimens-tests: New test.
25821         * tests/test-futimens.c: Likewise.
25822
25823         utimens: introduce fdutimens
25824         * lib/utimens.h (fdutimens): New prototype.
25825         * lib/utimens.c (gl_futimens): Move guts...
25826         (fdutimens): ...to new interface.
25827         * tests/test-utimens.c (do_fdutimens): Use it.
25828
25829         utimens: add UTIME_NOW and UTIME_OMIT support
25830         * lib/utimens.c (validate_timespec, update_timespec): New helper
25831         functions.
25832         (gl_futimens, lutimens): Use them.
25833         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
25834         stdbool, sys_stat.
25835         (Link): Mention resulting library dependency.
25836         * modules/utimecmp (Link): Likewise.
25837         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
25838         (Makefile.am): Pick up library dependency.
25839         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
25840         definition.
25841         * tests/test-sys_stat.c: Test the definitions.
25842         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
25843         * NEWS: Document library dependency.
25844
25845         utimecmp: support symlink timestamps
25846         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
25847         hashing when possible.  Use pathconf when available.
25848         (SYSCALL_RESOLUTION): Recognize tighter resolution.
25849         * modules/utimecmp (Depends-on): Add lstat.
25850
25851         utimens: add lutimens interface
25852         * lib/utimens.c (lutimens): New function.
25853         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
25854         * lib/utimens.h (lutimens): Declare new interface.
25855         * tests/test-utimens.c (main): Enhance test.
25856         * tests/test-lutimens.h (test_lutimens): New file.
25857         * modules/utimens-tests (Files): Distribute it.
25858         (Depends-on): Add symlink.
25859         (configure.ac): Check for usleep.
25860
25861         utimens: validate futimens usage
25862         * lib/utimens.c (gl_futimens): Require valid fd up front, using
25863         fewer syscalls on failure later on.  Avoid compiler warning on
25864         mingw.
25865         * modules/utimens (Depends-on): Add dup2.
25866
25867         utimens: add test
25868         * modules/utimens-tests: New test.
25869         * tests/test-utimens.h: New file.
25870         * tests/test-futimens.h: Likewise.
25871         * tests/test-utimens.c: Likewise.
25872
25873         doc: mention timestamp portability issues
25874         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
25875         instead.
25876         * doc/posix-functions/utime.texi (utime): Likewise.
25877         * doc/posix-functions/utimes.texi (utimes): Likewise.
25878         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
25879         instead.
25880         * doc/posix-functions/futimens.texi (futimens): Mention utimens
25881         module.
25882         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
25883         Mention weakness with symlink timestamps.
25884         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
25885         to utimensat/futimens instead.
25886         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
25887
25888         test-dup2: enhance test
25889         * tests/test-dup2.c (main): Also check AT_FDCWD.
25890
25891         test-stat-time: avoid more spurious failures
25892         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
25893         xfs; and avoid race if the two timestamps cross quantization edge.
25894
25895         relocatable: prefer 'file system' over 'filesystem'
25896         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
25897         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
25898         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
25899         * doc/relocatable.texi (Enabling Relocatability): Likewise.
25900         * lib/relocatable.c (compute_curr_prefix): Likewise.
25901
25902 2009-10-10  Jim Meyering  <meyering@redhat.com>
25903
25904         stat-time-tests: check for the usleep function
25905         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
25906
25907 2009-10-10  Bruno Haible  <bruno@clisp.org>
25908
25909         * modules/xnanosleep: Put the Link section after the Include section.
25910
25911 2009-10-09  Eric Blake  <ebb9@byu.net>
25912
25913         dup2: work around FreeBSD 6.1 bug
25914         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
25915         * doc/posix-functions/dup2.texi (dup2): Document it.
25916         Reported by Nelson H. F. Beebe and Jim Meyering.
25917
25918         test-stat-time: port to buggy NFS clients
25919         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
25920         (test_ctime): Also skip test if mtime and ctime are skewed.
25921
25922         maint: prefer 'file system' over 'filesystem'
25923         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
25924         * doc/posix-functions/lstat.texi (lstat): Likewise.
25925         * lib/file-has-acl.c (file_has_acl): Likewise.
25926         * lib/fwriteerror.c [TEST]: Likewise.
25927         * tests/test-areadlink.h (test_areadlink): Likewise.
25928         * tests/test-areadlinkat-with-size.c (main): Likewise.
25929         * tests/test-areadlinkat.c (main): Likewise.
25930         * tests/test-canonicalize-lgpl.c (main): Likewise.
25931         * tests/test-canonicalize.c (main): Likewise.
25932         * tests/test-fstatat.c (main): Likewise.
25933         * tests/test-linkat.c (main): Likewise.
25934         * tests/test-lstat.h (test_lstat_func): Likewise.
25935         * tests/test-mkdir.h (test_mkdir): Likewise.
25936         * tests/test-readlink.h (test_readlink): Likewise.
25937         * tests/test-remove.c (main): Likewise.
25938         * tests/test-rename.h (test_rename): Likewise.
25939         * tests/test-renameat.c (main): Likewise.
25940         * tests/test-rmdir.h (test_rmdir_func): Likewise.
25941         * tests/test-symlink.h (test_symlink): Likewise.
25942         * tests/test-symlinkat.c (main): Likewise.
25943         * tests/test-unlink.h (test_unlink_func): Likewise.
25944         * tests/test-unlinkat.c (main): Likewise.
25945
25946         maint: make realtime library usage explicit
25947         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
25948         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
25949         * modules/settime (Link): Likewise.
25950         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
25951
25952         test-stat-time: speed up execution
25953         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
25954         warning on mingw.
25955         (nap): New helper function.
25956         (prepare_test): Use it to reduce sleep time.
25957         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
25958         execution.
25959         * modules/stat-time-tests (configure.ac): Check for usleep.
25960
25961 2009-10-09  Jim Meyering  <meyering@redhat.com>
25962
25963         selinux-h: always use getfilecon wrappers
25964         * lib/getfilecon.c: New file.
25965         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
25966         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
25967         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
25968         (fgetfilecon): Provide a stub.
25969         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
25970         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
25971         file unconditionally.
25972         When <selinux/selinux.h> is found, arrange to use wrappers.
25973         * modules/selinux-h (Files): Add getfilecon.c.
25974         (Makefile.am): Substitute include-next-related bits
25975         into the now-always-generated selinux/selinux.h file.
25976         * doc/glibc-functions/lgetfilecon.texi: New file.
25977         * doc/glibc-functions/fgetfilecon.texi: New file.
25978         * doc/glibc-functions/getfilecon.texi: New file.
25979         * doc/glibc-functions/getfilecon-desc.texi: New file.
25980         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
25981         which to pull in the new files.
25982         * MODULES.html.sh (Misc): Add selinux-h.
25983
25984 2009-10-08  Jim Meyering  <meyering@redhat.com>
25985
25986         unistd: fix comment typo
25987         * lib/unistd.in.h (euidaccess): Fix a comment typo.
25988
25989 2009-10-08  Eric Blake  <ebb9@byu.net>
25990
25991         areadlink: use SIZE_MAX consistently
25992         * modules/areadlink (Depends-on): Add stdint.
25993         * modules/areadlink-with-size (Depends-on): Likewise.
25994         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
25995         gives NULL; drop sys/types, since unistd gives size_t; and add
25996         stdint for SIZE_MAX.
25997         (SIZE_MAX): Rely on headers.
25998         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
25999         and add stdint.
26000         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
26001         (SIZE_MAX): Likewise.
26002         (INITIAL_BUF_SIZE): Turn into enum.
26003         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
26004
26005 2009-10-08  Jim Meyering  <meyering@redhat.com>
26006
26007         areadlinkat: avoid compilation failure
26008         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
26009         Fix typo in comment.
26010
26011 2009-10-07  Eric Blake  <ebb9@byu.net>
26012
26013         areadlinkat-with-size: new module
26014         * modules/areadlinkat-with-size: New module.
26015         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
26016         * lib/areadlink.h (areadlinkat): Declare it.
26017         * MODULES.html.sh (File system functions): Mention it.
26018         * modules/areadlinkat-with-size-tests: New test.
26019         * tests/test-areadlinkat-with-size.c: New file.
26020
26021         xreadlinkat: new module
26022         * modules/xreadlinkat: New module.
26023         * lib/xreadlinkat.c (xreadlinkat): New file.
26024         * lib/xreadlink.h (xreadlinkat): Declare it.
26025         * MODULES.html.sh (File system functions): Mention it.
26026
26027         areadlinkat: new module
26028         * lib/at-func.c (FUNC_FAIL): New define.
26029         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
26030         * modules/areadlinkat: New module.
26031         * lib/linkat.c (areadlinkat): Move...
26032         * lib/areadlinkat.c (areadlinkat): ...to new file.
26033         * lib/areadlink.h (areadlinkat): Declare it.
26034         * modules/linkat (Depends-on): Add areadlinkat.
26035         * MODULES.html.sh (File system functions): Mention it.
26036         * modules/areadlinkat-tests: New test.
26037         * tests/test-areadlinkat.c: New file.
26038
26039         areadlink, areadlink-with-size: add tests
26040         * modules/areadlink-tests: New test.
26041         * modules/areadlink-with-size-tests: Likewise.
26042         * tests/test-areadlink.h: New file.
26043         * tests/test-areadlink.c: Likewise.
26044         * tests/test-areadlink-with-size.c: Likewise.
26045
26046         maint: minor cleanups
26047         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
26048         _UNUSED_PARAMETER_ instead.
26049         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
26050         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
26051         * modules/linkat-tests (Files): Distribute test-link.h.
26052
26053         openat, utimens: whitespace cleanup
26054         * lib/openat.c: Prefer space throughout, rather than mix of 8
26055         spaces vs. tabs.
26056         * lib/at-func.c: Likewise.
26057         * lib/utimens.c: Likewise.
26058
26059         openat: avoid using wrong fd
26060         * lib/openat.c (openat_permissive): Reject user's fd if saving the
26061         working directory chooses same fd.
26062         * lib/at-func.c (AT_FUNC_NAME): Likewise.
26063
26064         mkdir, mkdirat: fix cygwin 1.5.x bug
26065         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
26066         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
26067         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
26068         bug.
26069         (gl_PREREQ_MKDIR): Delete unused macro.
26070         * modules/mkdir (Files): Track file rename.
26071         (configure.ac): Update macro name.
26072         * modules/openat (Depends-on): Add mkdir.
26073         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
26074
26075         mkdir, mkdirat: add tests
26076         * modules/mkdir-tests: New test.
26077         * tests/test-mkdir.h: New file.
26078         * tests/test-mkdir.c: Likewise.
26079         * tests/test-mkdirat.c: Likewise.
26080         * modules/openat-tests (Files): Add new files.
26081         (Makefile.am): Run new test.
26082
26083 2009-10-06  Eric Blake  <ebb9@byu.net>
26084
26085         doc: tweak *at function documentation
26086         * doc/posix-functions/faccessat.texi (faccessat): Mention
26087         known issue with replacement.
26088         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
26089         * doc/posix-functions/linkat.texi (linkat): Likewise.
26090         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
26091         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
26092         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
26093         * doc/posix-functions/renameat.texi (renameat): Likewise.
26094         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
26095
26096         openat: fix GNU/Hurd bug in unlinkat
26097         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
26098         broken.
26099         * doc/posix-functions/unlink.texi (unlink): Document this.
26100         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
26101
26102         fdopendir: fix GNU/Hurd bug
26103         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
26104         allowing non-directory fds.
26105         * lib/fdopendir.c (rpl_fdopendir): Work around it.
26106         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
26107         * modules/dirent (Makefile.am): Substitute it.
26108         * lib/dirent.in.h (fdopendir): Declare replacement.
26109         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
26110         * tests/test-fdopendir.c (main): Test something other than
26111         /dev/null, since on Hurd that behaves like a directory.
26112
26113         test-symlink: port to GNU/Hurd
26114         * tests/test-symlink.h (test_symlink): Relax expected errno.
26115
26116         doc: tweak more cygwin information
26117         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
26118         now compatible with glibc.
26119         * doc/posix-functions/getopt.texi (getopt): Likewise.
26120
26121         getopt-gnu: add another test
26122         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
26123         guarantee behavior relied on by m4.
26124         * tests/test-getopt.c (main): Use it.
26125         * modules/getopt-posix-tests (Depends-on): Add setenv.
26126         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
26127
26128         getopt: fix compilation on darwin
26129         * lib/getopt.in.h (includes): Leave breadcrumbs during system
26130         include.
26131         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
26132         Reported by Ludovic Courtès.
26133
26134 2009-10-06  Bruno Haible  <bruno@clisp.org>
26135
26136         * modules/size_max (Description): Discourage its use.
26137         Reported by Simon Josefsson.
26138
26139 2009-10-06  Jim Meyering  <meyering@redhat.com>
26140
26141         linkat: avoid compilation failure
26142         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
26143
26144 2009-10-05  Eric Blake  <ebb9@byu.net>
26145
26146         linkat: support Linux 2.6.17
26147         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
26148         linkat on Linux, but allow cache variable override.
26149         * lib/linkat.c (rpl_linkat): Define override.
26150         * modules/linkat (Depends-on): Add symlinkat.
26151         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
26152         * modules/unistd (Makefile.am): Substitute it.
26153         * lib/unistd.in.h (linkat): Declare replacement.
26154         Reported by Pádraig Brady.
26155
26156         quotearg: port test to systems with C.UTF-8 locale
26157         * tests/test-quotearg.c (struct result_strings): Add another
26158         member, differentiating between C.ASCII and C.UTF-8 handling.
26159         (compare_strings): Add parameter.
26160         (main): Adjust all callers.
26161
26162         getopt: avoid clash with FreeBSD _getopt_internal
26163         * lib/getopt.in.h (_getopt_internal): Override the name.
26164         * lib/getopt_int.h (includes): Pick up any overrides.
26165         Reported by Reuben Thomas.
26166
26167         hash: allow C89 compilation
26168         * lib/hash.c (check_tuning): Move declaration before statement.
26169         Reported by Reuben Thomas.
26170
26171 2009-10-05  Karl Berry  <karl@gnu.org>
26172
26173         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
26174
26175 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
26176             Bruno Haible  <bruno@clisp.org>
26177
26178         * lib/uname.c (uname): Use a table-driven algorithm to compute
26179         Windows NT versions.
26180
26181 2009-10-04  Bruno Haible  <bruno@clisp.org>
26182
26183         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
26184         program_invocation_short_name.
26185         * modules/progname (configure.ac): Test for presence of
26186         program_invocation_short_name.
26187         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
26188
26189 2009-10-04  Bruno Haible  <bruno@clisp.org>
26190
26191         * lib/progname.c (set_program_name): Fix comment.
26192         Reported by Jim Meyering.
26193
26194 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
26195             Bruno Haible  <bruno@clisp.org>
26196
26197         * lib/uname.c: Include <string.h>.
26198         (uname): Do only one call to GetVersionEx in the common case.
26199
26200 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
26201             Bruno Haible  <bruno@clisp.org>
26202
26203         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
26204         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
26205         (uname): Add support for Windows CE and various non-x86 CPU types.
26206
26207 2009-10-03  Bruno Haible  <bruno@clisp.org>
26208
26209         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
26210         invocation to tests/configure.ac.
26211         Reported by Ian Beckwith <ianb@erislabs.net>.
26212
26213 2009-10-02  Eric Blake  <ebb9@byu.net>
26214
26215         fchdir: avoid compiler warning
26216         * lib/fchdir.c (canonicalize_file_name)
26217         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
26218
26219         test-open: support mingw errno values
26220         * tests/test-open.h (test_open): Relax test.
26221         * tests/test-fopen.h (test_fopen): Likewise.
26222         * tests/test-openat-safer.c (main): Likewise.
26223
26224         open: fix opening directory on mingw
26225         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
26226
26227         test-open: on GNU/Hurd, /dev/null is a directory
26228         * tests/test-fopen.h (main): Rename...
26229         (test_fopen): ...to this.  Use a guaranteed non-directory when
26230         confirming open behavior on trailing slash.
26231         * tests/test-openat-safer.c (main): Likewise.
26232         * tests/test-open.h (main): Likewise....
26233         (test_open): ...to this.
26234         * tests/test-fopen.c (main): Adjust caller.
26235         * tests/test-fopen-safer.c (main): Likewise.
26236         * tests/test-open.c (main): Likewise.
26237         * tests/test-fcntl-safer.c (main): Likewise.
26238         Reported by Samuel Thibault.
26239
26240         rename, fchdir: don't ignore chdir failure
26241         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
26242         * lib/rename.c (rpl_rename) [W32]: Likewise.
26243         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
26244         an empty destination directory if source cannot be renamed,
26245         although there is still possibility for failure.
26246         * doc/posix-functions/rename.texi (rename): Document the race.
26247         Reported by Jim Meyering.
26248
26249         maint: cleanup whitespace in recent commits
26250         * lib/rename.c (rpl_rename): Remove tabs.
26251         * tests/test-link.h (test_link): Likewise.
26252         * lib/fchdir.c (get_name): Likewise.
26253         Reported by Jim Meyering.
26254
26255 2009-10-02  Ben Pfaff  <blp@gnu.org>
26256
26257         relocatable-prog-wrapper: Add missing dependency on
26258         double-slash-root.
26259         * modules/relocatable-prog-wrapper: Add dependency.
26260         Reported by Ian Beckwith <ianb@erislabs.net>.
26261
26262 2009-10-02  Eric Blake  <ebb9@byu.net>
26263
26264         renameat: fix Solaris bugs
26265         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
26266         needed fixing.
26267         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
26268         * modules/stdio (Makefile.am): Substitute it.
26269         * lib/stdio.in.h (renameat): Declare replacement.
26270         * lib/renameat.c (rpl_renameat): Implement fix.
26271
26272         renameat: new module
26273         * modules/renameat: New file.
26274         * lib/renameat.c (renameat): Likewise.
26275         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
26276         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
26277         * modules/stdio (Makefile.am): Substitute them.
26278         * lib/stdio.in.h (renameat): Declare it.
26279         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
26280         * doc/posix-functions/renameat.texi (renameat): Likewise.
26281         * modules/renameat-tests: New test.
26282         * tests/test-renameat.c: Likewise.
26283
26284         rename: fix mingw bugs
26285         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
26286         directory overwrite bugs.
26287
26288         rename: fix another cygwin 1.5 bug
26289         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
26290         checks.
26291         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
26292         unnecessary cygwin workarounds.  Also work around bug with moving
26293         full directory onto an empty one.
26294         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
26295
26296         rename-dest-slash: merge into rename module
26297         * modules/rename-dest-slash (Status): Mark obsolete.
26298         (Depends-on): Add rename.
26299         (Files): Let rename do it all.
26300         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
26301         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
26302         * m4/rename-dest-slash.m4: ...so this file can be deleted.
26303         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
26304         * lib/rename.c (rpl_rename): Update comments.
26305
26306         rename: fix cygwin 1.5.x bugs
26307         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
26308         * lib/rename.c (rpl_rename): Work around them.
26309         * modules/rename (Depends-on): Add same-inode.
26310
26311         rename: fix Solaris 10 bug
26312         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
26313         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
26314         was the only bug.
26315
26316         rename: fix Solaris 9 bug
26317         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
26318         on non-directory.  Avoid calling exit.
26319         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
26320         strdup.
26321         * modules/rename-tests (Depends-on): Drop lstat.
26322         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
26323         (gl_PREREQ_RENAME): Delete unused macro.
26324
26325         rename-dest-slash: fix NetBSD bug
26326         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
26327         links.
26328         * modules/rename-dest-slash (Depends-on): Add same-inode.
26329
26330         rename-tests: new test, exposes several platform bugs
26331         * modules/rename-tests: New file.
26332         * tests/test-rename.h: Likewise.
26333         * tests/test-rename.c: Likewise.
26334         * doc/posix-functions/rename.texi (rename): Improve documentation,
26335         including bugs that will eventually be fixed in gnulib.
26336
26337 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
26338
26339         * lib/uname.c: Include <stdlib.h>
26340         (uname): Assume version info is available.
26341
26342 2009-10-02  Jim Meyering  <meyering@redhat.com>
26343
26344         gnu-web-doc-update: correct --help output
26345         * build-aux/gnu-web-doc-update: Make --help output relevant.
26346
26347         gnu-web-doc-update: add standard options
26348         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
26349
26350         gnu-web-doc-update: New module.
26351         Use this script to automatically update the on-line web documentation
26352         for your GNU project at http://www.gnu.org/software/$pkg/manual/
26353         * modules/gnu-web-doc-update: New file, from coreutils.
26354         * build-aux/gnu-web-doc-update: New script.
26355
26356 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
26357
26358         link: LoadLibrary is not needed.
26359         * lib/link.c: Use GetModuleHandle.
26360
26361 2009-10-01  Eric Blake  <ebb9@byu.net>
26362
26363         getopt: bump serial number
26364         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
26365         change.
26366
26367         tests: tighten link, rmdir, and remove tests
26368         * tests/test-link.h (includes): No need to use <config.h> here.
26369         Clean up if directory hard link was created, otherwise test for
26370         trailing '.'.
26371         * tests/test-linkat.c (main): Simplify.
26372         * tests/test-remove.c (main): Enhance test for trailing '.'.
26373         * tests/test-rmdir.h (test_rmdir_func): Likewise.
26374
26375 2009-10-01  Jim Meyering  <meyering@redhat.com>
26376
26377         maint.mk: requiring "make major" was annoying, for a "minor" release.
26378         What is intended is "stable", to contrast with alpha and beta,
26379         so require "make stable", not "make major".
26380         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
26381         (get_tool_versions): Likewise.
26382         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
26383
26384 2009-09-30  Ben Pfaff  <blp@gnu.org>
26385
26386         Fix broken build of replacement for Windows tmpfile().
26387         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
26388         flags argument added along with the 'mkostemp' module.
26389
26390 2009-09-28  Bruno Haible  <bruno@clisp.org>
26391
26392         Avoid identifier clash with POSIX function 'remove' defined as a macro.
26393         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
26394         to 'remove_elt'.
26395         (gl_list_remove): Update.
26396         * lib/gl_list.c (gl_list_remove): Update.
26397         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
26398         to 'remove_elt'.
26399         (gl_oset_remove): Update.
26400         * lib/gl_list.c (gl_oset_remove): Update.
26401         Reported by Eric Blake.
26402
26403 2009-09-28  Eric Blake  <ebb9@byu.net>
26404
26405         doc: mention yet more cygwin 1.7 status
26406         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
26407         cygwin.
26408         * doc/glibc-functions/execvpe.texi (execvpe): New file.
26409         * doc/gnulib.texi (Glibc unistd.h): Mention it.
26410
26411         argp: fix test failure
26412         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
26413         that are not upper-case.  Pass correct range to tolower.
26414
26415 2009-09-27  Jim Meyering  <meyering@redhat.com>
26416
26417         test-yesno: work around sparc-dash here-document infelicity
26418         Without this change, the literal \177 byte in a here document
26419         would make dash 0.5.5.1-3 access uninitialized memory.
26420         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
26421         Instead, use a marker, "@", and filter through tr to create the desired
26422         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
26423
26424 2009-09-27  Bruno Haible  <bruno@clisp.org>
26425
26426         Disable untested support for new flavours of ACLs on AIX.
26427         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
26428         progress.
26429         * lib/set-mode-acl.c (qset_acl): Likewise.
26430
26431 2008-12-07  Bruno Haible  <bruno@clisp.org>
26432
26433         Add support for new flavours of ACLs on AIX. (Untested.)
26434         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
26435         (file_has_acl): Add support for newer AIX.
26436         * lib/set-mode-acl.c (qset_acl): Likewise.
26437         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
26438         Rainer Tammer <tammer@tammer.net>.
26439
26440 2009-09-26  Eric Blake  <ebb9@byu.net>
26441
26442         argp: fix compilation of getopt
26443         * lib/getopt.in.h (includes): Use different guard than glibc.
26444         Reported by Sergey Poznyakoff.
26445
26446         doc: mention more cygwin 1.7 status
26447         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
26448         bug.
26449         * doc/posix-functions/execl.texi (execl): Likewise.
26450         * doc/posix-functions/execle.texi (execle): Likewise.
26451         * doc/posix-functions/execlp.texi (execlp): Likewise.
26452         * doc/posix-functions/execv.texi (execv): Likewise.
26453         * doc/posix-functions/execve.texi (execve): Likewise.
26454         * doc/posix-functions/execvp.texi (execvp): Likewise.
26455         * doc/glibc-functions/canonicalize_file_name.texi
26456         (canonicalize_file_name): Cygwin 1.7 now provides this.
26457         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
26458         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
26459         on AT_SYMLINK_NOFOLLOW.
26460
26461 2009-09-24  Eric Blake  <ebb9@byu.net>
26462
26463         test-linkat: make test more robust
26464         * tests/test-linkat.c (main): Avoid collision with EEXIST.
26465
26466         getopt: fix inclusion guards for cygwin
26467         * modules/getopt-posix (Depends-on): Add include-next.
26468         (Makefile.am): Substitute more items in replacement header.
26469         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
26470         <getopt.h>.
26471         * lib/getopt.in.h (includes): Use split inclusion guard, and
26472         prefer <getopt.h> over include <unistd.h> when one is present.
26473         (option): Also override name of 'struct option'.
26474
26475         same-inode: revert prior change; it is not yet ready
26476         * NEWS: Undo mention of this change.
26477         * lib/same-inode.h (same-inode.h): Undo tri-state change.
26478         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
26479         * lib/cycle-check.c (cycle_check): Likewise.
26480         * lib/same.c (same_name): Likewise.
26481         * lib/at-func2.c (at_func2): Likewise.
26482
26483 2009-09-23  Eric Blake  <ebb9@byu.net>
26484
26485         linkat: new module
26486         * modules/linkat: New file.
26487         * lib/at-func2.c (at_func2): Likewise.
26488         * lib/linkat.c (linkat): Likewise.
26489         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
26490         * lib/openat-priv.h (at_func2): Add declaration.
26491         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
26492         * modules/unistd (Makefile.am): Substitute them.
26493         * lib/unistd.in.h (linkat): Declare it.
26494         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
26495         * doc/posix-functions/linkat.texi (linkat): Likewise.
26496         * doc/posix-functions/link.texi (link): Tweak wording.
26497         * tests/test-link.c (main): Move guts...
26498         * tests/test-link.h (test_link): ...into new file.
26499         * modules/linkat-tests: New test.
26500         * tests/test-linkat.c: Likewise.
26501         * modules/link-tests (Files): Ship new file.
26502         (Depends-on): Add stdbool.
26503
26504         dirname: add library-safe mdir_name
26505         * lib/dirname.h (mdir_name): New prototype.
26506         * lib/dirname.c (dir_name): Move guts...
26507         (mdir_name): ...to new function that avoids xalloc_die.
26508
26509         fchdir: another mingw fix
26510         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
26511         * lib/fchdir.c (get_name): New helper method; skips canonicalize
26512         on mingw (where it has not yet been ported), and make it optional
26513         elsewhere.
26514         (_gl_register_fd): Use it.
26515
26516         same-inode: make SAME_INODE tri-state, to port to mingw
26517         * NEWS: Mention this change.
26518         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
26519         st_ino always being 0.
26520         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
26521         * lib/cycle-check.c (cycle_check): Likewise.
26522         * lib/same.c (same_name): Likewise.
26523
26524         lstat: avoid mingw compilation error
26525         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
26526         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
26527         lstat ourselves.
26528         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
26529         was adequate.
26530         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
26531         the checks for lstat.
26532         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
26533
26534         link: fix test failure on Solaris 9
26535         * lib/link.c (rpl_link): Don't assume link will catch bogus
26536         trailing slash on source.
26537
26538         test-symlinkat: enhance test
26539         * tests/test-readlink.c (main): Move guts...
26540         * tests/test-readlink.h (test_readlink): ...into new file.
26541         * tests/test-symlink.c (main): Move guts...
26542         * tests/test-symlink.h (test_symlink): ...into new file.
26543         * tests/test-symlinkat.c (main): Use new files for further
26544         coverage.
26545         (do_symlink, do_readlink): New helper functions.
26546         * modules/symlink-tests (Files): Ship new file.
26547         (Depends-on): Add stdbool.
26548         * modules/readlink-tests (Files): Ship new file.
26549         (Depends-on): Add stdbool.
26550         * modules/symlinkat-tests (Files): Use new files.
26551
26552 2009-09-23  Eric Blake  <ebb9@byu.net>
26553
26554         readlink: document portability issue with symlink length
26555         * doc/posix-functions/lstat.texi (lstat): Mention that some file
26556         systems have bogus st_size on symlinks, and mention the
26557         areadlink-with-size module.
26558         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
26559         * doc/posix-functions/readlink.texi (readlink): Mention the
26560         areadlink module, and ERANGE failure.
26561         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
26562         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
26563
26564         readlink: fix Solaris 9 bug with trailing slash
26565         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
26566         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
26567         * doc/posix-functions/readlink.texi (readlink): Document this.
26568         * modules/readlink-tests: New test.
26569         * tests/test-readlink.c: Likewise.
26570
26571         readlink: fix cygwin 1.5.x bug with return type
26572         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
26573         * lib/unistd.in.h (readlink): Use ssize_t.
26574         * lib/readlink.c (readlink): Likewise.
26575         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
26576         * modules/unistd (Makefile.am): Substitute it.
26577         * lib/unistd.in.h (readlink): Declare replacement.
26578         * doc/posix-functions/readlink.texi (readlink): Document this.
26579
26580         symlink: use throughout gnulib
26581         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
26582         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
26583         symlink is not used.
26584         * modules/symlinkat (Depends-on): Add symlink.
26585         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
26586         * modules/canonicalize-tests (Depends-on): Likewise.
26587         * modules/lstat-tests (Depends-on): Likewise.
26588         * modules/openat-tests (Depends-on): Likewise.
26589         * modules/remove-tests (Depends-on): Likewise.
26590         * modules/rmdir-tests (Depends-on): Likewise.
26591         * modules/unlink-tests (Depends-on): Likewise.
26592         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
26593         * tests/test-canonicalize.c (symlink): Likewise.
26594         * tests/test-fstatat.c (symlink): Likewise.
26595         * tests/test-lstat.c (symlink): Likewise.
26596         * tests/test-remove.c (symlink): Likewise.
26597         * tests/test-rmdir.c (symlink): Likewise.
26598         * tests/test-unlink.c (symlink): Likewise.
26599         * tests/test-unlinkat.c (symlink): Likewise.
26600
26601         symlink: new module, for Solaris 9 bug
26602         * modules/symlink: New file.
26603         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
26604         * lib/symlink.c: Likewise.
26605         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
26606         * modules/unistd (Makefile.am): Substitute them.
26607         * lib/unistd.in.h (symlink): Declare replacement.
26608         * MODULES.html.sh (File system functions): Mention it.
26609         * doc/posix-functions/symlink.texi (symlink): Likewise.
26610         * modules/symlink-tests: New test.
26611         * tests/test-symlink.c: Likewise.
26612
26613 2009-09-23  Bruno Haible  <bruno@clisp.org>
26614
26615         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
26616         when needed.
26617         Test case: gnulib-tool --import --with-tests atexit inttypes.
26618         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
26619
26620 2009-09-23  Bruno Haible  <bruno@clisp.org>
26621
26622         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
26623         subcommand, not in a subshell.
26624
26625 2009-09-22  Eric Blake  <ebb9@byu.net>
26626
26627         unistd: sort replacement declarations
26628         * lib/unistd.in.h: Sort declarations.
26629
26630         open, openat: minor optimization
26631         * lib/open.c (open): If open succeeded, len is non-zero.
26632         * lib/openat.c (rpl_openat): Likewise.
26633
26634         link-follow: ensure correct result
26635         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
26636         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
26637         distinguish between possible failures.
26638
26639 2009-09-21  Eric Blake  <ebb9@byu.net>
26640
26641         fts: avoid compiler warning
26642         * lib/fts.c (dirent_inode_sort_may_be_useful)
26643         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
26644
26645 2009-09-19  Bruno Haible  <bruno@clisp.org>
26646
26647         * lib/progreloc.c (canonicalize_file_name): New declaration.
26648
26649 2009-09-19  Eric Blake  <ebb9@byu.net>
26650
26651         link: fix quoting
26652         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
26653
26654         openat: fix openat bugs on Solaris 9
26655         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
26656         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
26657         * modules/openat (Depends-on): Add open.
26658         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
26659         * modules/fcntl-h (Makefile.am): Substitute it.
26660         * lib/fcntl.in.h (openat): Declare replacement.
26661         * doc/posix-functions/openat.texi (openat): Document this.
26662
26663         openat: move fstatat and unlinkat into correct files
26664         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
26665         compiled.
26666         * lib/openat.c (fstatat, unlinkat): Move...
26667         * lib/fstatat.c (fstatat): ...into correct files.
26668         * lib/unlinkat.c (unlinkat): Likewise.
26669
26670         openat: fix unlinkat bugs on Solaris 9
26671         * lib/unlinkat.c (unlinkat): New file.
26672         * modules/openat (Depends-on): Add unlink.
26673         (Files): Distribute it.
26674         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
26675         trailing slash behavior is broken.
26676         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
26677         * modules/unistd (Makefile.am): Substitute it.
26678         * lib/unistd.in.h (unlinkat): Declare replacement.
26679         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
26680
26681         openat: fix fstatat bugs on Solaris 9
26682         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
26683         stat.
26684         * doc/posix-functions/fstatat.texi (fstatat): Document this.
26685
26686         test-unlinkat: enhance test, to expose Solaris 9 bug
26687         * tests/test-unlink.c (main): Factor guts...
26688         * tests/test-unlink.h (test_rmdir_func): ...into new file.
26689         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
26690         * tests/test-rmdir.c (main): Adjust caller.
26691         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
26692         (unlinker): New helper function.
26693         (rmdirat): Enhance check.
26694         * modules/rmdir-tests (Depends-on): Add stdbool.
26695         * modules/unlink-tests (Depends-on): Likewise.
26696         (Files): Add test-unlink.h.
26697         * modules/openat-tests (Files): Likewise.
26698         (Depends-on): Add unlinkdir.
26699
26700         test-fstatat: new test, to expose Solaris 9 bugs
26701         * tests/test-stat.c (main): Factor guts...
26702         * tests/test-stat.h (test_stat_func): ...into new file.
26703         * tests/test-lstat.c (main): Factor guts...
26704         * tests/test-lstat.h (test_lstat_func): ...into new file.
26705         * tests/test-fstatat.c: New file.
26706         * modules/stat-tests (Files): Add test-stat.h.
26707         * modules/lstat-tests (Files): Add test-lstat.h.
26708         (Depends-on): Add stdbool.
26709         * modules/openat-tests (Depends-on): Add pathmax.
26710         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
26711         (Makefile.am): Run new test.
26712
26713         remove: new module, for mingw and Solaris 9 bugs
26714         * modules/remove: New file.
26715         * lib/remove.c: Likewise.
26716         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
26717         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
26718         * modules/stdio (Makefile.am): Use them.
26719         * lib/stdio.in.h (remove): Declare replacement.
26720         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
26721         * doc/posix-functions/remove.texi (remove): Likewise.
26722         * modules/remove-tests: New test.
26723         * tests/test-remove.c: Likewise.
26724
26725         unlink: new module, for Solaris 9 bug
26726         * modules/unlink: New file.
26727         * lib/unlink.c: Likewise.
26728         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
26729         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
26730         * modules/unistd (Makefile.am): Use them.
26731         * lib/unistd.in.h (stat): Declare replacement.
26732         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
26733         * doc/posix-functions/unlink.texi (unlink): Likewise.
26734         * modules/unlink-tests: New test.
26735         * tests/test-unlink.c: Likewise.
26736
26737         lstat: fix Solaris 9 bug
26738         * lib/lstat.c (lstat): Also check for trailing slash on
26739         non-symlink, non-directories.  Use stat module to simplify logic.
26740         * doc/posix-functions/lstat.texi (lstat): Document it.
26741         * modules/lstat-tests (Depends-on): Add errno, same-inode.
26742         (configure.ac): Check for symlink.
26743         * tests/test-lstat.c (main): Add more tests.
26744
26745         stat: add as dependency to other modules
26746         * modules/chown (Depends-on): Add stat.
26747         * modules/euidaccess (Depends-on): Likewise.
26748         * modules/fchdir (Depends-on): Likewise.
26749         * modules/isdir (Depends-on): Likewise.
26750         * modules/link (Depends-on): Likewise.
26751         * modules/lstat (Depends-on): Likewise.
26752         * modules/mkdir-p (Depends-on): Likewise.
26753         * modules/modechange (Depends-on): Likewise.
26754         * modules/open (Depends-on): Likewise.
26755         * modules/readlink (Depends-on): Likewise.
26756         * modules/same (Depends-on): Likewise.
26757
26758         stat: fix Solaris 9 bug
26759         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
26760         slash.
26761         * lib/stat.c (rpl_stat): Work around it.
26762         * doc/posix-functions/stat.texi (stat): Update documentation.
26763
26764         stat: new module, for mingw bug
26765         * modules/stat: New file.
26766         * lib/stat.c: Likewise.
26767         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
26768         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
26769         * modules/sys_stat (Makefile.am): Use them.
26770         * lib/sys_stat.in.h (stat): Declare replacement.
26771         * lib/openat.c (fstatat): Deal with lstat and stat being function
26772         macros.
26773         * modules/openat (Depends-on): Add inline.
26774         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
26775         * doc/posix-functions/stat.texi (stat): Likewise.
26776         * modules/stat-tests: New test.
26777         * tests/test-stat.c: Likewise.
26778
26779 2009-09-19  Jim Meyering  <meyering@redhat.com>
26780
26781         syntax-check: detect unnecessary inclusion of canonicalize.h
26782         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
26783
26784 2009-09-19  Eric Blake  <ebb9@byu.net>
26785
26786         canonicalize-lgpl: adjust clients to use correct header
26787         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
26788         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
26789         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
26790         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
26791         * lib/progreloc.c (includes): Likewise.
26792
26793 2009-09-19  Jim Meyering  <meyering@redhat.com>
26794
26795         test-posixtm.c: correct a comment
26796         * tests/test-posixtm.c: Correct first-line comment.
26797         Spotted by Eric Blake.
26798
26799 2009-09-16  Jim Meyering  <meyering@redhat.com>
26800
26801         posixtm-tests: make T const-correct; add a test case
26802         * tests/test-posixtm.c (T): Declare const.
26803         Add a test for -(2^31+1).
26804         Remove useless can-succeed-only-in-2002 test.
26805
26806         posixtm-tests: adjust the sole failing test
26807         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
26808         expected output matches what mktime now produces.  Cross-checked via
26809         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
26810
26811         posixtm: move #ifdef'd tests into a new module
26812         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
26813         * tests/test-posixtm.c: ... this new file.
26814         * modules/posixtm-tests: New module.
26815
26816 2009-09-19  Eric Blake  <ebb9@byu.net>
26817
26818         openat: simplify use of at-func.c
26819         * lib/at-func.c (includes): Include prerequisites here, to
26820         simplify requirements on client files.
26821         * lib/openat-priv.h: Add double-inclusion guard.
26822         * lib/faccessat.c (includes): Simplify.
26823         * lib/fchmodat.c (includes): Likewise.
26824         * lib/fchownat.c (includes): Likewise.
26825         * lib/mkdirat.c (includes): Likewise.
26826         * lib/mkfifoat.c (includes): Likewise.
26827         * lib/symlinkat.c (includes): Likewise.
26828
26829         openat: allow return of fd 0
26830         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
26831         * modules/save-cwd (Depends-on): Replace fcntl-safer with
26832         unistd-safer.
26833         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
26834         <fcntl.h>; this module does not leak fds.
26835         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
26836         must be allowed to return 0, leaving openat_safer to add the
26837         safety.
26838         (openat_permissive): Avoid writing to just-opened fd 2 if
26839         restoring the current directory fails.
26840         * lib/openat-die.c (openat_restore_fail): Add comment.
26841         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
26842         (save_cwd): Guarantee safe fd, but without use of open_safer.
26843         * tests/test-openat.c: New test.
26844         * modules/openat-tests (Files, Makefile.am): Distribute and build
26845         new file.
26846
26847         relocatable-prog-wrapper: fix build
26848         * modules/relocatable-prog-wrapper (Files): Update name of
26849         canonicalize m4 file, broken on 2009-09-17.
26850         Reported by emad hajjar <aleppos@hotmail.com>.
26851
26852 2009-09-19  Bruno Haible  <bruno@clisp.org>
26853
26854         * lib/safe-alloc.h: Use the standard header with GPL copyright.
26855         * lib/safe-alloc.c: Likewise.
26856         Reported by Ian Beckwith <ianb@erislabs.net>.
26857
26858 2009-09-18  Bruno Haible  <bruno@clisp.org>
26859
26860         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
26861         Reported by <erobles@sensacd.com.mx>.
26862
26863 2009-09-17  Eric Blake  <ebb9@byu.net>
26864
26865         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
26866         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
26867         slashes when checking if last component is missing.
26868         * tests/test-canonicalize.c (main): Test this.
26869
26870         canonicalize, canonicalize-lgpl: honor // if distinct from /
26871         * modules/canonicalize (Files): Add double-slash-root.m4.
26872         * modules/canonicalize-lgpl (Files): Likewise.
26873         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
26874         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
26875         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
26876         fallback definition.
26877         (canonicalize_filename_mode): Use it to protect //.
26878         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
26879         (__realpath): Likewise.
26880         * tests/test-canonicalize.c (main): Test this.
26881         * tests/test-canonicalize-lgpl.c (main): Likewise.
26882         * modules/canonicalize-tests (Depends-on): Add same-inode.
26883         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
26884
26885         canonicalize-lgpl: fix glibc bug with trailing slash
26886         * m4/canonicalize-lgpl.m4: Move contents...
26887         * m4/canonicalize.m4: ...here.
26888         (gl_CANONICALIZE_LGPL): Factor realpath check...
26889         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
26890         glibc 2.3.5 bug, fixed 2005-04-27.
26891         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
26892         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
26893         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
26894         * modules/canonicalize-lgpl (Files): Manage file rename.
26895         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
26896         * modules/stdlib (Makefile.am): Substitute witness.
26897         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
26898         is needed.
26899         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
26900         replacement is required.
26901         * lib/canonicalize.c (canonicalize_file_name): Likewise.
26902         * doc/glibc-functions/canonicalize_file_name.texi
26903         (canonicalize_file_name): Document this.
26904         * doc/posix-functions/realpath.texi (realpath): Likewise.
26905
26906         canonicalize-lgpl: reject non-directory with trailing slash
26907         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
26908         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
26909         catches failures in glibc 2.3.5.
26910         * tests/test-canonicalize.c (main): Likewise.
26911
26912         canonicalize-lgpl: use native realpath if it works
26913         * lib/canonicalize-lgpl.c (realpath): Guard with
26914         FUNC_REALPATH_WORKS.
26915         * lib/stdlib.in.h (realpath): Make declaration optional based on
26916         HAVE_REALPATH.
26917         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
26918         native realpath works.
26919         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
26920         * modules/stdlib (Makefile.am): Substitute witness.
26921
26922         canonicalize, canonicalize-lgpl: use <stdlib.h>
26923         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
26924         (Include): Mention <stdlib.h>.
26925         (configure.ac): Mention functions we provide.
26926         * modules/canonicalize (configure.ac): Likewise.
26927         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
26928         realpath if canonicalize_file_name is missing.
26929         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
26930         * modules/stdlib (Makefile.am): Substitute witnesses.
26931         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
26932         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
26933         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
26934         * NEWS: Document this.
26935         * doc/glibc-functions/canonicalize_file_name.texi
26936         (canonicalize_file_name): Likewise.
26937         * doc/posix-functions/realpath.texi (realpath): Likewise.
26938         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
26939
26940         test-canonicalize: consolidate into single C program
26941         * tests/test-canonicalize.sh: Delete; move setup into...
26942         * tests/test-canonicalize.c (main): ...the program, making it
26943         easier to run in debugger.  Add some tests.
26944         * modules/canonicalize-tests (Files): Remove unused file.
26945         (Depends-on): Add progname.
26946         (configure.ac, Makefile.am): Simplify.
26947
26948         test-canonicalize-lgpl: consolidate into single C program
26949         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
26950         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
26951         easier to run in debugger.  Add some tests.
26952         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
26953         (configure.ac, Makefile.am): Simplify.
26954
26955         canonicalize: avoid resolvepath
26956         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
26957         unnecessary checks.
26958         * lib/canonicalize.c (includes): Simplify.
26959         (canonicalize_file_name): Drop resolvepath implementation.
26960         * modules/canonicalize (Depends-on): Drop filenamecat.
26961
26962         canonicalize: don't lose errno
26963         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
26964         over calls to free.
26965
26966         canonicalize: simplify errno handling
26967         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
26968         assignment.
26969
26970         canonicalize, canonicalize-lgpl: update module dependencies
26971         * modules/canonicalize (Depends-on): Add extensions, lstat,
26972         pathmax, stdlib.
26973         (Files): Drop pathmax.h.
26974         (configure.ac): Adjust macro name.
26975         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
26976         lstat, stdlib, sys_stat.
26977         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
26978         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
26979         extensions.
26980         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
26981         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
26982         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
26983         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
26984         declaration, if available.
26985         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
26986         we can rely on the readlink module.
26987         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
26988         (includes): Use <unistd.h> unconditionally.
26989
26990 2009-09-17  Eric Blake  <ebb9@byu.net>
26991
26992         maint: make Include sections of modules consistent
26993         * modules/alloca: Use only header name; no need to list #include.
26994         * modules/alloca-opt: Likewise.
26995         * modules/arpa_inet: Likewise.
26996         * modules/canon-host: Likewise.
26997         * modules/configmake: Likewise.
26998         * modules/dirent: Likewise.
26999         * modules/eealloc: Likewise.
27000         * modules/environ: Likewise.
27001         * modules/fchdir: Likewise.
27002         * modules/fcntl: Likewise.
27003         * modules/fcntl-h: Likewise.
27004         * modules/gethrxtime: Likewise.
27005         * modules/gettime: Likewise.
27006         * modules/ignore-value: Likewise.
27007         * modules/inet_ntop: Likewise.
27008         * modules/inet_pton: Likewise.
27009         * modules/inttypes: Likewise.
27010         * modules/isnand-nolibm: Likewise.
27011         * modules/isnanf-nolibm: Likewise.
27012         * modules/mbchar: Likewise.
27013         * modules/mbfile: Likewise.
27014         * modules/mbiter: Likewise.
27015         * modules/mbuiter: Likewise.
27016         * modules/netdb: Likewise.
27017         * modules/netinet_in: Likewise.
27018         * modules/nproc: Likewise.
27019         * modules/pagealign_alloc: Likewise.
27020         * modules/poll: Likewise.
27021         * modules/printf-frexp: Likewise.
27022         * modules/pthread: Likewise.
27023         * modules/putenv: Likewise.
27024         * modules/random_r: Likewise.
27025         * modules/relocatable-prog: Likewise.
27026         * modules/search: Likewise.
27027         * modules/select: Likewise.
27028         * modules/selinux-h: Likewise.
27029         * modules/settime: Likewise.
27030         * modules/signal: Likewise.
27031         * modules/size_max: Likewise.
27032         * modules/socklen: Likewise.
27033         * modules/ssize_t: Likewise.
27034         * modules/stdarg: Likewise.
27035         * modules/stdbool: Likewise.
27036         * modules/stddef: Likewise.
27037         * modules/stdint: Likewise.
27038         * modules/stdio: Likewise.
27039         * modules/stdlib: Likewise.
27040         * modules/string: Likewise.
27041         * modules/strings: Likewise.
27042         * modules/sys_file: Likewise.
27043         * modules/sys_ioctl: Likewise.
27044         * modules/sys_select: Likewise.
27045         * modules/sys_socket: Likewise.
27046         * modules/sys_stat: Likewise.
27047         * modules/sys_time: Likewise.
27048         * modules/sys_times: Likewise.
27049         * modules/sys_utsname: Likewise.
27050         * modules/sys_wait: Likewise.
27051         * modules/sysexits: Likewise.
27052         * modules/time: Likewise.
27053         * modules/times: Likewise.
27054         * modules/tmpfile: Likewise.
27055         * modules/trim: Likewise.
27056         * modules/unistd: Likewise.
27057         * modules/wchar: Likewise.
27058         * modules/wctype: Likewise.
27059
27060 2009-09-17  Bruno Haible  <bruno@clisp.org>
27061
27062         Make getdate.y compile on QNX and NetBSD 5 / i386.
27063         * m4/getdate.m4 (gl_GETDATE): Conditionally define
27064         TIME_T_FITS_IN_LONG_INT.
27065         * lib/getdate.y (long_time_t): New type.
27066         (relative_time): Change type of 'seconds' field to long_time_t.
27067         (get_date): Update types of local variables. Check against overflow
27068         during conversion from long_time_t to time_t.
27069         Reported by Matt Kraai <kraai@ftbfs.org>
27070         and Hasso Tepper <hasso@netbsd.org>.
27071
27072 2009-09-17  Bruno Haible  <bruno@clisp.org>
27073
27074         * modules/COPYING: Update copyright years.
27075         * modules/README: Likeiwse.
27076         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
27077         Reported by Ian Beckwith <ianb@erislabs.net>.
27078
27079 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
27080
27081         * users.txt: Update references for gnuit package.
27082
27083 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
27084
27085         * m4/getdelim.m4: Fix typo in copyright line.
27086
27087 2009-09-17  Bruno Haible  <bruno@clisp.org>
27088
27089         * lib/atoll.c: Use the standard header with GPL copyright.
27090         * lib/argz.in.h: Likewise.
27091         * lib/glob.c: Likewise.
27092         * lib/glob-libc.h: Likewise.
27093         * lib/random_r.c: Likewise.
27094         * lib/siglist.h: Likewise.
27095         * lib/strsignal.c: Likewise.
27096         Reported by Ian Beckwith <ianb@erislabs.net>.
27097
27098 2009-09-17  Eric Blake  <ebb9@byu.net>
27099
27100         rmdir: ensure correct dependency order
27101         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
27102
27103 2009-09-17  Bruno Haible  <bruno@clisp.org>
27104
27105         Disable assertion that fails on NetBSD 5 / i386.
27106         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
27107         Reported by Sam Steingold <sds@gnu.org>
27108         and Hasso Tepper <hasso@netbsd.org>.
27109
27110 2009-09-16  Eric Blake  <ebb9@byu.net>
27111
27112         unlinkdir: port to mingw
27113         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
27114         on which no one can unlink a directory.
27115
27116         stdlib: sort witness names
27117         * modules/stdlib (Makefile.am): Sort replacements.
27118         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
27119         * lib/stdlib.in.h: Likewise.
27120
27121         parse-duration-tests: avoid link failure
27122         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
27123         LIBINTL.
27124         Reported by Tom G. Christensen.
27125
27126         openat-tests: ensure unlinkat behaves like rmdir
27127         * tests/test-rmdir.c (main): Factor guts...
27128         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
27129         * modules/rmdir-tests (Files): Ship new file.
27130         * modules/openat-tests: New test.
27131         * tests/test-unlinkat.c: Likewise.
27132
27133         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
27134         * modules/rmdir-errno (Status, Notice): Now obsolete.
27135
27136         rmdir: work around cygwin 1.5.x and mingw bugs
27137         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
27138         * lib/rmdir.c (rmdir): Work around it.
27139         * modules/rmdir (Status, Notice): No longer obsolete.
27140         (Files): Add dos.m4.
27141         (Depends-on): Add unistd.
27142         (configure.ac): Set witnesses.
27143         (License): Relax to LGPLv2+.
27144         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
27145         * modules/unistd (Makefile.am): Substitute witnesses.
27146         * lib/unistd.in.h (rmdir): Declare replacement.
27147         * doc/posix-functions/rmdir.texi (rmdir): Document this.
27148         * modules/rmdir-tests: New tests.
27149         * tests/test-rmdir.c: Likewise.
27150
27151 2009-09-15  Eric Blake  <ebb9@byu.net>
27152
27153         fchdir: improve use of replacement functions
27154         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
27155         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
27156         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
27157         REPLACE_CLOSEDIR.
27158         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
27159         * modules/sys_stat (Makefile.am): Substitute correct witness.
27160         * modules/dirent (Makefile.am): Likewise.
27161         * modules/unistd (Makefile.am): Likewise.
27162         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
27163         * lib/unistd.in.h (dup): Likewise.
27164         * lib/sys_stat.in.h (fstat): Likewise.
27165
27166         maint: ignore gnulib-tool temp files
27167         * .gitignore: Ignore files created during gnulib-tool --test.
27168
27169 2009-09-13  Jim Meyering  <meyering@redhat.com>
27170
27171         posixtm: don't reject a time that specify "60" as the number of seconds
27172         * lib/posixtm.c (posixtime): The code to reject invalid dates
27173         would also reject a time specified with the .60 suffix.
27174         But POSIX allows that, in order to accommodate leap seconds.
27175         So don't reject it.
27176         (main): Adjust tests accordingly.
27177         * modules/posixtm (Depends-on): Add stpcpy.
27178
27179 2009-09-11  Jim Meyering  <meyering@redhat.com>
27180
27181         announce-gen: include [$release_type] in emitted Subject:
27182         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
27183         e.g., [stable] in the emitted Subject: line.
27184
27185 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27186
27187         Remove obsolete macros from several modules.
27188         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
27189         obsolete Autoconf macros with their modern counterparts.
27190         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
27191         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
27192         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
27193         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
27194         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
27195         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
27196         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
27197         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
27198         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
27199         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
27200         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
27201         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
27202         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
27203         * m4/sockets.m4 (gl_SOCKETS): Likewise.
27204         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
27205         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
27206         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
27207         * m4/time_r.m4 (gl_TIME_R): Likewise.
27208         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
27209         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
27210         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
27211
27212         Fix copyright header in build-aux scripts.
27213         * build-aux/git-version-gen: Fix copyright header to match GPLv3
27214         recommendation.
27215         * build-aux/ncftpput-ftp: Likewise.
27216         * build-aux/update-copyright: Likewise.
27217
27218 2009-09-09  Eric Blake  <ebb9@byu.net>
27219
27220         test-link: allow Linux choice of errno
27221         * tests/test-link.c (main): Relax test for alternate error.
27222
27223         strndup: fix improper m4 caching
27224         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
27225         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
27226         (gl_PREREQ_STRNDUP): Delete.
27227         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
27228         * modules/string (Makefile.am): Substitute it.
27229         * lib/string.in.h (strndup): Modernize prototype.
27230
27231         getcwd: port to mingw
27232         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
27233         different from the POSIX assumptions made throughout the getcwd
27234         module; fortunately, the mingw getcwd does not need replacement.
27235         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
27236         * modules/getcwd-tests: New test.
27237         * tests/test-getcwd.c: Likewise.
27238
27239         link: fix platform bugs
27240         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
27241         * lib/link.c (link): Work around them.  Fix related mingw bug.
27242         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
27243         * modules/unistd (Makefile.am): Substitute it.
27244         * lib/unistd.in.h (link): Declare replacement.
27245         * doc/posix-functions/link.texi (link): Document this.
27246         * modules/link (Depends-on): Add strdup-posix, sys_stat.
27247
27248         test-link: consolidate into single C program, test more cases
27249         * tests/test-link.sh: Delete.
27250         * tests/test-link.c: Test more error conditions.  Exposes bugs on
27251         at least Cygwin and Solaris.
27252         * modules/link-tests (Files): Remove unused file.
27253         (Depends-on): Add errno, sys_stat.
27254         (Makefile.am): Simplify.
27255
27256 2009-09-08  Bruno Haible  <bruno@clisp.org>
27257
27258         Work around towlower, towupper bug on mingw.
27259         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
27260         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
27261         * doc/posix-functions/towlower.texi: Mention the mingw bug.
27262         * doc/posix-functions/towupper.texi: Likewise.
27263         Reported by Eric Blake.
27264
27265 2009-09-08  Jim Meyering  <meyering@redhat.com>
27266
27267         build: don't try to run autoheader if we don't use it
27268         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
27269         is not used in configure.ac.
27270
27271 2009-09-08  Eric Blake  <ebb9@byu.net>
27272
27273         euidaccess: fix compilation error
27274         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
27275
27276         rawmemchr: relax license
27277         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
27278         okay.
27279         Reported by Jim Meyering.
27280
27281         mkfifoat: new module
27282         * modules/mkfifoat: New file.
27283         * lib/mkfifoat.c: Likewise.
27284         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
27285         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
27286         * modules/sys_stat (Makefile.am): Use them.
27287         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
27288         * MODULES.html.sh (File system functions): Mention module.
27289         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
27290         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
27291         * modules/mkfifoat-tests: New test.
27292         * tests/test-mkfifoat.c: Likewise.
27293
27294         strchrnul: relax license
27295         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
27296         okay.
27297         Reported by Jim Meyering.
27298
27299 2009-09-08  Eric Blake  <ebb9@byu.net>
27300
27301         fstatat: fix compilation on Solaris
27302         * lib/fstatat.c (includes): Add fcntl.h.
27303         Reported by Pádraig Brady.
27304
27305 2009-09-07  Eric Blake  <ebb9@byu.net>
27306
27307         rename: modernize replacement
27308         * modules/rename (Depends-on): Add stdio.
27309         (configure.ac): Declare witness.
27310         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
27311         stdio take care of replacement.
27312         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
27313         * modules/stdio (Makefile.am): Substitute them.
27314         * lib/stdio.in.h (rename): Declare replacement.
27315         * lib/rename.c (includes): Allow cross-compilation to non-windows
27316         machines.
27317         * doc/posix-functions/rename.texi (rename): Improve
27318         documentation.
27319
27320         stdio: sort witness names
27321         * modules/stdio (Makefile.am): Sort replacements.
27322         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
27323         * lib/stdio.in.h: Likewise.
27324
27325         getcwd: minor cleanups
27326         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
27327         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
27328
27329         openat: provide more convenience names
27330         * modules/faccessat (configure.ac): Add C witness.
27331         * lib/unistd.in.h (readlinkat): Fix typo.
27332         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
27333         convenience wrappers.
27334         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
27335         wrappers in syntax checks.
27336
27337 2009-09-06  Eric Blake  <ebb9@byu.net>
27338
27339         doc: fix comments in recent patches
27340         * lib/faccessat.c: Mention correct function.
27341         * lib/fchmodat.c: Likewise.
27342         * lib/fchownat.c: Likewise.
27343         * lib/symlinkat.c: Likewise.
27344         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
27345         constants.
27346
27347         faccessat, symlinkat: continue cleanup of previous patch
27348         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
27349         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
27350         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
27351         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
27352         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
27353         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
27354         set.
27355
27356 2009-09-06  Bruno Haible  <bruno@clisp.org>
27357
27358         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
27359         (fstatat): Declare if GNULIB_FSTATAT is set.
27360         (mkdirat): Declare if GNULIB_MKDIRAT is set.
27361         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
27362         (unlinkat): Declare if GNULIB_UNLINKAT is set.
27363         * modules/fcntl-h (Files): Remove m4/openat.m4.
27364         * modules/sys_stat (Files): Remove m4/openat.m4.
27365         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
27366         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
27367         * modules/unistd (Files): Remove m4/openat.m4.
27368         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
27369         GNULIB_OPENAT.
27370         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
27371         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
27372         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
27373         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
27374         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
27375         gl_OPENAT_DEFAULTS.
27376         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
27377         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
27378         Don't require gl_OPENAT_DEFAULTS.
27379         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
27380         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
27381         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
27382         (gl_OPENAT_DEFAULTS): Remove macro.
27383
27384 2009-09-06  Bruno Haible  <bruno@clisp.org>
27385
27386         * modules/openat (configure.ac): Remove unneeded witness.
27387
27388 2009-09-06  Bruno Haible  <bruno@clisp.org>
27389
27390         Set errno to ENOSYS when a function is entirely unsupported.
27391         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
27392         EOPNOTSUPP.
27393         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
27394         * modules/chown (Depends-on): Remove errno.
27395
27396 2009-09-06  Bruno Haible  <bruno@clisp.org>
27397
27398         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
27399
27400 2009-09-06  Bruno Haible  <bruno@clisp.org>
27401
27402         * lib/sys_stat.in.h: Fix preprocessor command indentation.
27403
27404 2009-09-06  Ben Pfaff  <blp@gnu.org>
27405             Bruno Haible  <bruno@clisp.org>
27406
27407         Work around a glibc bug in strtok_r.
27408         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
27409         Undefine if UNDEFINE_STRTOK_R is set.
27410         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
27411         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
27412         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
27413         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
27414         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
27415         UNDEFINE_STRTOK_R.
27416         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
27417
27418 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
27419
27420         exclude: minor fix
27421         * lib/exclude.c: Include wctype.h
27422
27423 2009-09-06  Akim Demaille  <demaille@gostai.com>
27424
27425         bootstrap: improve error message
27426         * build-aux/bootstrap (find_tool): Upon failure, report the list
27427         of candidates.
27428         Honor the initial value of the envvar.
27429
27430 2009-09-05  Eric Blake  <ebb9@byu.net>
27431
27432         symlinkat: new module
27433         * modules/symlinkat: New file.
27434         * lib/symlinkat.c: Likewise.
27435         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
27436         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
27437         * modules/unistd (Makefile.am): Use them.
27438         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
27439         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
27440         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
27441         * MODULES.html.sh (File system functions): Mention module.
27442         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
27443         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
27444         * modules/symlinkat-tests: New test.
27445         * tests/test-symlinkat.c: Likewise.
27446
27447         test-openat-safer: add more checks
27448         * tests/test-openat-safer.c (main): Check more code paths.
27449
27450 2009-09-05  Jim Meyering  <meyering@redhat.com>
27451
27452         syntax-check: detect unnecessary inclusion of openat.h
27453         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
27454
27455 2009-09-05  Bruno Haible  <bruno@clisp.org>
27456
27457         Support towlower, towupper.
27458         * doc/posix-functions/towlower.texi: Mention module wctype.
27459         * doc/posix-functions/towupper.texi: Likewise.
27460         * lib/wctype.in.h (towlower, towupper): New functions.
27461         * tests/test-wctype.c: Include stdio.h, stdlib.h.
27462         (ASSERT): New macro.
27463         (e): New variable.
27464         (main): Test also towlower, towupper. Test WEOF argument.
27465         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
27466
27467 2009-09-05  Bruno Haible  <bruno@clisp.org>
27468
27469         Fix conversion behaviour when the input is invalid.
27470         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
27471         mark occurring in first pass of indirect conversion.
27472         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
27473         input.
27474         Found by clang's static analyzer.
27475
27476 2009-09-05  Bruno Haible  <bruno@clisp.org>
27477
27478         * tests/test-striconveh.c (main): Test indirect conversion on platforms
27479         where direct conversion is possible.
27480
27481 2009-09-04  Eric Blake  <ebb9@byu.net>
27482
27483         openat: fail with ENOENT on empty name
27484         * lib/openat-proc.c (openat_proc_name): Special-case the empty
27485         buffer.
27486
27487         link-follow: fix logic bug in prior patch
27488         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
27489         reversed sense of yes and no in prior patch.  Avoid confusing
27490         compilation failure with desired semantics.
27491
27492         link-follow: accomodate mingw and cross-compilation
27493         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
27494         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
27495         cross-compilation results to -1, to make linkat easier to
27496         implement when cross-compiling.  Trivially support mingw.
27497         * modules/link-follow (configure.ac): Call new name.
27498         * NEWS: Mention this.
27499
27500 2009-09-03  Eric Blake  <ebb9@byu.net>
27501
27502         faccessat: compile replacement
27503         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
27504         needed.
27505
27506         fts: fix compilation error
27507         * lib/fts.c (includes): Re-add "openat.h", for
27508         openat_needs_fchdir.
27509
27510         faccessat: new module
27511         * modules/faccessat: New file.
27512         * lib/faccessat.c: Likewise.
27513         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
27514         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
27515         * modules/unistd (Makefile.am): Use it.
27516         * lib/unistd.in.h (faccessat): Declare it.
27517         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
27518         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
27519         * MODULES.html.sh (File system functions): Mention it.
27520         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
27521         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
27522
27523         euidaccess: prefer POSIX over non-standard implementation
27524         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
27525         * lib/euidaccess.c (euidaccess): Use it if available.
27526
27527         openat: make template easier to use
27528         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
27529         AT_FUNC_F2 to be undefined.
27530         (VALIDATE_FLAG): New macro; use it to reject bad flags.
27531         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
27532         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
27533         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
27534         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
27535         Likewise.
27536         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
27537         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
27538         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
27539         Likewise.
27540
27541         openat: declare in POSIX headers
27542         * NEWS: Mention this.
27543         * modules/openat (configure.ac): Declare witnesses.
27544         (Depends-on): Add fcntl-h, sys_stat, unistd.
27545         (Include): Mention correct headers.
27546         * modules/fcntl-h (Depends-on): Add link-warning.
27547         (Files): Add openat.m4.
27548         (Makefile.am): Substitute witnesses.
27549         * modules/sys_stat (Files, Makefile.am): Likewise.
27550         * modules/unistd (Files, Makefile.am): Likewise.
27551         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
27552         (gl_OPENAT_DEFAULTS): New macro.
27553         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
27554         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
27555         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
27556         (SYS_STAT_H): Remove unused variable.
27557         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
27558         * lib/fcntl--.h (includes): Remove unneeded header.
27559         * lib/openat-safer.c (includes): Likewise.
27560         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
27561         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
27562         appropriate headers.
27563         (__OPENAT_PREFIX): Delete.
27564         * lib/fcntl.in.h (openat): Provide declaration.
27565         (AT_FDCWD): Fix Solaris bug.
27566         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
27567         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
27568         * lib/fchmodat.c (includes):  Adjust to find declaration.
27569         * lib/fchownat.c (includes): Likewise.
27570         * lib/mkdirat.c (includes): Likewise.
27571         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
27572         still visible.
27573
27574 2009-09-02  Eric Blake  <ebb9@byu.net>
27575
27576         errno: use consistently
27577         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
27578         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
27579         * lib/canonicalize.c (ELOOP): Likewise.
27580         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
27581         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
27582         * lib/lchown.c (EOPNOTSUPP): Likewise.
27583         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
27584         * lib/savewd.c (ESTALE): Likewise.
27585         * lib/settime.c (ENOSYS): Likewise.
27586         * lib/utimens.c (ENOSYS): Likewise.
27587         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
27588         * lib/chdir-safer.c (ELOOP): Likewise.
27589         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
27590         * modules/c-stack (Depends-on): Add errno.
27591         * modules/canonicalize (Depends-on): Likewise.
27592         * modules/chdir-safer (Depends-on): Likewise.
27593         * modules/fdopendir (Depends-on): Likewise.
27594         * modules/inet_ntop (Depends-on): Likewise.
27595         * modules/inet_pton (Depends-on): Likewise.
27596         * modules/lchown (Depends-on): Likewise.
27597         * modules/openat (Depends-on): Likewise.
27598         * modules/savewd (Depends-on): Likewise.
27599         * modules/settime (Depends-on): Likewise.
27600         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
27601
27602         fts: avoid leaking fds
27603         * modules/fts (Depends-on): Add cloexec.
27604         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
27605         flag.
27606
27607         fts: make directory fds more robust
27608         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
27609         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
27610
27611         backupfile, chdir-long, fts, savedir: make safer
27612         * lib/backupfile.c (includes): Use "dirent--.h", since
27613         numbered_backup can write to stderr during readdir.
27614         * lib/savedir.c (includes): Likewise.
27615         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
27616         emulation can write to stderr on failure.
27617         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
27618         * lib/getcwd.c: Document why opendir_safer is unused.
27619         * lib/glob.c: Likewise.
27620         * lib/scandir.c: Likewise.
27621         * lib/openat-proc.c: Likewise, for open_safer.
27622         * modules/backupfile (Depends-on): Add dirent-safer.
27623         * modules/savedir (Depends-on): Likewise.
27624         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
27625         * modules/chdir-long (Depends-on): Add openat-safer.
27626
27627         openat-safer: new module
27628         * modules/openat-safer: New file.
27629         * lib/openat-safer.c: Likewise.
27630         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
27631         * lib/fcntl-safer.h (openat_safer): Declare.
27632         * lib/fcntl--.h (openat): Override.
27633         * MODULES.html.sh (File descriptor based I/O): Mention it.
27634         * lib/openat.h: Add double-inclusion guards.
27635         * lib/openat.c (includes): Only include "fcntl-safer.h", not
27636         "fcntl--.h", so we can implement openat.
27637         * modules/openat-safer-tests: New test.
27638         * tests/test-openat-safer.c: New file.
27639
27640         dirent-safer: new module
27641         * modules/dirent-safer: New file.
27642         * lib/dirent--.h: Likewise.
27643         * lib/dirent-safer.h: Likewise.
27644         * lib/opendir-safer.c: Likewise.
27645         * m4/dirent-safer.m4: Likewise.
27646         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
27647         * modules/dirent-safer-tests: New test.
27648         * tests/test-dirent-safer.c: New file.
27649         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
27650
27651         fdopendir: optimize on mingw
27652         * lib/unistd.in.h (_gl_directory_name): New prototype.
27653         * lib/fchdir.c (_gl_directory_name): Implement it.
27654         (fchdir): Use it to simplify implementation.
27655         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
27656         fchdir, when available, to avoid calling [f]chdir().
27657
27658         fdopendir: split into its own module
27659         * lib/openat.c (fdopendir): Move...
27660         * lib/fdopendir.c: ...into new file.
27661         * modules/fdopendir: New module.
27662         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
27663         * modules/openat (Depends-on): Add fdopendir.
27664         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
27665         fdopendir here.
27666         * modules/savedir (Depends-on): Only need fdopendir, not full
27667         openat.
27668         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
27669         * lib/openat.h (fdopendir): Drop prototype.
27670         * lib/dirent.in.h (fdopendir): Provide prototype.
27671         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
27672         * modules/dirent (Makefile.am): Substitute them.
27673         * MODULES.html.sh (File system functions): Mention it.
27674         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
27675         * modules/fdopendir-tests: New file.
27676         * tests/test-fdopendir.c: Likewise.
27677
27678         fchdir: use more consistent macro convention
27679         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
27680         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
27681         REPLACE_FCHDIR, rather than relying on config.h macros.
27682         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
27683         inside a single make-time REPLACE_FCHDIR block, rather than using
27684         the config.h FCHDIR_REPLACEMENT.
27685         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
27686         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
27687         Manage fstat replacement.
27688         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
27689         REPLACE_FCHDIR.
27690         * modules/sys_stat (Files): Add m4/unistd_h.m4.
27691         (Makefile.am): Substitute REPLACE_FCHDIR.
27692         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
27693         FCHDIR_REPLACEMENT.
27694         * lib/dup-safer.c (dup_safer): Likewise.
27695         * lib/dup2.c (rpl_dup2): Likewise.
27696         * lib/dup3.c (rpl_dup3): Likewise.
27697         * lib/open.c (rpl_open): Likewise.
27698
27699         fchdir: simplify error handling, and support dup3
27700         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
27701         stdbool, malloc-posix, realloc-posix.
27702         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
27703         (ensure_dirs_slot): Return false on allocation failure.
27704         (rpl_dup2): Delete.
27705         (_gl_register_dup): New function.
27706         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
27707         (_gl_register_fd): Close fd on allocation failure.
27708         * lib/fcntl.in.h (_gl_register_fd): Update signature.
27709         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
27710         prototype.
27711         (rpl_dup2_fchdir): Delete prototype.
27712         * lib/open.c (open): Update caller.
27713         * lib/dup2.c (dup2): Track fchdir metadata.
27714         * lib/dup3.c (dup3): Likewise.
27715         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
27716         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
27717
27718 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27719
27720         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
27721         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
27722         don't pass arguments to AC_OUTPUT.
27723
27724 2009-09-02  Bruno Haible  <bruno@clisp.org>
27725
27726         * modules/mkdtemp (License): Relicense under LGPLv2+.
27727         Reported by Paolo Bonzini.
27728
27729 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27730
27731         Replace uses of obsolete autoconf macros in Jim's modules.
27732         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
27733         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
27734         can evoke a warning from autoconf when run with -Wobsolete
27735         enabled.  They were declared obsolete for good reasons (see
27736         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
27737         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
27738         should not continue using the deprecated macros.
27739         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
27740         obsolete Autoconf macros with modern counterparts.
27741         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
27742         * m4/dos.m4 (gl_AC_DOS): Likewise.
27743         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
27744         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
27745         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
27746         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
27747         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
27748         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
27749         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
27750         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
27751         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
27752         Likewise.
27753         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
27754         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
27755         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
27756         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
27757         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
27758         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
27759
27760 2009-09-01  Eric Blake  <ebb9@byu.net>
27761
27762         fchdir: fix off-by-one bug in previous patch
27763         * lib/fchdir.c (rpl_fstat): Use correct bounds.
27764         (_gl_unregister_fd): Delete useless if.
27765
27766 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
27767
27768         maint.mk: sort the list of syntax-check rules
27769         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
27770         easier to get a sense of progress when the rules are run sequentially
27771         and take a long time.
27772
27773 2009-09-01  Simon Josefsson  <simon@josefsson.org>
27774
27775         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
27776         * modules/netinet_in: Likewise.
27777         * modules/sys_file: Likewise.
27778         * modules/sys_ioctl: Likewise.
27779         * modules/sys_select: Likewise.
27780         * modules/sys_socket: Likewise.
27781         * modules/sys_stat: Likewise.
27782         * modules/sys_time: Likewise.
27783         * modules/sys_times: Likewise.
27784         * modules/sys_utsname: Likewise.
27785         * modules/sys_wait: Likewise.
27786
27787 2009-09-01  Jim Meyering  <meyering@redhat.com>
27788
27789         fts: help ensure that return values are not ignored
27790         * lib/fts_.h (__GNUC_PREREQ): Define.
27791         (__attribute_warn_unused_result__): Define.
27792         (fts_children, fts_close, fts_open, fts_read): Declare with
27793         __attribute_warn_unused_result__.
27794
27795         fts: fts_close now fails also when closing a dir file descriptor fails
27796         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
27797         and propagate to caller, along with errno.
27798
27799         announce-gen: correct formatting in --help output
27800         * build-aux/announce-gen (usage): Move the one-line description in
27801         --help output "up", to where it belongs, just after Usage:.
27802
27803 2009-08-31  Eric Blake  <ebb9@byu.net>
27804
27805         fchdir: port to mingw
27806         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
27807         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
27808         opened, then use a substitute.
27809         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
27810         replacement.
27811         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
27812         (_gl_register_fd): No need to check stat if open already filters
27813         all directories.
27814         (fchdir): Fix error condition to match POSIX.
27815         * modules/fchdir (Depends-on): Add sys_stat.
27816         * doc/posix-functions/open.texi (open): Document the limitation.
27817         * modules/fchdir-tests: New file.
27818         * tests/test-fchdir.c: Likewise.
27819
27820         canonicalize: allow cross-testing from cygwin to mingw
27821         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
27822         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
27823         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
27824         Likewise.
27825         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
27826         target does not support symlinks.
27827         * tests/test-canonicalize-lgpl.sh: Likewise.
27828
27829         chown: avoid compilation warning on mingw
27830         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
27831         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
27832         mingw.
27833         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
27834         * modules/chown (Depends-on): Add errno.
27835
27836 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
27837
27838         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
27839         command.
27840
27841 2009-08-31  Jim Meyering  <meyering@redhat.com>
27842
27843         canonicalize: remove useless initialization
27844         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
27845         initialization of local, "end".
27846
27847 2009-08-30  Bruno Haible  <bruno@clisp.org>
27848
27849         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
27850         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
27851         ENOSYS.
27852
27853 2009-08-30  Bruno Haible  <bruno@clisp.org>
27854
27855         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
27856         /usr/xpg4/bin/tr when it exists.
27857         * tests/test-pipe-filter-gi1.sh: Likewise.
27858
27859 2009-08-30  Bruno Haible  <bruno@clisp.org>
27860
27861         Work around deficient /usr/bin/id program on Solaris.
27862         * tests/test-file-has-acl.sh (ID): New variable.
27863         * tests/test-set-mode-acl.sh (ID): Likewise.
27864         * tests/test-copy-acl.sh (ID): Likewise.
27865         * tests/test-copy-file.sh (ID): Likewise.
27866
27867 2009-08-30  Bruno Haible  <bruno@clisp.org>
27868
27869         New module 'xstriconveh'.
27870         * lib/xstriconveh.h: New file.
27871         * lib/xstriconveh.c: New file.
27872         * modules/xstriconveh: New file.
27873
27874 2009-08-30  Bruno Haible  <bruno@clisp.org>
27875
27876         Make it easier to use mem_cd_iconveh.
27877         * lib/striconveh.h (iconveh_t): New type.
27878         (iconveh_open, iconveh_close): New declarations.
27879         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
27880         with a single 'const iconveh_t *' argument.
27881         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
27882         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
27883         with a single 'const iconveh_t *' argument.
27884         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
27885         * tests/test-striconveh.c (main): Update.
27886         * NEWS: Mention the change.
27887
27888 2009-08-30  Bruno Haible  <bruno@clisp.org>
27889
27890         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
27891         problem.
27892
27893 2009-08-30  Bruno Haible  <bruno@clisp.org>
27894
27895         Work around iconv_open problem on Solaris.
27896         * lib/iconv_open-solaris.gperf: New file.
27897         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
27898         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
27899         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
27900         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
27901         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
27902         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
27903
27904 2009-08-29  Jim Meyering  <meyering@redhat.com>
27905
27906         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
27907         * top/maint.mk (cvs-check): Remove target; it was just an alias
27908         to the better-named vc-diff-check.
27909         (maintainer-distcheck): Remove rule.  It was used only from
27910         the (alpha/beta/major) target, and all of its commands but one
27911         were coreutils-specific.
27912         (vc-dist): Remove rule.
27913         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
27914         Run vc-diff-check, not vc-dist.
27915         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
27916
27917 2009-08-27  Bruno Haible  <bruno@clisp.org>
27918
27919         * tests/test-bitrotate.c (main): Remove test that uses a shift count
27920         of 0.
27921
27922 2009-08-27  Bruno Haible  <bruno@clisp.org>
27923
27924         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
27925         compilers.
27926         * doc/func.texi: Document the SunPRO C bug.
27927
27928 2009-08-27  Bruno Haible  <bruno@clisp.org>
27929
27930         Fix link error on Solaris.
27931         * tests/test-parse-duration.c (xstrdup): Remove function.
27932
27933 2009-08-26  Pádraig Brady  <P@draigbrady.com>
27934
27935         ignore-value: handle pointer types, too
27936         * lib/ignore-value.h (__attribute__): Remove definition.
27937         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
27938         of a more concise and more-often effective "(void) i" statement.
27939         (ignore_ptr): New function to suppress warnings from functions that
27940         return pointers, and to make it explicit that one function doesn't
27941         handle all cases.
27942
27943 2009-08-25  Bruno Haible  <bruno@clisp.org>
27944
27945         dup2: work around a Linux bug.
27946         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
27947         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
27948         * doc/posix-functions/dup2.texi: Mention the Linux bug.
27949         Reported by Simon Josefsson.
27950
27951 2009-08-25  Jim Meyering  <meyering@redhat.com>
27952
27953         libguestfs uses gnulib
27954         * users.txt: Add libguestfs.
27955
27956 2009-08-24  Eric Blake  <ebb9@byu.net>
27957
27958         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
27959         * lib/pipe2.c (includes): Add binary-io.h.
27960         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
27961
27962 2009-08-24  Bruno Haible  <bruno@clisp.org>
27963
27964         Tolerate declared but missing accept4 syscall.
27965         * lib/accept4.c (accept4): Invoke original accept4 function first, if
27966         available.
27967         * lib/sys_socket.in.h (accept4): If the function is already present,
27968         override it.
27969         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
27970         * modules/accept4 (Makefile.am): Compile accept4.c always.
27971         Reported by Paolo Bonzini and Eric Blake.
27972
27973 2009-08-23  Bruno Haible  <bruno@clisp.org>
27974
27975         New module 'accept4'.
27976         * lib/sys_socket.in.h (accept4): New declaration.
27977         * lib/accept4.c: New file.
27978         * m4/accept4.m4: New file.
27979         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
27980         GNULIB_ACCEPT4, HAVE_ACCEPT4.
27981         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
27982         HAVE_ACCEPT4.
27983         * modules/accept4: New file.
27984         * doc/glibc-functions/accept4.texi: Mention the new module.
27985
27986 2009-08-24  Jim Meyering  <meyering@redhat.com>
27987
27988         progname: also set global program_invocation_name, when possible
27989         Before this change, a libtool-enabled program that calls glibc's
27990         error function would report the program name as
27991         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
27992         * modules/progname (configure.ac): Check for a declaration of
27993         program_invocation_name.
27994         * lib/progname.c:  Include <errno.h>.
27995         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
27996         Set program_invocation_name.
27997
27998 2009-08-23  Bruno Haible  <bruno@clisp.org>
27999
28000         * lib/dup3.c: Include <string.h>.
28001
28002 2009-08-23  Bruno Haible  <bruno@clisp.org>
28003
28004         * lib/dup3.c (dup3): Test only once whether the system actually exists.
28005         * lib/pipe2.c (pipe2): Likewise.
28006         Suggested by Eric Blake.
28007
28008 2009-08-23  Bruno Haible  <bruno@clisp.org>
28009
28010         Tolerate declared but missing dup3 syscall.
28011         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
28012         * lib/unistd.in.h (dup3): If the function is already present,
28013         override it.
28014         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
28015         * modules/dup3 (Makefile.am): Compile dup3.c always.
28016         Reported by Paolo Bonzini.
28017
28018 2009-08-23  Bruno Haible  <bruno@clisp.org>
28019
28020         Tolerate declared but missing pipe2 syscall.
28021         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
28022         available.
28023         * lib/unistd.in.h (pipe2): If the function is already present,
28024         override it.
28025         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
28026         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
28027         Reported by Paolo Bonzini.
28028
28029 2009-08-23  Bruno Haible  <bruno@clisp.org>
28030
28031         * lib/pipe2.c (pipe2): Move #ifs inside function.
28032
28033 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
28034
28035         quotearg: document limitations of quote_these_too
28036         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
28037         those limitations are created.
28038         * lib/quotearg.h (set_char_quoting): Document that digits and
28039         letters that are special after backslash are not permitted.
28040         (quotearg_char): Cross-reference set_char_quoting documentation.
28041
28042 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
28043
28044         quotearg: implement custom_quoting_style
28045         * lib/quotearg.c: (struct quoting_options): Add left_quote and
28046         right_quote fields.
28047         (set_custom_quoting): New public function.
28048         (quotearg_buffer_restyled): Add left_quote and right_quote
28049         arguments, handle them very much like locale quoting, and update
28050         all uses.
28051         (quotearg_n_custom): New public function.
28052         (quotearg_n_custom_mem): New public function.
28053         (quotearg_custom): New public function.
28054         (quotearg_custom_mem): New public function.
28055         * lib/quotearg.h: Prototype and document new public functions.
28056         (enum quoting_style): For escape_quoting_style and
28057         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
28058         ignored even though they're otherwise like c_quoting_style.
28059         Add custom_quoting_style member and document with comparison to
28060         clocale_quoting_style.
28061         * tests/test-quotearg.c (custom_quotes): New array.
28062         (custom_results): New array.
28063         (main): Extend to test custom quoting.
28064
28065 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
28066
28067         quotearg: fix right quote escaping when it's in quote_these_too
28068         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
28069         quote, be sure to prepend only one backslash.
28070         * tests/test-quotearg.c (use_quote_double_quotes): New function.
28071         (main): Test it.
28072
28073 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
28074
28075         quotearg-tests: test escaping of embedded locale quotes
28076         * tests/test-quotearg.c (struct result_strings): Add member for
28077         new input.
28078         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
28079         (inputs): Add new input.
28080         (results_g): Add expected results.
28081         (flag_results): Likewise.
28082         (locale_results): Likewise.
28083         (compare_strings): Check those.
28084
28085 2009-08-23  Bruno Haible  <bruno@clisp.org>
28086
28087         Tests for module 'dup3'.
28088         * modules/dup3-tests: New file.
28089         * tests/test-dup3.c: New file.
28090
28091         New module 'dup3'.
28092         * lib/unistd.in.h (dup3): New declaration.
28093         * lib/dup3.c: New file.
28094         * m4/dup3.m4: New file.
28095         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
28096         HAVE_DUP3.
28097         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
28098         * modules/dup3: New file.
28099         * doc/glibc-functions/dup3.texi: Mention the new module.
28100
28101 2009-08-23  Bruno Haible  <bruno@clisp.org>
28102
28103         Tweak the dup2 test.
28104         * tests/test-dup2.c (main): Create the test file empty. Verify that an
28105         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
28106         the test file is still empty. Fix argument order of lseek.
28107
28108 2009-08-23  Bruno Haible  <bruno@clisp.org>
28109
28110         Avoid test link errors when the modules getopt-gnu, gettext are used.
28111         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
28112         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
28113
28114 2009-08-23  Bruno Haible  <bruno@clisp.org>
28115
28116         Fix getdtablesize() on mingw.
28117         * lib/getdtablesize.c (getdtablesize): Implement differently.
28118         * lib/unistd.in.h (getdtablesize): Improve comment.
28119
28120 2009-08-23  Bruno Haible  <bruno@clisp.org>
28121
28122         New module 'mkostemp'.
28123         Based on Ulrich Drepper's 2007-08-10 change in glibc.
28124         * lib/stdlib.in.h (mksotemp): New declaration.
28125         * lib/mkostemp.c: New file, from glibc with modifications.
28126         * lib/tempname.h (GT_FILE): Remove outdated comment.
28127         (gen_tempname): Add flags argument.
28128         * lib/tempname.c (__GT_BIGFILE): Remove macro.
28129         (__GT_FILE): Map to 1.
28130         (small_open, large_open): Remove macros.
28131         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
28132         * lib/mkstemp.c (mkstemp): Update.
28133         * lib/mkdtemp.c (mkdtemp): Likewise.
28134         * m4/mkostemp.m4: New file.
28135         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
28136         HAVE_MKOSTEMP.
28137         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
28138         HAVE_MKOSTEMP.
28139         * modules/mkostemp: New file, based on modules/mkstemp.
28140         * doc/glibc-functions/mkostemp.texi: Mention the new module.
28141         * NEWS: Mention the change.
28142
28143 2009-08-23  Bruno Haible  <bruno@clisp.org>
28144
28145         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
28146         Reported by Eric Blake.
28147
28148 2009-08-23  Bruno Haible  <bruno@clisp.org>
28149
28150         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
28151         Reported by Eric Blake.
28152
28153 2009-08-23  Bruno Haible  <bruno@clisp.org>
28154
28155         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
28156         * modules/pipe2 (Depends-on): Likewise.
28157
28158 2009-08-23  Eric Blake  <ebb9@byu.net>
28159
28160         fcntl-h: add O_TTY_INIT support
28161         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
28162         * tests/test-fcntl-h.c (o): Test it.
28163         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
28164
28165         fcntl-h: rename from fcntl, in preparation for fcntl(2)
28166         * modules/fcntl: Move <fcntl.h> header replacement...
28167         * modules/fcntl-h: ...to new name, so as not to collide with
28168         like-named function.
28169         * tests/test-fcntl.c: Rename...
28170         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
28171         * modules/fcntl-tests: Rename...
28172         * modules/fcntl-h-tests: ...to this.  Update test file name.
28173         * modules/chdir-long (Depends-on): Update clients.
28174         * modules/chdir-safer (Depends-on): Likewise.
28175         * modules/fcntl-safer (Depends-on): Likewise.
28176         * modules/fts (Depends-on): Likewise.
28177         * modules/mkancesdirs (Depends-on): Likewise.
28178         * modules/mkdir-p (Depends-on): Likewise.
28179         * modules/open (Depends-on): Likewise.
28180         * modules/savewd (Depends-on): Likewise.
28181         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
28182         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
28183
28184 2009-08-22  Bruno Haible  <bruno@clisp.org>
28185
28186         * modules/binary-io (License): Relicense under LGPL.
28187         * modules/pipe2 (License): Likewise.
28188
28189 2009-08-22  Bruno Haible  <bruno@clisp.org>
28190
28191         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
28192         return value.
28193         * lib/pipe-filter-gi.c (filter_init): Likewise.
28194         Reported by Eric Blake.
28195
28196 2009-08-22  Bruno Haible  <bruno@clisp.org>
28197
28198         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
28199         * modules/pipe (Depends-on): Add pipe2.
28200
28201 2009-08-22  Bruno Haible  <bruno@clisp.org>
28202
28203         Tests for module 'pipe2'.
28204         * modules/pipe2-tests: New file.
28205         * tests/test-pipe2.c: New file.
28206
28207         New module 'pipe2'.
28208         * lib/unistd.in.h (pipe2): New declaration.
28209         * lib/pipe2.c: New file.
28210         * m4/pipe2.m4: New file.
28211         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
28212         HAVE_PIPE2.
28213         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
28214         * modules/pipe2: New file.
28215         * doc/glibc-functions/pipe2.texi: Mention the new module.
28216
28217 2009-08-22  Bruno Haible  <bruno@clisp.org>
28218
28219         Reference some new glibc functions.
28220         * doc/glibc-functions/accept4.texi: New file.
28221         * doc/glibc-functions/dup3.texi: New file.
28222         * doc/glibc-functions/mkostemp.texi: New file.
28223         * doc/glibc-functions/pipe2.texi: New file.
28224         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
28225         (Glibc sys/socket.h): Refer to accept4.
28226         (Glibc unistd.h): Refer to dup3, pipe2.
28227         Reported by Eric Blake.
28228
28229 2009-08-22  Jim Meyering  <meyering@redhat.com>
28230             Bruno Haible  <bruno@clisp.org>
28231
28232         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
28233         This makes it so packages using automake-1.11's silent-rules option
28234         can print e.g., a single "GEN    configmake.h" line, rather than
28235         the 30+ statements that perform the job.  If you want to see the
28236         actual commands, you can still run "make V=1".
28237         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
28238         so that make output is abbreviated when those variables are defined
28239         appropriately.
28240         * modules/argz: Likewise.
28241         * modules/arpa_inet: Likewise.
28242         * modules/byteswap: Likewise.
28243         * modules/configmake: Likewise.
28244         * modules/dirent: Likewise.
28245         * modules/errno: Likewise.
28246         * modules/fcntl: Likewise.
28247         * modules/float: Likewise.
28248         * modules/fnmatch: Likewise.
28249         * modules/getopt-posix: Likewise.
28250         * modules/glob: Likewise.
28251         * modules/iconv_open: Likewise.
28252         * modules/inttypes: Likewise.
28253         * modules/localcharset: Likewise.
28254         * modules/locale: Likewise.
28255         * modules/math: Likewise.
28256         * modules/netdb: Likewise.
28257         * modules/netinet_in: Likewise.
28258         * modules/poll: Likewise.
28259         * modules/posix_spawnp-tests: Likewise.
28260         * modules/sched: Likewise.
28261         * modules/search: Likewise.
28262         * modules/selinux-h: Likewise.
28263         * modules/signal: Likewise.
28264         * modules/spawn: Likewise.
28265         * modules/stdarg: Likewise.
28266         * modules/stdbool: Likewise.
28267         * modules/stddef: Likewise.
28268         * modules/stdint: Likewise.
28269         * modules/stdio: Likewise.
28270         * modules/stdlib: Likewise.
28271         * modules/string: Likewise.
28272         * modules/strings: Likewise.
28273         * modules/sys_file: Likewise.
28274         * modules/sys_ioctl: Likewise.
28275         * modules/sys_select: Likewise.
28276         * modules/sys_socket: Likewise.
28277         * modules/sys_stat: Likewise.
28278         * modules/sys_time: Likewise.
28279         * modules/sys_times: Likewise.
28280         * modules/sys_utsname: Likewise.
28281         * modules/sys_wait: Likewise.
28282         * modules/sysexits: Likewise.
28283         * modules/time: Likewise.
28284         * modules/unistd: Likewise.
28285         * modules/wchar: Likewise.
28286         * modules/wctype: Likewise.
28287
28288 2009-08-22  Jim Meyering  <meyering@redhat.com>
28289
28290         announce-gen: detect write failure
28291         * build-aux/announce-gen: Add Coda at end.
28292         Remove equivalent-but-more-verbose block at top.
28293
28294 2009-08-19  Akim Demaille  <demaille@gostai.com>
28295
28296         bootstrap: --help to stdout.
28297         * bootstrap (usage): Don't send --help to stderr.
28298         Use a here doc instead of a long string.
28299
28300 2009-08-21  Eric Blake  <ebb9@byu.net>
28301
28302         test-popen-safer: split from test-popen
28303         * tests/test-popen.c (main): Move...
28304         * tests/test-popen.h: ...into new file.
28305         * tests/test-popen-safer2.c: New file.
28306         * modules/popen-tests (Files): Add test-popen.h.
28307         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
28308         Suggested by Bruno Haible.
28309
28310         test-fcntl-safer: split from test-open
28311         * tests/test-open.c (main): Move...
28312         * tests/test-open.h: ...into new file.
28313         * tests/test-fcntl-safer.c: New file.
28314         * modules/open-tests (Files): Add test-open.h.
28315         * modules/fcntl-safer-tests: New file.
28316         Suggested by Bruno Haible.
28317
28318         test-fopen-safer: split from test-fopen
28319         * tests/test-fopen.c (main): Move...
28320         * tests/test-fopen.h: ...into new file.
28321         * tests/test-fopen-safer.c: New file.
28322         * modules/fopen-tests (Files): Add test-fopen.h.
28323         * modules/fopen-safer-tests: New file.
28324         Suggested by Bruno Haible.
28325
28326 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
28327
28328         popen-safer: test O_CLOEXEC at run-time.
28329         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
28330
28331 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
28332
28333         fcntl: move more flags to the header
28334         * lib/cloexec.c: Do not define FD_CLOEXEC here.
28335         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
28336         * lib/fcntl.in.h: Do both things here.
28337
28338 2009-08-21  Jim Meyering  <meyering@redhat.com>
28339
28340         consistently remove $@-t before redirecting to it
28341         * modules/argz: Remove $@-t and $@ before redirecting to the former.
28342         * modules/alloca-opt: Likewise.
28343         * modules/byteswap: Likewise.
28344         * modules/fnmatch: Likewise.
28345         * modules/getopt-posix: Likewise.
28346         * modules/glob: Likewise.
28347         * modules/poll: Likewise.
28348         * modules/posix_spawnp-tests: Likewise.
28349         * modules/sys_socket: Likewise.
28350         * modules/sysexits: Likewise.
28351
28352 2009-08-21  Eric Blake  <ebb9@byu.net>
28353
28354         popen: simplify access to original popen
28355         * lib/popen.c (rpl_popen): No need to worry about popen being a
28356         macro.
28357         Reported by Bruno Haible.
28358
28359 2009-08-20  Eric Blake  <ebb9@byu.net>
28360
28361         build: avoid some compiler warnings
28362         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
28363         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
28364         type.
28365         (new_exclude_segment, excluded_file_pattern_p)
28366         (excluded_file_name_p): Reduce scope.
28367         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
28368         old-style declaration.
28369
28370 2009-08-20  Simon Josefsson  <simon@josefsson.org>
28371
28372         * tests/test-exclude1.sh: Handle Windows EOL.
28373         * tests/test-exclude2.sh: Likewise.
28374         * tests/test-exclude3.sh: Likewise.
28375         * tests/test-exclude4.sh: Likewise.
28376         * tests/test-exclude5.sh: Likewise.
28377         * tests/test-exclude6.sh: Likewise.
28378         * tests/test-exclude7.sh: Likewise.
28379
28380 2009-08-19  Akim Demaille  <demaille@gostai.com>
28381
28382         bootstrap: find sha1sum when named gsha1sum.
28383         * bootstrap (find_tool): New.
28384         ($SHA1SUM): New.
28385         Use it.
28386
28387 2009-08-20  Jim Meyering  <meyering@redhat.com>
28388
28389         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
28390         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
28391         expression that converts "." in a file name to "\." in the resulting
28392         regexp.  Start with a dummy statement, so that prior shell variable
28393         definitions are expanded portably.  Reported by Simon Josefsson.
28394
28395 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
28396
28397         Fix polling for writeability of a screen buffer.
28398         * lib/poll.c: Distinguish input and screen buffers for the
28399         Win32 implementation.
28400         * lib/select.c: Likewise.
28401
28402 2009-08-19  Eric Blake  <ebb9@byu.net>
28403
28404         popen-safer: prevent popen from clobbering std descriptors
28405         * modules/popen-safer: New file.
28406         * lib/popen-safer.c: Likewise.
28407         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
28408         * lib/stdio--.h (popen): Provide override.
28409         * lib/stdio-safer.h (popen_safer): Provide declaration.
28410         * tests/test-popen.c (includes): Partially test this.
28411         * modules/popen-safer-tests: New file, for more tests.
28412         * tests/test-popen-safer.c: Likewise.
28413         * MODULES.html.sh (file stream based Input/Output): Mention it.
28414
28415         tests: test some of the *-safer modules
28416         * modules/fopen-safer (Depends-on): Add fopen.
28417         * modules/fcntl-safer (Depends-on): Add fcntl.
28418         * modules/stdlib-safer (Depends-on): Add stdlib.
28419         (configure.ac): Set indicator.
28420         * modules/unistd-safer (configure.ac): Likewise.
28421         * modules/tmpfile-safer (configure.ac): Likewise.
28422         (Depends-on): Add tmpfile.
28423         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
28424         active.
28425         * tests/test-fopen.c (includes): Test safer versions when they are
28426         in use.
28427         * tests/test-open.c (includes): Likewise.
28428
28429         popen: fix cygwin 1.5 bug when stdin closed
28430         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
28431         * modules/popen: New file.
28432         * modules/popen-tests: Likewise.
28433         * tests/test-popen.c: Likewise.
28434         * m4/popen.m4: Likewise.
28435         * lib/popen.c: Likewise.
28436         * lib/stdio.in.h (popen): New declaration.
28437         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
28438         * modules/stdio (Makefile.am): Likewise.
28439         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
28440
28441 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
28442
28443         maint.mk: give full control over update-copyright exclusions
28444         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
28445         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
28446         (update-copyright): Don't force inclusion of top-level
28447         ChangeLog.  Don't force exclusion of all COPYING files, but make
28448         them the default exclusion instead.
28449
28450 2009-08-16  Bruno Haible  <bruno@clisp.org>
28451
28452         Fix test failures on Solaris 10.
28453         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
28454         tests when Solaris iconv() is used.
28455         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
28456         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
28457         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
28458         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
28459         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
28460
28461 2009-08-16  Bruno Haible  <bruno@clisp.org>
28462
28463         Fix test failures on Solaris 10.
28464         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
28465         'tr' program and pass it as first argument.
28466         * tests/test-pipe-filter-gi1.sh: Likewise.
28467         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
28468         program as first argument.
28469         * tests/test-pipe-filter-gi1.c (main): Likewise.
28470
28471 2009-08-16  Eric Blake  <ebb9@byu.net>
28472
28473         fpurge: fix previous commits
28474         * modules/fpurge (Makefile.am): Make replacement conditional,
28475         partially reverting 2007-04-29 change; missed in previous
28476         attempt.
28477         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
28478         is missing.
28479
28480 2009-08-16  Bruno Haible  <bruno@clisp.org>
28481
28482         Clarify fpurge's effect on the file position.
28483         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
28484         * tests/test-fpurge.c (main): Make a second pass for checking the file
28485         position.
28486
28487 2009-08-16  Bruno Haible  <bruno@clisp.org>
28488
28489         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
28490         declaration of fpurge is missing.
28491         * tests/test-fpurge.c (main): Check that the file has not more contents
28492         than expected. Close the file before removing it.
28493
28494 2009-08-15  Eric Blake  <ebb9@byu.net>
28495
28496         fpurge: don't wrap working cygwin implementation
28497         * lib/fpurge.c (fpurge): Fix comment typo.
28498         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
28499         1.7 to avoid replacement.
28500         * tests/test-fpurge.c (main): Enhance test.
28501
28502 2009-08-15  Eric Blake  <ebb9@byu.net>
28503         and Jim Meyering  <meyering@redhat.com>
28504
28505         test-update-copyright: skip if perl is insufficient
28506         * tests/test-update-copyright.sh: Failure to run maintainer tool
28507         should not cause testsuite failure on cygwin 1.5.
28508
28509 2009-08-14  Eric Blake  <ebb9@byu.net>
28510
28511         doc: mention more functions added in cygwin 1.7.0
28512         * doc/posix-headers/limits.texi (limits.h): Update for recent
28513         cygwin additions.
28514         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
28515         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
28516         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
28517         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
28518         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
28519
28520 2009-08-14  Eric Blake  <ebb9@byu.net>
28521
28522         maint.mk: simplify update-copyright rule
28523         * top/maint.mk (update-copyright-local): Delete, and document how
28524         to do it in cfg.mk instead.
28525         (update-copyright-exclude-regexp): Delete, and document how to do
28526         it in .x-update-copyright instead.
28527         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
28528         exclude ChangeLog.
28529
28530 2009-08-14  Bruno Haible  <bruno@clisp.org>
28531
28532         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
28533
28534 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
28535
28536         maint.mk: support update-copyright-env
28537         * top/maint.mk (update-copyright-env): Define place-holder.
28538         (update-copyright): Expand $(update-copyright-env) before
28539         invoking update-copyright.
28540
28541 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
28542
28543         update-copyright: implement forced reformatting
28544         * build-aux/update-copyright: Implement and document
28545         UPDATE_COPYRIGHT_FORCE.
28546         * tests/test-update-copyright.sh: Test it.
28547
28548 2009-08-14  Eric Blake  <ebb9@byu.net>
28549         and Bruno Haible  <bruno@clisp.org>
28550
28551         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
28552         * tests/test-locale.c: Revert previous patch related to NULL.
28553         * tests/test-stdio.c: Likewise.
28554         * tests/test-stdlib.c: Likewise.
28555         * tests/test-string.c: Likewise.
28556         * tests/test-unistd.c: Likewise.
28557         * modules/time-tests (Depends-on): Add verify.
28558         * modules/wchar-tests (Depends-on): Likewise.
28559         * tests/test-time.c: Test for NULL compliance.
28560         * tests/test-wchar.c: Likewise.
28561         * modules/locale (Depends-on): Add stddef.
28562         * modules/stdio (Depends-on): Likewise.
28563         * modules/stdlib (Depends-on): Likewise.
28564         * modules/string (Depends-on): Likewise.
28565         * modules/time (Depends-on): Likewise.
28566         * modules/unistd (Depends-on): Likewise.
28567         * modules/wchar (Depends-on): Likewise.
28568         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
28569         * lib/stdlib.in.h (includes): Likewise.
28570         * lib/string.in.h (includes): Likewise.
28571         * lib/time.in.h (includes): Likewise.
28572         * lib/unistd.in.h (includes): Likewise.
28573         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
28574         replaced.
28575         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
28576         * m4/stddef_h.m4: New file.
28577         * modules/stddef: Likewise.
28578         * lib/stddef.in.h: Likewise.
28579         * modules/stddef-tests: Likewise.
28580         * tests/test-stddef.c: Likewise.
28581         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
28582         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
28583         * doc/posix-headers/locale.texi (locale.h): Likewise.
28584         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
28585         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
28586         * doc/posix-headers/string.texi (string.h): Likewise.
28587         * doc/posix-headers/time.texi (time.h): Likewise.
28588         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
28589         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
28590
28591 2009-08-14  Eric Blake  <ebb9@byu.net>
28592
28593         doc: improve git diff of texinfo files
28594         * .gitattributes: Add rule for *.texi files, with hint on how to
28595         use it.
28596         Copied from m4, and based on a report by Bruno Haible.
28597
28598 2009-08-14  Bruno Haible  <bruno@clisp.org>
28599
28600         Disable multithread support by default on Cygwin 1.5.x for real.
28601         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
28602
28603 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
28604
28605         update-copyright: much ado about intervals
28606         * build-aux/update-copyright: Implement and document
28607         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
28608         of copyright year intervals.
28609         Also, document UPDATE_COPYRIGHT_YEAR.
28610         * tests/test-update-copyright.sh: Test it.
28611
28612         update-copyright: convert 2-digit to 4-digit years
28613         * build-aux/update-copyright: Implement and document.
28614         * tests/test-update-copyright.sh: Update.
28615
28616 2009-08-14  Jim Meyering  <meyering@redhat.com>
28617
28618         test-exclude: avoid coreutils "make check" failure
28619         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
28620         just as in test-argmatch.c.
28621
28622 2009-08-13  Eric Blake  <ebb9@byu.net>
28623
28624         test-dup2: fix bad assumption
28625         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
28626         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
28627
28628         test-version-etc: fix CRLF portability issue
28629         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
28630         recognize \r.
28631         * tests/test-argp-version-etc-1.sh: Likewise.
28632
28633         getopt: update client modules
28634         * modules/argp (Depends-on): Use getopt-gnu.
28635         * modules/git-merge-changelog (Depends-on): Likewise.
28636         * modules/long-options (Depends-on): Likewise.
28637         * modules/xstrtol (Depends-on): Likewise.
28638
28639 2009-08-13  Simon Josefsson  <simon@josefsson.org>
28640
28641         * tests/test-version-etc.sh: Don't fail on different
28642         project/version.  Don't fail on CRLF differences.  Rewrite to use
28643         multiple -e instead of multiple sed forks, suggested by Eric Blake
28644         <ebb9@byu.net>.
28645         * tests/test-argp-version-etc-1.sh: Likewise.
28646
28647 2009-08-13  Simon Josefsson  <simon@josefsson.org>
28648
28649         * tests/test-version-etc.sh: Don't fail on different
28650         project/version.
28651
28652 2009-08-12  Bruno Haible  <bruno@clisp.org>
28653
28654         Tests for modules 'getopt-posix', 'getopt-gnu'.
28655         * modules/getopt-posix-tests: New file.
28656         * tests/test-getopt.c: New file.
28657         * tests/test-getopt.h: New file.
28658         * tests/test-getopt_long.h: New file.
28659
28660         New modules 'getopt-posix', 'getopt-gnu'.
28661         * modules/getopt-gnu: New file, renamed from modules/getopt.
28662         * modules/getopt-posix: New file.
28663         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
28664         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
28665         (gl_GETOPT): Remove macro.
28666         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
28667         Disable the test against BSD systems that declare optreset. Test
28668         against mingw bug. Test against lack of support of optional arguments
28669         on many platforms.
28670         * doc/glibc-headers/getopt.texi: Update module name and list of
28671         relevant platforms.
28672         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
28673         'getopt-gnu' and more portability problems.
28674         * NEWS: Mention the changes.
28675
28676 2009-08-12  Bruno Haible  <bruno@clisp.org>
28677
28678         Ensure that optarg etc. get declared by <unistd.h>.
28679         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
28680         AC_USE_SYSTEM_EXTENSIONS.
28681         * modules/getopt (Depends-on): Add 'extensions'.
28682
28683 2009-08-12  Bruno Haible  <bruno@clisp.org>
28684
28685         Avoid test link errors.
28686         * modules/pipe-filter-ii-tests (Makefile.am): Define
28687         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
28688         * modules/pipe-filter-gi-tests (Makefile.am): Define
28689         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
28690         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
28691
28692 2009-08-12  Bruno Haible  <bruno@clisp.org>
28693
28694         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
28695         gl_GETOPT_SUBSTITUTE before.
28696         (gl_GETOPT): Use it.
28697         * m4/argp.m4 (gl_ARGP): Update.
28698         Reported by Sergey Poznyakoff.
28699
28700         * m4/getopt.m4: Reorder macros.
28701         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
28702         (gl_GETOPT_SUBSTITUTE): Remove macro.
28703
28704 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
28705
28706         Minor improvement in gitlog-to-changelog
28707
28708         * build-aux/gitlog-to-changelog: New option `--format' makes
28709         output format string configurable.
28710
28711 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
28712
28713         Optimize exclude: use hash tables for non-wildcard patterns.
28714
28715         * lib/exclude.c: Include hash.h and mbuiter.h
28716         (struct exclude_pattern, exclude_segment): New data types.
28717         (struct exclude): Rewrite.
28718         (fnmatch_pattern_has_wildcards): New function.
28719         (new_exclude_segment, free_exclude_segment): New functions.
28720         (excluded_file_pattern_p, excluded_file_name_p): New functions.
28721         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
28722         * lib/exclude.h (is_fnmatch_pattern): New prototype.
28723         * modules/exclude: Depend on hash and mbuiter.
28724
28725         * modules/exclude-tests: New file.
28726         * tests/test-exclude.c: New file.
28727         * tests/test-exclude1.sh: New file.
28728         * tests/test-exclude2.sh: New file.
28729         * tests/test-exclude3.sh: New file.
28730         * tests/test-exclude4.sh: New file.
28731         * tests/test-exclude5.sh: New file.
28732         * tests/test-exclude6.sh: New file.
28733         * tests/test-exclude7.sh: New file.
28734
28735 2009-08-12  Bruno Haible  <bruno@clisp.org>
28736
28737         Ensure that getopt() gets declared by <unistd.h>.
28738         * lib/unistd.in.h: Conditionally include getopt.h.
28739         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
28740         Set GNULIB_UNISTD_H_GETOPT.
28741         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
28742         GNULIB_UNISTD_H_GETOPT.
28743         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
28744
28745 2009-08-12  Bruno Haible  <bruno@clisp.org>
28746
28747         Clarify logic.
28748         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
28749         gl_replace_getopt instead of GETOPT_H.
28750
28751 2009-08-12  Bruno Haible  <bruno@clisp.org>
28752
28753         * m4/getopt.m4: Add comments.
28754
28755 2009-08-12  Bruno Haible  <bruno@clisp.org>
28756
28757         Disable multithread support by default on Cygwin 1.5.x.
28758         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
28759         set gl_use_threads=no if not specified otherwise.
28760
28761 2009-08-11  Bruno Haible  <bruno@clisp.org>
28762
28763         Avoid compilation error on NetBSD 5.0.
28764         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
28765         * tests/test-stdio.c: Likewise.
28766         * tests/test-stdlib.c: Likewise.
28767         * tests/test-string.c: Likewise.
28768         * tests/test-unistd.c: Likewise.
28769         Reported by Greg Troxel <gdt@ir.bbn.com>
28770         at <https://savannah.gnu.org/support/?106973>.
28771
28772 2009-08-11  Bruno Haible  <bruno@clisp.org>
28773
28774         * modules/dup2-tests (Depends-on): Remove close.
28775
28776         Undo 2009-07-19 commit.
28777         * modules/acl-tests (Depends-on): Remove close.
28778         * modules/binary-io-tests (Depends-on): Likewise.
28779         * modules/closein-tests (Depends-on): Likewise.
28780         * modules/flock-tests (Depends-on): Likewise.
28781         * modules/fsync-tests (Depends-on): Likewise.
28782         * modules/lseek-tests (Depends-on): Likewise.
28783         * modules/pipe-tests (Depends-on): Likewise.
28784         * modules/posix_spawn-tests (Depends-on): Likewise.
28785         * modules/posix_spawnp-tests (Depends-on): Likewise.
28786         * modules/stat-time-tests (Depends-on): Likewise.
28787         * modules/yesno-tests (Depends-on): Likewise.
28788
28789 2009-08-10  Bruno Haible  <bruno@clisp.org>
28790
28791         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
28792
28793 2009-08-10  Bruno Haible  <bruno@clisp.org>
28794
28795         Fix a gcc warning.
28796         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
28797
28798 2009-08-10  Bruno Haible  <bruno@clisp.org>
28799
28800         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
28801         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
28802         not only the first time.
28803         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
28804         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
28805         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
28806         is 1, not only the the first time.
28807
28808 2009-08-10  Bruno Haible  <bruno@clisp.org>
28809
28810         Make it possible to use module 'gethostname' without module 'close'.
28811         * lib/unistd.in.h (close): Evoke a link error only if
28812         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
28813         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
28814         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
28815         * modules/unistd (Makefile.am): Substitute
28816         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
28817         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
28818         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
28819         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
28820         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
28821         * modules/sys_ioctl (Makefile.am): Substitute
28822         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
28823         * modules/socket (configure.ac): On native Windows, set
28824         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
28825         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
28826         Reported by Sam Steingold <sds@gnu.org>.
28827
28828 2009-08-10  Bruno Haible  <bruno@clisp.org>
28829
28830         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
28831         * modules/ioctl (configure.ac): Likewise.
28832
28833 2009-08-10  Bruno Haible  <bruno@clisp.org>
28834
28835         Avoid collision between gnulib wrapper and libintl wrapper.
28836         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
28837         already defined in intl/printf.c.
28838         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
28839         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
28840
28841 2009-08-09  Bruno Haible  <bruno@clisp.org>
28842
28843         Make <sys/select.h> really self-contained, also on Solaris 10.
28844         * lib/sys_select.in.h: Include <string.h>.
28845         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
28846         Solaris 10 problem.
28847         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
28848         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
28849         Reported by Jim Meyering.
28850
28851 2009-08-09  Bruno Haible  <bruno@clisp.org>
28852
28853         Avoid warnings from 'aclocal' that are due to a use of macro name
28854         AM_XGETTEXT_OPTION that is not defined in automake.
28855         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
28856         automake.
28857         * modules/error (configure.ac): Likewise.
28858         * modules/propername (configure.ac): Likewise.
28859         * modules/vasprintf (configure.ac): Likewise.
28860         * modules/verror (configure.ac): Likewise.
28861         * modules/xprintf (configure.ac): Likewise.
28862         * modules/xvasprintf (configure.ac): Likewise.
28863
28864 2009-08-08  Bruno Haible  <bruno@clisp.org>
28865
28866         Avoid compilation error in C++ mode.
28867         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
28868         Reported by Sam Steingold <sds@gnu.org>.
28869
28870 2009-08-08  Bruno Haible  <bruno@clisp.org>
28871
28872         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
28873         for the various Unix platforms.
28874         * doc/posix-headers/limits.texi: Update platforms list regarding
28875         HOST_NAME_MAX.
28876         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
28877
28878 2009-08-07  Jim Meyering  <meyering@redhat.com>
28879
28880         selinux-at: fix typo in a comment
28881         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
28882         Spotted by Paolo Bonzini.
28883
28884         selinux-at: remove redundant m4 code, add documentation
28885         * modules/selinux-at (configure.ac): Remove redundant code.
28886         LIB_SELINUX is already set via the dependent module, selinux-h.
28887         (Include): Add quotes around selinux-at.h.
28888         * lib/selinux-at.h: Add documentation.
28889         Reported by Bruno Haible in
28890         http://marc.info/?l=gnulib-bug&m=124958988300749
28891
28892 2009-08-07  Bruno Haible  <bruno@clisp.org>
28893
28894         Avoid link error on MacOS X 10.3 and 10.4.
28895         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
28896         on non-ELF systems.
28897         * lib/argp-pv.c (argp_program_version): Likewise.
28898         Reported by Simon Josefsson.
28899
28900 2009-08-07  Simon Josefsson  <simon@josefsson.org>
28901
28902         * tests/test-version-etc.sh: Use $EXEEXT.
28903
28904 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
28905
28906         update-copyright: update documentation to point to maint.mk
28907         * build-aux/update-copyright: Here.
28908
28909 2009-08-06  Jim Meyering  <meyering@redhat.com>
28910
28911         maint.mk: support update-copyright-local
28912         * top/maint.mk (update-copyright-local): Define place-holder.
28913         (update-copyright): Depend on $(update-copyright-local).
28914
28915 2009-08-06  Jim Meyering  <meyering@redhat.com>
28916
28917         selinux-at: new module
28918         Initially written for coreutils, this module will soon be
28919         used by findutils, too.
28920         * MODULES.html.sh [Misc]: Add selinux-at.
28921         * lib/selinux-at.h: New file, from coreutils.
28922         * lib/selinux-at.c: Likewise.
28923         * modules/selinux-at: Likewise.
28924         (License): Change from LGPL to GPL, since it depends
28925         on the GPL'd openat module.
28926
28927         doc: update README
28928         * README: Remove references to cogito.
28929         Remove cvs-repo-updating instructions from 2007.
28930         Don't imply that CVS is better if you have limited disk space.
28931
28932 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
28933
28934         update-copyright: support C-style comments
28935         * build-aux/update-copyright: Implement and document.
28936         * tests/test-update-copyright.sh: Test.
28937
28938 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
28939
28940         update-copyright: support omitted "(C)"
28941         * build-aux/update-copyright: Implement and document.  Also,
28942         allow variable whitespace before "(C)".
28943         * tests/test-update-copyright.sh: Test.
28944
28945 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
28946
28947         update-copyright: don't trip on non-FSF copyright statements
28948         * build-aux/update-copyright: Fix so that the first correctly
28949         formatted FSF copyright statement is recognized no matter what
28950         appears before it.  Update documentation.
28951         * tests/test-update-copyright.sh: Test that.
28952
28953 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
28954
28955         update-copyright: clean up code a little
28956         * build-aux/update-copyright: Append "_re" to the name of any
28957         variable holding a regular expression.
28958         Replace "old" and "new" with "stmt" in variable names.
28959         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
28960         handled correctly.
28961         Format code more consistently.
28962
28963 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
28964
28965         update-copyright-tests: improve portability
28966         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
28967         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
28968
28969 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
28970
28971         update-copyright: support @copyright{} and &copy;
28972         * build-aux/update-copyright: Implement and document.
28973         * tests/test-update-copyright.sh: Test.
28974
28975 2009-08-04  Jim Meyering  <meyering@redhat.com>
28976
28977         update-copyright-tests: correctly test EOL=\r\n handling
28978         * tests/test-update-copyright.sh: Put \r at the end of some lines
28979         for the dos-eol tests.  Based on a patch by Joel E. Denny.
28980
28981         maint.mk: make update-copyright exclusion list more configurable
28982         * top/maint.mk (update-copyright): Default to excluding COPYING,
28983         but allow an override, in case someone does want to update that file.
28984
28985         maint.mk: don't update copyright date in COPYING
28986         * top/maint.mk (update-copyright): Exclude COPYING.
28987
28988         maint.mk: add a copyright-updating rule
28989         * top/maint.mk (update-copyright): New rule.
28990         Derived from coreutils/Makefile.am.
28991
28992         update-copyright: rename some variables
28993         * build-aux/update-copyright: Rename a few variables for clarity.
28994         Tweak syntax.  List Joel E. Denny as coauthor.
28995
28996 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
28997
28998         update-copyright: fix bug for 2-digit last year and add tests
28999         * build-aux/update-copyright: Fix bug.
29000         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
29001         specified.
29002         * modules/update-copyright-tests: New
29003         * tests/test-update-copyright.sh: New.
29004
29005 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
29006
29007         update-copyright: handle leading tabs in line prefix
29008         * build-aux/update-copyright: Count leading tabs as 8 spaces
29009         when computing margin.  This helps with the formatting of
29010         ChangeLogs, for example.
29011         Fix documentation a little.
29012
29013 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
29014
29015         update-copyright: support EOL=\r\n
29016         * build-aux/update-copyright: Implement that.
29017
29018 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
29019
29020         update-copyright: automatically format copyright statements
29021         * build-aux/update-copyright: Implement that.
29022         Also, be a little more predictable and safer by always failing
29023         when the full copyright format is not perfectly recognized as an
29024         unbroken whole.  Discussed at
29025         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
29026         Rewrite documentation.
29027
29028 2009-08-03  Bruno Haible  <bruno@clisp.org>
29029
29030         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
29031
29032 2009-08-02  Bruno Haible  <bruno@clisp.org>
29033
29034         Tests for module 'uname'.
29035         * modules/uname-tests: New file.
29036         * tests/test-uname.c: New file.
29037
29038         New module 'uname'.
29039         * lib/uname.c: New file.
29040         * m4/uname.m4: New file.
29041         * modules/uname: New file.
29042         * doc/posix-functions/uname.texi: Mention the new module.
29043
29044 2009-08-02  Bruno Haible  <bruno@clisp.org>
29045
29046         Tests for module 'sys_utsname'.
29047         * modules/sys_utsname-tests: New file.
29048         * tests/test-sys_utsname.c: New file.
29049
29050         New module 'sys_utsname'.
29051         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
29052         * m4/sys_utsname_h.m4: New file.
29053         * modules/sys_utsname: New file.
29054         * doc/posix-headers/sys_utsname.texi: Mention the new module.
29055
29056 2009-08-02  Bruno Haible  <bruno@clisp.org>
29057
29058         Implicitly initialize the sockets library.
29059         * lib/gethostname.c: Include sockets.h.
29060         (rpl_gethostname): Invoke gl_sockets_startup.
29061         * lib/socket.c: Include sockets.h.
29062         (rpl_socket): Invoke gl_sockets_startup.
29063         * modules/gethostname (Depends-on): Add sockets.
29064         * modules/socket (Depends-on): Likewise.
29065         * tests/test-poll.c: Don't include sockets.h.
29066         (main): Don't invoke gl_sockets_startup.
29067         * tests/test-select.c: Don't include sockets.h.
29068         (main): Don't invoke gl_sockets_startup.
29069
29070 2009-08-02  Bruno Haible  <bruno@clisp.org>
29071
29072         Allow multiple calls to gl_sockets_startup.
29073         * lib/sockets.c (initialized_sockets_version): New variable.
29074         (gl_sockets_startup): Do nothing if already called for this or a higher
29075         version.
29076         (gl_sockets_cleanup): Reset initialized_sockets_version.
29077
29078 2009-08-03  Simon Josefsson  <simon@josefsson.org>
29079
29080         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
29081         different project/version.
29082
29083 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
29084             Bruno Haible  <bruno@clisp.org>
29085
29086         Tests for module 'pipe-filter-gi'.
29087         * modules/pipe-filter-gi-tests: New file.
29088         * tests/test-pipe-filter-gi1.sh: New file.
29089         * tests/test-pipe-filter-gi1.c: New file.
29090         * tests/test-pipe-filter-gi2.sh: New file.
29091         * tests/test-pipe-filter-gi2-main.c: New file.
29092         * tests/test-pipe-filter-gi2-child.c: New file.
29093
29094         New module 'pipe-filter-gi'.
29095         * lib/pipe-filter-gi.c: New file.
29096         * modules/pipe-filter-gi: New file.
29097
29098 2009-08-02  Bruno Haible  <bruno@clisp.org>
29099             Paolo Bonzini  <bonzini@gnu.org>
29100
29101         Tests for module 'pipe-filter-ii'.
29102         * modules/pipe-filter-ii-tests: New file.
29103         * tests/test-pipe-filter-ii1.sh: New file.
29104         * tests/test-pipe-filter-ii1.c: New file.
29105         * tests/test-pipe-filter-ii2.sh: New file.
29106         * tests/test-pipe-filter-ii2-main.c: New file.
29107         * tests/test-pipe-filter-ii2-child.c: New file.
29108
29109         New module 'pipe-filter-ii'.
29110         * lib/pipe-filter.h: New file.
29111         * lib/pipe-filter-ii.c: New file.
29112         * lib/pipe-filter-aux.h: New file.
29113         * modules/pipe-filter-ii: New file.
29114
29115 2009-08-02  Simon Josefsson  <simon@josefsson.org>
29116
29117         * lib/gc-libgcrypt.c: Change copyright to FSF.
29118         * lib/gc-gnulib.c: Likewise.
29119
29120 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
29121
29122         * lib/gethostname.c: Include limits.h.
29123
29124 2009-08-02  Simon Josefsson  <simon@josefsson.org>
29125             Bruno Haible  <bruno@clisp.org>
29126
29127         Ensure HOST_NAME_MAX as part of the gethostname module.
29128         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
29129         define also HOST_NAME_MAX.
29130         * tests/test-gethostname.c: Include <limits.h>.
29131         (main): Check also HOST_NAME_MAX.
29132         * doc/posix-headers/limits.texi: Document the mingw problem.
29133
29134 2009-08-02  Bruno Haible  <bruno@clisp.org>
29135
29136         * lib/gethostname.c (gethostname): Fix handling of large len argument.
29137         Add comments.
29138
29139 2009-03-31  Simon Josefsson  <simon@josefsson.org>
29140
29141         * lib/gethostname.c: Add Windows wrapper.
29142         * m4/gethostname.m4: Look for gethostname in -lws2_32.
29143         * modules/gethostname: Depend on sys_socket & errno, for also
29144         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
29145         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
29146
29147 2009-07-31  Jim Meyering  <meyering@redhat.com>
29148
29149         getloadavg: fix symbol name in comment
29150         * lib/getloadavg.c: Correct a typo I introduced when adding
29151         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
29152         Matt Kraai spotted the problem.
29153
29154 2009-07-29  Matt Kraai  <mkraai@beckman.com>
29155
29156         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
29157         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
29158         code also if ! defined N_NAME_POINTER.
29159         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
29160         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
29161         but the n_name member is a 12-byte array.
29162
29163 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
29164
29165         update-copyright: generalize comment handling
29166         * build-aux/update-copyright: Handle copyright statements
29167         within more comment styles.
29168         Document usage.
29169         Report any file with an external copyright holder or parse failure.
29170
29171 2009-07-29  Jim Meyering  <meyering@redhat.com>
29172
29173         mktime: correct setting of REPLACE_MKTIME
29174         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
29175
29176         update-copyright: new module
29177         * modules/update-copyright: New file.
29178         * build-aux/update-copyright: New file.
29179         * MODULES.html.sh (maint+release support): Add update-copyright.
29180
29181 2009-07-27  Bruno Haible  <bruno@clisp.org>
29182
29183         Fix compilation error when <ctime> is used and mktime is replaced.
29184         * lib/time.in.h (mktime): New declaration.
29185         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
29186         REPLACE_MKTIME instead of defining mktime in config.h.
29187         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
29188         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
29189         Reported by Ross McFarland <rwmcfa1@neces.com>.
29190
29191 2009-07-27  Bruno Haible  <bruno@clisp.org>
29192
29193         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
29194         Reported by Matt Kraai <mkraai@beckman.com>.
29195
29196 2009-07-25  Jim Meyering  <meyering@redhat.com>
29197
29198         maint.mk: avoid warnings about missing files
29199         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
29200         diagnostic when .prev-version does not exist.
29201         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
29202         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
29203         nonexistent cfg.mk.
29204         Suggestions from Simon Josefsson.
29205
29206 2009-07-25  Bruno Haible  <bruno@clisp.org>
29207
29208         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
29209         defined as macros. Needed on QNX 6.4.1.
29210         Reported by Matt Kraai <mkraai@beckman.com>.
29211
29212 2009-07-23  Jim Meyering  <meyering@redhat.com>
29213
29214         maint.mk: invoke "make dist" with a working value of XZ_OPT
29215         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
29216
29217 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
29218
29219         Make fseeko.c compile on QNX.
29220         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
29221
29222 2009-07-22  Peter Simons  <simons@cryp.to>
29223
29224         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
29225         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
29226         * lib/md4.h: Likewise.
29227         * lib/md5.h: Likewise.
29228         * lib/sha1.h: Likewise.
29229         * lib/sha256.h: Likewise.
29230         * lib/sha512.h: Likewise.
29231
29232         tests-sha1: don't assign literal string to 'char *' variable
29233         * tests/test-sha1.c (main): Declare locals with "const" to match
29234         attributes of the right hand side.
29235
29236 2009-07-21  Eric Blake  <ebb9@byu.net>
29237
29238         dup2: fix more mingw problems
29239         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
29240         fd to itself.
29241         * doc/posix-functions/dup2.texi (dup2): Document the bug.
29242         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
29243         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
29244         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
29245         care of mingw bugs.
29246
29247 2009-07-21  Jim Meyering  <meyering@redhat.com>
29248
29249         vc-list-files: avoid failure when /bin/sh is dash
29250         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
29251         On some Debian based systems, /bin/sh is a symlink to dash, and running
29252         this command would omit the "/" following each 'tests' prefix:
29253           dash -x build-aux/vc-list-files -C . tests
29254         That is because bash and dash work differently:
29255           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
29256           bash ok
29257           dash odd
29258
29259 2009-07-21  Eric Blake  <ebb9@byu.net>
29260
29261         dup2-tests: test previous patch
29262         * modules/dup2-tests: New file.
29263         * tests/test-dup2.c: Likewise.
29264         * tests/test-open.c (main): Avoid unspecified behavior.
29265         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
29266         test.
29267
29268         dup2: work around mingw and cygwin 1.5 bug
29269         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
29270         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
29271         * modules/unistd (Makefile.am): Substitute it.
29272         * lib/unistd.in.h (dup2): Declare the replacement.
29273         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
29274         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
29275         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
29276         * modules/execute (Depends-on): Add dup2.
29277         * modules/fseterr (Depends-on): Likewise.
29278         * modules/pipe (Depends-on): Likewise.
29279         * modules/posix_spawn-internal (Depends-on): Likewise.
29280
29281 2009-07-21  Bruno Haible  <bruno@clisp.org>
29282
29283         * modules/.gitattributes: New file.
29284
29285 2009-07-20  Bruno Haible  <bruno@clisp.org>
29286
29287         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
29288         (main): Use it.
29289
29290 2009-07-20  Eric Blake  <ebb9@byu.net>
29291
29292         test-pipe: make a bit more robust.
29293         * tests/test-pipe.c (myerr): Allow error messages regardless of
29294         what we do to stderr.
29295         (test_pipe): Rearrange to avoid deadlock.
29296         (child_main): Try a larger read, to ensure we avoided deadlock.
29297         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
29298         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
29299         if misused.
29300
29301 2009-07-19  Jim Meyering  <meyering@redhat.com>
29302
29303         fts: avoid false-positive cycle-detection
29304         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
29305         for each new command line argument.
29306
29307 2009-07-19  Bruno Haible  <bruno@clisp.org>
29308
29309         Fix build error on mingw with the modules sys_select and unistd.
29310         * modules/acl-tests (Depends-on): Add close.
29311         * modules/binary-io-tests (Depends-on): Likewise.
29312         * modules/closein-tests (Depends-on): Likewise.
29313         * modules/flock-tests (Depends-on): Likewise.
29314         * modules/fsync-tests (Depends-on): Likewise.
29315         * modules/lseek-tests (Depends-on): Likewise.
29316         * modules/pipe-tests (Depends-on): Likewise.
29317         * modules/posix_spawn-tests (Depends-on): Likewise.
29318         * modules/posix_spawnp-tests (Depends-on): Likewise.
29319         * modules/stat-time-tests (Depends-on): Likewise.
29320         * modules/yesno-tests (Depends-on): Likewise.
29321
29322 2009-07-19  Bruno Haible  <bruno@clisp.org>
29323
29324         Unify conditionals.
29325         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
29326         macros, not at the compiler macros.
29327         * lib/pipe.c: Likewise.
29328         * lib/execute.c: Likewise.
29329         * lib/spawni.c: Likewise.
29330
29331 2009-07-19  Bruno Haible  <bruno@clisp.org>
29332
29333         Fix handling of closed stdin/stdout/stderr on mingw.
29334         * lib/w32spawn.h: Include unistd.h.
29335         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
29336         file descriptor with O_NOINHERIT flag.
29337         (fd_safer_noinherit): New function, based on fd-safer.c.
29338         (dup_safer_noinherit): New function, based on dup-safer.c.
29339         (undup_safer_noinherit): New function.
29340         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
29341         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
29342         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
29343         instead of fd_safer.
29344         * tests/test-pipe.c: Include <windows.h>.
29345         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
29346         result.
29347
29348         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
29349         from main.
29350         (test_pipe): Pass an extra argument for disambiguation.
29351         (main): Invoke parent_main or child_main.
29352
29353         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
29354         consistently.
29355
29356 2009-07-18  Eric Blake  <ebb9@byu.net>
29357
29358         test-pipe: fix mingw build
29359         * tests/test-pipe.c (main): Avoid fcntl on mingw.
29360
29361 2009-07-18  Bruno Haible  <bruno@clisp.org>
29362
29363         * modules/pipe-tests (Makefile.am): Fix typo.
29364
29365 2009-07-18  Eric Blake  <ebb9@byu.net>
29366
29367         error: fix mingw build
29368         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
29369         Reported by Bruno Haible.
29370
29371         error: avoid undefined use of stdout
29372         * lib/error.c (error, error_at_line): Check that fd 1 is open
29373         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
29374         is handling faults and the close_stdout module wants to report the
29375         detection of closed stdout as an error.
29376
29377 2009-07-17  Eric Blake  <ebb9@byu.net>
29378
29379         pipe: be robust in face of closed fds
29380         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
29381         should cause child to misbehave.
29382         * modules/pipe-tests: New module.
29383         * tests/test-pipe.c: New file.
29384         * tests/test-pipe.sh: New file.
29385         Reported by Akim Demaille.
29386
29387 2009-07-14  Bruno Haible  <bruno@clisp.org>
29388
29389         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
29390         Reported by anonymous kc.
29391
29392 2009-07-07  Jim Meyering  <meyering@redhat.com>
29393
29394         maint.mk: don't look for translatable strings in *.m4 or *.mk
29395         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
29396         when searching for translatable strings.
29397
29398 2009-07-05  Jim Meyering  <meyering@redhat.com>
29399
29400         remove superfluous parentheses in STREQ definition
29401         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
29402         * lib/getugroups.c (STREQ): Likewise.
29403         * lib/fnmatch.c (STREQ): Likewise.
29404         Spotted by Bruno Haible.
29405
29406 2009-07-04  Jim Meyering  <meyering@redhat.com>
29407
29408         argv-iter: new module
29409         * MODULES.html.sh: Add argv-iter.
29410         * lib/argv-iter.c, lib/argv-iter.h: New files.
29411         * modules/argv-iter: New file.
29412         * modules/argv-iter-tests: New file.
29413         * tests/test-argv-iter.c: Test it.
29414
29415 2009-07-04  Bruno Haible  <bruno@clisp.org>
29416
29417         Fix assertion.
29418         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
29419         contains more exact copies of a given entry than file2, leave the extra
29420         copies unpaired rather than aborting.
29421         Reported by Eric Blake.
29422
29423 2009-07-02  Bruno Haible  <bruno@clisp.org>
29424
29425         Speedup git-merge-changelog for git cherry-pick.
29426         * lib/git-merge-changelog.c (struct entries_mapping): New type.
29427         (entries_mapping_get): New function, extracted from compute_mapping.
29428         (entries_mapping_reverse_get): New function.
29429         (compute_mapping): Add a 'full' argument. Return the result in a
29430         'struct entries_mapping'.
29431         (main): Update. Access the mappings through entries_mapping_get.
29432         Reported by Eric Blake.
29433
29434 2009-07-02  Bruno Haible  <bruno@clisp.org>
29435
29436         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
29437         best_i.
29438
29439 2009-07-02  Bruno Haible  <bruno@clisp.org>
29440
29441         Speed up approximate search for matching ChangeLog entries.
29442         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
29443         argument. Call fstrcmp_bounded instead of fstrcmp.
29444         (compute_mapping, try_split_merged_entry, main): Update callers.
29445
29446 2009-07-02  Bruno Haible  <bruno@clisp.org>
29447
29448         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
29449
29450 2009-06-30  Bruno Haible  <bruno@clisp.org>
29451
29452         Reduce the number of uc_is_cased calls.
29453         * lib/unicase.h (casing_suffix_context_t): Add
29454         'first_char_except_ignorable' field.
29455         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
29456         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
29457         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
29458         Update initializer.
29459         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
29460         case-ignorable characters.
29461         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
29462         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
29463         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
29464         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
29465         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
29466
29467 2009-06-30  Bruno Haible  <bruno@clisp.org>
29468
29469         Tests for module 'unicase/ignorable'.
29470         * modules/unicase/ignorable-tests: New file.
29471         * tests/unicase/test-ignorable.c: New file, generated by
29472         gen-uni-tables.
29473
29474         Tests for module 'unicase/cased'.
29475         * modules/unicase/cased-tests: New file.
29476         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
29477         * tests/unicase/test-predicate-part1.h: New file, derived from
29478         tests/unictype/test-predicate-part1.h.
29479         * tests/unicase/test-predicate-part2.h: New file, same as
29480         tests/unictype/test-predicate-part2.h.
29481
29482         Fix evaluation of "Before C" condition of FINAL_SIGMA.
29483         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
29484         (output_casing_properties): New function.
29485         (main): Call it.
29486         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
29487         * lib/unicase/cased.c: Include unictype/bitmap.h.
29488         (uc_is_cased): Define through a bitmap lookup.
29489         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
29490         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
29491         (uc_is_case_ignorable): Define through a bitmap lookup.
29492         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
29493         lib/unictype/bitmap.h.
29494         (Depends-on): Add inline. Clean up.
29495         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
29496         lib/unictype/bitmap.h.
29497         (Depends-on): Add inline. Clean up.
29498         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
29499         recognition.
29500         * tests/unicase/test-u16-tolower.c (main): Likewise.
29501         * tests/unicase/test-u32-tolower.c (main): Likewise.
29502
29503 2009-06-30  Bruno Haible  <bruno@clisp.org>
29504
29505         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
29506         * lib/unicase/u16-casemap.c: Likewise.
29507         * lib/unicase/u32-casemap.c: Likewise.
29508
29509 2009-06-29  Bruno Haible  <bruno@clisp.org>
29510
29511         Define u32_casefold as a wrapper around u32_ct_casefold.
29512         * lib/unicase/u32-casefold.c: Update.
29513         * modules/unicase/u32-casefold (Depends-on): Add
29514         unicase/u32-ct-casefold, unicase/empty-prefix-context,
29515         unicase/empty-suffix-context. Clean up.
29516
29517         Define u16_casefold as a wrapper around u16_ct_casefold.
29518         * lib/unicase/u16-casefold.c: Update.
29519         * modules/unicase/u16-casefold (Depends-on): Add
29520         unicase/u16-ct-casefold, unicase/empty-prefix-context,
29521         unicase/empty-suffix-context. Clean up.
29522
29523         Define u8_casefold as a wrapper around u8_ct_casefold.
29524         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
29525         * lib/unicase/u8-casefold.c: Update.
29526         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
29527         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
29528
29529         Define u32_totitle as a wrapper around u32_ct_totitle.
29530         * lib/unicase/u32-totitle.c: Update.
29531         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
29532         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
29533
29534         Define u16_totitle as a wrapper around u16_ct_totitle.
29535         * lib/unicase/u16-totitle.c: Update.
29536         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
29537         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
29538
29539         Define u8_totitle as a wrapper around u8_ct_totitle.
29540         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
29541         functions.
29542         (FUNC): Delegate to U_CT_TOTITLE.
29543         * lib/unicase/u8-totitle.c: Update.
29544         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
29545         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
29546
29547         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
29548         invocation.
29549         * modules/unicase/u32-tolower (Depends-on): Add
29550         unicase/empty-prefix-context, unicase/empty-suffix-context.
29551
29552         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
29553         invocation.
29554         * modules/unicase/u16-tolower (Depends-on): Add
29555         unicase/empty-prefix-context, unicase/empty-suffix-context.
29556
29557         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
29558         * modules/unicase/u8-tolower (Depends-on): Add
29559         unicase/empty-prefix-context, unicase/empty-suffix-context.
29560
29561         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
29562         invocation.
29563         * modules/unicase/u32-toupper (Depends-on): Add
29564         unicase/empty-prefix-context, unicase/empty-suffix-context.
29565
29566         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
29567         invocation.
29568         * modules/unicase/u16-toupper (Depends-on): Add
29569         unicase/empty-prefix-context, unicase/empty-suffix-context.
29570
29571         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
29572         * modules/unicase/u8-toupper (Depends-on): Add
29573         unicase/empty-prefix-context, unicase/empty-suffix-context.
29574
29575         New module 'unicase/u32-ct-casefold'.
29576         * lib/unicase/u32-ct-casefold.c: New file.
29577         * modules/unicase/u32-ct-casefold: New file.
29578
29579         New module 'unicase/u16-ct-casefold'.
29580         * lib/unicase/u16-ct-casefold.c: New file.
29581         * modules/unicase/u16-ct-casefold: New file.
29582
29583         New module 'unicase/u8-ct-casefold'.
29584         * lib/unicase/u8-ct-casefold.c: New file.
29585         * lib/unicase/u-ct-casefold.h: New file, derived from
29586         lib/unicase/u-casefold.h.
29587         * modules/unicase/u8-ct-casefold: New file.
29588
29589         New module 'unicase/u32-ct-totitle'.
29590         * lib/unicase/u32-ct-totitle.c: New file.
29591         * modules/unicase/u32-ct-totitle: New file.
29592
29593         New module 'unicase/u16-ct-totitle'.
29594         * lib/unicase/u16-ct-totitle.c: New file.
29595         * modules/unicase/u16-ct-totitle: New file.
29596
29597         New module 'unicase/u8-ct-totitle'.
29598         * lib/unicase/u8-ct-totitle.c: New file.
29599         * lib/unicase/u-ct-totitle.h: New file, derived from
29600         lib/unicase/u-totitle.h.
29601         * modules/unicase/u8-ct-totitle: New file.
29602
29603         New module 'unicase/u32-ct-tolower'.
29604         * lib/unicase/u32-ct-tolower.c: New file.
29605         * modules/unicase/u32-ct-tolower: New file.
29606
29607         New module 'unicase/u16-ct-tolower'.
29608         * lib/unicase/u16-ct-tolower.c: New file.
29609         * modules/unicase/u16-ct-tolower: New file.
29610
29611         New module 'unicase/u8-ct-tolower'.
29612         * lib/unicase/u8-ct-tolower.c: New file.
29613         * modules/unicase/u8-ct-tolower: New file.
29614
29615         New module 'unicase/u32-ct-toupper'.
29616         * lib/unicase/u32-ct-toupper.c: New file.
29617         * modules/unicase/u32-ct-toupper: New file.
29618
29619         New module 'unicase/u16-ct-toupper'.
29620         * lib/unicase/u16-ct-toupper.c: New file.
29621         * modules/unicase/u16-ct-toupper: New file.
29622
29623         New module 'unicase/u8-ct-toupper'.
29624         * lib/unicase/u8-ct-toupper.c: New file.
29625         * modules/unicase/u8-ct-toupper: New file.
29626
29627         Add context arguments to u*_casemap functions.
29628         * lib/unicase/unicasemap.h: Include unicase.h.
29629         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
29630         suffix_context arguments.
29631         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
29632         functions.
29633         (FUNC): Add prefix_context and suffix_context arguments. Use
29634         uc_is_cased and uc_is_case_ignorable.
29635         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
29636         * lib/unicase/u16-casemap.c: Likewise.
29637         * lib/unicase/u32-casemap.c: Likewise.
29638         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
29639         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
29640         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
29641         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
29642         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
29643         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
29644
29645         New module 'unicase/u32-suffix-context'.
29646         * lib/unicase/u32-suffix-context.c: New file.
29647         * modules/unicase/u32-suffix-context: New file.
29648
29649         New module 'unicase/u16-suffix-context'.
29650         * lib/unicase/u16-suffix-context.c: New file.
29651         * modules/unicase/u16-suffix-context: New file.
29652
29653         New module 'unicase/u8-suffix-context'.
29654         * lib/unicase/u8-suffix-context.c: New file.
29655         * lib/unicase/u-suffix-context.h: New file.
29656         * modules/unicase/u8-suffix-context: New file.
29657
29658         New module 'unicase/empty-suffix-context'.
29659         * lib/unicase/empty-suffix-context.c: New file.
29660         * modules/unicase/empty-suffix-context: New file.
29661
29662         New module 'unicase/u32-prefix-context'.
29663         * lib/unicase/u32-prefix-context.c: New file.
29664         * modules/unicase/u32-prefix-context: New file.
29665
29666         New module 'unicase/u16-prefix-context'.
29667         * lib/unicase/u16-prefix-context.c: New file.
29668         * modules/unicase/u16-prefix-context: New file.
29669
29670         New module 'unicase/u8-prefix-context'.
29671         * lib/unicase/u8-prefix-context.c: New file.
29672         * lib/unicase/u-prefix-context.h: New file.
29673         * lib/unicase/context.h: New file.
29674         * modules/unicase/u8-prefix-context: New file.
29675
29676         New module 'unicase/empty-prefix-context'.
29677         * lib/unicase/empty-prefix-context.c: New file.
29678         * modules/unicase/empty-prefix-context: New file.
29679
29680         New module 'unicase/ignorable'.
29681         * lib/unicase/ignorable.c: New file.
29682         * modules/unicase/ignorable: New file.
29683
29684         New module 'unicase/cased'.
29685         * lib/unicase/caseprop.h: New file.
29686         * lib/unicase/cased.c: New file.
29687         * modules/unicase/cased: New file.
29688
29689         New functions for case mapping of substrings.
29690         * lib/unicase.h (casing_prefix_context_t): New type.
29691         (unicase_empty_prefix_context): New variable.
29692         (u8_casing_prefix_context, u16_casing_prefix_context,
29693         u32_casing_prefix_context, u8_casing_prefixes_context,
29694         u16_casing_prefixes_context, u32_casing_prefixes_context): New
29695         declarations.
29696         (casing_suffix_context_t): New type.
29697         (unicase_empty_suffix_context): New variable.
29698         (u8_casing_suffix_context, u16_casing_suffix_context,
29699         u32_casing_suffix_context, u8_casing_suffixes_context,
29700         u16_casing_suffixes_context, u32_casing_suffixes_context,
29701         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
29702         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
29703         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
29704         declarations.
29705
29706 2009-06-28  Jim Meyering  <meyering@redhat.com>
29707
29708         boostrap: indent only with spaces
29709         * build-aux/bootstrap: Indent only with spaces, never TABs.
29710
29711         bootstrap: split long lines
29712         * build-aux/bootstrap: Keep line length < 80.
29713
29714         bootstrap: sync from coreutils
29715         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
29716         just as autoreconf does.  Verify a list of prerequisite
29717         package-name,version-number pairs if defined in bootstrap.conf.
29718         Refer to README-prereq, if prerequisites are not satisfied.
29719
29720 2009-06-27  Eric Blake  <ebb9@byu.net>
29721
29722         tests: add test for bogus NULL definition
29723         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
29724         * tests/test-stdlib.c: Likewise.
29725         * tests/test-string.c: Likewise.
29726         * tests/test-locale.c: Likewise.
29727         * tests/test-unistd.c: Likewise.
29728         * modules/stdio-tests (Depends-on): Add verify.
29729         * modules/stdlib-tests (Depends-on): Likewise.
29730         * modules/string-tests (Depends-on): Likewise.
29731         * modules/locale-tests (Depends-on): Likewise.
29732         * modules/unistd-tests (Depends-on): Likewise.
29733
29734 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
29735
29736         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
29737         self-explaining comment.
29738         * m4/selinux-selinux-h: Update serial.
29739         (gl_LIBSELINUX): New macro, adding a warning for missing development
29740         packages to code extracted from...
29741         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
29742         Add warning for missing development packages here, too.
29743
29744 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
29745
29746         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
29747
29748 2009-06-25  Eric Blake  <ebb9@byu.net>
29749
29750         version-etc: fix regression
29751         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
29752         gcc.
29753         (version_etc): Use it, to catch bugs with trailing NULL.
29754         * lib/version-etc.c (version_etc_arn): Delete unused argument.
29755         (version_etc_va): Fix logic bug.
29756         * modules/version-etc-tests: Add test.
29757         * tests/test-version-etc.c: New file.
29758         * tests/test-version-etc.sh: Likewise.
29759
29760 2009-06-25  Sam Steingold  <sds@gnu.org>
29761
29762         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
29763         mbtowc declaration.
29764
29765 2009-06-25  Eric Blake  <ebb9@byu.net>
29766
29767         fpurge: migrate into <stdio.h>
29768         * lib/fpurge.h: Delete...
29769         * lib/stdio.in.h (fpurge): ...and declare here, instead.
29770         * lib/fpurge.c (fpurge): Change declaring header.
29771         * modules/fpurge (Files): Drop deleted file.
29772         (Depends-on): Add stdio.
29773         (configure.ac): Set witness.
29774         * modules/stdio (Makefile.am): Support fpurge macros.
29775         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
29776         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
29777         * lib/fflush.c: Update client.
29778         * tests/test-fpurge.c: Likewise.
29779         * NEWS: Mention the change.
29780
29781 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
29782
29783         * lib/argp-version-etc.c (program_authors): Add const
29784         qualifier.
29785         * lib/version-etc.c: Fix typos in the comments.
29786         * modules/argp-version-etc: Depends on version-etc.
29787
29788 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
29789
29790         argp-version-etc: new module.
29791
29792         * lib/argp-version-etc.c: New file.
29793         * lib/argp-version-etc.h: New file.
29794         * modules/argp-version-etc: New file.
29795         * modules/argp-version-etc-tests: New file.
29796         * tests/test-argp-version-etc.c: New test.
29797         * tests/test-argp-version-etc-1.sh: New test.
29798
29799 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
29800
29801         Provide additional interfaces and documentation for version-etc
29802         module.
29803
29804         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
29805         interfaces.
29806         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
29807         prototypes.
29808
29809 2009-06-24  Bruno Haible  <bruno@clisp.org>
29810
29811         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
29812         HAVE_LIB${NAME} macro.
29813         Reported by Sam Steingold <sds@gnu.org>.
29814
29815 2009-06-23  Simon Josefsson  <simon@josefsson.org>
29816
29817         * modules/hash-tests (test_hash_LDADD): Link to libintl when
29818         needed.
29819
29820 2009-06-21  Bruno Haible  <bruno@clisp.org>
29821
29822         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
29823         work.
29824         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
29825         together with LIB${NAME}, LTLIB${NAME}.
29826         Reported by Sam Steingold <sds@gnu.org>.
29827
29828 2009-06-20  Jim Meyering  <meyering@redhat.com>
29829
29830         tests: make sc_require_test_exit_idiom more generic
29831         * top/maint.mk (Exit_witness_file): New overridable variable.
29832         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
29833         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
29834
29835 2009-06-19  Jim Meyering  <meyering@redhat.com>
29836
29837         hash: reverse order of src/dst parameters in an internal interface
29838         * lib/hash.c (transfer_entries): Reverse order of parameters to
29839         put DST before SRC.  Adjust callers.
29840
29841         tests: test-hash: avoid wholesale duplication
29842         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
29843         Instead, use a loop and add a single conditional.
29844
29845         tests: test-hash: allow seed selection via a command line argument
29846         * tests/test-hash.c (get_seed): New function.
29847         (main): Use it.
29848
29849 2009-06-19  Eric Blake  <ebb9@byu.net>
29850
29851         hash: avoid memory leak on allocation failure
29852         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
29853         failure.  Factor repeated algorithm...
29854         (transfer_entries): ...into new helper routine.
29855         (hash_delete): React to hash_rehash return value.
29856
29857         hash: reduce memory pressure in hash_rehash no-op case
29858         * lib/hash.c (next_prime): Avoid overflow.
29859         (hash_initialize): Factor bucket size computation...
29860         (compute_bucket_size): ...into new helper function.
29861         (hash_rehash): Use new function and open coding to reduce memory
29862         pressure, and avoid a memory leak in USE_OBSTACK code.
29863         Reported by Jim Meyering.
29864
29865 2009-06-18  Eric Blake  <ebb9@byu.net>
29866
29867         hash: make rotation more obvious
29868         * modules/hash (Depends-on): Add bitrotate and stdint.
29869         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
29870         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
29871         (SIZE_MAX): Rely on headers for definition.
29872         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
29873         (raw_hasher): Use rotr_sz.
29874         Suggested by Jim Meyering.
29875
29876         hash: fix memory leak in last patch
29877         * lib/hash.c (hash_rehash): Avoid memory leak.
29878
29879         hash: avoid no-op rehashing
29880         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
29881
29882         hash: provide default callback functions
29883         * lib/hash.c (raw_hasher, raw_comparator): New functions.
29884         (hash_initialize): Use them as defaults.
29885         * tests/test-hash.c (main): Test this.
29886
29887         hash: minor optimization
29888         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
29889         when possible.
29890         (hash_initialize): Document this promise.
29891         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
29892         * tests/test-hash.c (hash_compare_strings): Test this.
29893
29894 2009-06-18  Bruno Haible  <bruno@clisp.org>
29895
29896         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
29897         going to be replaced anyway.
29898
29899 2009-06-18  Bruno Haible  <bruno@clisp.org>
29900
29901         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
29902         in one place.
29903         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
29904         be replaced anyway.
29905
29906 2009-06-18  Eric Blake  <ebb9@byu.net>
29907
29908         hash: check for resize before insertion
29909         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
29910         threshold before insertion, so that a pathological hash_rehash
29911         that fills every bucket can still trigger another rehash.
29912
29913 2009-06-18  Jim Meyering  <meyering@redhat.com>
29914
29915         hash-tests: add a loop around the small tests
29916         * tests/test-hash.c (main): Repeat small tests with selected
29917         small initial table sizes.
29918
29919 2009-06-17  Eric Blake  <ebb9@byu.net>
29920
29921         hash: minor cleanups
29922         * lib/hash.h (hash_entry): Make opaque, by moving...
29923         * lib/hash.c (hash_entry): ...here.
29924         (hash_insert): Clarify restrictions on what can be inserted.
29925         (hash_get_next): Clarify when it is safe to remove an element
29926         during traversal.
29927         (check_tuning): Skip verification when tuning is known safe.
29928         (hash_initialize): Clarify restrictions on tuning.
29929
29930 2009-06-17  Jim Meyering  <jim@meyering.net>
29931         and Eric Blake  <ebb9@byu.net>
29932
29933         hash-tests: new module
29934         * modules/hash-tests: New file.
29935         * tests/test-hash.c: New file.
29936
29937 2009-06-17  Eric Blake  <ebb9@byu.net>
29938
29939         strstr-simple: document new module
29940         * MODULES.html.sh: Document new module.
29941
29942         strstr, strcasestr: replace on platforms with broken memchr
29943         * modules/strstr: Split into...
29944         * modules/strstr-simple: ...new module that does not care about
29945         performance, but does care about glibc bug.
29946         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
29947         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
29948         if platform memchr is broken, per Debian bug 521737.
29949         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
29950         memchr.
29951         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
29952         * doc/posix-functions/strstr.texi (strstr): Document the fix.
29953         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
29954         * modules/mountlist (Depends-on): Add strstr-simple.
29955         * modules/gen-uni-tables (Depends-on): Likewise.
29956         * modules/argz (Depends-on): Add strstr.
29957
29958 2009-06-17  Bruno Haible  <bruno@clisp.org>
29959
29960         * modules/posix_spawn-internal (Depends-on): Add errno.
29961
29962 2009-06-17  Bruno Haible  <bruno@clisp.org>
29963
29964         Define missing ESTALE on Interix 3.5.
29965         * lib/errno.in.h (ESTALE): Assign a value if missing.
29966         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
29967         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
29968         missing.
29969         * doc/posix-headers/errno.texi: Mention the Interix bug.
29970         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
29971
29972 2009-06-15  Eric Blake  <ebb9@byu.net>
29973
29974         memchr, memchr2: add valgrind exception
29975         * lib/memchr.valgrind: New file.
29976         * lib/memchr2.valgrind: New file.
29977         * modules/memchr (Files): Distribute valgrind file.
29978         * modules/memchr2 (Files): Likewise.
29979
29980         docs: memchr is no longer obsolete
29981         * MODULES.html.sh: Move memchr from obsolete to string.h section.
29982         * lib/string.in.h (memchr): Simplify logic.
29983
29984 2009-06-14  Jim Meyering  <meyering@redhat.com>
29985
29986         link-follow: fix the "checking..." message to not mention trailing slash
29987         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
29988         never considered trailing slashes.
29989
29990 2009-06-14  Bruno Haible  <bruno@clisp.org>
29991
29992         * m4/memchr.m4: Mention also the bug on IA-64.
29993         * doc/posix-functions/memchr.texi: Likewise.
29994
29995 2009-06-12  Eric Blake  <ebb9@byu.net>
29996
29997         memchr: detect broken x86_64 and alpha implementations
29998         * modules/memchr-tests (Depends-on): Move mmap detection...
29999         * modules/memchr (Depends-on): ...here.
30000         (configure.ac): Set indicator.
30001         * lib/string.in.h (memchr): Declare replacement.
30002         * modules/string (Makefile.am): Trigger replacement.
30003         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
30004         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
30005         bugs.
30006         * doc/posix-functions/memchr.texi (memchr): Document the bug.
30007         * modules/getpagesize (License): Relax license.
30008
30009 2009-06-11  Bruno Haible  <bruno@clisp.org>
30010
30011         * lib/idpriv.h: Add more references.
30012
30013 2009-06-08  Bruno Haible  <bruno@clisp.org>
30014
30015         Tests for module 'idpriv-droptemp'.
30016         * modules/idpriv-droptemp-tests: New file.
30017         * tests/test-idpriv-droptemp.sh: New file.
30018         * tests/test-idpriv-droptemp.su.sh: New file.
30019         * tests/test-idpriv-droptemp.c: New file.
30020
30021         New module 'idpriv-droptemp'.
30022         * lib/idpriv-droptemp.c: New file.
30023         * modules/idpriv-droptemp: New file.
30024
30025 2009-06-08  Bruno Haible  <bruno@clisp.org>
30026
30027         Tests for module 'idpriv-drop'.
30028         * modules/idpriv-drop-tests: New file.
30029         * tests/test-idpriv-drop.sh: New file.
30030         * tests/test-idpriv-drop.su.sh: New file.
30031         * tests/test-idpriv-drop.c: New file.
30032
30033         New module 'idpriv-drop'.
30034         * lib/idpriv.h: New file.
30035         * lib-idpriv-drop.c: New file.
30036         * m4/idpriv.m4: New file.
30037         * modules/idpriv-drop: New file.
30038
30039 2009-06-08  Bruno Haible  <bruno@clisp.org>
30040
30041         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
30042         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
30043         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
30044         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
30045         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
30046         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
30047         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
30048
30049 2009-06-08  Eric Blake  <ebb9@byu.net>
30050
30051         test-strstr: use memory fence, when possible
30052         * tests/test-strstr.c (main): Use memory fence, in order to be
30053         more likely to trigger Debian bug 521737.
30054         * modules/strstr-tests (Files): Pull in additional files.
30055
30056         memchr: no longer obsolete, for wider field testing
30057         * modules/memchr (Status, Notice): Delete, this module is no
30058         longer obsolete.
30059         * modules/vasnprintf (Depends-on): Add memchr.
30060
30061 2009-06-07  Jim Meyering  <meyering@redhat.com>
30062
30063         hash: declare some functions with the warn_unused_result attribute
30064         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
30065
30066 2009-06-07  Bruno Haible  <bruno@clisp.org>
30067
30068         * tests/test-alignof.c: Don't test int64_t if it does not exist.
30069         Reported by Eric Blake.
30070
30071 2009-06-06  Eric Blake  <ebb9@byu.net>
30072
30073         test-alignof: fix typo with long double
30074         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
30075         compiler error.
30076
30077 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
30078
30079         Escape non-texinfo { and }s.
30080         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
30081         markup error.
30082
30083 2009-06-04  Jim Meyering  <meyering@redhat.com>
30084
30085         gitlog-to-changelog: don't infloop on an empty commit log
30086         * build-aux/gitlog-to-changelog: Warn about an empty log message.
30087         Reported by Boris Petersen <transacid@centerim.org>.
30088
30089 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
30090
30091         version-etc: extend for packagers
30092         Add three new configure options, intended for packagers:
30093           --with-packager="packager name"
30094           --with-packager-version="packager-specific version"
30095           --with-packager-bug-reports="packager bug reporting"
30096         An example with coreutils:
30097           $ ./configure \
30098             --with-packager=Gentoo \
30099             --with-packager-bug-report=http://bugs.gentoo.org/ \
30100             --with-packager-version="patchset 1.6"
30101           $ ./src/ls --version | head -n2
30102           ls (GNU coreutils) 7.1-dirty
30103           Packaged by Gentoo (patchset 1.6)
30104         Note that the bug reporting info via --help doesn't show up because
30105         coreutils uses its own custom emit_bug_reporting_address() implementation
30106         in src/system.h.  If it didn't, it'd look like:
30107           $ ./src/ls --help | tail -n4
30108           Report bugs to <bug-coreutils@gnu.org>.
30109           Report Gentoo bugs to <http://bugs.gentoo.org/>.
30110           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
30111           General help using GNU software: <http://www.gnu.org/gethelp/>.
30112         * lib/version-etc.c: Print new information, if provided.
30113         * m4/version-etc.m4: New file.
30114         * modules/version-etc (Files): Add m4/version-etc.m4.
30115         (configure.ac): Add gl_VERSION_ETC.
30116
30117 2009-05-31  Bruno Haible  <bruno@clisp.org>
30118
30119         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
30120         and 'int64_t'.
30121         * modules/alignof-tests (Dependencies): Add stdint.
30122         Reported by Eric Blake.
30123
30124 2009-05-31  Bruno Haible  <bruno@clisp.org>
30125
30126         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
30127         restriction due to compiler bugs.
30128         Reported by Eric Blake.
30129
30130 2009-05-31  Simon Josefsson  <simon@josefsson.org>
30131             Bruno Haible  <bruno@clisp.org>
30132
30133         Fix test-alignof failure.
30134         * lib/alignof.h (alignof_slot): New macro.
30135         (alignof_type): New macro, with the same semantics as the previous
30136         'alignof'.
30137         (alignof): Alias to alignof_slot.
30138         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
30139         check that the results are usable as constant expressions.
30140
30141 2009-05-31  Bruno Haible  <bruno@clisp.org>
30142
30143         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
30144         * tests/test-memchr.c (main): Check that memchr does not read past the
30145         first occurrence of the byte.
30146         * tests/test-strstr.c (main): Update comment.
30147         Suggested by Eric Blake.
30148
30149 2009-05-30  Bruno Haible  <bruno@clisp.org>
30150
30151         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
30152         detail how to use dumpbin.
30153         Reported by David Byron <dbyron@dbyron.com>.
30154
30155 2009-06-02  Simon Josefsson  <simon@josefsson.org>
30156
30157         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
30158
30159 2009-06-02  Simon Josefsson  <simon@josefsson.org>
30160
30161         * m4/manywarnings.m4: Add GCC 4.4 warnings.
30162
30163 2009-05-28  Bruno Haible  <bruno@clisp.org>
30164
30165         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
30166         build-aux/ files.
30167
30168 2009-05-28  Simon Josefsson  <simon@josefsson.org>
30169
30170         * gnulib-tool (func_import): Transform license on build-aux/ files too.
30171
30172 2009-05-27  Simon Josefsson  <simon@josefsson.org>
30173
30174         * gnulib-tool (sed_transform_main_lib_file)
30175         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
30176         regexps.
30177
30178 2009-05-26  Simon Josefsson  <simon@josefsson.org>
30179
30180         * tests/test-strstr.c: Add another self-test.
30181         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
30182         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
30183
30184 2009-05-23  Bruno Haible  <bruno@clisp.org>
30185
30186         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
30187         change.
30188
30189 2009-05-21  Bruno Haible  <bruno@clisp.org>
30190
30191         Simplify use of mode_t varargs.
30192         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
30193         uses 'mode_t' or 'int'.
30194         * lib/openat.c (openat): Likewise.
30195         * lib/open-safer.c (open_safer): Likewise.
30196         * m4/mode_t.m4: New file.
30197         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
30198         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
30199         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
30200         * modules/open (Files): Add m4/mode_t.m4.
30201         * modules/openat (Files): Likewise.
30202         * modules/fcntl-safer (Files): Likewise.
30203         Suggested by Eric Blake.
30204
30205 2009-05-21  Pádraig Brady  <P@draigbrady.com>
30206
30207         * doc/glibc-functions/fallocate.texi: New file.
30208         * doc/gnulib.texi: Include it.
30209
30210 2009-05-21  Eric Blake  <ebb9@byu.net>
30211             Bruno Haible  <bruno@clisp.org>
30212
30213         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
30214         invocations.
30215         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
30216
30217 2009-05-21  Eric Blake  <ebb9@byu.net>
30218             Bruno Haible  <bruno@clisp.org>
30219
30220         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
30221         include_next. Fix of 2008-11-20 commit.
30222         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
30223         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
30224         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
30225         NEXT_MATH_H.
30226         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
30227         instead of NEXT_MATH_H.
30228
30229 2009-05-21  Bruno Haible  <bruno@clisp.org>
30230
30231         Avoid redefinition warnings for SIZE_MAX.
30232         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
30233         Reported by Simon Josefsson.
30234
30235 2009-05-21  Bruno Haible  <bruno@clisp.org>
30236
30237         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
30238         AC_CACHE_VAL.
30239
30240 2009-05-20  Bruno Haible  <bruno@clisp.org>
30241
30242         Make zeroptr.h work on mingw.
30243         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
30244         mprotect.
30245         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
30246         * modules/memchr2-tests (configure.ac): Likewise.
30247         * modules/memcmp-tests (configure.ac): Likewise.
30248         * modules/memmem-tests (configure.ac): Likewise.
30249         * modules/memrchr-tests (configure.ac): Likewise.
30250         Reported by Simon Josefsson.
30251
30252 2009-05-20  Simon Josefsson  <simon@josefsson.org>
30253
30254         * tests/test-glob.c: Include string.h for strcmp prototype.
30255
30256 2009-05-20  Simon Josefsson  <simon@josefsson.org>
30257
30258         * modules/getdelim (Depends-on): Add explicit stdint, although it
30259         was implicitly already pulled in via realloc-posix.
30260         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
30261
30262 2009-05-20  Simon Josefsson  <simon@josefsson.org>
30263
30264         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
30265         G. Christensen" <tgc@jupiterrise.com>.
30266         * m4/sys_socket_h.m4: Check for sa_family_t.
30267         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
30268         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
30269         * tests/test-sys_socket.c: Check that sa_family_t works.
30270
30271 2009-05-18  Eric Blake  <ebb9@byu.net>
30272
30273         maint.mk: allow gnulib_dir in VPATH build
30274         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
30275
30276 2009-05-15  Jim Meyering  <meyering@redhat.com>
30277
30278         maint.mk: Give gnulib_dir a default definition.
30279         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
30280         Thus, most packages no longer need to specify this variable in cfg.mk
30281
30282 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
30283
30284         rename.m4: fix typos that would make non-mingw cross-configure fail
30285         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
30286
30287 2009-05-13  Eric Blake  <ebb9@byu.net>
30288
30289         mmap-anon: avoid out-of-order autoconf expansion
30290         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
30291         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
30292         * modules/memchr-tests (Depends-on): Add extensions.
30293         * modules/memchr2-tests (Depends-on): Add extensions.
30294         * modules/memcmp-tests (Depends-on): Add extensions.
30295         * modules/memmem-tests (Depends-on): Add extensions.
30296         * modules/memrchr-tests (Depends-on): Add extensions.
30297
30298 2009-05-13  Bruno Haible  <bruno@clisp.org>
30299
30300         Make some tests ISO C 99 compliant.
30301         * tests/zerosize-ptr.h: New file.
30302         * tests/test-memchr.c: Include zerosize-ptr.h.
30303         (main): Use a zero-size object pointer instead of NULL.
30304         * tests/test-memchr2.c: Include zerosize-ptr.h.
30305         (main): Use a zero-size object pointer instead of NULL.
30306         * tests/test-memcmp.c: Include zerosize-ptr.h.
30307         (main): Use a zero-size object pointer instead of NULL.
30308         * tests/test-memmem.c: Include zerosize-ptr.h.
30309         (main): Use a zero-size object pointer instead of NULL.
30310         * tests/test-memrchr.c: Include zerosize-ptr.h.
30311         (main): Use a zero-size object pointer instead of NULL.
30312         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
30313         m4/mmap-anon.m4.
30314         (Depends-on): Add getpagesize.
30315         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
30316         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
30317         m4/mmap-anon.m4.
30318         (Depends-on): Add getpagesize.
30319         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
30320         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
30321         m4/mmap-anon.m4.
30322         (Depends-on): Add getpagesize.
30323         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
30324         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
30325         m4/mmap-anon.m4.
30326         (Depends-on): Add getpagesize.
30327         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
30328         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
30329         m4/mmap-anon.m4.
30330         (Depends-on): Add getpagesize.
30331         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
30332
30333 2009-05-12  Bruno Haible  <bruno@clisp.org>
30334
30335         Tests for module 'alignof'.
30336         * modules/alignof-tests: New file.
30337         * tests/test-alignof.c: New file.
30338
30339 2009-05-12  Bruno Haible  <bruno@clisp.org>
30340
30341         Fix alignof macro.
30342         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
30343         vendor compilers that are always correct.
30344
30345 2009-05-12  Bruno Haible  <bruno@clisp.org>
30346
30347         Make the MAP_ANONYMOUS detection work on HP-UX 11.
30348         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
30349         not whether its fully works.
30350
30351 2009-05-12  Bruno Haible  <bruno@clisp.org>
30352
30353         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
30354
30355 2009-05-12  Jim Meyering  <meyering@redhat.com>
30356
30357         * top/maint.mk: Adjust backslash alignment.
30358
30359 2009-05-11  Simon Josefsson  <simon@josefsson.org>
30360
30361         * top/maint.mk: Make $(srcdir)/build-aux configurable.
30362
30363 2009-05-11  Eric Blake  <ebb9@byu.net>
30364
30365         argp: avoid undefined behavior
30366         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
30367         macros.
30368
30369 2009-05-08  Simon Josefsson  <simon@josefsson.org>
30370
30371         * tests/test-vc-list-files-git.sh: Do git config of user.email and
30372         user.name to prevent git commit from complaining.
30373
30374 2009-05-10  Bruno Haible  <bruno@clisp.org>
30375
30376         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
30377         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
30378         it rewrites every file name only once.
30379         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
30380
30381 2009-05-08  Bruno Haible  <bruno@clisp.org>
30382
30383         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
30384         instead of 'max'.
30385
30386 2009-05-08  Simon Josefsson  <simon@josefsson.org>
30387
30388         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
30389         sockaddr_storage test.
30390
30391 2009-05-07  Simon Josefsson  <simon@josefsson.org>
30392
30393         * modules/sys_socket (Makefile.am): Substitute
30394         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
30395         * m4/sys_socket_h.m4: Check for sockaddr_storage.
30396         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
30397         * tests/test-sys_socket.c: Check sockaddr_storage.
30398
30399 2009-05-08  Bruno Haible  <bruno@clisp.org>
30400
30401         New module 'alignof'.
30402         * lib/alignof.h: New file.
30403         * modules/alignof: New file.
30404
30405 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
30406             Bruno Haible  <bruno@clisp.org>
30407
30408         Fix test-file-has-acl on FreeBSD.
30409         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
30410         mask is implicitly added.
30411         * tests/test-file-has-acl.c: Include <signal.h>.
30412         (main): Terminate the test after 5 seconds.
30413         * modules/acl-tests (configure.ac): Check for alarm function.
30414
30415 2009-05-04  Bruno Haible  <bruno@clisp.org>
30416
30417         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
30418         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
30419         * modules/errno (configure.ac): Drop AC_REQUIRE.
30420         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
30421         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
30422
30423 2009-05-04  Simon Josefsson  <simon@josefsson.org>
30424
30425         * modules/glob-tests: New module.
30426         * tests/test-glob.c: Add.
30427
30428 2009-05-04  Simon Josefsson  <simon@josefsson.org>
30429
30430         * modules/fnmatch-tests: New module.
30431         * tests/test-fnmatch.c: Add.
30432
30433 2009-05-04  Eric Blake  <ebb9@byu.net>
30434
30435         maint: make the new no-submodule-changes rule VPATH-safe
30436         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
30437
30438 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
30439             Bruno Haible  <bruno@clisp.org>
30440
30441         acl: Fix infinite loop on FreeBSD.
30442         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
30443         of return value from acl_get_entry.
30444         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
30445         Likewise.
30446
30447 2009-05-03  Bruno Haible  <bruno@clisp.org>
30448
30449         * lib/acl-internal.h (acl_entries): Clarify return value.
30450         * lib/acl_entries.c (acl_entries): Likewise.
30451
30452 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
30453
30454         Bug fix in acl module.
30455         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
30456
30457 2009-05-03  Bruno Haible  <bruno@clisp.org>
30458
30459         Create gperf-generated file in the source dir, not in the build dir.
30460         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
30461         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
30462         * modules/unicase/locale-language (unicase/locale-languages.h):
30463         Likewise.
30464         * modules/unicase/special-casing (unicase/special-casing-table.h):
30465         Likewise.
30466         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
30467         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
30468         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
30469         Reported by Ralf Wildenhues.
30470
30471 2009-05-03  Bruno Haible  <bruno@clisp.org>
30472
30473         * modules/fnmatch (Description, configure.ac): Taken from
30474         fnmatch-posix.
30475         * modules/fnmatch-posix: Turn into a symbolic reference to the
30476         'fnmatch' module, and deprecate.
30477         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
30478
30479 2009-05-03  Bruno Haible  <bruno@clisp.org>
30480
30481         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
30482         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
30483         Reported by Ralf Wildenhues.
30484
30485 2009-05-04  Simon Josefsson  <simon@josefsson.org>
30486
30487         * m4/fnmatch.m4: Fix fnmatch re-define.
30488
30489 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
30490
30491         priv-set: new module and tests; adapt write-any-file
30492         * lib/priv-set.c: New file.
30493         * lib/priv-set.h: New file.
30494         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
30495         * lib/write-any-file.c: Simplify by using priv-set module.
30496         * m4/priv-set.m4: New file.
30497         * modules/priv-set: New file.
30498         * modules/unlinkdir: Add dependency on priv-set module.
30499         * modules/write-any-file: Likewise.
30500
30501         Tests for module 'priv-set'.
30502         * modules/priv-set-tests: New file.
30503         * tests/test-priv-set.c: New file.
30504
30505 2009-05-03  Jim Meyering  <meyering@redhat.com>
30506             Bruno Haible  <bruno@clisp.org>
30507
30508         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
30509         use the converted UTF-8 variant of the name instead.
30510
30511 2009-05-03  Jim Meyering  <meyering@redhat.com>
30512
30513         tests: tighten some getdate tests
30514         * tests/test-getdate.c (main): Tighten tests: require equality,
30515         not just greater than.  Set TZ envvar to UTC0.
30516
30517 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
30518
30519         getdate: correctly interpret "next monday" when run on a Monday
30520         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
30521         that e.g., "next tues" (when run on a tuesday) results in a date
30522         that is one week in the future, and not today's date.
30523         I.e., add a week when the wday is the same as the current one.
30524         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
30525         and earlier by Martin Bernreuther and Jan Minář.
30526         * tests/test-getdate.c (main): Check that "next DAY" is always in
30527         the future and that "last DAY" is always in the past.
30528
30529 2009-05-02  Jim Meyering  <meyering@redhat.com>
30530
30531         build: ensure that a release build fails when a submodule is unclean
30532         * top/maint.mk (no-submodule-changes): New rule.
30533         (alpha beta major): Depend on it.
30534
30535 2009-05-02  Bruno Haible  <bruno@clisp.org>
30536
30537         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
30538         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
30539         shell variable gl_fnmatch_required to detect which variant is
30540         requested.
30541         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
30542         gl_FUNC_FNMATCH_POSIX.
30543         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
30544         exclude fnmatch-posix.
30545
30546 2009-05-02  Bruno Haible  <bruno@clisp.org>
30547
30548         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
30549         * modules/mbsrtowcs (License): Change to LGPLv2+.
30550         * modules/strnlen1 (License): Likewise.
30551         Reported by Simon Josefsson.
30552
30553 2009-05-02  Bruno Haible  <bruno@clisp.org>
30554
30555         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
30556         "cross".
30557         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
30558         gnulib-tool was called with option --source-base=lib.
30559
30560 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30561
30562         Use automake *-local hooks without commands, for extensibility.
30563         * modules/localcharset (Makefile.am): Rename install-exec-local
30564         rule to install-exec-localcharset, and make it a prerequisite of
30565         install-exec-local.  Likewise, rename the uninstall-local rule to
30566         uninstall-localcharset, and make it a prerequisite of the former.
30567
30568 2009-05-01  Bruno Haible  <bruno@clisp.org>
30569
30570         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
30571         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
30572         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
30573         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
30574         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
30575         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
30576         m4/locale-zh.m4, m4/codeset.m4.
30577
30578         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
30579         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
30580         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
30581         m4/locale-zh.m4.
30582
30583         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
30584         REPLACE_WCRTOMB if mbstate_t must be replaced.
30585         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
30586         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
30587
30588 2009-05-01  Bruno Haible  <bruno@clisp.org>
30589
30590         Avoid compiler warnings when redefining macros defined by <libintl.h>.
30591         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
30592         dngettext, dcngettext, textdomain, bindtextdomain,
30593         bind_textdomain_codeset): Undefine before redefining.
30594
30595 2009-04-30  Bruno Haible  <bruno@clisp.org>
30596
30597         Fix bug introduced on 2009-04-25.
30598         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
30599         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
30600         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
30601         is defined.
30602         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
30603         is defined.
30604         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
30605         is defined.
30606         Reported by Elbert_Pol <elbert.pol@gmail.com>.
30607
30608 2009-04-28  Bruno Haible  <bruno@clisp.org>
30609
30610         Comment tweaks.
30611         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
30612         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
30613         * lib/unicase.h (u*_casexfrm): Likewise.
30614         Reported by Paolo Bonzini.
30615
30616 2009-04-28  Bruno Haible  <bruno@clisp.org>
30617
30618         Fix a compilation error.
30619         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
30620         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
30621         Reported by Jim Meyering.
30622
30623 2009-04-27  Bruno Haible  <bruno@clisp.org>
30624
30625         New module 'libunistring'.
30626         * modules/libunistring: New file.
30627         * m4/libunistring.m4: New file.
30628         * MODULES.html.sh (Unicode string functions): Add it.
30629
30630 2009-04-27  Eric Blake  <ebb9@byu.net>
30631
30632         maint.mk: allow package-specific header to provide <config.h>
30633         * top/maint.mk (sc_require_config_h): New variable.
30634         (sc_require_config_h, sc_require_config_h_first): Use it.
30635
30636 2009-04-27  Simon Josefsson  <simon@josefsson.org>
30637
30638         * top/maint.mk (sc_avoid_if_before_free): Except
30639         useless-if-before-free script.
30640
30641 2009-04-27  Eric Blake  <ebb9@byu.net>
30642
30643         maintainer-makefile: depend on all required helper scripts
30644         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
30645         useless-if-before-free.
30646         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
30647         version, rather than assuming gnulib checkout is available.
30648         Reported by Simen Josefsson.
30649
30650 2009-04-26  Bruno Haible  <bruno@clisp.org>
30651
30652         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
30653         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
30654         "../" or "..".
30655
30656 2009-04-26  Bruno Haible  <bruno@clisp.org>
30657
30658         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
30659         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
30660         AC_LIB_HAVE_LINKFLAGS.
30661
30662 2009-04-26  Bruno Haible  <bruno@clisp.org>
30663
30664         Simplify calling convention of u*_conv_from_encoding.
30665         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
30666         u32_conv_from_encoding): Expect a resultbuf argument and return the
30667         result directly as a pointer.
30668         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
30669         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
30670         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
30671         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
30672         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
30673         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
30674         Update.
30675         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
30676         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
30677         * lib/vasnprintf.c (VASNPRINTF): Update.
30678         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
30679         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
30680         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
30681         * NEWS: Mention the change.
30682
30683 2009-04-26  Bruno Haible  <bruno@clisp.org>
30684
30685         Simplify calling convention of u*_conv_to_encoding.
30686         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
30687         u32_conv_to_encoding): Expect a resultbuf argument and return the
30688         result directly as a pointer.
30689         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
30690         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
30691         freeing scaled_offsets if mem_iconveha failed.
30692         * lib/unicase/u-casexfrm.h (FUNC): Update.
30693         * lib/uninorm/u-normxfrm.h (FUNC): Update.
30694         * lib/vasnprintf.c (VASNPRINTF): Update.
30695         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
30696         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
30697         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
30698         * NEWS: Mention the change.
30699
30700 2009-04-26  Bruno Haible  <bruno@clisp.org>
30701
30702         Avoid test failures on AIX and OSF/1.
30703         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
30704         malloc(0).
30705         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
30706         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
30707         Likewise.
30708         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
30709         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
30710         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
30711         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
30712         * doc/posix-functions/malloc.texi: Document the portability problem
30713         related to malloc(0).
30714
30715 2009-04-26  Bruno Haible  <bruno@clisp.org>
30716
30717         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
30718         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
30719         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
30720
30721 2009-04-25  Bruno Haible  <bruno@clisp.org>
30722
30723         Avoid link error when creating a namespace clean library.
30724         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
30725         as macro with arguments if already defined as an alias.
30726         * lib/signbitf.c (gl_signbitf): Don't undefine.
30727         * lib/signbitd.c (gl_signbitd): Don't undefine.
30728         * lib/signbitl.c (gl_signbitl): Don't undefine.
30729
30730 2009-04-25  Jim Meyering  <meyering@redhat.com>
30731
30732         vc-list-files: fix another quoting bug
30733         * build-aux/vc-list-files: Avoid sed backslash expansion
30734         of pathological directory names.
30735
30736 2009-04-25  Eric Blake  <ebb9@byu.net>
30737
30738         vc-list-files: fix shell quoting error
30739         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
30740         timestamp.
30741
30742 2009-04-25  Jim Meyering  <meyering@redhat.com>
30743
30744         vc-list-files: restore lost functionality with subdir argument
30745         * build-aux/vc-list-files: When given a non-"." sub-directory
30746         argument, substitute the $dir/ prefix back onto each resulting name.
30747         Otherwise, coreutils' root_tests check would fail.
30748
30749 2009-04-24  Eric Blake  <ebb9@byu.net>
30750
30751         vc-list-files: ignore git symlinks
30752         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
30753         than ls-files, to ignore git symlinks.
30754
30755         maint.mk: import improvements from m4
30756         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
30757         (move_if_change): Delete unused macro.
30758         (news-date-check, vc-diff-check): Support VPATH builds.
30759         (announcement): Likewise.  Split --bootstrap-tools list...
30760         (boostrap-tools): ...into separate list, which can be overridden
30761         in cfg.mk.
30762         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
30763         requiring dependency on useless-if-before-free module.
30764         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
30765         Support VPATH builds.
30766
30767 2009-04-24  Jim Meyering  <meyering@redhat.com>
30768
30769         maint.mk: remove coreutils-specific rules and variables
30770         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
30771         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
30772         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
30773
30774         maint.mk: remove obsolete rule
30775         * top/maint.mk (rel-check): Remove rule.
30776         (WGET, WGETFLAGS): Remove now-unused variables.
30777
30778 2009-04-24  Simon Josefsson  <simon@josefsson.org>
30779
30780         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
30781         consistency.
30782
30783         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
30784         '$(PATH_SEPARATOR)' instead of ':'.
30785
30786 2009-04-24  Simon Josefsson  <simon@josefsson.org>
30787
30788         * lib/getopt1.c (main): Use 'const' for static array.
30789
30790 2009-04-24  Simon Josefsson  <simon@josefsson.org>
30791
30792         * top/maint.mk: Sync with coreutils.
30793         * NEWS: Explain incompatibilities.
30794
30795 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
30796             Bruno Haible  <bruno@clisp.org>
30797
30798         Fix cross-compilation results.
30799         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
30800         statement, as third argument of AC_TRY_RUN.
30801         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
30802         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
30803         Likewise.
30804         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
30805         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
30806         Likewise.
30807         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
30808         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
30809         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
30810
30811 2009-04-20  Bruno Haible  <bruno@clisp.org>
30812
30813         Avoid test failure on mingw.
30814         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
30815
30816 2009-04-20  Bruno Haible  <bruno@clisp.org>
30817
30818         Avoid compilation error on mingw.
30819         * modules/localename-tests (Depends-on): Add locale.
30820
30821 2009-04-19  Bruno Haible  <bruno@clisp.org>
30822
30823         Support for building a shared library on Windows platforms.
30824         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
30825         (main): Test the presence of UNINORM_NFC here.
30826         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
30827         (main): Test the presence of UNINORM_NFD here.
30828         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
30829         (main): Test the presence of UNINORM_NFKC here.
30830         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
30831         (main): Test the presence of UNINORM_NFKD here.
30832
30833 2009-04-19  Bruno Haible  <bruno@clisp.org>
30834
30835         Avoid a compiler warning.
30836         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
30837         Change type of variable 'sequence'.
30838
30839 2009-04-19  Bruno Haible  <bruno@clisp.org>
30840
30841         * modules/configmake (Makefile.am): When the contents of configmake.h
30842         does not change, arrange to preserve its modification time.
30843
30844 2009-04-17  Simon Josefsson  <simon@josefsson.org>
30845
30846         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
30847         gettext domain.
30848
30849 2009-04-16  Jim Meyering  <meyering@redhat.com>
30850
30851         useless-if-before-free: improve conversion code
30852         * build-aux/useless-if-before-free: Adjust code-in-comment to match
30853         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
30854
30855 2009-04-14  Bruno Haible  <bruno@clisp.org>
30856
30857         * modules/fcntl (Depends-on): Add extensions.
30858         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
30859
30860 2009-04-12  Ben Pfaff  <blp@gnu.org>
30861
30862         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
30863         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
30864
30865 2009-03-20  Ben Pfaff  <blp@gnu.org>
30866
30867         Make rename replace existing destinations on Windows.
30868         * m4/rename.m4: Add test for Mingw.
30869         * lib/rename.c: Add rename replacement that uses MoveFileEx with
30870         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
30871         * doc/posix-functions/rename.texi: Document.
30872
30873 2009-04-10  Bruno Haible  <bruno@clisp.org>
30874
30875         New include file "iconveh.h".
30876         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
30877         * lib/striconveh.h: Include it.
30878         (enum iconv_ilseq_handler): Remove definition.
30879         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
30880         striconveh.h.
30881         * lib/striconveha.c: Include striconveh.h.
30882         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
30883         * modules/striconveh (Files): Add lib/iconveh.h.
30884         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
30885         lib/striconveh.h.
30886
30887 2009-04-10  Bruno Haible  <bruno@clisp.org>
30888
30889         * lib/uniconv.h: Update comment.
30890
30891 2009-04-10  Bruno Haible  <bruno@clisp.org>
30892
30893         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
30894         always.
30895         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
30896         * lib/unistr/u16-mbtouc-aux.c: Likewise.
30897         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
30898         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
30899         "unistring-notinline.h", so that the function gets defined always.
30900         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
30901         * lib/unistr/u8-uctomb.c: Likewise.
30902         * lib/unistr/u16-mbtouc.c: Likewise.
30903         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
30904         * lib/unistr/u16-uctomb.c: Likewise.
30905         * lib/unistr/u32-mbtouc.c: Likewise.
30906         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
30907         * lib/unistr/u32-uctomb.c: Likewise.
30908
30909 2009-04-10  Bruno Haible  <bruno@clisp.org>
30910
30911         Mark 'utime' obsolete.
30912         * modules/utime (Status, Notice): New sections.
30913         Suggested by Jim Meyering.
30914
30915         Fix cross-compile guess for utime test.
30916         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
30917         autoconf.
30918         * doc/posix-functions/utime.texi: Give more precisions.
30919         Reported by Jan <ipif@ymail.com>.
30920
30921 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
30922
30923         filevercmp: correct today's change
30924         * lib/filevercmp.c: Also handle coreutils' test inputs.
30925         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
30926
30927         Fix regression in 'filevercmp' module. Thanks Sven Joachim
30928         for reporting it.
30929         * lib/filevercmp.c: Special handle for "", "." and "..".
30930         * tests/test-filevercmp.c: Enlarge the set suite.
30931
30932 2009-04-07  Jim Meyering  <meyering@redhat.com>
30933
30934         useless-if-before-free: show how to remove braced useless free, too
30935         * build-aux/useless-if-before-free: still only in a comment, though.
30936
30937 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
30938
30939         maint.mk: import changes to syntax-check macros from coreutils
30940         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
30941         Use them in the relevant macros.
30942
30943 2009-04-06  Bruno Haible  <bruno@clisp.org>
30944
30945         Fix unportable use of bit-fields.
30946         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
30947         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
30948         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
30949
30950 2009-04-06  Bruno Haible  <bruno@clisp.org>
30951
30952         Avoid test failures on AIX and OSF/1.
30953         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
30954         that malloc(0) = NULL.
30955         * tests/unicase/test-u8-tolower.c (check): Likewise.
30956         * tests/unicase/test-u8-totitle.c (check): Likewise.
30957         * tests/unicase/test-u8-toupper.c (check): Likewise.
30958         * tests/unicase/test-u16-casefold.c (check): Likewise.
30959         * tests/unicase/test-u16-tolower.c (check): Likewise.
30960         * tests/unicase/test-u16-totitle.c (check): Likewise.
30961         * tests/unicase/test-u16-toupper.c (check): Likewise.
30962         * tests/unicase/test-u32-casefold.c (check): Likewise.
30963         * tests/unicase/test-u32-tolower.c (check): Likewise.
30964         * tests/unicase/test-u32-totitle.c (check): Likewise.
30965         * tests/unicase/test-u32-toupper.c (check): Likewise.
30966         * tests/uninorm/test-u8-nfc.c (check): Likewise.
30967         * tests/uninorm/test-u8-nfd.c (check): Likewise.
30968         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
30969         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
30970         * tests/uninorm/test-u16-nfc.c (check): Likewise.
30971         * tests/uninorm/test-u16-nfd.c (check): Likewise.
30972         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
30973         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
30974         * tests/uninorm/test-u32-nfc.c (check): Likewise.
30975         * tests/uninorm/test-u32-nfd.c (check): Likewise.
30976         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
30977         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
30978
30979 2009-04-05  Bruno Haible  <bruno@clisp.org>
30980
30981         Work around an autoconf limitation.
30982         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
30983         comment line if it would be longer than 3 KB.
30984
30985 2009-04-05  Bruno Haible  <bruno@clisp.org>
30986
30987         Avoid test failure with libiconv-1.13.
30988         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
30989         of the expected test results.
30990
30991 2009-04-05  Bruno Haible  <bruno@clisp.org>
30992
30993         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
30994         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
30995         that it should be installed.
30996
30997 2009-04-05  Bruno Haible  <bruno@clisp.org>
30998
30999         * gnulib-tool: New option --copy-file.
31000         (func_usage): Document it.
31001         (func_dest_tmpfilename): Moved out of func_import.
31002         (func_add_file, func_update_file): New functions, extracted from
31003         func_import.
31004         (func_import): Update.
31005
31006 2009-04-05  Karl Berry  <karl@gnu.org>
31007
31008         * README: prominently mention gnulib-tool.
31009         Rearrange sections so getting the code is near the top.
31010
31011 2009-04-05  Bruno Haible  <bruno@clisp.org>
31012
31013         * lib/unicase.h: Mention u*_cmp2.
31014         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
31015         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
31016         * lib/unicase/ulc-casecmp.c: Likewise.
31017         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
31018         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
31019         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
31020         unistr/u8-cmp.
31021         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
31022         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
31023         unistr/u16-cmp.
31024         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
31025         unistr/u32-cmp.
31026
31027         * lib/uninorm.h: Mention u*_cmp2.
31028         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
31029         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
31030         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
31031         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
31032         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
31033         unistr/u8-cmp.
31034         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
31035         unistr/u16-cmp.
31036         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
31037         unistr/u32-cmp.
31038
31039         New module 'unistr/u32-cmp2'.
31040         * lib/unistr/u32-cmp2.c: New file.
31041         * modules/unistr/u32-cmp2: New file.
31042
31043         New module 'unistr/u16-cmp2'.
31044         * lib/unistr/u16-cmp2.c: New file.
31045         * modules/unistr/u16-cmp2: New file.
31046
31047         New module 'unistr/u8-cmp2'.
31048         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
31049         * lib/unistr/u8-cmp2.c: New file.
31050         * lib/unistr/u-cmp2.h: New file.
31051         * modules/unistr/u8-cmp2: New file.
31052
31053 2009-04-05  Bruno Haible  <bruno@clisp.org>
31054
31055         * lib/unictype.h (uc_property_is_valid): New macro.
31056         * tests/unictype/test-pr_byname.c (main): Use it.
31057
31058         * lib/unistr.h: Doc fixes.
31059         * lib/uniconv.h: Doc fixes.
31060         * lib/unictype.h: Doc fixes.
31061
31062 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
31063
31064         Port coreutils 7.2 to Solaris 8.
31065
31066         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
31067         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
31068         for Solaris 8.  This is a bit of a hack, as it means it's the
31069         caller's responsibility to add -lnsl if needed, but most likely it
31070         won't be needed since only getaddrinfo uses this and getaddrinfo
31071         isn't needed on Solaris 8.
31072
31073         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
31074         problem to Solaris 8 encountered with coreutils 7.2, which
31075         resulted in a message "fnmatch.c:292: warning: passing argument 4
31076         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
31077         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
31078
31079 2009-04-03  Simon Josefsson  <simon@josefsson.org>
31080
31081         * m4/ld-version-script.m4: Add FIXME comment.
31082
31083 2009-04-02  Simon Josefsson  <simon@josefsson.org>
31084
31085         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
31086         SOVERSION variable.
31087
31088 2009-04-02  Bruno Haible  <bruno@clisp.org>
31089
31090         * Makefile (info, html, dvi, pdf): Combine the rules.
31091         Suggested by Jim Meyering.
31092
31093 2009-04-01  Bruno Haible  <bruno@clisp.org>
31094
31095         * Makefile (info, html, dvi, pdf): New targets.
31096         Reported by Reuben Thomas <rrt@sc3d.org>.
31097
31098 2009-04-01  Bruno Haible  <bruno@clisp.org>
31099
31100         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
31101         can be put into PATH.
31102         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
31103
31104 2009-04-01  Bruno Haible  <bruno@clisp.org>
31105
31106         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
31107
31108 2009-04-01  Bruno Haible  <bruno@clisp.org>
31109
31110         Rename module 'visibility'.
31111         * modules/lib-symbol-visibility: Renamed from modules/visibility.
31112         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
31113         * doc/gnulib.texi: Update.
31114         * MODULES.html.sh (Misc): Update.
31115         * NEWS: Mention the change.
31116
31117 2009-04-01  Simon Josefsson  <simon@josefsson.org>
31118
31119         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
31120         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
31121         Eric Blake <ebb9@byu.net> for review.
31122         * MODULES.html.sh: Add lib-msvc-compat.
31123         * doc/gnulib.texi: Link to new section.
31124         * m4/ld-output-def.m4: New file.
31125         * doc/ld-output-def.texi: New file.
31126
31127 2009-04-01  Simon Josefsson  <simon@josefsson.org>
31128
31129         Rename ld-version-script to lib-symbol-versions.  Suggested by
31130         Bruno Haible <bruno@clisp.org>.
31131         * modules/ld-version-script: Renamed to lib-symbol-versions.
31132         * doc/ld-version-script.texi: Fix module name.
31133         * MODULES.html.sh: Add lib-symbol-versions.
31134
31135 2009-03-31  Simon Josefsson  <simon@josefsson.org>
31136
31137         * modules/u64-tests: New file.
31138         * tests/test-u64.c: New file.
31139
31140 2009-03-04  Simon Josefsson  <simon@josefsson.org>
31141
31142         * MODULES.html.sh: Mention u64.
31143         * modules/u64: New module.
31144         * modules/crypto/sha512: Depend on u64 module instead of providing
31145         u64.h.
31146
31147 2009-03-27  Eric Blake  <ebb9@byu.net>
31148
31149         test-strerror: make debugging EAI_SYSTEM easier
31150         * modules/getaddrinfo-tests (Depends-on): Add strerror.
31151         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
31152         failure was EAI_SYSTEM.
31153
31154 2009-03-25  Bruno Haible  <bruno@clisp.org>
31155
31156         Fix a problem with --enable-relocatable on Solaris 7.
31157         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
31158         since 2008-02-24.
31159
31160 2009-03-25  Eric Blake  <ebb9@byu.net>
31161
31162         test-sockets: avoid gcc warning
31163         * tests/test-sockets.c (main): Silence compiler warning.
31164
31165 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
31166
31167         New modules nproc, pthread, contributed by Glen Lenker.
31168
31169         * MODULES.html.sh: Add pthread, nproc.
31170         * lib/nproc.c: New file.
31171         * lib/nproc.h: New file.
31172         * lib/pthread.in.h: New file.
31173         * m4/pthread.m4: New file.
31174         * modules/nproc: New file.
31175         * modules/pthread: New file.
31176
31177 2009-03-24  Simon Josefsson  <simon@josefsson.org>
31178
31179         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
31180         New variable.
31181
31182 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
31183
31184         filevercmp: handle simple~ and numbered.~3~ backup suffixes
31185         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
31186         * tests/test-filevercmp.c: Add tests for backup suffixes.
31187
31188 2009-03-24  Simon Josefsson  <simon@josefsson.org>
31189
31190         * modules/stdlib (Depends-on): Add stdint, needed when defining
31191         struct random_data on, for example, HP-UX 10.20.  Reported by
31192         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
31193
31194 2009-03-24  Simon Josefsson  <simon@josefsson.org>
31195
31196         * lib/readline.c (readline): Call fflush on stdout after printing
31197         prompt.
31198
31199 2009-03-20  Bruno Haible  <bruno@clisp.org>
31200
31201         Remove dependency from 'close' module to -lws2_32 on native Windows.
31202         * lib/close-hook.h: New file.
31203         * lib/close-hook.c: New file.
31204         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
31205         w32sock.h.
31206         (_gl_close_fd_maybe_socket): Remove function.
31207         (rpl_close): Invoke execute_all_close_hooks instead of
31208         _gl_close_fd_maybe_socket.
31209         * lib/sockets.c: Include close-hook.h, w32sock.h.
31210         (close_fd_maybe_socket): New function, essentially from lib/close.c.
31211         (close_sockets_hook): New variable.
31212         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
31213         (gl_sockets_cleanup): Unregister it.
31214         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
31215         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
31216         * modules/close-hook: New file.
31217         * modules/close (Files): Remove lib/w32sock.h.
31218         (Depends-on): Add close-hook.
31219         (Link): Remove section.
31220         * modules/sockets (Files): Add lib/w32sock.h.
31221         (Depends-on): Add close-hook.
31222         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
31223         invocation.
31224         * NEWS: Mention that LIB_CLOSE is gone.
31225
31226 2009-03-23  Eric Blake  <ebb9@byu.net>
31227
31228         signal-tests: test previous patch
31229         * tests/test-signal.c: New file.
31230         * modules/signal-tests: Likewise.
31231
31232         signal.h: always support 'volatile sig_atomic_t'
31233         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
31234         (gl_SIGNAL_H_DEFAULTS): Add a default.
31235         * modules/signal (Makefile.am): Substitute if needed.
31236         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
31237         users can blindly add volatile.
31238         * doc/posix-headers/signal.texi (signal.h): Document it.
31239         Reported by Matthew Woehlke.
31240
31241 2009-03-23  Jim Meyering  <meyering@redhat.com>
31242
31243         pathmax: PATH_MAX: use pathconf only when available
31244         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
31245         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
31246         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
31247         This avoids a link failure in a PSP cross-compilation environment
31248         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
31249
31250         * lib/vasnprintf.c (divide): Fix typo in comment.
31251
31252 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31253
31254         * gnulib-tool (func_filter_filelist): Fix comment.
31255
31256 2009-03-20  Bruno Haible  <bruno@clisp.org>
31257
31258         Make sockets.h self-contained.
31259         * lib/sockets.c: Include sockets.h first.
31260         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
31261
31262 2009-03-19  Eric Blake  <ebb9@byu.net>
31263
31264         doc: mention more functions added in cygwin 1.7.0
31265         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
31266         addition.
31267         * doc/posix-functions/log2f.texi: Likewise.
31268
31269 2009-03-19  Jim Meyering  <meyering@redhat.com>
31270
31271         fsusage: avoid syntax error due to statement-before-declaration
31272         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
31273         after all declarations.  Reported by Matthew Woehlke in
31274         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
31275
31276 2009-03-18  Eric Blake  <ebb9@byu.net>
31277
31278         build-aux/compile: sync from automake
31279         * build-aux/compile: New file, from automake.
31280         * config/srclist.txt: Mention build-aux/compile.
31281
31282 2009-03-17  Bruno Haible  <bruno@clisp.org>
31283
31284         * lib/git-merge-changelog.c: Fix typo in comment.
31285         Reported by Reuben Thomas <rrt@sc3d.org>.
31286
31287 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
31288
31289         * m4/regex.m4: update and improve help for
31290         --without-included-regex.
31291
31292 2009-03-17  Simon Josefsson  <simon@josefsson.org>
31293
31294         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
31295         failure on missing include files.
31296
31297 2009-03-17  Eric Blake  <ebb9@byu.net>
31298
31299         doc: mention more functions added in cygwin 1.7.0
31300         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
31301         addition.
31302         * doc/posix-functions/fwscanf.texi: Likewise.
31303         * doc/posix-functions/swprintf.texi: Likewise.
31304         * doc/posix-functions/swscanf.texi: Likewise.
31305         * doc/posix-functions/vfwprintf.texi: Likewise.
31306         * doc/posix-functions/vfwscanf.texi: Likewise.
31307         * doc/posix-functions/vswprintf.texi: Likewise.
31308         * doc/posix-functions/vswscanf.texi: Likewise.
31309         * doc/posix-functions/vwprintf.texi: Likewise.
31310         * doc/posix-functions/vwscanf.texi: Likewise.
31311         * doc/posix-functions/wcscasecmp.texi: Likewise.
31312         * doc/posix-functions/wcsdup.texi: Likewise.
31313         * doc/posix-functions/wcsftime.texi: Likewise.
31314         * doc/posix-functions/wcsncasecmp.texi: Likewise.
31315         * doc/posix-functions/wprintf.texi: Likewise.
31316         * doc/posix-functions/wscanf.texi: Likewise.
31317         * doc/glibc-functions/gethostbyname2.texi: Likewise.
31318
31319 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31320
31321         maint.mk: really add $(AM_MAKEFLAGS)
31322         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
31323         was inadvertently omitted in the last commit.
31324         Spotted by Bruno Haible.
31325
31326         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
31327         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
31328         $(AM_MAKEFLAGS)' rather than plain `make'.
31329
31330         gnulib-tool: execute $MAKE not make
31331         * gnulib-tool: Default $MAKE to 'make'.
31332         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
31333         than make.  Initialize $MAKE in the do-autobuild script.
31334
31335         gnulib-tool: use $MAKE not make in generated files
31336         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
31337         make, in generated files.  Initialize $MAKE in the do-autobuild
31338         script.
31339
31340         * top/GNUmakefile (_have-git-version-gen): Fix typo.
31341
31342         GNUmakefile: disable parallelism only for multiple, recursive targets
31343         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
31344         additions in the Makefile.
31345         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
31346         by Automake.
31347         (.NOTPARALLEL): Only disable parallel builds if multiple targets
31348         are listed on the command line and at least one of them is
31349         listed in $(ALL_RECURSIVE_TARGETS).
31350
31351 2009-03-14  Bruno Haible  <bruno@clisp.org>
31352
31353         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
31354         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
31355         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
31356         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
31357         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
31358         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
31359         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
31360         unistr/u8-uctomb.
31361         * modules/unistr/u8-strchr (Depends-on): Likewise.
31362         * modules/unistr/u8-strrchr (Depends-on): Likewise.
31363         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
31364         unistr/u16-uctomb.
31365         * modules/unistr/u16-strchr (Depends-on): Likewise.
31366         * modules/unistr/u16-strrchr (Depends-on): Likewise.
31367
31368 2009-03-12  Bruno Haible  <bruno@clisp.org>
31369
31370         Work around select() bug on Interix 3.5.
31371         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
31372         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
31373         * m4/select.m4: New file.
31374         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
31375         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
31376         * modules/select (Files): Add m4/select.m4.
31377         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
31378         * modules/nanosleep (Depends-on): Add select.
31379         * modules/poll (Depends-on): Likewise.
31380         * doc/posix-functions/select.texi: Mention the Interix bug.
31381         Reported by Markus Duft <mduft@gentoo.org>.
31382
31383         * lib/select.c: Renamed from lib/winsock-select.c.
31384         * modules/select (Files): Add lib/select.c, remove
31385         lib/winsock-select.c.
31386         (configure.ac): Update.
31387
31388 2009-03-12  Jim Meyering  <meyering@redhat.com>
31389
31390         avoid gcc warnings about unused macro definitions
31391         * lib/readtokens.c (STREQ): Remove unused definition.
31392         * lib/xmalloc.c (SIZE_MAX): Likewise.
31393         * lib/openat-die.c (N_): Likewise.
31394         * lib/mountlist.c (SIZE_MAX): Remove definition.
31395         Instead, include <stdint.h>.
31396         * lib/readutmp.c: Likewise.
31397         * modules/readutmp (Depends-on): Add stdint.
31398         * modules/mountlist (Depends-on): Add stdint.
31399         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
31400
31401 2009-03-10  Bruno Haible  <bruno@clisp.org>
31402
31403         Tests for module 'mbmemcasecoll'.
31404         * modules/mbmemcasecoll-tests: New file.
31405         * tests/test-mbmemcasecoll1.sh: New file.
31406         * tests/test-mbmemcasecoll2.sh: New file.
31407         * tests/test-mbmemcasecoll3.sh: New file.
31408         * tests/test-mbmemcasecoll.c: New file.
31409
31410         New module 'mbmemcasecoll'.
31411         * lib/mbmemcasecoll.h: New file.
31412         * lib/mbmemcasecoll.c: New file.
31413         * modules/mbmemcasecoll: New file.
31414
31415         * tests/test-mbmemcasecmp.h: New file, extracted from
31416         tests/test-mbmemcasecmp.c.
31417         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
31418         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
31419         (main): Update.
31420         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
31421
31422 2009-03-09  Bruno Haible  <bruno@clisp.org>
31423
31424         Tests for module 'mbmemcasecmp'.
31425         * modules/mbmemcasecmp-tests: New file.
31426         * tests/test-mbmemcasecmp1.sh: New file.
31427         * tests/test-mbmemcasecmp2.sh: New file.
31428         * tests/test-mbmemcasecmp3.sh: New file.
31429         * tests/test-mbmemcasecmp.c: New file.
31430
31431         New module 'mbmemcasecmp'.
31432         * lib/mbmemcasecmp.h: New file.
31433         * lib/mbmemcasecmp.c: New file.
31434         * modules/mbmemcasecmp: New file.
31435
31436 2009-03-09  Bruno Haible  <bruno@clisp.org>
31437
31438         Tests for module 'unicase/ulc-casecoll'.
31439         * modules/unicase/ulc-casecoll-tests: New file.
31440         * tests/unicase/test-ulc-casecoll1.sh: New file.
31441         * tests/unicase/test-ulc-casecoll2.sh: New file.
31442         * tests/unicase/test-ulc-casecoll.c: New file.
31443
31444         New module 'unicase/ulc-casecoll'.
31445         * lib/unicase.h (ulc_casecoll): New declaration.
31446         * lib/unicase/ulc-casecoll.c: New file.
31447         * modules/unicase/ulc-casecoll: New file.
31448
31449         New module 'unicase/ulc-casexfrm'.
31450         * lib/unicase.h (ulc_casexfrm): New declaration.
31451         * lib/unicase/ulc-casexfrm.c: New file.
31452         * modules/unicase/ulc-casexfrm: New file.
31453
31454 2009-03-09  Bruno Haible  <bruno@clisp.org>
31455
31456         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
31457         invocations.
31458
31459         * m4/mbscasecmp.m4: Remove file.
31460         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
31461         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
31462
31463         * m4/mbscasestr.m4: Remove file.
31464         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
31465         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
31466
31467         * m4/mbschr.m4: Remove file.
31468         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
31469         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
31470
31471         * m4/mbscspn.m4: Remove file.
31472         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
31473         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
31474
31475         * m4/mbslen.m4: Remove file.
31476         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
31477         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
31478
31479         * m4/mbsncasecmp.m4: Remove file.
31480         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
31481         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
31482
31483         * m4/mbsnlen.m4: Remove file.
31484         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
31485         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
31486
31487         * m4/mbspbrk.m4: Remove file.
31488         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
31489         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
31490
31491         * m4/mbspcasecmp.m4: Remove file.
31492         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
31493         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
31494
31495         * m4/mbsrchr.m4: Remove file.
31496         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
31497         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
31498
31499         * m4/mbssep.m4: Remove file.
31500         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
31501         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
31502
31503         * m4/mbsspn.m4: Remove file.
31504         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
31505         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
31506
31507         * m4/mbsstr.m4: Remove file.
31508         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
31509         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
31510
31511         * m4/mbstok_r.m4: Remove file.
31512         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
31513         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
31514
31515         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
31516
31517         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
31518         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
31519
31520         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
31521
31522 2009-03-08  Bruno Haible  <bruno@clisp.org>
31523
31524         Tests for module 'unicase/ulc-casecmp'.
31525         * modules/unicase/ulc-casecmp-tests: New file.
31526         * tests/unicase/test-ulc-casecmp1.sh: New file.
31527         * tests/unicase/test-ulc-casecmp2.sh: New file.
31528         * tests/unicase/test-ulc-casecmp.c: New file.
31529
31530         New module 'unicase/ulc-casecmp'.
31531         * lib/unicase.h (ulc_casecmp): New declaration.
31532         * lib/unicase/ulc-casecmp.c: New file.
31533         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
31534         'const SRC_UNIT *'.
31535         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
31536         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
31537         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
31538         * modules/unicase/ulc-casecmp: New file.
31539
31540         Tests for module 'unicase/u32-is-cased'.
31541         * modules/unicase/u32-is-cased-tests: New file.
31542         * tests/unicase/test-u32-is-cased.c: New file.
31543
31544         Tests for module 'unicase/u16-is-cased'.
31545         * modules/unicase/u16-is-cased-tests: New file.
31546         * tests/unicase/test-u16-is-cased.c: New file.
31547
31548         Tests for module 'unicase/u8-is-cased'.
31549         * modules/unicase/u8-is-cased-tests: New file.
31550         * tests/unicase/test-u8-is-cased.c: New file.
31551         * tests/unicase/test-is-cased.h: New file.
31552
31553         New module 'unicase/u32-is-cased'.
31554         * lib/unicase/u32-is-cased.c: New file.
31555         * modules/unicase/u32-is-cased: New file.
31556
31557         New module 'unicase/u16-is-cased'.
31558         * lib/unicase/u16-is-cased.c: New file.
31559         * modules/unicase/u16-is-cased: New file.
31560
31561         New module 'unicase/u8-is-cased'.
31562         * lib/unicase/u8-is-cased.c: New file.
31563         * lib/unicase/u-is-cased.h: New file.
31564         * modules/unicase/u8-is-cased: New file.
31565
31566         Tests for module 'unicase/u32-is-casefolded'.
31567         * modules/unicase/u32-is-casefolded-tests: New file.
31568         * tests/unicase/test-u32-is-casefolded.c: New file.
31569
31570         Tests for module 'unicase/u16-is-casefolded'.
31571         * modules/unicase/u16-is-casefolded-tests: New file.
31572         * tests/unicase/test-u16-is-casefolded.c: New file.
31573
31574         Tests for module 'unicase/u8-is-casefolded'.
31575         * modules/unicase/u8-is-casefolded-tests: New file.
31576         * tests/unicase/test-u8-is-casefolded.c: New file.
31577         * tests/unicase/test-is-casefolded.h: New file.
31578
31579         New module 'unicase/u32-is-casefolded'.
31580         * lib/unicase/u32-is-casefolded.c: New file.
31581         * modules/unicase/u32-is-casefolded: New file.
31582
31583         New module 'unicase/u16-is-casefolded'.
31584         * lib/unicase/u16-is-casefolded.c: New file.
31585         * modules/unicase/u16-is-casefolded: New file.
31586
31587         New module 'unicase/u8-is-casefolded'.
31588         * lib/unicase/u8-is-casefolded.c: New file.
31589         * modules/unicase/u8-is-casefolded: New file.
31590
31591         Tests for module 'unicase/u32-is-titlecase'.
31592         * modules/unicase/u32-is-titlecase-tests: New file.
31593         * tests/unicase/test-u32-is-titlecase.c: New file.
31594
31595         Tests for module 'unicase/u16-is-titlecase'.
31596         * modules/unicase/u16-is-titlecase-tests: New file.
31597         * tests/unicase/test-u16-is-titlecase.c: New file.
31598
31599         Tests for module 'unicase/u8-is-titlecase'.
31600         * modules/unicase/u8-is-titlecase-tests: New file.
31601         * tests/unicase/test-u8-is-titlecase.c: New file.
31602         * tests/unicase/test-is-titlecase.h: New file.
31603
31604         New module 'unicase/u32-is-titlecase'.
31605         * lib/unicase/u32-is-titlecase.c: New file.
31606         * modules/unicase/u32-is-titlecase: New file.
31607
31608         New module 'unicase/u16-is-titlecase'.
31609         * lib/unicase/u16-is-titlecase.c: New file.
31610         * modules/unicase/u16-is-titlecase: New file.
31611
31612         New module 'unicase/u8-is-titlecase'.
31613         * lib/unicase/u8-is-titlecase.c: New file.
31614         * modules/unicase/u8-is-titlecase: New file.
31615
31616         Tests for module 'unicase/u32-is-lowercase'.
31617         * modules/unicase/u32-is-lowercase-tests: New file.
31618         * tests/unicase/test-u32-is-lowercase.c: New file.
31619
31620         Tests for module 'unicase/u16-is-lowercase'.
31621         * modules/unicase/u16-is-lowercase-tests: New file.
31622         * tests/unicase/test-u16-is-lowercase.c: New file.
31623
31624         Tests for module 'unicase/u8-is-lowercase'.
31625         * modules/unicase/u8-is-lowercase-tests: New file.
31626         * tests/unicase/test-u8-is-lowercase.c: New file.
31627         * tests/unicase/test-is-lowercase.h: New file.
31628
31629         New module 'unicase/u32-is-lowercase'.
31630         * lib/unicase/u32-is-lowercase.c: New file.
31631         * modules/unicase/u32-is-lowercase: New file.
31632
31633         New module 'unicase/u16-is-lowercase'.
31634         * lib/unicase/u16-is-lowercase.c: New file.
31635         * modules/unicase/u16-is-lowercase: New file.
31636
31637         New module 'unicase/u8-is-lowercase'.
31638         * lib/unicase/u8-is-lowercase.c: New file.
31639         * modules/unicase/u8-is-lowercase: New file.
31640
31641         Tests for module 'unicase/u32-is-uppercase'.
31642         * modules/unicase/u32-is-uppercase-tests: New file.
31643         * tests/unicase/test-u32-is-uppercase.c: New file.
31644
31645         Tests for module 'unicase/u16-is-uppercase'.
31646         * modules/unicase/u16-is-uppercase-tests: New file.
31647         * tests/unicase/test-u16-is-uppercase.c: New file.
31648
31649         Tests for module 'unicase/u8-is-uppercase'.
31650         * modules/unicase/u8-is-uppercase-tests: New file.
31651         * tests/unicase/test-u8-is-uppercase.c: New file.
31652         * tests/unicase/test-is-uppercase.h: New file.
31653
31654         New module 'unicase/u32-is-uppercase'.
31655         * lib/unicase/u32-is-uppercase.c: New file.
31656         * modules/unicase/u32-is-uppercase: New file.
31657
31658         New module 'unicase/u16-is-uppercase'.
31659         * lib/unicase/u16-is-uppercase.c: New file.
31660         * modules/unicase/u16-is-uppercase: New file.
31661
31662         New module 'unicase/u8-is-uppercase'.
31663         * lib/unicase/u8-is-uppercase.c: New file.
31664         * modules/unicase/u8-is-uppercase: New file.
31665
31666         New module 'unicase/u32-is-invariant'.
31667         * lib/unicase/u32-is-invariant.c: New file.
31668         * modules/unicase/u32-is-invariant: New file.
31669
31670         New module 'unicase/u16-is-invariant'.
31671         * lib/unicase/u16-is-invariant.c: New file.
31672         * modules/unicase/u16-is-invariant: New file.
31673
31674         New module 'unicase/u8-is-invariant'.
31675         * lib/unicase/u8-is-invariant.c: New file.
31676         * lib/unicase/invariant.h: New file.
31677         * lib/unicase/u-is-invariant.h: New file.
31678         * modules/unicase/u8-is-invariant: New file.
31679
31680         Tests for module 'unicase/u32-casecoll'.
31681         * modules/unicase/u32-casecoll-tests: New file.
31682         * tests/unicase/test-u32-casecoll.c: New file.
31683
31684         Tests for module 'unicase/u16-casecoll'.
31685         * modules/unicase/u16-casecoll-tests: New file.
31686         * tests/unicase/test-u16-casecoll.c: New file.
31687
31688         Tests for module 'unicase/u8-casecoll'.
31689         * modules/unicase/u8-casecoll-tests: New file.
31690         * tests/unicase/test-u8-casecoll.c: New file.
31691
31692         New module 'unicase/u32-casecoll'.
31693         * lib/unicase/u32-casecoll.c: New file.
31694         * modules/unicase/u32-casecoll: New file.
31695
31696         New module 'unicase/u16-casecoll'.
31697         * lib/unicase/u16-casecoll.c: New file.
31698         * modules/unicase/u16-casecoll: New file.
31699
31700         New module 'unicase/u8-casecoll'.
31701         * lib/unicase/u8-casecoll.c: New file.
31702         * lib/unicase/u-casecoll.h: New file.
31703         * modules/unicase/u8-casecoll: New file.
31704
31705         New module 'unicase/u32-casexfrm'.
31706         * lib/unicase/u32-casexfrm.c: New file.
31707         * modules/unicase/u32-casexfrm: New file.
31708
31709         New module 'unicase/u16-casexfrm'.
31710         * lib/unicase/u16-casexfrm.c: New file.
31711         * modules/unicase/u16-casexfrm: New file.
31712
31713         New module 'unicase/u8-casexfrm'.
31714         * lib/unicase/u8-casexfrm.c: New file.
31715         * lib/unicase/u-casexfrm.h: New file.
31716         * modules/unicase/u8-casexfrm: New file.
31717
31718         Tests for module 'unicase/u32-casecmp'.
31719         * modules/unicase/u32-casecmp-tests: New file.
31720         * tests/unicase/test-u32-casecmp.c: New file.
31721
31722         Tests for module 'unicase/u16-casecmp'.
31723         * modules/unicase/u16-casecmp-tests: New file.
31724         * tests/unicase/test-u16-casecmp.c: New file.
31725
31726         Tests for module 'unicase/u8-casecmp'.
31727         * modules/unicase/u8-casecmp-tests: New file.
31728         * tests/unicase/test-u8-casecmp.c: New file.
31729         * tests/unicase/test-casecmp.h: New file.
31730
31731         New module 'unicase/u32-casecmp'.
31732         * lib/unicase/u32-casecmp.c: New file.
31733         * modules/unicase/u32-casecmp: New file.
31734
31735         New module 'unicase/u16-casecmp'.
31736         * lib/unicase/u16-casecmp.c: New file.
31737         * modules/unicase/u16-casecmp: New file.
31738
31739         New module 'unicase/u8-casecmp'.
31740         * lib/unicase/u8-casecmp.c: New file.
31741         * lib/unicase/u-casecmp.h: New file.
31742         * modules/unicase/u8-casecmp: New file.
31743
31744         Tests for module 'unicase/u32-casefold'.
31745         * modules/unicase/u32-casefold-tests: New file.
31746         * tests/unicase/test-u32-casefold.c: New file.
31747
31748         Tests for module 'unicase/u16-casefold'.
31749         * modules/unicase/u16-casefold-tests: New file.
31750         * tests/unicase/test-u16-casefold.c: New file.
31751
31752         Tests for module 'unicase/u8-casefold'.
31753         * modules/unicase/u8-casefold-tests: New file.
31754         * tests/unicase/test-u8-casefold.c: New file.
31755
31756         New module 'unicase/u32-casefold'.
31757         * lib/unicase/u32-casefold.c: New file.
31758         * modules/unicase/u32-casefold: New file.
31759
31760         New module 'unicase/u16-casefold'.
31761         * lib/unicase/u16-casefold.c: New file.
31762         * modules/unicase/u16-casefold: New file.
31763
31764         New module 'unicase/u8-casefold'.
31765         * lib/unicase/u8-casefold.c: New file.
31766         * lib/unicase/u-casefold.h: New file.
31767         * modules/unicase/u8-casefold: New file.
31768
31769         New module 'unicase/tocasefold'.
31770         * lib/unicase/casefold.h: New file.
31771         * lib/unicase/tocasefold.c: New file.
31772         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
31773         * modules/unicase/tocasefold: New file.
31774
31775         Tests for module 'unicase/u32-totitle'.
31776         * modules/unicase/u32-totitle-tests: New file.
31777         * tests/unicase/test-u32-totitle.c: New file.
31778
31779         Tests for module 'unicase/u16-totitle'.
31780         * modules/unicase/u16-totitle-tests: New file.
31781         * tests/unicase/test-u16-totitle.c: New file.
31782
31783         Tests for module 'unicase/u8-totitle'.
31784         * modules/unicase/u8-totitle-tests: New file.
31785         * tests/unicase/test-u8-totitle.c: New file.
31786
31787         New module 'unicase/u32-totitle'.
31788         * lib/unicase/u32-totitle.c: New file.
31789         * modules/unicase/u32-totitle: New file.
31790
31791         New module 'unicase/u16-totitle'.
31792         * lib/unicase/u16-totitle.c: New file.
31793         * modules/unicase/u16-totitle: New file.
31794
31795         New module 'unicase/u8-totitle'.
31796         * lib/unicase/u8-totitle.c: New file.
31797         * lib/unicase/u-totitle.h: New file.
31798         * modules/unicase/u8-totitle: New file.
31799
31800         Tests for module 'unicase/u32-tolower'.
31801         * modules/unicase/u32-tolower-tests: New file.
31802         * tests/unicase/test-u32-tolower.c: New file.
31803
31804         Tests for module 'unicase/u16-tolower'.
31805         * modules/unicase/u16-tolower-tests: New file.
31806         * tests/unicase/test-u16-tolower.c: New file.
31807
31808         Tests for module 'unicase/u8-tolower'.
31809         * modules/unicase/u8-tolower-tests: New file.
31810         * tests/unicase/test-u8-tolower.c: New file.
31811
31812         New module 'unicase/u32-tolower'.
31813         * lib/unicase/u32-tolower.c: New file.
31814         * modules/unicase/u32-tolower: New file.
31815
31816         New module 'unicase/u16-tolower'.
31817         * lib/unicase/u16-tolower.c: New file.
31818         * modules/unicase/u16-tolower: New file.
31819
31820         New module 'unicase/u8-tolower'.
31821         * lib/unicase/u8-tolower.c: New file.
31822         * modules/unicase/u8-tolower: New file.
31823
31824         Tests for module 'unicase/u32-toupper'.
31825         * modules/unicase/u32-toupper-tests: New file.
31826         * tests/unicase/test-u32-toupper.c: New file.
31827
31828         Tests for module 'unicase/u16-toupper'.
31829         * modules/unicase/u16-toupper-tests: New file.
31830         * tests/unicase/test-u16-toupper.c: New file.
31831
31832         Tests for module 'unicase/u8-toupper'.
31833         * modules/unicase/u8-toupper-tests: New file.
31834         * tests/unicase/test-u8-toupper.c: New file.
31835
31836         New module 'unicase/u32-toupper'.
31837         * lib/unicase/u32-toupper.c: New file.
31838         * modules/unicase/u32-toupper: New file.
31839
31840         New module 'unicase/u16-toupper'.
31841         * lib/unicase/u16-toupper.c: New file.
31842         * modules/unicase/u16-toupper: New file.
31843
31844         New module 'unicase/u8-toupper'.
31845         * lib/unicase/u8-toupper.c: New file.
31846         * modules/unicase/u8-toupper: New file.
31847
31848         New module 'unicase/u32-casemap'.
31849         * lib/unicase/u32-casemap.c: New file.
31850         * modules/unicase/u32-casemap: New file.
31851
31852         New module 'unicase/u16-casemap'.
31853         * lib/unicase/u16-casemap.c: New file.
31854         * modules/unicase/u16-casemap: New file.
31855
31856         New module 'unicase/u8-casemap'.
31857         * lib/unicase/unicasemap.h: New file.
31858         * lib/unicase/u8-casemap.c: New file.
31859         * lib/unicase/u-casemap.h: New file.
31860         * modules/unicase/u8-casemap: New file.
31861
31862         New module 'unicase/special-casing'.
31863         * lib/unicase/special-casing.h: New file.
31864         * lib/unicase/special-casing.c: New file.
31865         * lib/unicase/special-casing-table.gperf: New file, generated by
31866         gen-uni-tables.c.
31867         * modules/unicase/special-casing: New file.
31868
31869         Tests for module 'unicase/locale-language'.
31870         * modules/unicase/locale-language-tests: New file.
31871         * tests/unicase/test-locale-language.sh: New file.
31872         * tests/unicase/test-locale-language.c: New file.
31873
31874         New module 'unicase/locale-language'.
31875         * lib/unicase/locale-language.c: New file.
31876         * lib/unicase/locale-languages.gperf: New file.
31877         * modules/unicase/locale-language: New file.
31878
31879         Generate more tables for case conversion and case folding.
31880         * lib/gen-uni-tables.c (SCC_*): New enum items.
31881         (struct special_casing_rule): New type.
31882         (casing_rules, num_casing_rules, allocated_casing_rules): New
31883         variables.
31884         (add_casing_rule, fill_casing_rules): New functions.
31885         (struct casefold_rule): New type.
31886         (casefolding_rules, num_casefolding_rules,
31887         allocated_casefolding_rules): New variables.
31888         (fill_casefolding_rules): New function.
31889         (unicode_casefold): New variable.
31890         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
31891         sort_casing_rules, output_casing_rules): New functions.
31892         (main): Accept to more arguments: SpecialCasing.txt and
31893         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
31894         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
31895         Output mapping for casefolding.
31896
31897         * lib/unicase.h: Include stdbool.h, uninorm.h.
31898         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
31899         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
31900         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
31901         arguments.
31902         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
31903         resultp arguments.
31904         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
31905         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
31906         resultp arguments.
31907         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
31908         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
31909         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
31910         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
31911         declarations.
31912         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
31913
31914 2009-03-08  Bruno Haible  <bruno@clisp.org>
31915
31916         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
31917         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
31918         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
31919         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
31920
31921 2009-03-07  Bruno Haible  <bruno@clisp.org>
31922
31923         Adjust u*_normcmp, u*_normcoll API.
31924         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
31925         u16_normcoll, u32_normcoll): Change failure conventions.
31926         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
31927         errno and return -1.
31928         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
31929
31930 2009-03-07  Bruno Haible  <bruno@clisp.org>
31931
31932         Tests for module 'uninorm/u32-normcoll'.
31933         * modules/uninorm/u32-normcoll-tests: New file.
31934         * tests/uninorm/test-u32-normcoll.c: New file.
31935
31936         Tests for module 'uninorm/u16-normcoll'.
31937         * modules/uninorm/u16-normcoll-tests: New file.
31938         * tests/uninorm/test-u16-normcoll.c: New file.
31939
31940         Tests for module 'uninorm/u8-normcoll'.
31941         * modules/uninorm/u8-normcoll-tests: New file.
31942         * tests/uninorm/test-u8-normcoll.c: New file.
31943
31944 2009-03-07  Bruno Haible  <bruno@clisp.org>
31945
31946         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
31947         tests/uninorm/test-u32-normcmp.c.
31948         * tests/uninorm/test-u32-normcmp.c: Include it.
31949         (test_nonascii): New function, extracted from main. Add some more
31950         tests.
31951         (main): Invoke test_ascii and test_nonascii.
31952         * modules/uninorm/u32-normcmp-tests (Files): Add
31953         tests/uninorm/test-u32-normcmp.h.
31954         (Depends-on): Remove uninorm/u32-normcmp.
31955
31956         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
31957         tests/uninorm/test-u16-normcmp.c.
31958         * tests/uninorm/test-u16-normcmp.c: Include it.
31959         (test_nonascii): New function, extracted from main. Add some more
31960         tests.
31961         (main): Invoke test_ascii and test_nonascii.
31962         * modules/uninorm/u16-normcmp-tests (Files): Add
31963         tests/uninorm/test-u16-normcmp.h.
31964         (Depends-on): Remove uninorm/u16-normcmp.
31965
31966         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
31967         tests/uninorm/test-u8-normcmp.c.
31968         * tests/uninorm/test-u8-normcmp.c: Include it.
31969         (test_nonascii): New function, extracted from main. Add some more
31970         tests.
31971         (main): Invoke test_ascii and test_nonascii.
31972         * modules/uninorm/u8-normcmp-tests (Files): Add
31973         tests/uninorm/test-u8-normcmp.h.
31974         (Depends-on): Remove uninorm/u8-normcmp.
31975
31976 2009-03-07  Bruno Haible  <bruno@clisp.org>
31977
31978         New module 'uninorm/u32-normcoll'.
31979         * lib/uninorm/u32-normcoll.c: New file.
31980         * modules/uninorm/u32-normcoll: New file.
31981
31982         New module 'uninorm/u16-normcoll'.
31983         * lib/uninorm/u16-normcoll.c: New file.
31984         * modules/uninorm/u16-normcoll: New file.
31985
31986         New module 'uninorm/u8-normcoll'.
31987         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
31988         declarations.
31989         * lib/uninorm/u8-normcoll.c: New file.
31990         * lib/uninorm/u-normcoll.h: New file.
31991         * modules/uninorm/u8-normcoll: New file.
31992
31993         New module 'uninorm/u32-normxfrm'.
31994         * lib/uninorm/u32-normxfrm.c: New file.
31995         * modules/uninorm/u32-normxfrm: New file.
31996
31997         New module 'uninorm/u16-normxfrm'.
31998         * lib/uninorm/u16-normxfrm.c: New file.
31999         * modules/uninorm/u16-normxfrm: New file.
32000
32001         New module 'uninorm/u8-normxfrm'.
32002         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
32003         declarations.
32004         * lib/uninorm/u8-normxfrm.c: New file.
32005         * lib/uninorm/u-normxfrm.h: New file.
32006         * modules/uninorm/u8-normxfrm: New file.
32007
32008 2009-03-07  Bruno Haible  <bruno@clisp.org>
32009
32010         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
32011         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
32012         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
32013
32014 2009-03-07  Bruno Haible  <bruno@clisp.org>
32015
32016         New module 'memxfrm'.
32017         * lib/memxfrm.h: New file.
32018         * lib/memxfrm.c: New file.
32019         * modules/memxfrm: New file.
32020
32021 2009-03-07  Bruno Haible  <bruno@clisp.org>
32022
32023         New module 'memcmp2'.
32024         * lib/memcmp2.h: New file.
32025         * lib/memcmp2.c: New file.
32026         * modules/memcmp2: New file.
32027
32028 2009-03-07  Bruno Haible  <bruno@clisp.org>
32029
32030         Tests for module 'uninorm/decomposing-form'.
32031         * modules/uninorm/decomposing-form-tests: New file.
32032         * tests/uninorm/test-decomposing-form.c: New file.
32033
32034         New module 'uninorm/decomposing-form'.
32035         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
32036         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
32037         Add 'decomposing_variant' field.
32038         * lib/uninorm/decomposing-form.c: New file.
32039         * lib/uninorm/nfc.c (uninorm_nfc): Update.
32040         * lib/uninorm/nfd.c (uninorm_nfd): Update.
32041         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
32042         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
32043         * modules/uninorm/decomposing-form: New file.
32044         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
32045         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
32046
32047 2009-03-07  Bruno Haible  <bruno@clisp.org>
32048
32049         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
32050         strings.
32051
32052 2009-03-06  Bruno Haible  <bruno@clisp.org>
32053
32054         Tests for module 'uninorm/u32-normcmp'.
32055         * tests/uninorm/test-u32-normcmp.c: New file.
32056         * modules/uninorm/u32-normcmp-tests: New file.
32057
32058         Tests for module 'uninorm/u16-normcmp'.
32059         * tests/uninorm/test-u16-normcmp.c: New file.
32060         * modules/uninorm/u16-normcmp-tests: New file.
32061
32062         Tests for module 'uninorm/u8-normcmp'.
32063         * tests/uninorm/test-u8-normcmp.c: New file.
32064         * modules/uninorm/u8-normcmp-tests: New file.
32065
32066         New module 'uninorm/u32-normcmp'.
32067         * lib/uninorm/u32-normcmp.c: New file.
32068         * modules/uninorm/u32-normcmp: New file.
32069
32070         New module 'uninorm/u16-normcmp'.
32071         * lib/uninorm/u16-normcmp.c: New file.
32072         * modules/uninorm/u16-normcmp: New file.
32073
32074         New module 'uninorm/u8-normcmp'.
32075         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
32076         declarations.
32077         * lib/uninorm/u8-normcmp.c: New file.
32078         * lib/uninorm/u-normcmp.h: New file.
32079         * modules/uninorm/u8-normcmp: New file.
32080
32081 2009-03-06  Bruno Haible  <bruno@clisp.org>
32082
32083         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
32084         Reported by Eric Blake.
32085
32086 2009-03-06  Eric Blake  <ebb9@byu.net>
32087             Bruno Haible  <bruno@clisp.org>
32088
32089         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
32090         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
32091         condition.
32092         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
32093         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
32094         condition.
32095         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
32096
32097 2009-03-06  Eric Blake  <ebb9@byu.net>
32098
32099         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
32100         to avoid compiler warnings.
32101         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
32102
32103 2009-03-05  Bruno Haible  <bruno@clisp.org>
32104
32105         * tests/test-ftell.c (main): Disable test beyond end of file on
32106         FreeMiNT.
32107         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
32108
32109 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
32110
32111         * lib/filevercmp.c: Move hidden files up in ordering.
32112         * tests/test-filevercmp.c: Add tests for hidden files.
32113
32114 2009-03-04  Bruno Haible  <bruno@clisp.org>
32115
32116         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
32117         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
32118         AM_CFLAGS.
32119         Reported by Simon Josefsson.
32120
32121 2009-03-03  Bruno Haible  <bruno@clisp.org>
32122
32123         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
32124         Reported by Simon Josefsson.
32125
32126         * doc/ld-version-script.texi: Update node reference.
32127
32128 2009-03-03  Bruno Haible  <bruno@clisp.org>
32129
32130         * modules/visibility (License): Change to 'unlimited'.
32131         Suggested by Simon Josefsson.
32132
32133 2009-03-03  Jim Meyering  <meyering@redhat.com>
32134
32135         unlinkdir: cannot_unlink_dir may modify process state
32136         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
32137         it's neither thread-safe nor appropriate for use in a library.
32138
32139 2009-03-03  Eric Blake  <ebb9@byu.net>
32140
32141         test-closein: silence test under Darwin
32142         * tests/test-closein.sh: Ignore stderr from cat, since we don't
32143         care if it dies from EPIPE or EBADF.
32144
32145 2009-03-03  Bruno Haible  <bruno@clisp.org>
32146
32147         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
32148         earlier.
32149         * doc/visibility.texi: Fix @node and @section.
32150
32151 2009-03-03  Simon Josefsson  <simon@josefsson.org>
32152
32153         * doc/gnulib.texi: Link to sections for ld version script and
32154         visibility.
32155         * doc/visibility.texi: Add @node and @section.
32156         * modules/ld-version-script: New module.
32157         * m4/ld-version-script.m4: New file.
32158         * doc/ld-version-script.texi: New file.
32159
32160 2009-03-02  David Lutterkort  <lutter@redhat.com>
32161
32162         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
32163         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
32164
32165 2009-03-02  Bruno Haible  <bruno@clisp.org>
32166
32167         * doc/visibility.texi: Mention libtool's -export-symbols option.
32168
32169 2009-03-02  Jim Meyering  <meyering@redhat.com>
32170
32171         announce-gen: new option: --no-print-checksums
32172         * build-aux/announce-gen (usage): Describe it.
32173         (print_checksums): Print a newline here, not in the [*] footnote.
32174         (main): Honor it.
32175
32176 2009-03-01  Bruno Haible  <bruno@clisp.org>
32177
32178         Use socklen_t in the native Windows replacements prototypes.
32179         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
32180         instead of 'int'.
32181         * lib/getsockopt.c (rpl_getsockopt): Likewise.
32182         * lib/setsockopt.c (rpl_setsockopt): Likewise.
32183         * modules/getsockopt (Depends-on): Add socklen.
32184         * modules/setsockopt (Depends-on): Add socklen.
32185
32186 2009-03-01  Bruno Haible  <bruno@clisp.org>
32187
32188         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
32189         least 4.2.
32190
32191 2009-03-01  Eric Blake  <ebb9@byu.net>
32192             Bruno Haible  <bruno@clisp.org>
32193
32194         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
32195         error messages.
32196         * lib/wait-process.c (wait_subprocess): Omit error message about
32197         deadly signal sent to the child of termsigp != NULL.
32198
32199 2009-03-01  Eric Blake  <ebb9@byu.net>
32200
32201         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
32202
32203 2009-03-01  Bruno Haible  <bruno@clisp.org>
32204
32205         Avoid a gcc warning.
32206         * tests/test-sched.c (b): Make global.
32207         Reported by Eric Blake.
32208
32209 2009-01-19  Martin Lambers  <marlam@marlam.de>
32210
32211         Provide POSIX semantics for socket timeout options on W32.
32212         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
32213         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
32214         * modules/setsockopt: Depend on sys_time module for struct timeval.
32215         * modules/getsockopt: Depend on sys_time module for struct timeval.
32216
32217 2009-03-01  Simon Josefsson  <simon@josefsson.org>
32218
32219         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
32220         __USE_GNU, for consistency with netdb.in.h.
32221         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
32222
32223 2009-03-01  Bruno Haible  <bruno@clisp.org>
32224
32225         More support for FreeMiNT.
32226         * lib/fseeko.c (rpl_fseeko): Complete last commit.
32227         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
32228
32229 2009-03-01  Bruno Haible  <bruno@clisp.org>
32230
32231         More support for FreeMiNT.
32232         * lib/fpurge.c (fpurge): Correct last commit.
32233         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
32234
32235 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32236
32237         Fix unportable awk script in vc-list-files.
32238         * build-aux/vc-list-files: In the replacement awk script, use
32239         substr with a second argument of 1, not zero.
32240         Report by Simon Josefsson.
32241
32242 2009-02-28  Bruno Haible  <bruno@clisp.org>
32243
32244         More support for FreeMiNT.
32245         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
32246         to FreeMiNT today.
32247         * lib/fwriting.c (fwriting): Likewise.
32248         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
32249
32250 2009-02-28  Bruno Haible  <bruno@clisp.org>
32251
32252         * tests/test-freadseek.c (main): Disable test beyond end of file on
32253         FreeMiNT.
32254         * tests/test-ftello.c (main): Likewise.
32255         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
32256
32257 2009-02-28  Bruno Haible  <bruno@clisp.org>
32258
32259         Add tentative support for FreeMiNT.
32260         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
32261         * lib/fpurge.c (fpurge): Likewise.
32262         * lib/freadable.c (freadable): Likewise.
32263         * lib/freading.c (freading): Likewise.
32264         * lib/freadptr.c (freadptr): Likewise.
32265         * lib/freadseek.c (freadptrinc): Likewise.
32266         * lib/fseeko.c (rpl_fseeko): Likewise.
32267         * lib/fseterr.c (fseterr): Likewise.
32268         * lib/fwritable.c (fwritable): Likewise.
32269         * lib/fwriting.c (fwriting): Likewise.
32270         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
32271         Hourihane.
32272         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
32273
32274 2009-02-28  Bruno Haible  <bruno@clisp.org>
32275
32276         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
32277         SIGCHLD.
32278         Reported by Jim Meyering.
32279
32280 2009-02-28  Bruno Haible  <bruno@clisp.org>
32281
32282         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
32283         Mention the results of these tests on various platforms.
32284         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
32285         order.
32286         * doc/posix-functions/printf.texi: Likewise.
32287         * doc/posix-functions/snprintf.texi: Likewise.
32288         * doc/posix-functions/sprintf.texi: Likewise.
32289         * doc/posix-functions/vfprintf.texi: Likewise.
32290         * doc/posix-functions/vprintf.texi: Likewise.
32291         * doc/posix-functions/vsnprintf.texi: Likewise.
32292         * doc/posix-functions/vsprintf.texi: Likewise.
32293         * doc/glibc-functions/obstack_printf.texi: Likewise.
32294         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
32295
32296 2009-02-28  Bruno Haible  <bruno@clisp.org>
32297
32298         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
32299         Reported by Loïc Minier <lool@dooz.org>.
32300
32301 2009-02-27  Bruno Haible  <bruno@clisp.org>
32302
32303         * gnulib-tool (func_import): Make the sed expression used to create the
32304         sed script for updating the .gitignore file POSIX compliant.
32305         Reported by Eric Blake.
32306
32307 2009-02-27  Bruno Haible  <bruno@clisp.org>
32308
32309         * gnulib-tool (sed): Don't alias as "sed --posix".
32310         Reported by Eric Blake.
32311
32312 2009-02-27  Bruno Haible  <bruno@clisp.org>
32313
32314         Avoid test link errors.
32315         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
32316         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
32317         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
32318         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
32319         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
32320
32321 2009-02-27  Bruno Haible  <bruno@clisp.org>
32322
32323         Avoid spurious "(cached)" in configure output.
32324         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
32325         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
32326         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
32327         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
32328         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
32329         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
32330         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
32331         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
32332         Reported by Eric Blake.
32333
32334 2009-02-27  Eric Blake  <ebb9@byu.net>
32335
32336         printf: fix regression in previous patch
32337         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
32338
32339 2009-02-27  Bruno Haible  <bruno@clisp.org>
32340
32341         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
32342         value.
32343         * lib/stdint.in.h: Likewise.
32344         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
32345
32346 2009-02-27  Eric Blake  <ebb9@byu.net>
32347
32348         doc: mention more functions added in cygwin 1.7.0
32349         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
32350         addition.
32351         * doc/posix-functions/open_wmemstream.texi: Likewise.
32352         * doc/posix-functions/wcsnlen.texi: Likewise.
32353         * doc/posix-functions/wcsnrtombs.texi: Likewise.
32354         * doc/posix-functions/wcstod.texi: Likewise.
32355         * doc/posix-functions/wcstof.texi: Likewise.
32356         * doc/posix-functions/wcstoimax.texi: Likewise.
32357         * doc/posix-functions/wcstok.texi: Likewise.
32358         * doc/posix-functions/wcstoumax.texi: Likewise.
32359
32360         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
32361         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
32362         * doc/posix-functions/fprintf.texi: Update.
32363         * doc/posix-functions/printf.texi: Update.
32364         * doc/posix-functions/snprintf.texi: Update.
32365         * doc/posix-functions/sprintf.texi: Update.
32366         * doc/posix-functions/vfprintf.texi: Update.
32367         * doc/posix-functions/vprintf.texi: Update.
32368         * doc/posix-functions/vsnprintf.texi: Update.
32369         * doc/posix-functions/vsprintf.texi: Update.
32370         * doc/glibc-functions/obstack_printf.texi: Update.
32371         * doc/glibc-functions/obstack_vprintf.texi: Update.
32372
32373 2009-02-26  Eric Blake  <ebb9@byu.net>
32374
32375         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
32376         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
32377         compilation bug by using runtime conversion.
32378         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
32379         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
32380         * modules/ceill-tests (Files): Use nan.h.
32381         * modules/floorl-tests (Files): Likewise.
32382         * modules/frexpl-tests (Files): Likewise.
32383         * modules/isnanl-tests (Files): Likewise.
32384         * modules/ldexpl-tests (Files): Likewise.
32385         * modules/roundl-tests (Files): Likewise.
32386         * modules/truncl-tests (Files): Likewise.
32387         * tests/test-ceill.c (main): Use a working NaN.
32388         * tests/test-floorl.c (main): Likewise.
32389         * tests/test-frexpl.c (main): Likewise.
32390         * tests/test-isnan.c (test_long_double): Likewise.
32391         * tests/test-isnanl.h (main): Likewise.
32392         * tests/test-ldexpl.h (main): Likewise.
32393         * tests/test-roundl.h (main): Likewise.
32394         * tests/test-truncl.h (main): Likewise.
32395         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
32396
32397 2009-02-26  Eric Blake  <ebb9@byu.net>
32398             Bruno Haible  <bruno@clisp.org>
32399
32400         Work around a *printf bug with %ls on Solaris.
32401         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
32402         precision is specified, sprintf stops converting the wide string
32403         argument when the number of bytes that have been produced by this
32404         conversion equals or exceeds the precision.
32405         * doc/posix-functions/fprintf.texi: Update.
32406         * doc/posix-functions/printf.texi: Update.
32407         * doc/posix-functions/snprintf.texi: Update.
32408         * doc/posix-functions/sprintf.texi: Update.
32409         * doc/posix-functions/vfprintf.texi: Update.
32410         * doc/posix-functions/vprintf.texi: Update.
32411         * doc/posix-functions/vsnprintf.texi: Update.
32412         * doc/posix-functions/vsprintf.texi: Update.
32413         * doc/glibc-functions/obstack_printf.texi: Update.
32414         * doc/glibc-functions/obstack_vprintf.texi: Update.
32415
32416 2009-02-26  Eric Blake  <ebb9@byu.net>
32417
32418         stdlib: favor compiler check of random.h
32419         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
32420         to avoid an ObjC random.h installed by Swarm.
32421
32422 2009-02-26  Bruno Haible  <bruno@clisp.org>
32423
32424         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
32425         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
32426         Reported by Gary V. Vaughan <gary@gnu.org>.
32427
32428 2009-02-26  Bruno Haible  <bruno@clisp.org>
32429
32430         Fix *printf behaviour regarding the %ls directive.
32431         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
32432         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
32433         NEED_PRINTF_DIRECTIVE_LS.
32434         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
32435         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
32436         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
32437         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
32438         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
32439         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
32440         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
32441         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
32442         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
32443         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
32444         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
32445         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
32446         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
32447         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
32448         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
32449         * doc/posix-functions/fprintf.texi: Update.
32450         * doc/posix-functions/printf.texi: Update.
32451         * doc/posix-functions/snprintf.texi: Update.
32452         * doc/posix-functions/sprintf.texi: Update.
32453         * doc/posix-functions/vfprintf.texi: Update.
32454         * doc/posix-functions/vprintf.texi: Update.
32455         * doc/posix-functions/vsnprintf.texi: Update.
32456         * doc/posix-functions/vsprintf.texi: Update.
32457         * doc/glibc-functions/obstack_printf.texi: Update.
32458         * doc/glibc-functions/obstack_vprintf.texi: Update.
32459         Reported by Eric Blake.
32460
32461 2009-02-25  Bruno Haible  <bruno@clisp.org>
32462
32463         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
32464         with known value.
32465         Reported by Gary V. Vaughan <gary@gnu.org>.
32466
32467 2009-02-25  Bruno Haible  <bruno@clisp.org>
32468
32469         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
32470         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
32471         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
32472         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
32473         Reported by Gary V. Vaughan <gary@gnu.org>.
32474
32475 2009-02-25  Bruno Haible  <bruno@clisp.org>
32476
32477         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
32478         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
32479         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
32480         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
32481         Reported by Gary V. Vaughan <gary@gnu.org>.
32482
32483 2009-02-25  Eric Blake  <ebb9@byu.net>
32484
32485         tests: skip fseek/ftell tests if ungetc is broken
32486         * m4/ungetc.m4: New file.
32487         * modules/fseek-tests: Split test, so ungetc dependency is
32488         separate from rest of test.
32489         * modules/fseeko-tests: Likewise.
32490         * modules/ftell-tests: Likewise.
32491         * modules/ftello-tests: Likewise.
32492         * tests/test-fseek.c (main): Isolate ungetc dependency.
32493         * tests/test-fseeko.c (main): Likewise.
32494         * tests/test-ftell.c (main): Likewise.
32495         * tests/test-ftello.c (main): Likewise.
32496         * tests/test-fseek2.sh: New file.
32497         * tests/test-fseeko2.sh: Likewise.
32498         * tests/test-ftell2.sh: Likewise.
32499         * tests/test-ftello2.sh: Likewise.
32500
32501 2009-02-25  OndÅ™ej Vašík  <ovasik@redhat.com>
32502
32503         test-getaddrinfo: fix usage of skip return code 77
32504         * tests/test-gettaddrinfo.c: Return skip code 77 only
32505         for first occurance of skip (4x77 is not 77)
32506
32507 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
32508
32509         strtod: avoid C99 decl-after-statement
32510         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
32511
32512 2009-02-24  Eric Blake  <ebb9@byu.net>
32513
32514         strtod: detect HP-UX 11.31 bug
32515         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
32516         Reported by Gary V. Vaughan.
32517
32518 2009-02-23  Bruno Haible  <bruno@clisp.org>
32519
32520         Fix invalid read past end of memory block.
32521         * lib/vasnprintf.c (DCHAR_SET): Define.
32522         (local_wcslen): Define only when needed.
32523         (local_strnlen, local_wcsnlen): New functions.
32524         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
32525         directives that involve a conversion ourselves.
32526         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
32527         wcsnlen, mbrtowc, wcrtomb.
32528         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
32529         * tests/test-vasprintf-posix.c (test_function): Likewise.
32530         * tests/test-snprintf-posix.h (test_function): Likewise.
32531         * tests/test-sprintf-posix.h (test_function): Likewise.
32532         Reported by Ben Pfaff <blp@cs.stanford.edu>.
32533
32534 2009-02-22  Bruno Haible  <bruno@clisp.org>
32535
32536         Implement new clarified decomposition of Hangul syllables.
32537         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
32538         of type LTV, return only a pairwise decomposition.
32539         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
32540         Likewise.
32541         * tests/uninorm/test-decomposition.c (main): Updated expected result.
32542         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
32543         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
32544
32545 2009-02-22  Bruno Haible  <bruno@clisp.org>
32546
32547         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
32548         zero-length results and shrink excess allocated memory.
32549         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
32550         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
32551         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
32552         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
32553         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
32554         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
32555         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
32556         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
32557         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
32558         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
32559         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
32560         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
32561
32562 2009-02-21  Bruno Haible  <bruno@clisp.org>
32563
32564         * doc/gnulib.texi: Include safe-alloc.texi earlier.
32565         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
32566         spaces after a period. Put a space between a macro name and its
32567         argument list. Trivial rewordings.
32568         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
32569         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
32570         (main): Return 0 explicitly.
32571
32572 2009-02-21  Bruno Haible  <bruno@clisp.org>
32573
32574         Tests for module 'uninorm/filter'.
32575         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
32576         * modules/uninorm/filter-tests: New file.
32577
32578         New module 'uninorm/filter'.
32579         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
32580         uninorm_filter_flush, uninorm_filter_free): New declarations.
32581         * lib/uninorm/uninorm-filter.c: New file.
32582         * modules/uninorm/filter: New file.
32583
32584 2009-02-21  Bruno Haible  <bruno@clisp.org>
32585
32586         Tests for module 'uninorm/nfkc'.
32587         * tests/uninorm/test-nfkc.c: New file.
32588         * tests/uninorm/test-u8-nfkc.c: New file.
32589         * tests/uninorm/test-u16-nfkc.c: New file.
32590         * tests/uninorm/test-u32-nfkc.c: New file.
32591         * tests/uninorm/test-u32-nfkc-big.sh: New file.
32592         * tests/uninorm/test-u32-nfkc-big.c: New file.
32593         * modules/uninorm/nfkc-tests: New file.
32594
32595         New module 'uninorm/nfkc'.
32596         * lib/uninorm/nfkc.c: New file.
32597         * modules/uninorm/nfkc: New file.
32598
32599         Tests for module 'uninorm/nfkd'.
32600         * tests/uninorm/test-nfkd.c: New file.
32601         * tests/uninorm/test-u8-nfkd.c: New file.
32602         * tests/uninorm/test-u16-nfkd.c: New file.
32603         * tests/uninorm/test-u32-nfkd.c: New file.
32604         * tests/uninorm/test-u32-nfkd-big.sh: New file.
32605         * tests/uninorm/test-u32-nfkd-big.c: New file.
32606         * modules/uninorm/nfkd-tests: New file.
32607
32608         New module 'uninorm/nfkd'.
32609         * lib/uninorm/nfkd.c: New file.
32610         * modules/uninorm/nfkd: New file.
32611
32612         Tests for module 'uninorm/nfc'.
32613         * tests/uninorm/test-nfc.c: New file.
32614         * tests/uninorm/test-u8-nfc.c: New file.
32615         * tests/uninorm/test-u16-nfc.c: New file.
32616         * tests/uninorm/test-u32-nfc.c: New file.
32617         * tests/uninorm/test-u32-nfc-big.sh: New file.
32618         * tests/uninorm/test-u32-nfc-big.c: New file.
32619         * modules/uninorm/nfc-tests: New file.
32620
32621         New module 'uninorm/nfc'.
32622         * lib/uninorm/nfc.c: New file.
32623         * modules/uninorm/nfc: New file.
32624
32625         Tests for module 'uninorm/nfd'.
32626         * tests/uninorm/test-nfd.c: New file.
32627         * tests/uninorm/test-u8-nfd.c: New file.
32628         * tests/uninorm/test-u16-nfd.c: New file.
32629         * tests/uninorm/test-u32-nfd.c: New file.
32630         * tests/uninorm/test-u32-nfd-big.sh: New file.
32631         * tests/uninorm/test-u32-nfd-big.c: New file.
32632         * tests/uninorm/test-u32-normalize-big.h: New file.
32633         * tests/uninorm/test-u32-normalize-big.c: New file.
32634         * tests/uninorm/NormalizationTest.txt: New file, created from
32635         Unicode 5.1.0 NormalizationTest.txt.
32636         * modules/uninorm/nfd-tests: New file.
32637
32638         New module 'uninorm/nfd'.
32639         * lib/uninorm/nfd.c: New file.
32640         * modules/uninorm/nfd: New file.
32641
32642         New module 'uninorm/u32-normalize'.
32643         * lib/uninorm/u32-normalize.c: New file.
32644         * modules/uninorm/u32-normalize: New file.
32645
32646         New module 'uninorm/u16-normalize'.
32647         * lib/uninorm/u16-normalize.c: New file.
32648         * modules/uninorm/u16-normalize: New file.
32649
32650         New module 'uninorm/u8-normalize'.
32651         * lib/uninorm/u8-normalize.c: New file.
32652         * lib/uninorm/normalize-internal.h: New file.
32653         * lib/uninorm/u-normalize-internal.h: New file.
32654         * modules/uninorm/u8-normalize: New file.
32655
32656         New module 'uninorm/decompose-internal'.
32657         * lib/uninorm/decompose-internal.c: New file.
32658         * modules/uninorm/decompose-internal: New file.
32659
32660         Tests for module 'uninorm/composition'.
32661         * tests/uninorm/test-composition.c: New file.
32662         * modules/uninorm/composition-tests: New file.
32663
32664         New module 'uninorm/composition'.
32665         * lib/uninorm/composition.c: New file.
32666         * lib/uninorm/composition-table.gperf: New file, generated by
32667         gen-uni-tables.
32668         * modules/uninorm/composition: New file.
32669
32670         Tests for module 'uninorm/compat-decomposition'.
32671         * tests/uninorm/test-compat-decomposition.c: New file.
32672         * modules/uninorm/compat-decomposition-tests: New file.
32673
32674         New module 'uninorm/compat-decomposition'.
32675         * lib/uninorm/decompose-internal.h: New file.
32676         * lib/uninorm/compat-decomposition.c: New file.
32677         * modules/uninorm/compat-decomposition: New file.
32678
32679         Tests for module 'uninorm/canonical-decomposition'.
32680         * tests/uninorm/test-canonical-decomposition.c: New file.
32681         * modules/uninorm/canonical-decomposition-tests: New file.
32682
32683         New module 'uninorm/canonical-decomposition'.
32684         * lib/uninorm/canonical-decomposition.c: New file.
32685         * modules/uninorm/canonical-decomposition: New file.
32686
32687         Tests for module 'uninorm/decomposition'.
32688         * tests/uninorm/test-decomposition.c: New file.
32689         * modules/uninorm/decomposition-tests: New file.
32690
32691         New module 'uninorm/decomposition'.
32692         * lib/uninorm/decomposition.c: New file.
32693         * modules/uninorm/decomposition: New file.
32694
32695         New module 'uninorm/decomposition-table'.
32696         * lib/uninorm/decomposition-table.h: New file.
32697         * lib/uninorm/decomposition-table.c: New file.
32698         * lib/uninorm/decomposition-table1.h: New file, generated by
32699         gen-uni-tables.
32700         * lib/uninorm/decomposition-table2.h: New file, generated by
32701         gen-uni-tables.
32702         * modules/uninorm/decomposition-table: New file.
32703
32704         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
32705         (UC_DECOMP_*): New enumeration items.
32706         (get_decomposition): New function.
32707         (struct decomp_table): New type.
32708         (output_decomposition, output_decomposition_tables): New functions.
32709         (unicode_composition_exclusions): New variable.
32710         (fill_composition_exclusions, debug_output_composition_tables): New
32711         functions.
32712         (main): Accept one more argument. Invoke fill_composition_exclusions.
32713         Output decomposition and composition tables.
32714
32715         New module 'uninorm/base'.
32716         * lib/uninorm.h: New file.
32717         * lib/unictype.h: Update comment.
32718         * modules/uninorm/base: New file.
32719
32720 2009-02-21  David Lutterkort  <lutter@redhat.com>
32721
32722         Tests for module 'safe-alloc'.
32723         * tests/test-safe-alloc.c: New file.
32724         * modules/safe-alloc-tests: New file.
32725
32726         New module 'safe-alloc'.
32727         * lib/safe-alloc.h: New file.
32728         * lib/safe-alloc.c: New file.
32729         * m4/safe-alloc.m4: New file.
32730         * modules/safe-alloc: New file.
32731         * doc/safe-alloc.texi: New file.
32732         * doc/gnulib.texi: Include it.
32733         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
32734         safe-alloc.
32735
32736 2009-02-18  Bruno Haible  <bruno@clisp.org>
32737
32738         Fix link error on non-glibc systems.
32739         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
32740         variable.
32741         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
32742
32743 2009-02-18  Jim Meyering  <meyering@redhat.com>
32744
32745         fts: avoid used-uninitialized error due to recent change
32746         * lib/fts.c (fts_read): Guard uses of the new member,
32747         parent->fts_n_dirs_remaining, since it's not relevant for
32748         the parent of a directory specified on the command-line.
32749
32750 2009-02-17  James Youngman  <jay@gnu.org>
32751             Bruno Haible  <bruno@clisp.org>
32752
32753         * m4/include_next.m4: Reformulate comment.
32754
32755 2009-02-16  Jim Meyering  <meyering@redhat.com>
32756
32757         fts: add #if guards so that the fts_lgpl module still builds
32758         * lib/fts.c: Guard just-added hash-table-using parts with
32759         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
32760         Reported by Simon Josefsson.
32761
32762 2009-02-15  Bruno Haible  <bruno@clisp.org>
32763
32764         * modules/array-mergesort-tests: New file.
32765         * tests/test-array-mergesort.c: New file.
32766
32767         New module 'array-mergesort'.
32768         * modules/array-mergesort: New file.
32769         * lib/array-mergesort.h: New file.
32770
32771 2009-02-15  Bruno Haible  <bruno@clisp.org>
32772
32773         Fix 2009-02-07 commit.
32774         * lib/gen-uni-tables.c (output_predicate, output_category,
32775         output_combclass, output_bidi_category, output_decimal_digit,
32776         output_digit, output_numeric, output_mirror, output_scripts,
32777         output_ident_category, output_simple_mapping): Fix format directives.
32778         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
32779
32780 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
32781
32782         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
32783         fixes are available from IBM.
32784
32785 2009-02-13  Jim Meyering  <meyering@redhat.com>
32786
32787         fts: arrange not to stat non-directories in more cases
32788         This makes GNU find (when it doesn't need to stat each file)
32789         *much* more efficient at traversing reiserfs file systems.
32790         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
32791         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
32792         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
32793         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
32794         (leaf_optimization_applies): New function.
32795         (LCO_hash, LCO_compare): New helper functions.
32796         (link_count_optimize_ok): New function.
32797         (fts_stat): Initialize new member (if dir).
32798         (fts_read): Decrement parent's fts_n_dirs_remaining count if
32799         we've just stat'ed a directory.  Skip the stat call when possible.
32800         ---
32801         Note this AFS-related exchange:
32802         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
32803         and note find's pioctl call in find/fstype.c.
32804         But that is necessary only if you want to enable the
32805         optimization for AFS, and for now, I don't.
32806
32807         fts: move a function definition "up" (no semantic change)
32808         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
32809         "up" to precede upcoming use of a related function.
32810
32811 2009-02-11  Jim Meyering  <meyering@redhat.com>
32812
32813         fts: correct internal computation of nlinks (optimization-related)
32814         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
32815         whether the current entry is a directory, so don't test it.
32816
32817 2009-02-10  Bruno Haible  <bruno@clisp.org>
32818
32819         Tests for module 'uniwbrk/ulc-wordbreaks'.
32820         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
32821         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
32822         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
32823
32824         Tests for module 'uniwbrk/u32-wordbreaks'.
32825         * modules/uniwbrk/u32-wordbreaks-tests: New file.
32826         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
32827
32828         Tests for module 'uniwbrk/u16-wordbreaks'.
32829         * modules/uniwbrk/u16-wordbreaks-tests: New file.
32830         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
32831
32832         Tests for module 'uniwbrk/u8-wordbreaks'.
32833         * modules/uniwbrk/u8-wordbreaks-tests: New file.
32834         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
32835
32836 2009-02-10  Bruno Haible  <bruno@clisp.org>
32837
32838         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
32839         property.
32840         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
32841         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
32842         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
32843
32844 2009-02-10  Simon Josefsson  <simon@josefsson.org>
32845
32846         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
32847         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
32848
32849 2009-02-10  Bruno Haible  <bruno@clisp.org>
32850
32851         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
32852         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
32853         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
32854         * lib/unilbrk/u8-possible-linebreaks.c: Update.
32855         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
32856         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
32857
32858 2009-02-09  Simon Josefsson  <simon@josefsson.org>
32859
32860         * lib/sockets.h (gl_fd_to_handle): New function.
32861
32862         * tests/test-sockets.c: Call gl_fd_to_handle.
32863
32864 2009-02-09  Bruno Haible  <bruno@clisp.org>
32865
32866         * doc/havelib.texi: Document the conventions on bi-arch systems.
32867
32868 2009-02-08  Bruno Haible  <bruno@clisp.org>
32869
32870         Document the AC_LIB_LINKFLAGS macro.
32871         * doc/havelib.texi: New file, mostly written on 2005-05-24.
32872         * doc/gnulib.texi: Include it.
32873
32874 2009-02-08  Bruno Haible  <bruno@clisp.org>
32875
32876         Fix wrong order of sections, compared to TOC.
32877         * doc/gnulib.texi: Include relocatable-maint.texi after the
32878         "Regular expressions" node, not before.
32879
32880 2009-02-08  Bruno Haible  <bruno@clisp.org>
32881
32882         Tests for module 'unicase/totitle'.
32883         * modules/unicase/totitle-tests: New file.
32884
32885         Tests for module 'unicase/tolower'.
32886         * modules/unicase/tolower-tests: New file.
32887
32888         Tests for module 'unicase/toupper'.
32889         * modules/unicase/toupper-tests: New file.
32890         * tests/unicase/test-mapping-part1.h: New file.
32891         * tests/unicase/test-mapping-part2.h: New file.
32892
32893         New module 'unicase/totitle'.
32894         * modules/unicase/totitle: New file.
32895         * lib/unicase/totitle.c: New file.
32896
32897         New module 'unicase/tolower'.
32898         * modules/unicase/tolower: New file.
32899         * lib/unicase/tolower.c: New file.
32900
32901         New module 'unicase/toupper'.
32902         * modules/unicase/toupper: New file.
32903         * lib/unicase/toupper.c: New file.
32904         * lib/unicase/simple-mapping.h: New file.
32905
32906         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
32907         (mapping_table): New structure.
32908         (output_simple_mapping): New function.
32909         (main): Invoke output_simple_mapping_test and output_simple_mapping.
32910         * modules/gen-uni-tables (Description): Update.
32911         * lib/unicase/toupper.h: New file, automatically generated by
32912         gen-uni-tables.
32913         * lib/unicase/tolower.h: New file, automatically generated by
32914         gen-uni-tables.
32915         * lib/unicase/totitle.h: New file, automatically generated by
32916         gen-uni-tables.
32917         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
32918         gen-uni-tables.
32919         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
32920         gen-uni-tables.
32921         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
32922         gen-uni-tables.
32923
32924         New module 'unicase/base'.
32925         * modules/unicase/base: New file.
32926         * lib/unicase.h: New file.
32927
32928 2009-02-08  Bruno Haible  <bruno@clisp.org>
32929
32930         New module 'uniwbrk/ulc-wordbreaks'.
32931         * modules/uniwbrk/ulc-wordbreaks: New file.
32932         * lib/uniwbrk/ulc-wordbreaks.c: New file.
32933
32934         New module 'uniwbrk/u32-wordbreaks'.
32935         * modules/uniwbrk/u32-wordbreaks: New file.
32936         * lib/uniwbrk/u32-wordbreaks.c: New file.
32937
32938         New module 'uniwbrk/u16-wordbreaks'.
32939         * modules/uniwbrk/u16-wordbreaks: New file.
32940         * lib/uniwbrk/u16-wordbreaks.c: New file.
32941
32942         New module 'uniwbrk/u8-wordbreaks'.
32943         * modules/uniwbrk/u8-wordbreaks: New file.
32944         * lib/uniwbrk/u8-wordbreaks.c: New file.
32945         * lib/uniwbrk/u-wordbreaks.h: New file.
32946
32947         New module 'uniwbrk/table'.
32948         * modules/uniwbrk/table: New file.
32949         * lib/uniwbrk/wbrktable.h: New file.
32950         * lib/uniwbrk/wbrktable.c: New file.
32951
32952         New module 'uniwbrk/wordbreak-property'.
32953         * modules/uniwbrk/wordbreak-property: New file.
32954         * lib/uniwbrk/wordbreak-property.c: New file.
32955
32956         * lib/gen-uni-tables.c (WBP_*): New enum items.
32957         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
32958         (unicode_org_wbp): New variable.
32959         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
32960         New functions.
32961         (wbp_table): New structure.
32962         (output_wbp, output_wbrk_tables): New functions.
32963         (main): Accept additional argument. Invoke fill_org_wbp,
32964         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
32965         output_wbrk_tables.
32966         * modules/gen-uni-tables (Description): Update.
32967         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
32968         gen-uni-tables.
32969
32970         New module 'uniwbrk/base'.
32971         * modules/uniwbrk/base: New file.
32972         * lib/uniwbrk.h: New file.
32973
32974 2009-02-08  Bruno Haible  <bruno@clisp.org>
32975
32976         Update to Unicode 5.1.0.
32977         * lib/gen-uni-tables.c (is_property_alphabetic): Include
32978         U+2185..U+2188.
32979         (is_property_default_ignorable_code_point): Don't include characters
32980         of category Cc or Cs and not-a-characters.
32981         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
32982         U+0D79, U+109E, U+109F, U+A60C.
32983         * lib/unictype/bidi_of.h: Regenerated.
32984         * lib/unictype/blocks.h: Regenerated.
32985         * lib/unictype/categ_C.h: Regenerated.
32986         * lib/unictype/categ_Cf.h: Regenerated.
32987         * lib/unictype/categ_Cn.h: Regenerated.
32988         * lib/unictype/categ_L.h: Regenerated.
32989         * lib/unictype/categ_Ll.h: Regenerated.
32990         * lib/unictype/categ_Lm.h: Regenerated.
32991         * lib/unictype/categ_Lo.h: Regenerated.
32992         * lib/unictype/categ_Lu.h: Regenerated.
32993         * lib/unictype/categ_M.h: Regenerated.
32994         * lib/unictype/categ_Mc.h: Regenerated.
32995         * lib/unictype/categ_Me.h: Regenerated.
32996         * lib/unictype/categ_Mn.h: Regenerated.
32997         * lib/unictype/categ_N.h: Regenerated.
32998         * lib/unictype/categ_Nd.h: Regenerated.
32999         * lib/unictype/categ_Nl.h: Regenerated.
33000         * lib/unictype/categ_No.h: Regenerated.
33001         * lib/unictype/categ_P.h: Regenerated.
33002         * lib/unictype/categ_Pd.h: Regenerated.
33003         * lib/unictype/categ_Pe.h: Regenerated.
33004         * lib/unictype/categ_Pf.h: Regenerated.
33005         * lib/unictype/categ_Pi.h: Regenerated.
33006         * lib/unictype/categ_Po.h: Regenerated.
33007         * lib/unictype/categ_Ps.h: Regenerated.
33008         * lib/unictype/categ_S.h: Regenerated.
33009         * lib/unictype/categ_Sk.h: Regenerated.
33010         * lib/unictype/categ_Sm.h: Regenerated.
33011         * lib/unictype/categ_So.h: Regenerated.
33012         * lib/unictype/categ_of.h: Regenerated.
33013         * lib/unictype/combining.h: Regenerated.
33014         * lib/unictype/ctype_alnum.h: Regenerated.
33015         * lib/unictype/ctype_alpha.h: Regenerated.
33016         * lib/unictype/ctype_graph.h: Regenerated.
33017         * lib/unictype/ctype_lower.h: Regenerated.
33018         * lib/unictype/ctype_print.h: Regenerated.
33019         * lib/unictype/ctype_punct.h: Regenerated.
33020         * lib/unictype/ctype_upper.h: Regenerated.
33021         * lib/unictype/decdigit.h: Regenerated.
33022         * lib/unictype/digit.h: Regenerated.
33023         * lib/unictype/mirror.h: Regenerated.
33024         * lib/unictype/numeric.h: Regenerated.
33025         * lib/unictype/pr_alphabetic.h: Regenerated.
33026         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
33027         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
33028         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
33029         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
33030         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
33031         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
33032         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
33033         * lib/unictype/pr_combining.h: Regenerated.
33034         * lib/unictype/pr_dash.h: Regenerated.
33035         * lib/unictype/pr_decimal_digit.h: Regenerated.
33036         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
33037         * lib/unictype/pr_deprecated.h: Regenerated.
33038         * lib/unictype/pr_diacritic.h: Regenerated.
33039         * lib/unictype/pr_extender.h: Regenerated.
33040         * lib/unictype/pr_format_control.h: Regenerated.
33041         * lib/unictype/pr_grapheme_base.h: Regenerated.
33042         * lib/unictype/pr_grapheme_extend.h: Regenerated.
33043         * lib/unictype/pr_grapheme_link.h: Regenerated.
33044         * lib/unictype/pr_id_continue.h: Regenerated.
33045         * lib/unictype/pr_id_start.h: Regenerated.
33046         * lib/unictype/pr_ideographic.h: Regenerated.
33047         * lib/unictype/pr_ignorable_control.h: Regenerated.
33048         * lib/unictype/pr_lowercase.h: Regenerated.
33049         * lib/unictype/pr_math.h: Regenerated.
33050         * lib/unictype/pr_numeric.h: Regenerated.
33051         * lib/unictype/pr_other_alphabetic.h: Regenerated.
33052         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
33053         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
33054         * lib/unictype/pr_other_id_continue.h: Regenerated.
33055         * lib/unictype/pr_other_lowercase.h: Regenerated.
33056         * lib/unictype/pr_other_math.h: Regenerated.
33057         * lib/unictype/pr_punctuation.h: Regenerated.
33058         * lib/unictype/pr_sentence_terminal.h: Regenerated.
33059         * lib/unictype/pr_soft_dotted.h: Regenerated.
33060         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
33061         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
33062         * lib/unictype/pr_unified_ideograph.h: Regenerated.
33063         * lib/unictype/pr_uppercase.h: Regenerated.
33064         * lib/unictype/pr_xid_continue.h: Regenerated.
33065         * lib/unictype/pr_xid_start.h: Regenerated.
33066         * lib/unictype/pr_zero_width.h: Regenerated.
33067         * lib/unictype/scripts.h: Regenerated.
33068         * lib/unictype/scripts_byname.gperf: Regenerated.
33069         * lib/unictype/sy_java_ident.h: Regenerated.
33070         * lib/unilbrk/lbrkprop1.h: Regenerated.
33071         * lib/unilbrk/lbrkprop2.h: Regenerated.
33072         * tests/unictype/test-categ_C.c: Regenerated.
33073         * tests/unictype/test-categ_Cf.c: Regenerated.
33074         * tests/unictype/test-categ_Cn.c: Regenerated.
33075         * tests/unictype/test-categ_L.c: Regenerated.
33076         * tests/unictype/test-categ_Ll.c: Regenerated.
33077         * tests/unictype/test-categ_Lm.c: Regenerated.
33078         * tests/unictype/test-categ_Lo.c: Regenerated.
33079         * tests/unictype/test-categ_Lu.c: Regenerated.
33080         * tests/unictype/test-categ_M.c: Regenerated.
33081         * tests/unictype/test-categ_Mc.c: Regenerated.
33082         * tests/unictype/test-categ_Me.c: Regenerated.
33083         * tests/unictype/test-categ_Mn.c: Regenerated.
33084         * tests/unictype/test-categ_N.c: Regenerated.
33085         * tests/unictype/test-categ_Nd.c: Regenerated.
33086         * tests/unictype/test-categ_Nl.c: Regenerated.
33087         * tests/unictype/test-categ_No.c: Regenerated.
33088         * tests/unictype/test-categ_P.c: Regenerated.
33089         * tests/unictype/test-categ_Pd.c: Regenerated.
33090         * tests/unictype/test-categ_Pe.c: Regenerated.
33091         * tests/unictype/test-categ_Pf.c: Regenerated.
33092         * tests/unictype/test-categ_Pi.c: Regenerated.
33093         * tests/unictype/test-categ_Po.c: Regenerated.
33094         * tests/unictype/test-categ_Ps.c: Regenerated.
33095         * tests/unictype/test-categ_S.c: Regenerated.
33096         * tests/unictype/test-categ_Sk.c: Regenerated.
33097         * tests/unictype/test-categ_Sm.c: Regenerated.
33098         * tests/unictype/test-categ_So.c: Regenerated.
33099         * tests/unictype/test-ctype_alnum.c: Regenerated.
33100         * tests/unictype/test-ctype_alpha.c: Regenerated.
33101         * tests/unictype/test-ctype_graph.c: Regenerated.
33102         * tests/unictype/test-ctype_lower.c: Regenerated.
33103         * tests/unictype/test-ctype_print.c: Regenerated.
33104         * tests/unictype/test-ctype_punct.c: Regenerated.
33105         * tests/unictype/test-ctype_upper.c: Regenerated.
33106         * tests/unictype/test-decdigit.h: Regenerated.
33107         * tests/unictype/test-digit.h: Regenerated.
33108         * tests/unictype/test-numeric.h: Regenerated.
33109         * tests/unictype/test-pr_alphabetic.c: Regenerated.
33110         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
33111         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
33112         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
33113         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
33114         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
33115         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
33116         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
33117         * tests/unictype/test-pr_combining.c: Regenerated.
33118         * tests/unictype/test-pr_dash.c: Regenerated.
33119         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
33120         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
33121         * tests/unictype/test-pr_deprecated.c: Regenerated.
33122         * tests/unictype/test-pr_diacritic.c: Regenerated.
33123         * tests/unictype/test-pr_extender.c: Regenerated.
33124         * tests/unictype/test-pr_format_control.c: Regenerated.
33125         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
33126         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
33127         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
33128         * tests/unictype/test-pr_id_continue.c: Regenerated.
33129         * tests/unictype/test-pr_id_start.c: Regenerated.
33130         * tests/unictype/test-pr_ideographic.c: Regenerated.
33131         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
33132         * tests/unictype/test-pr_lowercase.c: Regenerated.
33133         * tests/unictype/test-pr_math.c: Regenerated.
33134         * tests/unictype/test-pr_numeric.c: Regenerated.
33135         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
33136         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
33137         Regenerated.
33138         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
33139         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
33140         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
33141         * tests/unictype/test-pr_other_math.c: Regenerated.
33142         * tests/unictype/test-pr_punctuation.c: Regenerated.
33143         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
33144         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
33145         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
33146         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
33147         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
33148         * tests/unictype/test-pr_uppercase.c: Regenerated.
33149         * tests/unictype/test-pr_xid_continue.c: Regenerated.
33150         * tests/unictype/test-pr_xid_start.c: Regenerated.
33151         * tests/unictype/test-pr_zero_width.c: Regenerated.
33152
33153         Update to Unicode 5.1.0.
33154         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
33155         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
33156         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
33157         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
33158         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
33159         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
33160         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
33161         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
33162         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
33163         (nonspacing_table_ind): Update.
33164         * tests/uniwidth/test-uc_width2.sh: Update expected result.
33165
33166         Update to Unicode 5.1.0.
33167         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
33168         code transform.
33169         * lib/uniname/uniname.c (unicode_character_name,
33170         unicode_name_character): Add the range 0x1Fxxx to the code transform.
33171         * lib/uniname/uninames.h: Regenerated.
33172         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
33173
33174 2009-02-07  Bruno Haible  <bruno@clisp.org>
33175
33176         Merge gen-ctype and gen-lbrk into a single program.
33177         * lib/gen-uni-tables.c: New file, incorporating
33178         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
33179         Add directory prefixes to the names of the generated files.
33180         * lib/unictype/gen-ctype.c: Remove file.
33181         * lib/unilbrk/gen-lbrk.c: Remove file.
33182         * modules/gen-uni-tables: New file.
33183         * modules/unictype/gen-ctype: Remove file.
33184         * modules/unilbrk/gen-lbrk: Remove file.
33185
33186 2009-02-07  Bruno Haible  <bruno@clisp.org>
33187
33188         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
33189
33190         New module 'unistr/u32-strcoll'.
33191         * modules/unistr/u32-strcoll: New file.
33192         * lib/unistr/u32-strcoll.c: New file.
33193
33194         New module 'unistr/u16-strcoll'.
33195         * modules/unistr/u16-strcoll: New file.
33196         * lib/unistr/u16-strcoll.c: New file.
33197
33198         New module 'unistr/u8-strcoll'.
33199         * modules/unistr/u8-strcoll: New file.
33200         * lib/unistr/u8-strcoll.c: New file.
33201         * lib/unistr/u-strcoll.h: New file.
33202
33203 2009-02-07  Bruno Haible  <bruno@clisp.org>
33204
33205         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
33206         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
33207         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
33208         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
33209         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
33210         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
33211
33212 2009-02-07  Bruno Haible  <bruno@clisp.org>
33213
33214         Make 64-bit clean.
33215         * lib/unictype/gen-ctype.c (output_predicate, output_category,
33216         output_combclass, output_bidi_category, output_decimal_digit,
33217         output_digit, output_numeric, output_mirror, output_scripts,
33218         output_ident_category): Use proper width specifier in format strings.
33219
33220 2009-02-07  Bruno Haible  <bruno@clisp.org>
33221
33222         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
33223         failure behaviour.
33224
33225 2009-02-07  Jim Meyering  <meyering@redhat.com>
33226
33227         regex: avoid compilation failure with upcoming gcc-4.4
33228         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
33229         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
33230         "... error: integer overflow in preprocessor expression".
33231
33232 2009-02-05  Ben Pfaff  <blp@gnu.org>
33233
33234         Fix link errors on Windows when close module is used.
33235         * modules/close: Add $(LIB_CLOSE) to Link section.
33236         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
33237         $(LIB_CLOSE) on Windows.
33238
33239 2009-02-05  Jim Meyering  <meyering@redhat.com>
33240
33241         still avoid unused-parameter warnings, but do it cleanly
33242         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
33243         (get_fs_usage): Cast to void instead.
33244         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
33245         (dev_from_mount_options, read_file_system_list): Cast to void.
33246         Prompted by Bruno Haible.
33247
33248 2009-02-04  Jim Meyering  <meyering@redhat.com>
33249
33250         fsusage.c: correct copyright year
33251         * lib/fsusage.c: Reflect year in which the change is pushed into
33252
33253         avoid misc. warnings
33254         * lib/fsusage.c (UNUSED_PARAM): Define.
33255         (get_fs_usage): Mark parameter "disk" as unused.
33256         * lib/getugroups.c (getgrent): Use "void" in prototype.
33257         * lib/mountlist.c: Mark unused parameters.
33258         (read_file_system_list): Declare a local with "const".
33259         * lib/nanosleep.c (getnow): Declare static.
33260         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
33261
33262         dirfd: set errno upon failure
33263         * lib/dirfd.c: Include <errno.h>.
33264         Set errno to ENOTSUP when returning -1.
33265         * modules/dirfd (Depends-on): Add errno.
33266         Suggested by John Kodis <kodis@comcast.net>.
33267
33268 2009-02-01  Bruno Haible  <bruno@clisp.org>
33269
33270         Don't assume sizeof (long) >= sizeof (void *).
33271         * lib/memcmp.c: Include stdint.h.
33272         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
33273         srcp2 to 'const byte *'.
33274         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
33275         types to uintptr_t.
33276         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
33277         * modules/memcmp (Depends-on): Add stdint.
33278         Reported by Ozkan Sezer <sezeroz@gmail.com>.
33279
33280 2009-01-30  Eric Blake  <ebb9@byu.net>
33281
33282         fix more require-before-expand issues
33283         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
33284         expand, AC_PROG_AWK.
33285         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
33286
33287 2009-01-28  Eric Blake  <ebb9@byu.net>
33288
33289         version-etc: use consistent URL formatting
33290         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
33291         Improve formatting.  Use fputs for string without %.
33292
33293 2009-01-28  Jim Meyering  <meyering@redhat.com>
33294
33295         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
33296         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
33297         "underquoted definition of NAME" from autoconf-2.59.
33298
33299 2009-01-28  Bruno Haible  <bruno@clisp.org>
33300
33301         * doc/gnulib.texi: Add "Obsolete modules" to index.
33302
33303 2009-01-28  Jim Meyering  <meyering@redhat.com>
33304
33305         useless-if-before-free: recognize more variants
33306         * build-aux/useless-if-before-free: Also recognize e.g.,
33307         if (NULL != p) free (p);
33308
33309 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
33310
33311         test-getaddrinfo: skip (don't fail) this test when there's no network
33312         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
33313         on the presumption that it means you lack network access.
33314
33315 2009-01-26  Jim Meyering  <meyering@redhat.com>
33316
33317         fflush: avoid warnings on modern systems
33318         * lib/fflush.c (rpl_fflush): Move declarations of locals,
33319         pos and result, into scopes where they're used.
33320
33321 2009-01-26  Eric Blake  <ebb9@byu.net>
33322
33323         Silence warning reintroduced by recent extensions patch.
33324         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
33325         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
33326         autoconf.
33327
33328         Backport improved autoconf semantics of AC_DEFUN_ONCE.
33329         * m4/00gnulib.m4: New file.
33330         * gnulib-tool (func_get_filelist): Always use it.
33331         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
33332         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
33333
33334 2009-01-25  Bruno Haible  <bruno@clisp.org>
33335
33336         Make test-quotearg work on MacOS X and AIX.
33337         * tests/test-quotearg.sh: New file.
33338         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
33339         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
33340         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
33341         include <libintl.h>.
33342         (fake_locale): Remove variable.
33343         (gettext, dgettext, dcgettext): Remove functions.
33344         (main): Instead of setting a fake locale, set a real locale. Call
33345         textdomain and bindtextdomain.
33346         * modules/quotearg-tests (Files): Add the new files.
33347         (Depends-on): Add gettext, setenv, unsetenv.
33348         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
33349         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
33350         Augment TESTS_ENVIRONMENT.
33351
33352 2009-01-25  Bruno Haible  <bruno@clisp.org>
33353
33354         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
33355         fr_FR.ISO8859-1 locale on MacOS X.
33356         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
33357         ja_JP.eucJP locale on MacOS X.
33358         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
33359         zh_CN.GB18030 locale on MacOS X.
33360
33361 2009-01-25  Bruno Haible  <bruno@clisp.org>
33362
33363         Avoid link errors on MacOS X 10.3.
33364         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
33365         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
33366
33367 2009-01-25  Bruno Haible  <bruno@clisp.org>
33368
33369         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
33370         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
33371         * modules/pipe (Files): Remove m4/posix_spawn.m4.
33372         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
33373         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
33374         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
33375         posix_spawnattr_init, posix_spawnattr_setsigmask,
33376         posix_spawnattr_setflags, posix_spawnattr_destroy.
33377
33378         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
33379         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
33380         * modules/execute (Files): Remove m4/posix_spawn.m4.
33381         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
33382         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
33383         posix_spawnattr_init, posix_spawnattr_setsigmask,
33384         posix_spawnattr_setflags, posix_spawnattr_destroy.
33385
33386 2009-01-25  Bruno Haible  <bruno@clisp.org>
33387
33388         * lib/glthread/threadlib.c: Include <stdlib.h>.
33389
33390 2009-01-25  Bruno Haible  <bruno@clisp.org>
33391
33392         * lib/glthread/threadlib.c (dummy): New declaration.
33393
33394 2009-01-25  Bruno Haible  <bruno@clisp.org>
33395
33396         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
33397         multibyte characters also for the GB18030 encoding. Don't crash when
33398         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
33399
33400 2009-01-25  Bruno Haible  <bruno@clisp.org>
33401
33402         Avoid redefining 'struct random_data' on OSF/1 5.1.
33403         * lib/stdlib.in.h: Include <random.h> if it exists.
33404         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
33405         HAVE_RANDOM_H. Include <random.h> when testing whether
33406         'struct random_data' exists.
33407         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
33408
33409 2009-01-25  Bruno Haible  <bruno@clisp.org>
33410
33411         Don't install charset.alias on MacOS X >= 10.3.
33412         * lib/localcharset.c (DARWIN7): New macro.
33413         (get_charset_aliases): Hardcode the result for Darwin7.
33414         * modules/localcharset (install-exec-local): Don't install
33415         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
33416
33417 2009-01-25  Bruno Haible  <bruno@clisp.org>
33418
33419         Don't install charset.alias on mingw and Cygwin.
33420         * modules/localcharset (install-exec-local): Don't install
33421         charset.alias on mingw and Cygwin, if the file does not yet exist.
33422         The result for these platforms is hardcoded in localcharset.c.
33423
33424 2009-01-25  Bruno Haible  <bruno@clisp.org>
33425
33426         Make it possible again to use AC_GNU_SOURCE together with gnulib.
33427         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
33428         before requiring AC_USE_SYSTEM_EXTENSIONS.
33429
33430 2009-01-25  Jim Meyering  <meyering@redhat.com>
33431
33432         c-strtod: avoid warnings
33433         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
33434         "assignment discards qualifiers from pointer target type" warnings.
33435
33436 2009-01-24  Bruno Haible  <bruno@clisp.org>
33437
33438         Add support for non-UTF-8 locales on MacOS X.
33439         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
33440         canonical encodings. For Darwin 7 and newer, don't map traditional
33441         encodings to UTF-8.
33442         Reported by Vincent Lefevre <vincent@vinc17.org>
33443         at <http://savannah.gnu.org/bugs/?25235>.
33444
33445 2009-01-24  Bruno Haible  <bruno@clisp.org>
33446
33447         * doc/gnulib.texi (Obsolete modules): New section.
33448         Reported by Mike Frysinger <vapier@gentoo.org>.
33449
33450 2009-01-24  Bruno Haible  <bruno@clisp.org>
33451
33452         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
33453         (%.dvi): New rule.
33454
33455 2009-01-24  Bruno Haible  <bruno@clisp.org>
33456
33457         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
33458         Reported by Eric Blake.
33459
33460 2009-01-24  Bruno Haible  <bruno@clisp.org>
33461
33462         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
33463         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
33464         Reported by Gary V. Vaughan <gary@gnu.org>.
33465
33466 2009-01-24  Bruno Haible  <bruno@clisp.org>
33467
33468         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
33469
33470 2009-01-23  Bruno Haible  <bruno@clisp.org>
33471
33472         Make c-strtod, c-strtold usable in libraries.
33473         * lib/c-strtod.c: Include string.h instead of xalloc.h.
33474         (C_STRTOD): Call strdup instead of xstrdup.
33475         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
33476         * modules/c-strtold (Depends-on): Likewise.
33477         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
33478         * NEWS: Mention the change.
33479         Reported by Michael Gold <mgold@ncf.ca>.
33480
33481 2009-01-23  Jim Meyering  <meyering@redhat.com>
33482
33483         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
33484         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
33485         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
33486
33487 2009-01-23  Simon Josefsson  <simon@josefsson.org>
33488
33489         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
33490         GNU CoreUtils.
33491         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
33492         * modules/version-etc (Description): Update.
33493
33494 2009-01-22  Bruno Haible  <bruno@clisp.org>
33495
33496         Cache the C locale object.
33497         * lib/c-strtod.c (c_locale_cache): New variable.
33498         (c_locale): New function.
33499         (C_STRTOD): Use it, and don't call freelocale.
33500         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
33501         Suggested by Paolo Bonzini.
33502
33503 2009-01-21  Bruno Haible  <bruno@clisp.org>
33504
33505         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
33506         conditions other than overflow.
33507
33508 2009-01-21  Bruno Haible  <bruno@clisp.org>
33509
33510         * lib/c-strtod.c: Include errno.h.
33511         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
33512         value from STRTOD_L and STRTOD.
33513
33514 2009-01-21  Bruno Haible  <bruno@clisp.org>
33515         and Jim Meyering  <meyering@redhat.com>
33516
33517         nanosleep: skip configure test (fail it) for apple universal builds
33518         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
33519         universal builds, assume that nanosleep does not work.
33520         * modules/nanosleep (Depends-on): Add multiarch.
33521
33522         mktime: skip configure test (fail it) for apple universal builds
33523         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
33524         universal builds, assume that mktime does not work.
33525         * modules/mktime (Depends-on): Add multiarch.
33526
33527 2009-01-21  Eric Blake  <ebb9@byu.net>
33528
33529         multiarch: avoid expand-before-require warning
33530         * modules/multiarch (configure.ac): Require, rather than expand,
33531         gl_MULTIARCH.
33532         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
33533         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
33534         enforce that all clients require it.  Partial reversion of
33535         2008-12-29 patch.
33536
33537         error: avoid expand-before-require warning
33538         * modules/errno (configure.ac): Require, rather than expand,
33539         gl_HEADER_ERRNO_H.
33540         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
33541         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
33542         enforce that all clients require it.
33543
33544         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
33545         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
33546         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
33547         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
33548
33549 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
33550
33551         Revert:
33552         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
33553
33554         regex: do not depend on obsolete modules.
33555         * modules/regex: Remove memcmp and memmove.
33556
33557 2009-01-20  Bruno Haible  <bruno@clisp.org>
33558
33559         Make the 'link' module link on Windows NT 4.
33560         * lib/link.c (_WIN32_WINNT): Don't define.
33561         (CreateHardLinkFuncType): New type.
33562         (CreateHardLinkFunc, initialized): New variables.
33563         (initialize): New function.
33564         (link): Invoke CreateHardLink indirectly through the function pointer.
33565
33566 2009-01-20  Bruno Haible  <bruno@clisp.org>
33567
33568         Fix compilation failure on mingw.
33569         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
33570
33571 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
33572
33573         * doc/c-strtod.texi: Mention a couple of restrictions.
33574
33575 2009-01-20  Jim Meyering  <meyering@redhat.com>
33576
33577         gettimeofday: move more declarations out of functions
33578         * lib/gettimeofday.c: Move extern declarations of tzset and
33579         gmtime out of containing functions.  Prompted by Bruno Haible.
33580
33581 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
33582
33583         regex: do not depend on obsolete modules.
33584         * modules/regex: Remove memcmp and memmove.
33585
33586 2009-01-19  Bruno Haible  <bruno@clisp.org>
33587
33588         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
33589         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
33590         gl_BIGENDIAN, not AC_C_BIGENDIAN.
33591         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
33592         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
33593
33594 2009-01-19  Bruno Haible  <bruno@clisp.org>
33595
33596         * tests/test-link.c: Include <errno.h>.
33597         (main): Exit with code 77 when a hard link cannot be created due to
33598         the file system.
33599         * tests/test-link.sh: Skip test when a hard link cannot be created due
33600         to the file system.
33601         Suggested by Eric Blake.
33602
33603 2009-01-19  Martin Lambers  <marlam@marlam.de>
33604
33605         * modules/link-tests: New file.
33606         * tests/test-link.sh: New file.
33607         * tests/test-link.c: New file.
33608
33609 2009-01-19  Eric Blake  <ebb9@byu.net>
33610
33611         doc: mention another function added in cygwin 1.7.0
33612         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
33613         Another new function in cygwin 1.7.
33614
33615 2009-01-19  Bruno Haible  <bruno@clisp.org>
33616
33617         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
33618         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
33619         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
33620         gl_BIGENDIAN, not AC_C_BIGENDIAN.
33621         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
33622         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
33623         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
33624         * m4/md4.m4 (gl_MD4): Likewise.
33625         * m4/md5.m4 (gl_MD5): Likewise.
33626         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
33627         * m4/sha1.m4 (gl_SHA1): Likewise.
33628         * m4/sha256.m4 (gl_SHA256): Likewise.
33629         * m4/sha512.m4 (gl_SHA512): Likewise.
33630
33631 2009-01-19  Bruno Haible  <bruno@clisp.org>
33632
33633         * modules/uniname/uniname-tests (Depends-on): Add progname.
33634         * tests/uniname/test-uninames.c: Include progname.h.
33635         (main): Call set_program_name.
33636
33637         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
33638         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
33639         (main): Call set_program_name.
33640
33641         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
33642         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
33643         (main): Call set_program_name.
33644
33645         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
33646         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
33647         (main): Call set_program_name.
33648
33649         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
33650         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
33651         (main): Call set_program_name.
33652
33653         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
33654         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
33655         (main): Call set_program_name.
33656
33657         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
33658         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
33659         (main): Call set_program_name.
33660
33661         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
33662         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
33663         (main): Call set_program_name.
33664
33665         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
33666         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
33667         (main): Call set_program_name.
33668
33669 2009-01-19  Eric Blake  <ebb9@byu.net>
33670
33671         test-unistd: test previous patch
33672         * tests/test-unistd.c: Test *_FILENO macros.
33673
33674         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
33675         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
33676         Guarantee a definition.
33677         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
33678         * modules/unistd-safer (Depends-on): Add dependency on unistd.
33679         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
33680         * lib/dup-safer.c (STDERR_FILENO): Likewise.
33681         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
33682         Likewise.
33683         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
33684         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
33685         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
33686         Likewise.
33687         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
33688         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
33689         (STDERR_FILENO): Likewise.
33690         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
33691         (STDERR_FILENO): Likewise.
33692         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
33693         (STDERR_FILENO): Likewise.
33694         Reported by Elbert Pol.
33695
33696 2009-01-19  Eric Blake  <ebb9@byu.net>
33697
33698         doc: mention more functions added in cygwin 1.7.0
33699         * doc/posix-functions/abort.texi (abort): Update wording related
33700         to cygwin.
33701         * doc/posix-functions/daylight.texi (daylight): Likewise.
33702         * doc/posix-functions/optarg.texi (optarg): Likewise.
33703         * doc/posix-functions/optarg.texi (opterr): Likewise.
33704         * doc/posix-functions/optarg.texi (optind): Likewise.
33705         * doc/posix-functions/optarg.texi (optopt): Likewise.
33706         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
33707         worked in 1.5.x, and was withdrawn in 1.7.
33708         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
33709         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
33710         cygwin versions.
33711         * doc/posix-functions/perror.texi (perror): Likewise.
33712         * doc/posix-functions/printf.texi (printf): Likewise.
33713         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
33714         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
33715         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
33716         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
33717         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
33718         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
33719         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
33720         Likewise.
33721         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
33722         Likewise.
33723         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
33724         this function.
33725         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
33726         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
33727         Likewise.
33728         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
33729         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
33730         * doc/posix-functions/confstr.texi (confstr): Likewise.
33731         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
33732         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
33733         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
33734         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
33735         * doc/posix-functions/fputws.texi (fputws): Likewise.
33736         * doc/posix-functions/fwide.texi (fwide): Likewise.
33737         * doc/posix-functions/getwc.texi (getwc): Likewise.
33738         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
33739         * doc/posix-functions/putwc.texi (putwc): Likewise.
33740         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
33741         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
33742         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
33743         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
33744         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
33745         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
33746         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
33747         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
33748         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
33749         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
33750         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
33751
33752 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
33753
33754         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
33755         * lib/ioctl.c: Include <sys/ioctl.h>.
33756
33757 2009-01-19  Simon Josefsson  <simon@josefsson.org>
33758
33759         * modules/getdate-tests (Depends-on): Add progname.
33760         * tests/test-getdate.c: Use progname module, to avoid link errors
33761         on non-glibc systems.
33762
33763 2009-01-18  Simon Josefsson  <simon@josefsson.org>
33764
33765         * modules/filenamecat-tests (Depends-on): Add progname.
33766         * modules/fstrcmp-tests (Depends-on): Likewise.
33767
33768         * tests/test-filenamecat.c: Use progname module, to avoid link
33769         errors on non-glibc systems.
33770         * tests/test-fstrcmp.c: Likewise.
33771
33772 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
33773
33774         gettimeofday: avoid warning: nested extern declaration of 'localtime'
33775         * lib/gettimeofday.c: Move extern declaration out of function.
33776
33777 2009-01-18  Bruno Haible  <bruno@clisp.org>
33778
33779         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
33780         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
33781         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
33782
33783 2009-01-18  Bruno Haible  <bruno@clisp.org>
33784
33785         * lib/strftime.c (MEMPCPY): Remove unused macro.
33786         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
33787
33788 2009-01-18  Martin Lambers  <marlam@marlam.de>
33789
33790         New module 'link'.
33791         * lib/unistd.in.h (link): New declaration.
33792         * lib/link.c: New file.
33793         * m4/link.m4: New file.
33794         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
33795         HAVE_LINK.
33796         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
33797         * modules/link: New file.
33798         * doc/posix-functions/link.texi: Mention the new module.
33799
33800 2009-01-18  Bruno Haible  <bruno@clisp.org>
33801
33802         * tests/test-avltree_list.c (main): Call set_program_name.
33803         * tests/test-avltree_oset.c (main): Likewise.
33804         * tests/test-obstack-printf.c: Include progname.h.
33805         (main): Call set_program_name.
33806         * tests/test-quotearg.c: Include progname.h.
33807         (main): Call set_program_name.
33808         * tests/test-xmemdup0.c: Include progname.h.
33809         (main): Call set_program_name.
33810
33811 2009-01-18  Bruno Haible  <bruno@clisp.org>
33812
33813         New module 'alphasort'.
33814         * lib/dirent.in.h (alphasort): New declaration.
33815         * lib/alphasort.c: New file, from glibc with modifications.
33816         * m4/alphasort.m4: New file.
33817         * modules/alphasort: New file.
33818         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
33819         HAVE_ALPHASORT.
33820         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
33821         HAVE_ALPHASORT.
33822         * doc/posix-functions/alphasort.texi: Mention the new module and the
33823         portability problems.
33824
33825 2009-01-18  Bruno Haible  <bruno@clisp.org>
33826
33827         New module 'scandir'.
33828         * lib/dirent.in.h (scandir): New declaration.
33829         * lib/scandir.c: New file, from glibc with modifications.
33830         * m4/scandir.m4: New file.
33831         * modules/scandir: New file.
33832         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
33833         HAVE_SCANDIR.
33834         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
33835         HAVE_SCANDIR.
33836         * doc/posix-functions/scandir.texi: Mention the new module and the
33837         portability problems.
33838
33839 2009-01-17  Bruno Haible  <bruno@clisp.org>
33840
33841         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
33842         Update documentation.
33843         (func_remove_suffix): Escape all dots in the suffix. Update
33844         documentation.
33845         (func_filter_filelist): Update documentation.
33846         Reported by Ralf Wildenhues.
33847
33848 2009-01-17  Bruno Haible  <bruno@clisp.org>
33849
33850         * modules/dprintf-posix-tests: New file.
33851         * tests/test-dprintf-posix.sh: New file.
33852         * tests/test-dprintf-posix.c: New file.
33853
33854         New modules 'dprintf', 'dprintf-posix'.
33855         * lib/stdio.in.h (dprintf): New declaration.
33856         * lib/dprintf.c: New file.
33857         * m4/dprintf.m4: New file.
33858         * m4/dprintf-posix.m4: New file.
33859         * modules/dprintf: New file.
33860         * modules/dprintf-posix: New file.
33861         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
33862         HAVE_DPRINTF, REPLACE_DPRINTF.
33863         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
33864         HAVE_DPRINTF, REPLACE_DPRINTF.
33865         * doc/posix-functions/dprintf.texi: Mention the new modules.
33866
33867 2009-01-17  Bruno Haible  <bruno@clisp.org>
33868
33869         * modules/vdprintf-posix-tests: New file.
33870         * tests/test-vdprintf-posix.sh: New file.
33871         * tests/test-vdprintf-posix.c: New file.
33872
33873         New modules 'vdprintf', 'vdprintf-posix'.
33874         * lib/stdio.in.h (vdprintf): New declaration.
33875         * lib/vdprintf.c: New file.
33876         * m4/vdprintf.m4: New file.
33877         * m4/vdprintf-posix.m4: New file.
33878         * modules/vdprintf: New file.
33879         * modules/vdprintf-posix: New file.
33880         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
33881         HAVE_VDPRINTF, REPLACE_VDPRINTF.
33882         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
33883         HAVE_VDPRINTF, REPLACE_VDPRINTF.
33884         * doc/posix-functions/vdprintf.texi: Mention the new modules.
33885
33886 2009-01-17  Bruno Haible  <bruno@clisp.org>
33887
33888         Fix replacement of fopen on mingw.
33889         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
33890         mingw.
33891
33892 2009-01-17  Bruno Haible  <bruno@clisp.org>
33893
33894         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
33895         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
33896
33897 2009-01-17  Bruno Haible  <bruno@clisp.org>
33898
33899         Avoid test-fflush2.sh failure on mingw.
33900         * tests/test-fflush2.c: Include binary-io.h.
33901         (main): Put standard input into binary mode.
33902         * modules/fflush-tests (Depends-on): Add binary-io.
33903
33904 2009-01-17  Bruno Haible  <bruno@clisp.org>
33905
33906         * lib/wchar.in.h: In another particular situation, include only the
33907         system's <wchar.h> file.
33908         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
33909         Reported by Albert Chin-A-Young <china@thewrittenword.com>
33910         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
33911
33912 2009-01-17  Bruno Haible  <bruno@clisp.org>
33913
33914         Support for stripping executables in --enable-relocatable.
33915         * build-aux/install-reloc: Expect one more argument, or an environment
33916         variable RELOC_STRIP_PROG. If set, strip the destination program and
33917         its wrapper.
33918         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
33919         RELOC_STRIP_PROG.
33920         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
33921         to set RELOCATABLE_STRIP.
33922         * NEWS: Mention the new Makefile requirement.
33923
33924 2009-01-17  Bruno Haible  <bruno@clisp.org>
33925
33926         * build-aux/install-reloc: Remove debugging information left over by
33927         C compiler on MacOS X.
33928
33929 2009-01-17  Bruno Haible  <bruno@clisp.org>
33930
33931         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
33932         * lib/progreloc.c (find_executable): Fix type of pointer passed to
33933         _NSGetExecutablePath.
33934
33935 2009-01-16  Jim Meyering  <meyering@redhat.com>
33936
33937         strerror: avoid warnings about discarding "const"
33938         * lib/strerror.c (rpl_strerror): Instead of returning a const
33939         string from each and every "case", use a variable, and add a single
33940         cast after the switch.
33941
33942 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
33943
33944         * lib/arpa_inet.in.h: Add extern "C" block for C++.
33945
33946 2009-01-16  Bruno Haible  <bruno@clisp.org>
33947
33948         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
33949         array initializer syntax that also works in C++ mode.
33950         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
33951
33952 2009-01-16  Jim Meyering  <meyering@redhat.com>
33953
33954         poll: suppress a warning
33955         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
33956         to ignore "...unsigned expression < 0 is always false" warnings.
33957
33958 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
33959
33960         poll: remove declarations of unused variables
33961         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
33962         sockbuf and optlen.
33963
33964 2009-01-15  Bruno Haible  <bruno@clisp.org>
33965
33966         Make fflush-after-ungetc POSIX compliant on BSD systems.
33967         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
33968         (clear_ungetc_buffer): Implement also for other systems.
33969         (rpl_fflush): On glibc systems, invoke
33970         clear_ungetc_buffer_preserving_position. Otherwise, invoke
33971         clear_ungetc_buffer after fetching the stream's position, not before.
33972
33973 2009-01-15  Bruno Haible  <bruno@clisp.org>
33974
33975         Make fflush-after-ungetc POSIX compliant on glibc systems.
33976         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
33977         after ungetc.
33978         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
33979         (rpl_fflush): On glibc systems, simply call the system's fflush
33980         function after clearing the ungetc buffer.
33981         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
33982         Instead, lseek only to the end of file, then use the system's fseeko
33983         for the rest. On glibc systems, reset the EOF indicator bit.
33984
33985 2009-01-15  Jim Meyering  <meyering@redhat.com>
33986
33987         openmp.m4: revert quote-adding change, for portability to older autoconf
33988         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
33989         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
33990         Simon Josefsson noticed the problem when using autoconf-2.61.
33991
33992 2009-01-15  Bruno Haible  <bruno@clisp.org>
33993
33994         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
33995         * tests/test-fflush2.c (ASSERT): Always fail.
33996         (main): Add two tests for fflush() after ungetc(), taking into account
33997         the Austin Group's clarification.
33998         Suggested by Eric Blake.
33999
34000 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
34001
34002         mktime.m4: remove K&R-style function prototypes
34003         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
34004         for the Sun C++ compiler.
34005
34006 2009-01-14  Bruno Haible  <bruno@clisp.org>
34007
34008         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
34009         while including <wchar.h>.
34010         * lib/wchar.in.h: In two particular situations on HP-UX, include only
34011         the system's <wchar.h> file.
34012         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
34013
34014 2009-01-14  Bruno Haible  <bruno@clisp.org>
34015
34016         * m4/csharp.m4: Don't mention gettext on the serial number line.
34017         * m4/csharpexec.m4: Likewise.
34018         * m4/eaccess.m4: Likewise.
34019         * m4/javaexec.m4: Likewise.
34020         * m4/sig_atomic_t.m4: Likewise.
34021         * m4/tmpdir.m4: Likewise.
34022         * m4/intldir.m4: Bump gettext version.
34023         * m4/lib-ld.m4: Likewise.
34024
34025 2009-01-14  Bruno Haible  <bruno@clisp.org>
34026
34027         * lib/progname.c (set_program_name): Add more comments.
34028         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
34029
34030 2009-01-14  Simon Josefsson  <simon@josefsson.org>
34031
34032         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
34033         were sys/stat.h does not define it.
34034
34035 2009-01-14  Jim Meyering  <meyering@redhat.com>
34036
34037         many *.m4 files: improve m4 quoting
34038         99% of this change was performed by running the following commands:
34039         git ls-files | grep '\.m4$' | xargs perl -pi \
34040           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
34041           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
34042           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
34043           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
34044         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
34045         The remainder were to add Copyright dates, increment serial numbers,
34046         undo some changes in comments, exclude m4/intl.m4, and add quotes
34047         around the "1" in ",1" where the unusual spacing prohibited the
34048         above regexps from doing the job.  For more details, see
34049         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
34050         * m4/acl.m4: Modified.
34051         * m4/afs.m4: Likewise.
34052         * m4/alloca.m4: Likewise.
34053         * m4/argp.m4: Likewise.
34054         * m4/argz.m4: Likewise.
34055         * m4/atexit.m4: Likewise.
34056         * m4/bison-i18n.m4: Likewise.
34057         * m4/bison.m4: Likewise.
34058         * m4/byteswap.m4: Likewise.
34059         * m4/c-stack.m4: Likewise.
34060         * m4/c-strtod.m4: Likewise.
34061         * m4/calloc.m4: Likewise.
34062         * m4/canonicalize-lgpl.m4: Likewise.
34063         * m4/chown.m4: Likewise.
34064         * m4/clock_time.m4: Likewise.
34065         * m4/codeset.m4: Likewise.
34066         * m4/copy-file.m4: Likewise.
34067         * m4/csharp.m4: Likewise.
34068         * m4/csharpcomp.m4: Likewise.
34069         * m4/csharpexec.m4: Likewise.
34070         * m4/d-ino.m4: Likewise.
34071         * m4/d-type.m4: Likewise.
34072         * m4/dirfd.m4: Likewise.
34073         * m4/double-slash-root.m4: Likewise.
34074         * m4/eaccess.m4: Likewise.
34075         * m4/eealloc.m4: Likewise.
34076         * m4/environ.m4: Likewise.
34077         * m4/errno_h.m4: Likewise.
34078         * m4/euidaccess.m4: Likewise.
34079         * m4/execute.m4: Likewise.
34080         * m4/fatal-signal.m4: Likewise.
34081         * m4/fchdir.m4: Likewise.
34082         * m4/fcntl_h.m4: Likewise.
34083         * m4/fileblocks.m4: Likewise.
34084         * m4/filenamecat.m4: Likewise.
34085         * m4/findprog.m4: Likewise.
34086         * m4/flexmember.m4: Likewise.
34087         * m4/fnmatch.m4: Likewise.
34088         * m4/fopen.m4: Likewise.
34089         * m4/fpending.m4: Likewise.
34090         * m4/fprintf-posix.m4: Likewise.
34091         * m4/free.m4: Likewise.
34092         * m4/frexp.m4: Likewise.
34093         * m4/frexpl.m4: Likewise.
34094         * m4/fsusage.m4: Likewise.
34095         * m4/ftruncate.m4: Likewise.
34096         * m4/gc-camellia.m4: Likewise.
34097         * m4/gc-random.m4: Likewise.
34098         * m4/gc.m4: Likewise.
34099         * m4/getaddrinfo.m4: Likewise.
34100         * m4/getcwd-abort-bug.m4: Likewise.
34101         * m4/getcwd-path-max.m4: Likewise.
34102         * m4/getdate.m4: Likewise.
34103         * m4/getdomainname.m4: Likewise.
34104         * m4/getgroups.m4: Likewise.
34105         * m4/gethostname.m4: Likewise.
34106         * m4/gethrxtime.m4: Likewise.
34107         * m4/getline.m4: Likewise.
34108         * m4/getloadavg.m4: Likewise.
34109         * m4/getndelim2.m4: Likewise.
34110         * m4/getpass.m4: Likewise.
34111         * m4/gettext.m4: Likewise.
34112         * m4/gettime.m4: Likewise.
34113         * m4/gettimeofday.m4: Likewise.
34114         * m4/gnulib-common.m4: Likewise.
34115         * m4/group-member.m4: Likewise.
34116         * m4/host-os.m4: Likewise.
34117         * m4/iconv.m4: Likewise.
34118         * m4/iconv_open.m4: Likewise.
34119         * m4/inet_ntop.m4: Likewise.
34120         * m4/inet_pton.m4: Likewise.
34121         * m4/inline.m4: Likewise.
34122         * m4/intldir.m4: Likewise.
34123         * m4/intlmacosx.m4: Likewise.
34124         * m4/intmax.m4: Likewise.
34125         * m4/intmax_t.m4: Likewise.
34126         * m4/inttypes.m4: Likewise.
34127         * m4/inttypes_h.m4: Likewise.
34128         * m4/inttypes-pri.m4: Likewise.
34129         * m4/isapipe.m4: Likewise.
34130         * m4/isnand.m4: Likewise.
34131         * m4/isnanf.m4: Likewise.
34132         * m4/isnanl.m4: Likewise.
34133         * m4/javacomp.m4: Likewise.
34134         * m4/javaexec.m4: Likewise.
34135         * m4/jm-winsz1.m4: Likewise.
34136         * m4/jm-winsz2.m4: Likewise.
34137         * m4/lchown.m4: Likewise.
34138         * m4/lcmessage.m4: Likewise.
34139         * m4/ldexpl.m4: Likewise.
34140         * m4/lib-ld.m4: Likewise.
34141         * m4/lib-link.m4: Likewise.
34142         * m4/libsigsegv.m4: Likewise.
34143         * m4/link-follow.m4: Likewise.
34144         * m4/localcharset.m4: Likewise.
34145         * m4/locale-fr.m4: Likewise.
34146         * m4/locale-ja.m4: Likewise.
34147         * m4/locale-tr.m4: Likewise.
34148         * m4/locale-zh.m4: Likewise.
34149         * m4/lock.m4: Likewise.
34150         * m4/longlong.m4: Likewise.
34151         * m4/ls-mntd-fs.m4: Likewise.
34152         * m4/lstat.m4: Likewise.
34153         * m4/malloc.m4: Likewise.
34154         * m4/mathl.m4: Likewise.
34155         * m4/mbrtowc.m4: Likewise.
34156         * m4/mbstate_t.m4: Likewise.
34157         * m4/mbswidth.m4: Likewise.
34158         * m4/memchr.m4: Likewise.
34159         * m4/memcmp.m4: Likewise.
34160         * m4/memcpy.m4: Likewise.
34161         * m4/memmem.m4: Likewise.
34162         * m4/memmove.m4: Likewise.
34163         * m4/mempcpy.m4: Likewise.
34164         * m4/memrchr.m4: Likewise.
34165         * m4/memset.m4: Likewise.
34166         * m4/minmax.m4: Likewise.
34167         * m4/mkdir-slash.m4: Likewise.
34168         * m4/mkdtemp.m4: Likewise.
34169         * m4/mktime.m4: Likewise.
34170         * m4/mmap-anon.m4: Likewise.
34171         * m4/mountlist.m4: Likewise.
34172         * m4/nanosleep.m4: Likewise.
34173         * m4/nls.m4: Likewise.
34174         * m4/nocrash.m4: Likewise.
34175         * m4/open.m4: Likewise.
34176         * m4/openat.m4: Likewise.
34177         * m4/openmp.m4: Likewise.
34178         * m4/pathmax.m4: Likewise.
34179         * m4/perl.m4: Likewise.
34180         * m4/physmem.m4: Likewise.
34181         * m4/pipe.m4: Likewise.
34182         * m4/po.m4: Likewise.
34183         * m4/poll.m4: Likewise.
34184         * m4/posixtm.m4: Likewise.
34185         * m4/posixver.m4: Likewise.
34186         * m4/printf-frexp.m4: Likewise.
34187         * m4/printf-frexpl.m4: Likewise.
34188         * m4/printf-posix.m4: Likewise.
34189         * m4/printf-posix-rpl.m4: Likewise.
34190         * m4/printf.m4: Likewise.
34191         * m4/progtest.m4: Likewise.
34192         * m4/putenv.m4: Likewise.
34193         * m4/readline.m4: Likewise.
34194         * m4/readlink.m4: Likewise.
34195         * m4/readutmp.m4: Likewise.
34196         * m4/realloc.m4: Likewise.
34197         * m4/regex.m4: Likewise.
34198         * m4/relocatable.m4: Likewise.
34199         * m4/relocatable-lib.m4: Likewise.
34200         * m4/rename-dest-slash.m4: Likewise.
34201         * m4/rename.m4: Likewise.
34202         * m4/rmdir-errno.m4: Likewise.
34203         * m4/rmdir.m4: Likewise.
34204         * m4/roundf.m4: Likewise.
34205         * m4/roundl.m4: Likewise.
34206         * m4/rpmatch.m4: Likewise.
34207         * m4/save-cwd.m4: Likewise.
34208         * m4/selinux-selinux-h.m4: Likewise.
34209         * m4/setenv.m4: Likewise.
34210         * m4/settime.m4: Likewise.
34211         * m4/sig2str.m4: Likewise.
34212         * m4/sig_atomic_t.m4: Likewise.
34213         * m4/signalblocking.m4: Likewise.
34214         * m4/signbit.m4: Likewise.
34215         * m4/sigpipe.m4: Likewise.
34216         * m4/sockets.m4: Likewise.
34217         * m4/sockpfaf.m4: Likewise.
34218         * m4/st_dm_mode.m4: Likewise.
34219         * m4/stat-time.m4: Likewise.
34220         * m4/stdbool.m4: Likewise.
34221         * m4/stdint.m4: Likewise.
34222         * m4/stdint_h.m4: Likewise.
34223         * m4/stpcpy.m4: Likewise.
34224         * m4/stpncpy.m4: Likewise.
34225         * m4/strcase.m4: Likewise.
34226         * m4/strchrnul.m4: Likewise.
34227         * m4/strcspn.m4: Likewise.
34228         * m4/strdup.m4: Likewise.
34229         * m4/strftime.m4: Likewise.
34230         * m4/strndup.m4: Likewise.
34231         * m4/strnlen.m4: Likewise.
34232         * m4/strpbrk.m4: Likewise.
34233         * m4/strptime.m4: Likewise.
34234         * m4/strsep.m4: Likewise.
34235         * m4/strtod.m4: Likewise.
34236         * m4/strtoimax.m4: Likewise.
34237         * m4/strtok_r.m4: Likewise.
34238         * m4/strtol.m4: Likewise.
34239         * m4/strtoll.m4: Likewise.
34240         * m4/strtoul.m4: Likewise.
34241         * m4/strtoull.m4: Likewise.
34242         * m4/strtoumax.m4: Likewise.
34243         * m4/strverscmp.m4: Likewise.
34244         * m4/threadlib.m4: Likewise.
34245         * m4/timegm.m4: Likewise.
34246         * m4/tm_gmtoff.m4: Likewise.
34247         * m4/tmpdir.m4: Likewise.
34248         * m4/tmpfile.m4: Likewise.
34249         * m4/tzset.m4: Likewise.
34250         * m4/uintmax_t.m4: Likewise.
34251         * m4/unlinkdir.m4: Likewise.
34252         * m4/unlocked-io.m4: Likewise.
34253         * m4/uptime.m4: Likewise.
34254         * m4/userspec.m4: Likewise.
34255         * m4/utimbuf.m4: Likewise.
34256         * m4/utime.m4: Likewise.
34257         * m4/utimes-null.m4: Likewise.
34258         * m4/utimes.m4: Likewise.
34259         * m4/vararrays.m4: Likewise.
34260         * m4/vasnprintf.m4: Likewise.
34261         * m4/vfprintf-posix.m4: Likewise.
34262         * m4/vprintf-posix.m4: Likewise.
34263         * m4/wait-process.m4: Likewise.
34264         * m4/wchar_t.m4: Likewise.
34265         * m4/wint_t.m4: Likewise.
34266         * m4/write-any-file.m4: Likewise.
34267         * m4/yield.m4: Likewise.
34268
34269 2009-01-13  Bruno Haible  <bruno@clisp.org>
34270
34271         Avoid test-copy-file.sh failures when ACL support insufficient.
34272         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
34273         TESTS_ENVIRONMENT.
34274         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
34275         Reported by Jim Meyering.
34276
34277 2009-01-13  Bruno Haible  <bruno@clisp.org>
34278
34279         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
34280         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
34281         * modules/unistdio/u8-printf-parse (Files): Likewise.
34282         * modules/unistdio/u32-printf-parse (Files): Likewise.
34283         * modules/unistdio/ulc-printf-parse (Files): Likewise.
34284
34285 2009-01-13  Simon Josefsson  <simon@josefsson.org>
34286
34287         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
34288         and m4/inttypes_h.m4 too.
34289
34290 2009-01-12  Eric Blake  <ebb9@byu.net>
34291
34292         tests: IRIX 6.2 cc can't compile -0.0 into .data
34293         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
34294         rather than at compile-time.
34295         * tests/test-floorl.c (minus_zero): Likewise.
34296         * tests/test-frexpl.c (minus_zero): Likewise.
34297         * tests/test-isnan.c (minus_zerol): Likewise.
34298         * tests/test-isnanl.h (minus_zero): Likewise.
34299         * tests/test-ldexpl.c (minus_zero): Likewise.
34300         * tests/test-roundl.c (minus_zero): Likewise.
34301         * tests/test-signbit.c (minus_zerol): Likewise.
34302         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
34303         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
34304         * tests/test-truncl.c (minus_zero): Likewise.
34305         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
34306         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
34307         Reported by Tom G. Christensen and Nelson H. F. Beebe.
34308
34309 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
34310
34311         regex: fix glibc bug 9697
34312         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
34313         handling.
34314
34315 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
34316
34317         regex: fix glibc bug 697
34318         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
34319         being NULL also if there are no backreferences.
34320
34321 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
34322
34323         regex: merge glibc changes
34324         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
34325         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
34326         re_string_skip_chars, re_string_reconstruct): Likewise.
34327         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
34328
34329 2009-01-07  Jim Meyering  <meyering@redhat.com>
34330
34331         poll: filter through cppi
34332         * lib/poll.c: Indent cpp directives to reflect nesting.
34333
34334 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
34335
34336         poll: don't return uninitialized
34337         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
34338
34339 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
34340
34341         avoid compile failure on AIX 6.1
34342         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
34343         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
34344
34345 2009-01-04  Jim Meyering  <meyering@redhat.com>
34346
34347         remove duplicate inclusion of <stdio.h>
34348         * tests/test-fprintf-posix.c: Likewise.
34349         * tests/test-printf-posix.c: Likewise.
34350         * tests/test-snprintf-posix.c: Likewise.
34351         * tests/test-sprintf-posix.c: Likewise.
34352         * tests/test-vasprintf-posix.c: Likewise.
34353         * tests/test-vfprintf-posix.c: Likewise.
34354         * tests/test-vprintf-posix.c: Likewise.
34355         * tests/test-vsnprintf-posix.c: Likewise.
34356         * tests/test-vsprintf-posix.c: Likewise.
34357
34358 2009-01-03  Jim Meyering  <meyering@redhat.com>
34359
34360         gnulib-tool: fix sed-based filtering
34361         * gnulib-tool (func_filter_filelist): Remove extra backslash
34362         in sed_fff_filter definition.
34363
34364 2009-01-02  Jim Meyering  <meyering@redhat.com>
34365
34366         strftime: avoid compilation failure on Solaris 2.6
34367         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
34368         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
34369         Don't #define mbrlen or mbsinit, since now they're guaranteed to
34370         be available.  Reported by Tom G. Christensen.  Details in
34371         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
34372
34373 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34374             Bruno Haible  <bruno@clisp.org>
34375
34376         Speed up gnulib-tool by doing more string processing through shell
34377         built-ins.
34378         * gnulib-tool (fast_func_append): New variable.
34379         (func_remove_prefix, func_remove_suffix): New functions.
34380         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
34381         (func_filter_filelist): New function.
34382         (func_get_dependencies): Use func_remove_suffix instead of sed.
34383         (func_get_automake_snippet): Use func_filter_filelist instead of a
34384         subshell and sed invocation.
34385
34386 2009-01-01  Bruno Haible  <bruno@clisp.org>
34387
34388         Fix a security bug.
34389         * gnulib-tool (func_import, import, update): Don't allow the characters
34390         '"', '$', '`', '\' in macro arguments that become part of commands that
34391         are evaluated.
34392
34393 2009-01-01  Bruno Haible  <bruno@clisp.org>
34394
34395         * gnulib-tool (func_reset_sigpipe): Add more comments.
34396
34397 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34398
34399         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
34400         func_emit_tests_Makefile_am, func_import): Abort loops early if we
34401         already know the answer.
34402
34403 2009-01-01  Jim Meyering  <meyering@redhat.com>
34404
34405         * lib/version-etc.c (version_etc_va): Update copyright year.
34406
34407 2008-12-30  Bruno Haible  <bruno@clisp.org>
34408
34409         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
34410         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
34411         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
34412
34413 2008-12-29  Eric Blake  <ebb9@byu.net>
34414
34415         multiarch: avoid autoconf AC_REQUIRE bug
34416         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
34417         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
34418         2.63 and older.
34419         Reported by Bruno Haible, and analyzed in
34420         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
34421
34422 2008-12-29  Bruno Haible  <bruno@clisp.org>
34423
34424         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
34425         files in subdirectories correctly.
34426         Reported by Ralf Wildenhues.
34427
34428 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34429
34430         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
34431         rather than 'join FILE -', for Solaris join.
34432
34433 2008-12-29  Bruno Haible  <bruno@clisp.org>
34434
34435         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
34436         quoting.
34437         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
34438         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
34439         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
34440         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
34441         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
34442         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
34443         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
34444         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
34445         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
34446         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
34447         * m4/nls.m4 (AM_NLS): Likewise.
34448         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
34449         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
34450         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
34451         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
34452         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
34453         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
34454         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
34455         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
34456         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
34457         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
34458         * m4/xsize.m4 (gl_XSIZE): Likewise.
34459         Suggested by Jim Meyering.
34460
34461 2008-11-17  Bruce Korb  <bkorb@gnu.org>
34462
34463         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
34464         * lib/parse-duration.c: use a switch instead of cascading if's.
34465
34466 2008-12-29  Eric Blake  <ebb9@byu.net>
34467
34468         wchar.h: supply WEOF on Irix 5.3
34469         * lib/wchar.in.h (wint_t): Also supply WEOF.
34470         * lib/wctype.in.h (wint_t): Likewise.
34471         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
34472         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
34473         Reported by Tom G. Christensen.
34474
34475 2008-12-26  Bruno Haible  <bruno@clisp.org>
34476
34477         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
34478         i486, i586, i686.
34479
34480 2008-12-26  Bruno Haible  <bruno@clisp.org>
34481
34482         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
34483
34484 2008-12-26  Bruno Haible  <bruno@clisp.org>
34485
34486         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
34487         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
34488         not __STDC_CONSTANT_MACROS.
34489         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
34490
34491 2008-12-25  Bruno Haible  <bruno@clisp.org>
34492
34493         Add support for universal builds to vasnprintf.
34494         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
34495         universal builds, guess no.
34496         * modules/vasnprintf-posix (Depends-on): Add multiarch.
34497         * modules/vasprintf-posix (Depends-on): Likewise.
34498         * modules/fprintf-posix (Depends-on): Likewise.
34499         * modules/vfprintf-posix (Depends-on): Likewise.
34500         * modules/snprintf-posix (Depends-on): Likewise.
34501         * modules/vsnprintf-posix (Depends-on): Likewise.
34502         * modules/sprintf-posix (Depends-on): Likewise.
34503         * modules/vsprintf-posix (Depends-on): Likewise.
34504         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
34505         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
34506         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
34507         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
34508         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
34509         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
34510         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
34511
34512         Add support for universal builds to <inttypes.h>.
34513         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
34514         _SCNu64_PREFIX): In Apple
34515         universal builds, define directly, using _LP64.
34516         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
34517         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
34518         * modules/inttypes (Depends-on): Add multiarch.
34519         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
34520
34521         Add support for universal builds to <stdint.h>.
34522         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
34523         universal builds, define directly, using _LP64.
34524         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
34525         Apple universal builds, don't test for the size and suffix of ptrdiff_t
34526         and size_t.
34527         * modules/stdint (Depends-on): Add multiarch.
34528         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
34529
34530         New module 'multiarch'.
34531         * modules/multiarch: New file.
34532         * m4/multiarch.m4: New file.
34533
34534 2008-12-25  Bruno Haible  <bruno@clisp.org>
34535
34536         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
34537
34538 2008-12-25  Bruno Haible  <bruno@clisp.org>
34539
34540         * modules/btowc (License): Relicense under LGPLv2+.
34541         * modules/mbsinit (License): Likewise.
34542         * modules/mbrtowc (License): Likewise.
34543         * modules/wcrtomb (License): Likewise.
34544         * modules/streq (License): Likewise.
34545         Reported by David Lutterkort <lutter@redhat.com>.
34546
34547 2008-12-23  Bruno Haible  <bruno@clisp.org>
34548
34549         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
34550
34551 2008-12-23  Bruno Haible  <bruno@clisp.org>
34552
34553         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
34554         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
34555         GETADDRINFO_LIB, not in LIBS.
34556         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
34557         * modules/canon-host (Link): Likewise.
34558         * NEWS: Mention the change.
34559         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
34560         GETADDRINFO_LIB.
34561
34562 2008-12-22  Bruno Haible  <bruno@clisp.org>
34563
34564         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
34565         * doc/posix-functions/iswalpha_l.texi: Likewise.
34566         * doc/posix-functions/iswblank_l.texi: Likewise.
34567         * doc/posix-functions/iswcntrl_l.texi: Likewise.
34568         * doc/posix-functions/iswctype_l.texi: Likewise.
34569         * doc/posix-functions/iswdigit_l.texi: Likewise.
34570         * doc/posix-functions/iswgraph_l.texi: Likewise.
34571         * doc/posix-functions/iswlower_l.texi: Likewise.
34572         * doc/posix-functions/iswprint_l.texi: Likewise.
34573         * doc/posix-functions/iswpunct_l.texi: Likewise.
34574         * doc/posix-functions/iswspace_l.texi: Likewise.
34575         * doc/posix-functions/iswupper_l.texi: Likewise.
34576         * doc/posix-functions/iswxdigit_l.texi: Likewise.
34577         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
34578         * doc/posix-functions/open_wmemstream.texi: Likewise.
34579         * doc/posix-functions/swscanf.texi: Likewise.
34580         * doc/posix-functions/towctrans_l.texi: Likewise.
34581         * doc/posix-functions/towlower.texi: Likewise.
34582         * doc/posix-functions/towlower_l.texi: Likewise.
34583         * doc/posix-functions/towupper.texi: Likewise.
34584         * doc/posix-functions/towupper_l.texi: Likewise.
34585         * doc/posix-functions/vfwprintf.texi: Likewise.
34586         * doc/posix-functions/vfwscanf.texi: Likewise.
34587         * doc/posix-functions/vswscanf.texi: Likewise.
34588         * doc/posix-functions/vwprintf.texi: Likewise.
34589         * doc/posix-functions/vwscanf.texi: Likewise.
34590         * doc/posix-functions/wcpcpy.texi: Likewise.
34591         * doc/posix-functions/wcpncpy.texi: Likewise.
34592         * doc/posix-functions/wcscasecmp.texi: Likewise.
34593         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
34594         * doc/posix-functions/wcscoll_l.texi: Likewise.
34595         * doc/posix-functions/wcsdup.texi: Likewise.
34596         * doc/posix-functions/wcsncasecmp.texi: Likewise.
34597         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
34598         * doc/posix-functions/wcsnlen.texi: Likewise.
34599         * doc/posix-functions/wcsnrtombs.texi: Likewise.
34600         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
34601         * doc/posix-functions/wctrans_l.texi: Likewise.
34602         * doc/posix-functions/wctype_l.texi: Likewise.
34603         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
34604         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
34605         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
34606         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
34607         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
34608         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
34609         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
34610         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
34611         * doc/glibc-functions/wcschrnul.texi: Likewise.
34612         * doc/glibc-functions/wcsftime_l.texi: Likewise.
34613         * doc/glibc-functions/wcstod_l.texi: Likewise.
34614         * doc/glibc-functions/wcstof_l.texi: Likewise.
34615         * doc/glibc-functions/wcstol_l.texi: Likewise.
34616         * doc/glibc-functions/wcstold_l.texi: Likewise.
34617         * doc/glibc-functions/wcstoll_l.texi: Likewise.
34618         * doc/glibc-functions/wcstoq.texi: Likewise.
34619         * doc/glibc-functions/wcstoul_l.texi: Likewise.
34620         * doc/glibc-functions/wcstoull_l.texi: Likewise.
34621         * doc/glibc-functions/wcstouq.texi: Likewise.
34622         * doc/glibc-functions/wmempcpy.texi: Likewise.
34623
34624 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
34625             Eric Blake  <ebb9@byu.net>
34626             Paolo Bonzini  <bonzini@gnu.org>
34627             Bruno Haible  <bruno@clisp.org>
34628
34629         Make c-stack work on Haiku.
34630         * lib/c-stack.c (SA_ONSTACK): Define fallback.
34631         (c_stack_action): Use SA_ONSTACK flag.
34632
34633 2008-12-22  Bruno Haible  <bruno@clisp.org>
34634
34635         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
34636
34637 2008-12-22  Bruno Haible  <bruno@clisp.org>
34638
34639         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
34640         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
34641         being overridden.
34642         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
34643         New macros.
34644         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
34645         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
34646         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
34647         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
34648
34649 2008-12-22  Bruno Haible  <bruno@clisp.org>
34650
34651         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
34652         from test code.
34653
34654 2008-12-22  Eric Blake  <ebb9@byu.net>
34655
34656         Avoid gcc warnings on cygwin.
34657         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
34658         Avoid unused variable.
34659         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
34660         Likewise.
34661
34662 2008-12-22  Bruno Haible  <bruno@clisp.org>
34663
34664         Remove HAVE_MBRTOWC conditionals.
34665         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
34666         (mbscasecmp): Assume mbrtowc function.
34667         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
34668         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
34669         * lib/mbschr.c: Include mbuiter.h unconditionally.
34670         (mbschr): Assume mbrtowc function.
34671         * lib/mbscspn.c: Include mbuiter.h unconditionally.
34672         (mbscspn): Assume mbrtowc function.
34673         * lib/mbslen.c: Include mbuiter.h unconditionally.
34674         (mbslen): Assume mbrtowc function.
34675         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
34676         (mbsncasecmp): Assume mbrtowc function.
34677         * lib/mbsnlen.c: Include mbiter.h unconditionally.
34678         (mbsnlen): Assume mbrtowc function.
34679         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
34680         (mbspbrk): Assume mbrtowc function.
34681         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
34682         (mbspcasecmp): Assume mbrtowc function.
34683         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
34684         (mbsrchr): Assume mbrtowc function.
34685         * lib/mbssep.c: Include mbuiter.h unconditionally.
34686         (mbssep): Assume mbrtowc function.
34687         * lib/mbsspn.c: Include mbuiter.h unconditionally.
34688         (mbsspn): Assume mbrtowc function.
34689         * lib/mbsstr.c: Include mbuiter.h unconditionally.
34690         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
34691         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
34692         (mbstok_r): Assume mbrtowc function.
34693         * lib/propername.c: Include mbuiter.h unconditionally.
34694         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
34695         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
34696         (trim2): Assume mbrtowc function.
34697         * lib/mbswidth.c (mbsinit): Remove fallback definition.
34698         (mbsnwidth): Assume mbrtowc function.
34699         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
34700         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
34701         fallback definitions.
34702         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
34703
34704 2008-12-22  Bruno Haible  <bruno@clisp.org>
34705
34706         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
34707
34708 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
34709
34710         * modules/regex: Request emulations for the mb*/wc* functions we need.
34711         * m4/regex.m4: Don't look for those functions here.
34712         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
34713
34714 2008-12-22  Bruno Haible  <bruno@clisp.org>
34715
34716         * modules/fnmatch (Depends-on): Remove duplicated dependency.
34717
34718 2008-12-21  Bruno Haible  <bruno@clisp.org>
34719
34720         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
34721         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
34722         (Include): Remove conditionalization.
34723         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
34724         (Include): Remove conditionalization.
34725         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
34726         (Include): Remove conditionalization.
34727         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
34728         * m4/mbfile.m4 (gl_MBFILE): Likewise.
34729         * NEWS: Mention the change.
34730         Reported by Alan Hourihane <alanh@fairlite.co.uk>
34731         via Sergey Poznyakoff <gray@gnu.org.ua>.
34732
34733 2008-12-21  Bruno Haible  <bruno@clisp.org>
34734
34735         * MODULES.html.sh (Extended multibyte and wide character utilities
34736         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
34737         wcrtomb, wcsrtombs.
34738         (Support for systems lacking POSIX:2008): Add accept, bind, close,
34739         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
34740         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
34741         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
34742
34743 2008-12-21  Bruno Haible  <bruno@clisp.org>
34744
34745         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
34746
34747 2008-12-21  Bruno Haible  <bruno@clisp.org>
34748
34749         * modules/wcsnrtombs-tests: New file.
34750         * tests/test-wcsnrtombs1.sh: New file.
34751         * tests/test-wcsnrtombs2.sh: New file.
34752         * tests/test-wcsnrtombs3.sh: New file.
34753         * tests/test-wcsnrtombs4.sh: New file.
34754         * tests/test-wcsnrtombs.c: New file.
34755
34756         New module 'wcsnrtombs'.
34757         * lib/wchar.in.h (wcsnrtombs): New declaration.
34758         * lib/wcsnrtombs.c: New file.
34759         * lib/wcsrtombs-state.c: New file.
34760         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
34761         (internal_state): Remove variable.
34762         * m4/wcsnrtombs.m4: New file.
34763         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
34764         compilation units.
34765         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
34766         HAVE_WCSNRTOMBS.
34767         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
34768         HAVE_WCSNRTOMBS.
34769         * modules/wcsnrtombs: New file.
34770         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
34771         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
34772
34773 2008-12-21  Bruno Haible  <bruno@clisp.org>
34774
34775         * modules/wcsrtombs-tests: New file.
34776         * tests/test-wcsrtombs1.sh: New file.
34777         * tests/test-wcsrtombs2.sh: New file.
34778         * tests/test-wcsrtombs3.sh: New file.
34779         * tests/test-wcsrtombs4.sh: New file.
34780         * tests/test-wcsrtombs.c: New file.
34781
34782         New module 'wcsrtombs'.
34783         * lib/wchar.in.h (wcsrtombs): New declaration.
34784         * lib/wcsrtombs.c: New file.
34785         * m4/wcsrtombs.m4: New file.
34786         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
34787         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
34788         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
34789         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
34790         * modules/wcsrtombs: New file.
34791         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
34792         bugs.
34793
34794 2008-12-21  Bruno Haible  <bruno@clisp.org>
34795
34796         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
34797         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
34798         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
34799         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
34800         if not correct.
34801         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
34802         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
34803         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
34804         m4/locale-zh.m4, m4/codeset.m4.
34805         * doc/posix-functions/wcrtomb.texi: Document the bug.
34806
34807 2008-12-21  Bruno Haible  <bruno@clisp.org>
34808
34809         Work around a btowc() bug on IRIX 6.5.
34810         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
34811         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
34812         REPLACE_WTOBC if not.
34813         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
34814         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
34815         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
34816
34817 2008-12-21  Bruno Haible  <bruno@clisp.org>
34818
34819         * modules/wcrtomb-tests: New file.
34820         * tests/test-wcrtomb.sh: New file.
34821         * tests/test-wcrtomb.c: New file.
34822
34823         New module 'wcrtomb'.
34824         * lib/wchar.in.h (wcrtomb): New declaration.
34825         * lib/wcrtomb.c: New file.
34826         * m4/wcrtomb.m4: New file.
34827         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
34828         HAVE_WCRTOMB.
34829         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
34830         HAVE_WCRTOMB.
34831         * modules/wcrtomb: New file.
34832         * doc/posix-functions/wcrtomb.texi: Mention the new module.
34833
34834 2008-12-21  Bruno Haible  <bruno@clisp.org>
34835
34836         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
34837         * modules/mbsrtowcs (Files): Likewise.
34838         * modules/wctob (Files): Likewise.
34839         * modules/c-strcase-tests (Files): Likewise.
34840         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
34841         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
34842         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
34843         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
34844         * modules/vasnprintf-posix-tests (Files): Likewise.
34845
34846 2008-12-21  William Pursell  <bill.pursell@gmail.com>
34847
34848         gitlog-to-changelog: pass all command-line arguments to git-log
34849         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
34850         it is sometimes convenient to filter the commits in various ways.
34851         gitlog-to-changelog only allows --since to specify a start date,
34852         but git-log itself supports many other filtering mechanisms.
34853         At the moment, I want to filter by branch name.  Rather than
34854         adding a --branch option to gitlog-to-changelog, it seems more
34855         flexible to simply pass all options directly to git-log and let
34856         git do the work.  Notice that this effectively makes --since a
34857         redundant option for gitlog-to-changelog, but removing it would
34858         require current usage to change since calls would then require
34859         an additional '--'.
34860
34861 2008-12-21  Bruno Haible  <bruno@clisp.org>
34862
34863         * modules/mbsnrtowcs-tests: New file.
34864         * tests/test-mbsnrtowcs1.sh: New file.
34865         * tests/test-mbsnrtowcs2.sh: New file.
34866         * tests/test-mbsnrtowcs3.sh: New file.
34867         * tests/test-mbsnrtowcs4.sh: New file.
34868         * tests/test-mbsnrtowcs.c: New file.
34869
34870         New module 'mbsnrtowcs'.
34871         * lib/wchar.in.h (mbsnrtowcs): New declaration.
34872         * lib/mbsnrtowcs.c: New file.
34873         * lib/mbsrtowcs-state.c: New file.
34874         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
34875         (internal_state): Remove variable.
34876         * m4/mbsnrtowcs.m4: New file.
34877         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
34878         compilation units.
34879         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
34880         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
34881         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
34882         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
34883         * modules/mbsnrtowcs: New file.
34884         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
34885         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
34886         portability problem.
34887
34888 2008-12-21  Bruno Haible  <bruno@clisp.org>
34889
34890         Work around mbsrtowcs bug.
34891         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
34892         (gl_FUNC_MBSRTOWCS): Invoke it.
34893         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
34894         m4/locale-zh.m4.
34895         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
34896
34897 2008-12-21  Bruno Haible  <bruno@clisp.org>
34898
34899         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
34900
34901 2008-12-21  Bruno Haible  <bruno@clisp.org>
34902
34903         Update doc for AIX.
34904         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
34905         16-bit wchar_t type.
34906         * doc/posix-functions/btowc.texi: Likewise.
34907         * doc/posix-functions/fgetwc.texi: Likewise.
34908         * doc/posix-functions/fgetws.texi: Likewise.
34909         * doc/posix-functions/fputwc.texi: Likewise.
34910         * doc/posix-functions/fputws.texi: Likewise.
34911         * doc/posix-functions/fwide.texi: Likewise.
34912         * doc/posix-functions/fwprintf.texi: Likewise.
34913         * doc/posix-functions/fwscanf.texi: Likewise.
34914         * doc/posix-functions/getwchar.texi: Likewise.
34915         * doc/posix-functions/getwc.texi: Likewise.
34916         * doc/posix-functions/iswalnum.texi: Likewise.
34917         * doc/posix-functions/iswalpha.texi: Likewise.
34918         * doc/posix-functions/iswblank.texi: Likewise.
34919         * doc/posix-functions/iswcntrl.texi: Likewise.
34920         * doc/posix-functions/iswctype.texi: Likewise.
34921         * doc/posix-functions/iswdigit.texi: Likewise.
34922         * doc/posix-functions/iswgraph.texi: Likewise.
34923         * doc/posix-functions/iswlower.texi: Likewise.
34924         * doc/posix-functions/iswprint.texi: Likewise.
34925         * doc/posix-functions/iswpunct.texi: Likewise.
34926         * doc/posix-functions/iswspace.texi: Likewise.
34927         * doc/posix-functions/iswupper.texi: Likewise.
34928         * doc/posix-functions/iswxdigit.texi: Likewise.
34929         * doc/posix-functions/mbrtowc.texi: Likewise.
34930         * doc/posix-functions/mbsrtowcs.texi: Likewise.
34931         * doc/posix-functions/mbstowcs.texi: Likewise.
34932         * doc/posix-functions/mbtowc.texi: Likewise.
34933         * doc/posix-functions/putwchar.texi: Likewise.
34934         * doc/posix-functions/putwc.texi: Likewise.
34935         * doc/posix-functions/swprintf.texi: Likewise.
34936         * doc/posix-functions/tolower.texi: Likewise.
34937         * doc/posix-functions/toupper.texi: Likewise.
34938         * doc/posix-functions/towctrans.texi: Likewise.
34939         * doc/posix-functions/ungetwc.texi: Likewise.
34940         * doc/posix-functions/vswprintf.texi: Likewise.
34941         * doc/posix-functions/wcrtomb.texi: Likewise.
34942         * doc/posix-functions/wcscat.texi: Likewise.
34943         * doc/posix-functions/wcschr.texi: Likewise.
34944         * doc/posix-functions/wcscmp.texi: Likewise.
34945         * doc/posix-functions/wcscoll.texi: Likewise.
34946         * doc/posix-functions/wcscpy.texi: Likewise.
34947         * doc/posix-functions/wcscspn.texi: Likewise.
34948         * doc/posix-functions/wcsftime.texi: Likewise.
34949         * doc/posix-functions/wcslen.texi: Likewise.
34950         * doc/posix-functions/wcsncat.texi: Likewise.
34951         * doc/posix-functions/wcsncmp.texi: Likewise.
34952         * doc/posix-functions/wcsncpy.texi: Likewise.
34953         * doc/posix-functions/wcspbrk.texi: Likewise.
34954         * doc/posix-functions/wcsrchr.texi: Likewise.
34955         * doc/posix-functions/wcsrtombs.texi: Likewise.
34956         * doc/posix-functions/wcsspn.texi: Likewise.
34957         * doc/posix-functions/wcsstr.texi: Likewise.
34958         * doc/posix-functions/wcstod.texi: Likewise.
34959         * doc/posix-functions/wcstof.texi: Likewise.
34960         * doc/posix-functions/wcstoimax.texi: Likewise.
34961         * doc/posix-functions/wcstok.texi: Likewise.
34962         * doc/posix-functions/wcstold.texi: Likewise.
34963         * doc/posix-functions/wcstoll.texi: Likewise.
34964         * doc/posix-functions/wcstol.texi: Likewise.
34965         * doc/posix-functions/wcstombs.texi: Likewise.
34966         * doc/posix-functions/wcstoull.texi: Likewise.
34967         * doc/posix-functions/wcstoul.texi: Likewise.
34968         * doc/posix-functions/wcstoumax.texi: Likewise.
34969         * doc/posix-functions/wcswidth.texi: Likewise.
34970         * doc/posix-functions/wcsxfrm.texi: Likewise.
34971         * doc/posix-functions/wctob.texi: Likewise.
34972         * doc/posix-functions/wctomb.texi: Likewise.
34973         * doc/posix-functions/wctrans.texi: Likewise.
34974         * doc/posix-functions/wctype.texi: Likewise.
34975         * doc/posix-functions/wcwidth.texi: Likewise.
34976         * doc/posix-functions/wmemchr.texi: Likewise.
34977         * doc/posix-functions/wmemcmp.texi: Likewise.
34978         * doc/posix-functions/wmemcpy.texi: Likewise.
34979         * doc/posix-functions/wmemmove.texi: Likewise.
34980         * doc/posix-functions/wmemset.texi: Likewise.
34981         * doc/posix-functions/wprintf.texi: Likewise.
34982         * doc/posix-functions/wscanf.texi: Likewise.
34983
34984 2008-12-21  Bruno Haible  <bruno@clisp.org>
34985
34986         Update doc for HP-UX 11.11.
34987         * doc/posix-functions/btowc.texi: Clarify that the function is missing
34988         in HP-UX version 11.00, not in all versions of HP-UX 11.
34989         * doc/posix-functions/fwide.texi: Likewise.
34990         * doc/posix-functions/fwprintf.texi: Likewise.
34991         * doc/posix-functions/fwscanf.texi: Likewise.
34992         * doc/posix-functions/inet_ntop.texi: Likewise.
34993         * doc/posix-functions/inet_pton.texi: Likewise.
34994         * doc/posix-functions/mbrlen.texi: Likewise.
34995         * doc/posix-functions/mbrtowc.texi: Likewise.
34996         * doc/posix-functions/mbsinit.texi: Likewise.
34997         * doc/posix-functions/mbsrtowcs.texi: Likewise.
34998         * doc/posix-functions/swprintf.texi: Likewise.
34999         * doc/posix-functions/swscanf.texi: Likewise.
35000         * doc/posix-functions/towctrans.texi: Likewise.
35001         * doc/posix-functions/vfwprintf.texi: Likewise.
35002         * doc/posix-functions/vswprintf.texi: Likewise.
35003         * doc/posix-functions/vwprintf.texi: Likewise.
35004         * doc/posix-functions/wcrtomb.texi: Likewise.
35005         * doc/posix-functions/wcsrtombs.texi: Likewise.
35006         * doc/posix-functions/wcsstr.texi: Likewise.
35007         * doc/posix-functions/wctob.texi: Likewise.
35008         * doc/posix-functions/wctrans.texi: Likewise.
35009         * doc/posix-functions/wmemchr.texi: Likewise.
35010         * doc/posix-functions/wmemcmp.texi: Likewise.
35011         * doc/posix-functions/wmemcpy.texi: Likewise.
35012         * doc/posix-functions/wmemmove.texi: Likewise.
35013         * doc/posix-functions/wmemset.texi: Likewise.
35014         * doc/posix-functions/wprintf.texi: Likewise.
35015         * doc/posix-functions/wscanf.texi: Likewise.
35016
35017 2008-12-21  Bruno Haible  <bruno@clisp.org>
35018
35019         Work around a portability problem.
35020         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
35021         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
35022
35023 2008-12-20  Bruno Haible  <bruno@clisp.org>
35024
35025         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
35026         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
35027         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
35028         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
35029         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
35030
35031         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
35032         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
35033         set.
35034         (GNULIB_defined_mbstate_t): New macro.
35035         (mbsinit): Redefine if REPLACE_MBSINIT is set.
35036         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
35037         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
35038         reuses the system's mbrtowc function but works around the bugs.
35039         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
35040         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
35041         macros.
35042         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
35043         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
35044         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
35045         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
35046         REPLACE_MBSINIT if mbsinit needs to be overridden.
35047         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
35048         REPLACE_MBSINIT, REPLACE_MBRTOWC.
35049         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
35050         REPLACE_MBSINIT, REPLACE_MBRTOWC.
35051         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
35052         m4/locale-zh.m4.
35053         (Depends): Add mbsinit.
35054         * modules/mbsinit (Depends): Add mbrtowc.
35055         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
35056
35057 2008-12-20  Bruno Haible  <bruno@clisp.org>
35058
35059         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
35060         so that there are no conversion errors on AIX.
35061         * tests/test-mbsrtowcs.c (main): LIkewise.
35062
35063 2008-12-20  Bruno Haible  <bruno@clisp.org>
35064
35065         Work around wctob bug on Solaris <= 9.
35066         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
35067         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
35068         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
35069         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
35070         * modules/wctob (Files): Add m4/locale-fr.m4.
35071         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
35072
35073 2008-12-20  Bruno Haible  <bruno@clisp.org>
35074
35075         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
35076         /dev/null.
35077         * tests/test-select-in.sh: Likewise.
35078         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
35079
35080 2008-12-20  Bruno Haible  <bruno@clisp.org>
35081
35082         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
35083         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
35084         Cygwin 1.5.x.
35085
35086 2008-12-20  Bruno Haible  <bruno@clisp.org>
35087
35088         Ensure mbstate_t is defined on HP-UX 11.11.
35089         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
35090         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
35091         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
35092         AC_USE_SYSTEM_EXTENSIONS.
35093         * modules/fnmatch (Depends-on): Add extensions.
35094         * modules/mbrlen (Depends-on): Likewise.
35095         * modules/mbrtowc (Depends-on): Likewise.
35096         * modules/mbsinit (Depends-on): Likewise.
35097         * modules/mbsrtowcs (Depends-on): Likewise.
35098         * modules/mbswidth (Depends-on): Likewise.
35099         * modules/quotearg (Depends-on): Likewise.
35100         * modules/strftime (Depends-on): Likewise.
35101
35102 2008-12-20  Bruno Haible  <bruno@clisp.org>
35103
35104         Ensure wctob is declared on IRIX 6.5.
35105         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
35106         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
35107         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
35108         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
35109         of HAVE_WCTOB.
35110         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
35111         HAVE_WCTOB.
35112         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
35113
35114 2008-12-19  Bruno Haible  <bruno@clisp.org>
35115
35116         * modules/mbsrtowcs-tests: New file.
35117         * tests/test-mbsrtowcs1.sh: New file.
35118         * tests/test-mbsrtowcs2.sh: New file.
35119         * tests/test-mbsrtowcs3.sh: New file.
35120         * tests/test-mbsrtowcs4.sh: New file.
35121         * tests/test-mbsrtowcs.c: New file.
35122
35123         New module 'mbsrtowcs'.
35124         * lib/wchar.in.h (mbsrtowcs): New declaration.
35125         * lib/mbsrtowcs.c: New file.
35126         * m4/mbsrtowcs.m4: New file.
35127         * modules/mbsrtowcs: New file.
35128         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
35129         HAVE_MBSRTOWCS.
35130         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
35131         HAVE_MBSRTOWCS.
35132         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
35133
35134 2008-12-19  Bruno Haible  <bruno@clisp.org>
35135
35136         New module 'mbrlen'.
35137         * lib/wchar.in.h (mbrlen): New declaration.
35138         * lib/mbrlen.c: New file.
35139         * m4/mbrlen.m4: New file.
35140         * modules/mbrlen: New file.
35141         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
35142         HAVE_MBRLEN.
35143         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
35144         HAVE_MBRLEN.
35145         * doc/posix-functions/mbrlen.texi: Document the new module.
35146
35147 2008-12-19  Bruno Haible  <bruno@clisp.org>
35148
35149         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
35150         * modules/mbrtowc (Depends-on): Add verify.
35151         Suggested by Paul Eggert.
35152
35153 2008-12-18  Bruno Haible  <bruno@clisp.org>
35154
35155         * modules/mbsinit-tests: New file.
35156         * tests/test-mbsinit.sh: New file.
35157         * tests/test-mbsinit.c: New file.
35158
35159 2008-12-18  Bruno Haible  <bruno@clisp.org>
35160
35161         * modules/mbrtowc-tests: New file.
35162         * tests/test-mbrtowc1.sh: New file.
35163         * tests/test-mbrtowc2.sh: New file.
35164         * tests/test-mbrtowc3.sh: New file.
35165         * tests/test-mbrtowc4.sh: New file.
35166         * tests/test-mbrtowc.c: New file.
35167
35168         New module 'mbrtowc'.
35169         * lib/wchar.in.h (mbstate_t): Override when the system does not have
35170         mbsinit and mbrtowc.
35171         (mbrtowc): New declaration.
35172         * lib/mbrtowc.c: New file.
35173         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
35174         * modules/mbrtowc: New file.
35175         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
35176         HAVE_MBRTOWC.
35177         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
35178         HAVE_MBRTOWC.
35179         * doc/posix-functions/mbrtowc.texi: Document the new module.
35180
35181 2008-12-18  Bruno Haible  <bruno@clisp.org>
35182
35183         New module 'wctob'.
35184         * lib/wchar.in.h (wctob): New declaration.
35185         * lib/wctob.c: New file.
35186         * m4/wctob.m4: New file.
35187         * modules/wctob: New file.
35188         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
35189         HAVE_WCTOB.
35190         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
35191         * doc/posix-functions/wctob.texi: Document the new module.
35192
35193 2008-12-18  Bruno Haible  <bruno@clisp.org>
35194
35195         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
35196         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
35197
35198 2008-12-18  Simon Josefsson  <simon@josefsson.org>
35199
35200         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
35201         G. Christensen" <tgc@jupiterrise.com>.
35202
35203         * lib/flock.c: Need to include errno.h.  Reported by "Tom
35204         G. Christensen" <tgc@jupiterrise.com>.
35205
35206         * lib/flock.c: Need to include string.h.  Reported by "Tom
35207         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
35208         <ebb9@byu.net>.
35209
35210 2008-12-18  Bruno Haible  <bruno@clisp.org>
35211
35212         * m4/locale-ja.m4: New file, from GNU gettext.
35213
35214 2008-12-17  Bruno Haible  <bruno@clisp.org>
35215
35216         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
35217         Suggested by Eric Blake.
35218
35219 2008-12-17  Bruno Haible  <bruno@clisp.org>
35220
35221         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
35222
35223 2008-12-17  Bruno Haible  <bruno@clisp.org>
35224
35225         * lib/mbsinit.c: Include verify.h. Verify an assumption.
35226         * modules/mbsinit (Depends-on): Add verify.
35227         Suggested by Paul Eggert.
35228
35229 2008-12-17  Bruno Haible  <bruno@clisp.org>
35230
35231         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
35232         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
35233         gl_FUNC_MBRTOWC.
35234         * m4/mbiter.m4 (gl_MBITER): LIkewise.
35235         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
35236         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
35237         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
35238         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
35239         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
35240         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
35241         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
35242         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
35243         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
35244         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
35245         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
35246         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
35247         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
35248         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
35249         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
35250         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
35251         * modules/trim (configure.ac): Likewise.
35252
35253 2008-12-17  Bruno Haible  <bruno@clisp.org>
35254
35255         * modules/btowc-tests: New file.
35256         * tests/test-btowc1.sh: New file.
35257         * tests/test-btowc2.sh: New file.
35258         * tests/test-btowc.c: New file.
35259
35260         New module 'btowc'.
35261         * lib/wchar.in.h (btowc): New declaration.
35262         * lib/btowc.c: New file.
35263         * m4/btowc.m4: New file.
35264         * modules/btowc: New file.
35265         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
35266         HAVE_BTOWC.
35267         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
35268         * doc/posix-functions/btowc.texi: Document the new module.
35269
35270 2008-12-17  Bruno Haible  <bruno@clisp.org>
35271
35272         New module 'mbsinit'.
35273         * lib/wchar.in.h (mbsinit): New declaration.
35274         * lib/mbsinit.c: New file.
35275         * m4/mbsinit.m4: New file.
35276         * modules/mbsinit: New file.
35277         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
35278         HAVE_MBSINIT.
35279         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
35280         HAVE_MBSINIT.
35281         * doc/posix-functions/mbsinit.texi: Document the new module.
35282
35283 2008-12-16  Bruno Haible  <bruno@clisp.org>
35284
35285         * lib/unistd.in.h: Add comment.
35286         * tests/test-environ.c: Don't include <stdlib.h>.
35287
35288 2008-12-16  Bruno Haible  <bruno@clisp.org>
35289
35290         * lib/parse-duration.h (parse_duration): Document return value
35291         convention.
35292         * lib/parse-duration.c: Include specification header first. Add
35293         comments.
35294         (_): Remove macro.
35295         (parse_year_month_day, parse_hour_minute_second): Move side effects
35296         outside of strchr call.
35297         (parse_non_iso8601): Move side effects outside of isspace call.
35298         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
35299         call.
35300
35301 2008-12-16  Bruno Haible  <bruno@clisp.org>
35302
35303         * tests/test-parse-duration.sh: Produce no output when the test
35304         succeeds.
35305
35306 2008-12-16  Bruno Haible  <bruno@clisp.org>
35307
35308         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
35309         expressions.
35310
35311 2008-12-15  Bruno Haible  <bruno@clisp.org>
35312
35313         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
35314         * doc/glibc-functions/flistxattr.texi: Likewise.
35315         * doc/glibc-functions/fopencookie.texi: Likewise.
35316         * doc/glibc-functions/fremovexattr.texi: Likewise.
35317         * doc/glibc-functions/fsetxattr.texi: Likewise.
35318         * doc/glibc-functions/getxattr.texi: Likewise.
35319         * doc/glibc-functions/lgetxattr.texi: Likewise.
35320         * doc/glibc-functions/listxattr.texi: Likewise.
35321         * doc/glibc-functions/llistxattr.texi: Likewise.
35322         * doc/glibc-functions/lremovexattr.texi: Likewise.
35323         * doc/glibc-functions/lsetxattr.texi: Likewise.
35324         * doc/glibc-functions/removexattr.texi: Likewise.
35325         * doc/glibc-functions/setxattr.texi: Likewise.
35326         * doc/posix-functions/open_memstream.texi: Likewise.
35327
35328 2008-12-15  Eric Blake  <ebb9@byu.net>
35329
35330         Update doc for cygwin 1.7.
35331         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
35332         functions.
35333         * doc/posix-functions/fchmodat.texi: Likewise.
35334         * doc/posix-functions/fchownat.texi: Likewise.
35335         * doc/posix-functions/fdopendir.texi: Likewise.
35336         * doc/posix-functions/fmemopen.texi: Likewise.
35337         * doc/posix-functions/freeaddrinfo.texi: Likewise.
35338         * doc/posix-functions/fstatat.texi: Likewise.
35339         * doc/posix-functions/futimens.texi: Likewise.
35340         * doc/posix-functions/gai_strerror.texi: Likewise.
35341         * doc/posix-functions/getaddrinfo.texi: Likewise.
35342         * doc/posix-functions/getnameinfo.texi: Likewise.
35343         * doc/posix-functions/if_freenameindex.texi: Likewise.
35344         * doc/posix-functions/if_indextoname.texi: Likewise.
35345         * doc/posix-functions/if_nameindex.texi: Likewise.
35346         * doc/posix-functions/if_nametoindex.texi: Likewise.
35347         * doc/posix-functions/insque.texi: Likewise.
35348         * doc/posix-functions/linkat.texi: Likewise.
35349         * doc/posix-functions/llrint.texi: Likewise.
35350         * doc/posix-functions/llrintf.texi: Likewise.
35351         * doc/posix-functions/llrintl.texi: Likewise.
35352         * doc/posix-functions/lockf.texi: Likewise.
35353         * doc/posix-functions/lrintl.texi: Likewise.
35354         * doc/posix-functions/mkdirat.texi: Likewise.
35355         * doc/posix-functions/mkfifoat.texi: Likewise.
35356         * doc/posix-functions/mknodat.texi: Likewise.
35357         * doc/posix-functions/mq_close.texi: Likewise.
35358         * doc/posix-functions/mq_getattr.texi: Likewise.
35359         * doc/posix-functions/mq_notify.texi: Likewise.
35360         * doc/posix-functions/mq_open.texi: Likewise.
35361         * doc/posix-functions/mq_receive.texi: Likewise.
35362         * doc/posix-functions/mq_send.texi: Likewise.
35363         * doc/posix-functions/mq_setattr.texi: Likewise.
35364         * doc/posix-functions/mq_timedreceive.texi: Likewise.
35365         * doc/posix-functions/mq_timedsend.texi: Likewise.
35366         * doc/posix-functions/mq_unlink.texi: Likewise.
35367         * doc/posix-functions/open_memstream.texi: Likewise.
35368         * doc/posix-functions/openat.texi: Likewise.
35369         * doc/posix-functions/posix_fadvise.texi: Likewise.
35370         * doc/posix-functions/posix_fallocate.texi: Likewise.
35371         * doc/posix-functions/posix_madvise.texi: Likewise.
35372         * doc/posix-functions/posix_memalign.texi: Likewise.
35373         * doc/posix-functions/posix_openpt.texi: Likewise.
35374         * doc/posix-functions/readlinkat.texi: Likewise.
35375         * doc/posix-functions/remque.texi: Likewise.
35376         * doc/posix-functions/renameat.texi: Likewise.
35377         * doc/posix-functions/rintl.texi: Likewise.
35378         * doc/posix-functions/sem_unlink.texi: Likewise.
35379         * doc/posix-functions/shm_open.texi: Likewise.
35380         * doc/posix-functions/shm_unlink.texi: Likewise.
35381         * doc/posix-functions/signgam.texi: Likewise.
35382         * doc/posix-functions/sigset.texi: Likewise.
35383         * doc/posix-functions/stpcpy.texi: Likewise.
35384         * doc/posix-functions/stpncpy.texi: Likewise.
35385         * doc/posix-functions/strerror.texi: Likewise.
35386         * doc/posix-functions/strtod.texi: Likewise.
35387         * doc/posix-functions/symlinkat.texi: Likewise.
35388         * doc/posix-functions/unlinkat.texi: Likewise.
35389         * doc/posix-functions/utimensat.texi: Likewise.
35390         * doc/glibc-functions/bindresvport.texi: Likewise.
35391         * doc/glibc-functions/dn_expand.texi: Likewise.
35392         * doc/glibc-functions/exp10.texi: Likewise.
35393         * doc/glibc-functions/exp10f.texi: Likewise.
35394         * doc/glibc-functions/fgetxattr.texi: Likewise.
35395         * doc/glibc-functions/flistxattr.texi: Likewise.
35396         * doc/glibc-functions/fopencookie.texi: Likewise.
35397         * doc/glibc-functions/freeifaddrs.texi: Likewise.
35398         * doc/glibc-functions/fremovexattr.texi: Likewise.
35399         * doc/glibc-functions/fsetxattr.texi: Likewise.
35400         * doc/glibc-functions/getifaddrs.texi: Likewise.
35401         * doc/glibc-functions/getxattr.texi: Likewise.
35402         * doc/glibc-functions/lgetxattr.texi: Likewise.
35403         * doc/glibc-functions/listxattr.texi: Likewise.
35404         * doc/glibc-functions/llistxattr.texi: Likewise.
35405         * doc/glibc-functions/lremovexattr.texi: Likewise.
35406         * doc/glibc-functions/lsetxattr.texi: Likewise.
35407         * doc/glibc-functions/pow10.texi: Likewise.
35408         * doc/glibc-functions/pow10f.texi: Likewise.
35409         * doc/glibc-functions/rcmd_af.texi: Likewise.
35410         * doc/glibc-functions/removexattr.texi: Likewise.
35411         * doc/glibc-functions/res_init.texi: Likewise.
35412         * doc/glibc-functions/res_mkquery.texi: Likewise.
35413         * doc/glibc-functions/res_query.texi: Likewise.
35414         * doc/glibc-functions/res_querydomain.texi: Likewise.
35415         * doc/glibc-functions/res_send.texi: Likewise.
35416         * doc/glibc-functions/rresvport_af.texi: Likewise.
35417         * doc/glibc-functions/setxattr.texi: Likewise.
35418         * doc/glibc-functions/strcasestr.texi: Likewise.
35419
35420 2008-12-15  Bruno Haible  <bruno@clisp.org>
35421
35422         Fix compilation error on OSF/1 4.0.
35423         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
35424         <sys/time.h>, simply delegate to the system header.
35425         Reported by Daniel Richard G. <oss@teragram.com>.
35426
35427 2008-12-15  Bruno Haible  <bruno@clisp.org>
35428
35429         * doc/posix-functions/openat.texi: Mention the 'openat' module.
35430         * doc/posix-functions/fchmodat.texi: Likewise.
35431         * doc/posix-functions/fchownat.texi: Likewise.
35432         * doc/posix-functions/fdopendir.texi: Likewise.
35433         * doc/posix-functions/fstatat.texi: Likewise.
35434         * doc/posix-functions/mkdirat.texi: Likewise.
35435         * doc/posix-functions/unlinkat.texi: Likewise.
35436
35437 2008-12-14  Bruno Haible  <bruno@clisp.org>
35438
35439         Update doc for POSIX:2008.
35440         * doc/posix-functions/faccessat.texi: New file.
35441         * doc/posix-functions/fchmodat.texi: New file.
35442         * doc/posix-functions/fchownat.texi: New file.
35443         * doc/posix-functions/fdopendir.texi: New file.
35444         * doc/posix-functions/fstatat.texi: New file.
35445         * doc/posix-functions/futimens.texi: New file.
35446         * doc/posix-functions/linkat.texi: New file.
35447         * doc/posix-functions/mkdirat.texi: New file.
35448         * doc/posix-functions/mkfifoat.texi: New file.
35449         * doc/posix-functions/mknodat.texi: New file.
35450         * doc/posix-functions/open_wmemstream.texi: New file.
35451         * doc/posix-functions/openat.texi: New file.
35452         * doc/posix-functions/psiginfo.texi: New file.
35453         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
35454         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
35455         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
35456         * doc/posix-functions/readlinkat.texi: New file.
35457         * doc/posix-functions/renameat.texi: New file.
35458         * doc/posix-functions/strerror_l.texi: New file.
35459         * doc/posix-functions/symlinkat.texi: New file.
35460         * doc/posix-functions/unlinkat.texi: New file.
35461         * doc/posix-functions/utimensat.texi: New file.
35462         * doc/gnulib.texi (Function Substitutes): Add these subsections.
35463
35464 2008-12-14  Bruno Haible  <bruno@clisp.org>
35465
35466         Update doc for POSIX:2008.
35467         * doc/posix-functions/alphasort.texi: Renamed from
35468         doc/glibc-functions/alphasort.texi.
35469         * doc/posix-functions/dirfd.texi: Renamed from
35470         doc/glibc-functions/dirfd.texi.
35471         * doc/posix-functions/dprintf.texi: Renamed from
35472         doc/glibc-functions/dprintf.texi.
35473         * doc/posix-functions/duplocale.texi: Renamed from
35474         doc/glibc-functions/duplocale.texi.
35475         * doc/posix-functions/fexecve.texi: Renamed from
35476         doc/glibc-functions/fexecve.texi.
35477         * doc/posix-functions/fmemopen.texi: Renamed from
35478         doc/glibc-functions/fmemopen.texi.
35479         * doc/posix-functions/freelocale.texi: Renamed from
35480         doc/glibc-functions/freelocale.texi.
35481         * doc/posix-functions/getdate_err.texi: Renamed from
35482         doc/glibc-functions/getdate_err.texi.
35483         * doc/posix-functions/isalnum_l.texi: Renamed from
35484         doc/glibc-functions/isalnum_l.texi.
35485         * doc/posix-functions/isalpha_l.texi: Renamed from
35486         doc/glibc-functions/isalpha_l.texi.
35487         * doc/posix-functions/isblank_l.texi: Renamed from
35488         doc/glibc-functions/isblank_l.texi.
35489         * doc/posix-functions/iscntrl_l.texi: Renamed from
35490         doc/glibc-functions/iscntrl_l.texi.
35491         * doc/posix-functions/isdigit_l.texi: Renamed from
35492         doc/glibc-functions/isdigit_l.texi.
35493         * doc/posix-functions/isgraph_l.texi: Renamed from
35494         doc/glibc-functions/isgraph_l.texi.
35495         * doc/posix-functions/islower_l.texi: Renamed from
35496         doc/glibc-functions/islower_l.texi.
35497         * doc/posix-functions/isprint_l.texi: Renamed from
35498         doc/glibc-functions/isprint_l.texi.
35499         * doc/posix-functions/ispunct_l.texi: Renamed from
35500         doc/glibc-functions/ispunct_l.texi.
35501         * doc/posix-functions/isspace_l.texi: Renamed from
35502         doc/glibc-functions/isspace_l.texi.
35503         * doc/posix-functions/isupper_l.texi: Renamed from
35504         doc/glibc-functions/isupper_l.texi.
35505         * doc/posix-functions/iswalnum_l.texi: Renamed from
35506         doc/glibc-functions/iswalnum_l.texi.
35507         * doc/posix-functions/iswalpha_l.texi: Renamed from
35508         doc/glibc-functions/iswalpha_l.texi.
35509         * doc/posix-functions/iswblank_l.texi: Renamed from
35510         doc/glibc-functions/iswblank_l.texi.
35511         * doc/posix-functions/iswcntrl_l.texi: Renamed from
35512         doc/glibc-functions/iswcntrl_l.texi.
35513         * doc/posix-functions/iswctype_l.texi: Renamed from
35514         doc/glibc-functions/iswctype_l.texi.
35515         * doc/posix-functions/iswdigit_l.texi: Renamed from
35516         doc/glibc-functions/iswdigit_l.texi.
35517         * doc/posix-functions/iswgraph_l.texi: Renamed from
35518         doc/glibc-functions/iswgraph_l.texi.
35519         * doc/posix-functions/iswlower_l.texi: Renamed from
35520         doc/glibc-functions/iswlower_l.texi.
35521         * doc/posix-functions/iswprint_l.texi: Renamed from
35522         doc/glibc-functions/iswprint_l.texi.
35523         * doc/posix-functions/iswpunct_l.texi: Renamed from
35524         doc/glibc-functions/iswpunct_l.texi.
35525         * doc/posix-functions/iswspace_l.texi: Renamed from
35526         doc/glibc-functions/iswspace_l.texi.
35527         * doc/posix-functions/iswupper_l.texi: Renamed from
35528         doc/glibc-functions/iswupper_l.texi.
35529         * doc/posix-functions/iswxdigit_l.texi: Renamed from
35530         doc/glibc-functions/iswxdigit_l.texi.
35531         * doc/posix-functions/isxdigit_l.texi: Renamed from
35532         doc/glibc-functions/isxdigit_l.texi.
35533         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
35534         doc/glibc-functions/mbsnrtowcs.texi.
35535         * doc/posix-functions/mkdtemp.texi: Renamed from
35536         doc/glibc-functions/mkdtemp.texi.
35537         * doc/posix-functions/newlocale.texi: Renamed from
35538         doc/glibc-functions/newlocale.texi.
35539         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
35540         doc/glibc-functions/nl_langinfo_l.texi.
35541         * doc/posix-functions/open_memstream.texi: Renamed from
35542         doc/glibc-functions/open_memstream.texi.
35543         * doc/posix-functions/opterr.texi: Renamed from
35544         doc/glibc-functions/opterr.texi.
35545         * doc/posix-functions/optind.texi: Renamed from
35546         doc/glibc-functions/optind.texi.
35547         * doc/posix-functions/optopt.texi: Renamed from
35548         doc/glibc-functions/optopt.texi.
35549         * doc/posix-functions/psignal.texi: Renamed from
35550         doc/glibc-functions/psignal.texi.
35551         * doc/posix-functions/scandir.texi: Renamed from
35552         doc/glibc-functions/scandir.texi.
35553         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
35554         doc/glibc-functions/sched_get_priority_min.texi.
35555         * doc/posix-functions/signgam.texi: Renamed from
35556         doc/glibc-functions/signgam.texi.
35557         * doc/posix-functions/stpcpy.texi: Renamed from
35558         doc/glibc-functions/stpcpy.texi.
35559         * doc/posix-functions/stpncpy.texi: Renamed from
35560         doc/glibc-functions/stpncpy.texi.
35561         * doc/posix-functions/strcasecmp_l.texi: Renamed from
35562         doc/glibc-functions/strcasecmp_l.texi.
35563         * doc/posix-functions/strcoll_l.texi: Renamed from
35564         doc/glibc-functions/strcoll_l.texi.
35565         * doc/posix-functions/strfmon_l.texi: Renamed from
35566         doc/glibc-functions/strfmon_l.texi.
35567         * doc/posix-functions/strftime_l.texi: Renamed from
35568         doc/glibc-functions/strftime_l.texi.
35569         * doc/posix-functions/strncasecmp_l.texi: Renamed from
35570         doc/glibc-functions/strncasecmp_l.texi.
35571         * doc/posix-functions/strndup.texi: Renamed from
35572         doc/glibc-functions/strndup.texi.
35573         * doc/posix-functions/strnlen.texi: Renamed from
35574         doc/glibc-functions/strnlen.texi.
35575         * doc/posix-functions/strsignal.texi: Renamed from
35576         doc/glibc-functions/strsignal.texi.
35577         * doc/posix-functions/strxfrm_l.texi: Renamed from
35578         doc/glibc-functions/strxfrm_l.texi.
35579         * doc/posix-functions/timer_gettime.texi: Renamed from
35580         doc/glibc-functions/timer_gettime.texi.
35581         * doc/posix-functions/tolower_l.texi: Renamed from
35582         doc/glibc-functions/tolower_l.texi.
35583         * doc/posix-functions/toupper_l.texi: Renamed from
35584         doc/glibc-functions/toupper_l.texi.
35585         * doc/posix-functions/towctrans_l.texi: Renamed from
35586         doc/glibc-functions/towctrans_l.texi.
35587         * doc/posix-functions/towlower_l.texi: Renamed from
35588         doc/glibc-functions/towlower_l.texi.
35589         * doc/posix-functions/towupper_l.texi: Renamed from
35590         doc/glibc-functions/towupper_l.texi.
35591         * doc/posix-functions/uselocale.texi: Renamed from
35592         doc/glibc-functions/uselocale.texi.
35593         * doc/posix-functions/vdprintf.texi: Renamed from
35594         doc/glibc-functions/vdprintf.texi.
35595         * doc/posix-functions/wcpcpy.texi:
35596         Renamed from doc/glibc-functions/wcpcpy.texi.
35597         * doc/posix-functions/wcpncpy.texi: Renamed from
35598         doc/glibc-functions/wcpncpy.texi.
35599         * doc/posix-functions/wcscasecmp.texi: Renamed from
35600         doc/glibc-functions/wcscasecmp.texi.
35601         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
35602         doc/glibc-functions/wcscasecmp_l.texi.
35603         * doc/posix-functions/wcscoll_l.texi: Renamed from
35604         doc/glibc-functions/wcscoll_l.texi.
35605         * doc/posix-functions/wcsdup.texi: Renamed from
35606         doc/glibc-functions/wcsdup.texi.
35607         * doc/posix-functions/wcsncasecmp.texi: Renamed from
35608         doc/glibc-functions/wcsncasecmp.texi.
35609         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
35610         doc/glibc-functions/wcsncasecmp_l.texi.
35611         * doc/posix-functions/wcsnlen.texi: Renamed from
35612         doc/glibc-functions/wcsnlen.texi.
35613         * doc/posix-functions/wcsnrtombs.texi: Renamed from
35614         doc/glibc-functions/wcsnrtombs.texi.
35615         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
35616         doc/glibc-functions/wcsxfrm_l.texi.
35617         * doc/posix-functions/wctrans_l.texi: Renamed from
35618         doc/glibc-functions/wctrans_l.texi.
35619         * doc/posix-functions/wctype_l.texi: Renamed from
35620         doc/glibc-functions/wctype_l.texi.
35621         * doc/gnulib.texi (Function Substitutes): Add these subsections.
35622         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
35623         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
35624         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
35625         these subsections.
35626         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
35627         Remove sections.
35628
35629 2008-12-14  Bruno Haible  <bruno@clisp.org>
35630
35631         Update doc for POSIX:2008.
35632         * doc/posix-functions/*.texi: Update URL of POSIX specification.
35633
35634 2008-12-14  Bruno Haible  <bruno@clisp.org>
35635
35636         Update doc for POSIX:2008.
35637         * doc/pastposix-functions/bcmp.texi: Renamed from
35638         doc/posix-functions/bcmp.texi.
35639         * doc/pastposix-functions/bcopy.texi: Renamed from
35640         doc/posix-functions/bcopy.texi.
35641         * doc/pastposix-functions/bsd_signal.texi: Renamed from
35642         doc/posix-functions/bsd_signal.texi.
35643         * doc/pastposix-functions/bzero.texi: Renamed from
35644         doc/posix-functions/bzero.texi.
35645         * doc/pastposix-functions/ecvt.texi: Renamed from
35646         doc/posix-functions/ecvt.texi.
35647         * doc/pastposix-functions/fcvt.texi: Renamed from
35648         doc/posix-functions/fcvt.texi.
35649         * doc/pastposix-functions/ftime.texi: Renamed from
35650         doc/posix-functions/ftime.texi.
35651         * doc/pastposix-functions/gcvt.texi: Renamed from
35652         doc/posix-functions/gcvt.texi.
35653         * doc/pastposix-functions/getcontext.texi: Renamed from
35654         doc/posix-functions/getcontext.texi.
35655         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
35656         doc/posix-functions/gethostbyaddr.texi.
35657         * doc/pastposix-functions/gethostbyname.texi: Renamed from
35658         doc/posix-functions/gethostbyname.texi.
35659         * doc/pastposix-functions/getwd.texi: Renamed from
35660         doc/posix-functions/getwd.texi.
35661         * doc/pastposix-functions/h_errno.texi: Renamed from
35662         doc/posix-functions/h_errno.texi.
35663         * doc/pastposix-functions/index.texi: Renamed from
35664         doc/posix-functions/index.texi.
35665         * doc/pastposix-functions/makecontext.texi: Renamed from
35666         doc/posix-functions/makecontext.texi.
35667         * doc/pastposix-functions/mktemp.texi: Renamed from
35668         doc/posix-functions/mktemp.texi.
35669         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
35670         doc/posix-functions/pthread_attr_getstackaddr.texi.
35671         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
35672         doc/posix-functions/pthread_attr_setstackaddr.texi.
35673         * doc/pastposix-functions/rindex.texi: Renamed from
35674         doc/posix-functions/rindex.texi.
35675         * doc/pastposix-functions/scalb.texi: Renamed from
35676         doc/posix-functions/scalb.texi.
35677         * doc/pastposix-functions/setcontext.texi: Renamed from
35678         doc/posix-functions/setcontext.texi.
35679         * doc/pastposix-functions/swapcontext.texi: Renamed from
35680         doc/posix-functions/swapcontext.texi.
35681         * doc/pastposix-functions/ualarm.texi: Renamed from
35682         doc/posix-functions/ualarm.texi.
35683         * doc/pastposix-functions/usleep.texi: Renamed from
35684         doc/posix-functions/usleep.texi.
35685         * doc/pastposix-functions/vfork.texi: Renamed from
35686         doc/posix-functions/vfork.texi.
35687         * doc/pastposix-functions/wcswcs.texi: Renamed from
35688         doc/posix-functions/wcswcs.texi.
35689         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
35690         (Function Substitutes): Update.
35691
35692 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35693
35694         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
35695         m4/strerror.m4.
35696
35697 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35698             Bruno Haible  <bruno@clisp.org>
35699
35700         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
35701
35702 2008-12-13  Bruno Haible  <bruno@clisp.org>
35703
35704         * modules/strtoull (Depends-on): Remove unistd.
35705
35706 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35707
35708         * modules/strtoull (Depends-on): Add stdlib.
35709
35710 2008-12-11  Simon Josefsson  <simon@josefsson.org>
35711
35712         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
35713
35714 2008-12-10  Jim Meyering  <meyering@redhat.com>
35715
35716         gl_ASSERT: don't say assertions are disabled when they're not
35717         * m4/assert.m4 (gl_ASSERT): Do not make configure report
35718         "checking whether to enable assertions... no", when they are in
35719         fact enabled.  This is solely a bug in the output of configure.
35720         In spite of saying "no", NDEBUG was not defined in that case.
35721         Also, as noted by Eric Blake, leave assertions enabled upon
35722         --enable-assert=INVALID.
35723
35724 2008-12-10  Bruno Haible  <bruno@clisp.org>
35725
35726         Change MODULES.html to refer to POSIX:2008 where possible.
35727         * MODULES.html.sh (POSIX2008_URL): New variable.
35728         (posix_headers): Remove sys/timeb, ucontext.
35729         (posix2001_headers): New variable.
35730         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
35731         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
35732         index, makecontext, mktemp, pthread_attr_getstackaddr,
35733         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
35734         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
35735         (posix2001_functions): New variable.
35736         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
35737         otherwise.
35738
35739 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35740
35741         add missing include to parse-duration.c
35742         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
35743         * modules/parse-duration (Depends-on): Add xalloc.
35744
35745         fix sed script reading maint.mk
35746         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
35747         (syntax-check-rules): Use it.
35748
35749 2008-12-09  Bruno Haible  <bruno@clisp.org>
35750
35751         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
35752         MacOS X 10.4/PowerPC.
35753         Reported by Simon Josefsson.
35754
35755 2008-12-08  Jim Meyering  <meyering@redhat.com>
35756
35757         work around mingw's lack of some S_IF definitions
35758         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
35759         Reported by Simon Josefsson.
35760
35761 2008-12-08  Bruno Haible  <bruno@clisp.org>
35762
35763         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
35764         applied to variables. Needed on MacOS X 10.4/PowerPC.
35765         Reported by Simon Josefsson.
35766
35767 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
35768         and Eric Blake  <ebb9@byu.net>
35769
35770         assert: honor --enable-assert
35771         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
35772         order to honor --enable-assert, rather than treating it as a
35773         synonym for --disable-assert.
35774
35775 2008-12-08  Jim Meyering  <meyering@redhat.com>
35776
35777         * lib/posixtm.c: Remove now-useless declaration of mktime.
35778
35779         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
35780
35781 2008-12-07  Bruno Haible  <bruno@clisp.org>
35782
35783         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
35784         test_once): Mark functions as static.
35785         * tests/test-tls.c (test_tls): Likewise.
35786
35787 2008-12-07  Bruno Haible  <bruno@clisp.org>
35788
35789         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
35790         iconv_register_autodetect.
35791
35792 2008-12-07  Jim Meyering  <meyering@redhat.com>
35793
35794         posixtm.c: avoid a warning
35795         * lib/posixtm.c (posixtime): Don't initialize tm0.
35796         It's no longer needed to placate gcc4's -Wuninitialized,
35797         and the attempt to placate would elicit a new warning.
35798
35799         unicodeio.c: mark unused parameters
35800         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
35801         (fallback_failure_callback): Likewise.
35802
35803 2008-12-07  Bruno Haible  <bruno@clisp.org>
35804
35805         * gnulib-tool (func_create_testdir): When building the tests
35806         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
35807         Reported by Simon Josefsson.
35808
35809 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35810
35811         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
35812
35813 2008-12-06  Bruno Haible  <bruno@clisp.org>
35814
35815         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
35816         Suggested by Eric Blake.
35817
35818 2008-12-06  Bruno Haible  <bruno@clisp.org>
35819
35820         Fix a c-stack test failure on MacOS X.
35821         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
35822         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
35823         handler for SIGBUS as well.
35824         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
35825         install a signal handler for SIGBUS as well.
35826         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
35827
35828 2008-12-06  Bruno Haible  <bruno@clisp.org>
35829
35830         Advocacy documentation.
35831         * doc/gnulib-intro.texi (Benefits): New section.
35832         * doc/gnulib.texi: Update.
35833
35834 2008-12-06  Bruno Haible  <bruno@clisp.org>
35835
35836         Document the 'manywarnings' module.
35837         * doc/manywarnings.texi: New file.
35838         * doc/gnulib.texi: Include it.
35839
35840 2008-12-05  Eric Blake  <ebb9@byu.net>
35841
35842         tests: silence some gcc warnings
35843         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
35844         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
35845         type mismatches.
35846
35847 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35848             Bruno Haible  <bruno@clisp.org>
35849
35850         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
35851
35852 2008-11-29  Jim Meyering  <meyering@redhat.com>
35853
35854         unicodeio.c: mark unused parameters
35855         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
35856         (fallback_failure_callback): Likewise.
35857
35858         fts: fix a thinko
35859         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
35860         (set_stat_type): Return S_IF*-valued "type" directly.
35861         Prompted by James Youngman's spotting a related bug.
35862         Confirmed by further testing through find.
35863
35864         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
35865         * lib/fts.c (D_TYPE): Define.
35866         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
35867         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
35868         (s_ifmt_shift_bits): New function.
35869         (set_stat_type): New function.
35870         (fts_build): When not calling fts_stat, call set_stat_type
35871         to propagate dirent.d_type info to fts_read caller.
35872         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
35873         fts_statp->st_mode type information may be valid.
35874
35875 2008-11-28  Simon Josefsson  <simon@josefsson.org>
35876
35877         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
35878         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
35879         <sds@gnu.org>.
35880
35881 2008-11-20  Bruno Haible  <bruno@clisp.org>
35882
35883         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
35884         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
35885         INCLUDE_NEXT.
35886         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
35887         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
35888         * modules/math (Makefile.am): Substitute
35889         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
35890         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
35891
35892 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
35893             Bruno Haible  <bruno@clisp.org>
35894
35895         * lib/stdint.in.h: Define all type macros so that their expansion is
35896         a single typedef'ed token. Fixes a compilation failure in Boost which
35897         does "using ::int8_t;".
35898
35899 2008-11-18  Simon Josefsson  <simon@josefsson.org>
35900
35901         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
35902         gl_MANYWARN_ALL_GCC.
35903         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
35904         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
35905         * modules/manywarnings: New file.
35906         * MODULES.html.sh: Mention manywarnings module.
35907
35908 2008-11-18  Bruno Haible  <bruno@clisp.org>
35909
35910         * doc/gnulib-tool.texi (Unit tests): New section.
35911
35912 2008-11-18  Simon Josefsson  <simon@josefsson.org>
35913
35914         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
35915         paths like 'lib/po/foo.po'.
35916
35917 2008-11-17  Simon Josefsson  <simon@josefsson.org>
35918
35919         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
35920         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
35921
35922 2008-11-17  Simon Josefsson  <simon@josefsson.org>
35923
35924         * m4/warnings.m4: Use CPPFLAGS to really check whether the
35925         parameter works.
35926
35927 2008-11-17  Simon Josefsson  <simon@josefsson.org>
35928
35929         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
35930
35931 2008-11-17  Bruce Korb  <bkorb@gnu.org>
35932
35933         * modules/parse-duration-tests: New file.
35934         * tests/test-parse-duration.sh: New file.
35935         * tests/test-parse-duration.c: New file.
35936
35937         New module 'parse-duration'.
35938         * lib/parse-duration.h: New file.
35939         * lib/parse-duration.c: New file.
35940         * modules/parse-duration: New file.
35941
35942 2008-11-17  Bruno Haible  <bruno@clisp.org>
35943
35944         * tests/test-select-out.sh: Comment out the first pipe test.
35945         Reported by Simon Josefsson.
35946
35947 2008-11-17  Bruno Haible  <bruno@clisp.org>
35948
35949         * modules/getaddrinfo (Depends-on): Add servent, hostent.
35950         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
35951         gl_HOSTENT.
35952
35953 2008-11-17  Bruno Haible  <bruno@clisp.org>
35954
35955         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
35956         -lnetwork and -lnet. Needed for Haiku and BeOS.
35957
35958 2008-11-16  Bruno Haible  <bruno@clisp.org>
35959
35960         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
35961
35962 2008-11-16  Bruno Haible  <bruno@clisp.org>
35963
35964         Avoid test failure on Haiku.
35965         * tests/test-fsync.c: Include <errno.h>.
35966         (main): Don't require that fsync (0) fails.
35967
35968 2008-11-15  Bruno Haible  <bruno@clisp.org>
35969
35970         New module 'hostent'.
35971         * modules/hostent: New file.
35972         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
35973
35974 2008-11-15  Bruno Haible  <bruno@clisp.org>
35975
35976         New module 'servent'.
35977         * modules/servent: New file.
35978         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
35979
35980 2008-11-15  Bruno Haible  <bruno@clisp.org>
35981
35982         Avoid generating same test program with two different rules.
35983         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
35984         test-frexp to test-frexp-nolibm.
35985         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
35986         test-frexpl to test-frexpl-nolibm.
35987
35988 2008-11-15  Bruno Haible  <bruno@clisp.org>
35989
35990         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
35991         $(FREXPL_LIBM).
35992
35993 2008-11-15  Bruno Haible  <bruno@clisp.org>
35994
35995         * lib/netdb.in.h: Activate the definitions also when the system's
35996         <netdb.h> has 'struct addrinfo'.
35997         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
35998         EAI_OVERFLOW or AI_NUMERICSERV.
35999         * doc/posix-headers/netdb.texi: Document the problem.
36000
36001 2008-11-15  Bruno Haible  <bruno@clisp.org>
36002
36003         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
36004
36005         Make the 'sched' module work on platforms where <sched.h> exists but
36006         is incomplete (such as Haiku).
36007         * lib/sched.in.h; Include the system's <sched.h> if it exists.
36008         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
36009         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
36010         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
36011         HAVE_STRUCT_SCHED_PARAM.
36012         * modules/sched (Depends-on): Add include_next.
36013         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
36014         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
36015         * doc/posix-headers/sched.texi: Document the issue.
36016
36017 2008-11-13  Jim Meyering  <meyering@redhat.com>
36018
36019         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
36020         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
36021         test would fail due to the difference in the Report bugs to ...
36022         line.  The expected address is empty, "<>", while the actual
36023         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
36024
36025 2008-11-12  Bruno Haible  <bruno@clisp.org>
36026
36027         lstat: don't compile lstat.c on systems lacking lstat
36028         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
36029         which don't have lstat; this is handled by lib/sys_stat.in.h already.
36030         Reported by Daniel P. Berrange via Jim Meyering.
36031
36032 2008-11-12  Jim Meyering  <meyering@redhat.com>
36033
36034         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
36035
36036 2008-11-12  Simon Josefsson  <simon@josefsson.org>
36037
36038         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
36039         instead.
36040
36041 2008-11-12  Bruno Haible  <bruno@clisp.org>
36042
36043         * lib/unicodeio.c: Include unistr.h.
36044         (utf8_wctomb): Remove function.
36045         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
36046
36047 2008-11-12  Simon Josefsson  <simon@josefsson.org>
36048
36049         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
36050         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
36051         <bruno@clisp.org>.
36052         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
36053
36054 2008-11-12  Simon Josefsson  <simon@josefsson.org>
36055
36056         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
36057         * doc/gnulib.texi: Add section for warnings.
36058
36059 2008-11-11  Bruno Haible  <bruno@clisp.org>
36060
36061         * lib/sockets.h: Add a comment.
36062
36063 2008-11-11  Karl Berry  <karl@gnu.org>
36064
36065         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
36066
36067 2008-11-11  Eric Blake  <ebb9@byu.net>
36068
36069         fdl.texi: avoid git symlinks
36070         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
36071
36072 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
36073
36074         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
36075
36076 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
36077
36078         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
36079         (gl_WARN_ADD): Substitute $2 if literal.
36080
36081 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
36082
36083         * m4/warning.m4: Remove.
36084
36085 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
36086
36087         * m4/warnings.m4: Almost complete rewrite. :-)
36088
36089 2008-11-10  Simon Josefsson  <simon@josefsson.org>
36090
36091         * modules/warnings: New module.
36092         * m4/warnings.m4: New file.
36093         * MODULES.html.sh: Mention warnings module.
36094         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
36095         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
36096
36097 2008-11-10  Eric Blake  <ebb9@byu.net>
36098
36099         fdl.texi: make a symlink to the latest version
36100         * doc/standards.texi: Revert today's earlier change.
36101         * doc/fdl-1.2.texi: Rename from old fdl.texi...
36102         * doc/fdl.texi: ...and replace this with a symlink to the newer
36103         fdl-1.3.texi.
36104
36105 2008-11-10  Bruno Haible  <bruno@clisp.org>
36106
36107         * tests/test-select-fd.c (main): Accept the result file name as fourth
36108         argument.
36109         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
36110         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
36111
36112 2008-11-10  Bruno Haible  <bruno@clisp.org>
36113
36114         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
36115         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
36116         as autoconf-substituted macros.
36117         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
36118         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
36119         gl_NETDB_H_DEFAULTS. Set these variables.
36120         * modules/netdb (Makefile.am): Substitute these variables.
36121
36122 2008-11-10  Eric Blake  <ebb9@byu.net>
36123
36124         standards.texi: include correct file for FDL 1.3
36125         * doc/standards.texi (GNU Free Documentation License): Change
36126         include file to pull in FDL 1.3, not 1.2.
36127
36128         fdl.texi: revert accidental change to license
36129         * doc/fdl.texi: This is FDL 1.2, not 1.3.
36130
36131 2008-11-10  Bruno Haible  <bruno@clisp.org>
36132
36133         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
36134         cross-compiling guesses also when the native compile gives no result.
36135
36136 2008-11-10  Bruno Haible  <bruno@clisp.org>
36137
36138         * lib/spawni.c (__spawni): Force variable into the stack.
36139
36140 2008-11-10  Bruno Haible  <bruno@clisp.org>
36141
36142         Add support for Haiku.
36143         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
36144         glibc and BeOS, but also on Haiku.
36145         * lib/fpurge.c (fpurge): Likewise.
36146         * lib/freadable.c (freadable): Likewise.
36147         * lib/freadahead.c (freadahead): Likewise.
36148         * lib/freading.c (freading): Likewise.
36149         * lib/freadptr.c (freadptr): Likewise.
36150         * lib/freadseek.c (freadptrinc): Likewise.
36151         * lib/fseeko.c (rpl_fseeko): Likewise.
36152         * lib/fseterr.c (fseterr): Likewise.
36153         * lib/fwritable.c (fwritable): Likewise.
36154         * lib/fwriting.c (fwriting): Likewise.
36155         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
36156
36157 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
36158
36159         * lib/config.charset: Treat Haiku like BeOS.
36160
36161 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
36162
36163         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
36164         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
36165
36166 2008-11-08  Bruno Haible  <bruno@clisp.org>
36167
36168         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
36169         AC_CACHE_CHECK.
36170
36171 2008-11-08  Bruno Haible  <bruno@clisp.org>
36172
36173         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
36174
36175 2008-11-08  Bruno Haible  <bruno@clisp.org>
36176
36177         * tests/test-select-fd.c: New file.
36178         * tests/test-select-in.sh: New file.
36179         * tests/test-select-out.sh: New file.
36180         * tests/test-select-stdin.c: New file.
36181         * modules/select-tests (Files): Add the new files.
36182         (Depends-on): Add gettimeofday.
36183         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
36184         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
36185         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
36186
36187 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
36188             Bruno Haible  <bruno@clisp.org>
36189
36190         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
36191
36192 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
36193
36194         * build-aux/pmccabe2html: Added support for C++ source files.
36195
36196 2008-11-05  Ben Pfaff  <blp@gnu.org>
36197
36198         Fix lib/close.c build on Windows.
36199         * modules/close (Files): Add lib/w32sock.h.
36200
36201 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
36202
36203         Accept Bison's NEWS format.
36204         * build-aux/announce-gen (print_news_deltas): Tweak
36205         $re_prefix.
36206
36207 2008-11-04  Bruno Haible  <bruno@clisp.org>
36208
36209         * modules/random_r (Maintainer): Add glibc.
36210
36211 2008-11-04  Simon Josefsson  <simon@josefsson.org>
36212
36213         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
36214         by karl@freefriends.org (Karl Berry).
36215         * doc/alloca.texi: Likewise.
36216         * doc/c-ctype.texi: Likewise.
36217         * doc/c-strcase.texi: Likewise.
36218         * doc/c-strcaseeq.texi: Likewise.
36219         * doc/c-strcasestr.texi: Likewise.
36220         * doc/c-strstr.texi: Likewise.
36221         * doc/c-strtod.texi: Likewise.
36222         * doc/c-strtold.texi: Likewise.
36223         * doc/ctime.texi: Likewise.
36224         * doc/error.texi: Likewise.
36225         * doc/fdl.texi: Likewise.
36226         * doc/gcd.texi: Likewise.
36227         * doc/getdate.texi: Likewise.
36228         * doc/gnulib-intro.texi: Likewise.
36229         * doc/gnulib-tool.texi: Likewise.
36230         * doc/gnulib.texi: Likewise.
36231         * doc/inet_ntoa.texi: Likewise.
36232         * doc/maintain.texi: Likewise.
36233         * doc/make-stds.texi: Likewise.
36234         * doc/quote.texi: Likewise.
36235         * doc/regexprops-generic.texi: Likewise.
36236         * doc/standards.texi: Likewise.
36237         * doc/verify.texi: Likewise.
36238         * doc/visibility.texi: Likewise.
36239         * doc/gnulib.texi (GNU Free Documentation License): Include
36240         fdl-1.3.texi instead of fdl.texi.
36241
36242 2008-11-04  Simon Josefsson  <simon@josefsson.org>
36243
36244         * doc/fdl-1.3.texi: New file, from
36245         <http://www.gnu.org/licenses/fdl-1.3.texi>.
36246         * modules/fdl-1.3: Add.
36247         * MODULES.html.sh: Add fdl-1.3.
36248
36249 2008-11-03  Bruno Haible  <bruno@clisp.org>
36250
36251         Make determination of absolute name of header file work with AIX xlc.
36252         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
36253         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
36254         preprocessing.
36255         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
36256         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
36257
36258 2008-11-03  Simon Josefsson  <simon@josefsson.org>
36259
36260         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
36261         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
36262         <ludo@gnu.org>.
36263
36264 2008-11-02  Bruno Haible  <bruno@clisp.org>
36265
36266         Mark 'strpbrk' obsolete.
36267         * modules/strpbrk (Status, Notice): New sections.
36268         * modules/strtok_r (Depends-on): Add strpbrk.
36269
36270 2008-11-02  Bruno Haible  <bruno@clisp.org>
36271
36272         Mark 'strdup' obsolete.
36273         * modules/strdup (Status, Notice): New sections.
36274         * modules/findprog (Depends-on): Add strdup.
36275         * modules/getaddrinfo (Depends-on): Likewise.
36276         * modules/localename (Depends-on): Likewise.
36277         * modules/relocatable-lib (Depends-on): Likewise.
36278         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
36279         * modules/relocatable-prog (Depends-on): Likewise.
36280         * modules/trim (Depends-on): Likewise.
36281         * modules/unictype/gen-ctype (Depends-on): Likewise.
36282         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
36283
36284 2008-11-02  Bruno Haible  <bruno@clisp.org>
36285
36286         Mark 'strcspn' obsolete.
36287         * modules/strcspn (Status, Notice): New sections.
36288
36289 2008-11-02  Bruno Haible  <bruno@clisp.org>
36290
36291         Mark 'rmdir' obsolete.
36292         * modules/rmdir (Status, Notice): New sections.
36293         * modules/clean-temp (Depends-on): Add rmdir.
36294         * modules/openat (Depends-on): Likewise.
36295
36296 2008-11-02  Bruno Haible  <bruno@clisp.org>
36297
36298         Mark 'raise' obsolete.
36299         * modules/raise (Status, Notice): New sections.
36300         (Include): Specify <signal.h>.
36301         * modules/stdio (Depends-on): Add raise.
36302         * modules/write (Depends-on): Likewise.
36303
36304 2008-11-02  Bruno Haible  <bruno@clisp.org>
36305
36306         Mark 'memset' obsolete.
36307         * modules/memset (Status, Notice): New sections.
36308
36309 2008-11-02  Bruno Haible  <bruno@clisp.org>
36310
36311         Mark 'memmove' obsolete.
36312         * modules/memmove (Status, Notice): New sections.
36313         * modules/argp (Depends-on): Add memmove.
36314         * modules/argz (Depends-on): Likewise.
36315         * modules/canonicalize (Depends-on): Likewise.
36316         * modules/canonicalize-lgpl (Depends-on): Likewise.
36317         * modules/fts (Depends-on): Likewise.
36318         * modules/getcwd (Depends-on): Likewise.
36319         * modules/human (Depends-on): Likewise.
36320         * modules/regex (Depends-on): Likewise.
36321         * modules/striconveh (Depends-on): Likewise.
36322         * modules/trim (Depends-on): Likewise.
36323         * modules/unistr/u8-move (Depends-on): Likewise.
36324         * modules/unistr/u16-move (Depends-on): Likewise.
36325         * modules/unistr/u32-move (Depends-on): Likewise.
36326
36327 2008-11-02  Bruno Haible  <bruno@clisp.org>
36328
36329         Mark 'memcpy' obsolete.
36330         * modules/memcpy (Status, Notice): New sections.
36331
36332 2008-11-02  Bruno Haible  <bruno@clisp.org>
36333
36334         Mark 'memcmp' obsolete.
36335         * modules/memcmp (Status, Notice): New sections.
36336         * modules/argmatch (Depends-on): Add memchr.
36337         * modules/backupfile (Depends-on): Likewise.
36338         * modules/c-strcasestr (Depends-on): Likewise.
36339         * modules/crypto/des (Depends-on): Likewise.
36340         * modules/csharpcomp (Depends-on): Likewise.
36341         * modules/fnmatch (Depends-on): Likewise.
36342         * modules/git-merge-changelog (Depends-on): Likewise.
36343         * modules/isnand (Depends-on): Likewise.
36344         * modules/isnand-nolibm (Depends-on): Likewise.
36345         * modules/isnanf (Depends-on): Likewise.
36346         * modules/isnanf-nolibm (Depends-on): Likewise.
36347         * modules/isnanl (Depends-on): Likewise.
36348         * modules/isnanl-nolibm (Depends-on): Likewise.
36349         * modules/mbchar (Depends-on): Likewise.
36350         * modules/memcoll (Depends-on): Likewise.
36351         * modules/quotearg (Depends-on): Likewise.
36352         * modules/regex (Depends-on): Likewise.
36353         * modules/relocatable-prog (Depends-on): Likewise.
36354         * modules/same (Depends-on): Likewise.
36355         * modules/signbit (Depends-on): Likewise.
36356         * modules/strcasestr-simple (Depends-on): Likewise.
36357         * modules/unictype/gen-ctype (Depends-on): Likewise.
36358         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
36359         * modules/uniname/uniname (Depends-on): Likewise.
36360         * modules/unistr/u8-cmp (Depends-on): Likewise.
36361
36362 2008-11-02  Bruno Haible  <bruno@clisp.org>
36363
36364         Mark 'memchr' obsolete.
36365         * modules/memchr (Status, Notice): New sections.
36366         * modules/argp (Depends-on): Add memchr.
36367         * modules/base64 (Depends-on): Likewise.
36368         * modules/c-strcasestr (Depends-on): Likewise.
36369         * modules/chdir-long (Depends-on): Likewise.
36370         * modules/fnmatch (Depends-on): Likewise.
36371         * modules/getsubopt (Depends-on): Likewise.
36372         * modules/git-merge-changelog (Depends-on): Likewise.
36373         * modules/glob (Depends-on): Likewise.
36374         * modules/strcasestr-simple (Depends-on): Likewise.
36375         * modules/strnlen (Depends-on): Likewise.
36376
36377 2008-11-02  Bruno Haible  <bruno@clisp.org>
36378
36379         Mark 'atexit' obsolete.
36380         * modules/atexit (Status, Notice): New sections.
36381         * modules/chdir-long (Depends-on): Add atexit.
36382         * modules/wait-process (Depends-on): Likewise.
36383
36384 2008-11-02  Bruno Haible  <bruno@clisp.org>
36385
36386         * gnulib-tool: New option --with-obsolete.
36387         (func_usage): Document it.
36388         (func_modules_transitive_closure): Drop obsolete dependencies if
36389         incobsolete is not true.
36390         (func_import): Read and save the incobsolete variable to the cache.
36391
36392 2008-11-02  Bruno Haible  <bruno@clisp.org>
36393
36394         * modules/TEMPLATE-EXTENDED: New field 'Status'.
36395         * gnulib-tool: New option --extract-status.
36396         (func_usage): Document it.
36397         (sed_extract_prog): Recognize it.
36398         (func_get_status): New function.
36399
36400 2008-10-30  Simon Josefsson  <simon@josefsson.org>
36401
36402         * modules/sockets (License): Change from LGPL to LGPLv2+.
36403
36404 2008-10-28  Simon Josefsson  <simon@josefsson.org>
36405
36406         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
36407
36408 2008-10-28  Simon Josefsson  <simon@josefsson.org>
36409
36410         * MODULES.html.sh (Support for systems lacking POSIX:2001):
36411         Mention times and sys_times.
36412         * modules/sys_times, modules/sys_times-tests: New modules.
36413         * modules/times, modules/times-tests: Likewise
36414         * m4/sys_times_h.m4: New file.
36415         * lib/sys_times.in.h: Likewise
36416         * lib/times.c: Likewise.
36417         * tests/test-sys_times.c: Likewise.
36418         * tests/test-times.c: Likewise.
36419         * doc/posix-headers/sys_times.texi: Update.
36420         * doc/posix-functions/times.texi: Update.
36421
36422 2008-10-28  Jim Meyering  <meyering@redhat.com>
36423
36424         * modules/tempname (Depends-on): Add lstat.
36425
36426         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
36427
36428 2008-10-28  Simon Josefsson  <simon@josefsson.org>
36429
36430         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
36431         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
36432         using idiom used elsewhere in gnulib.
36433
36434 2008-10-27  Jim Meyering  <meyering@redhat.com>
36435
36436         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
36437
36438 2008-10-27  Simon Josefsson  <simon@josefsson.org>
36439
36440         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
36441         TESTS_ENVIRONMENT, for shell scripts that needs to call built
36442         programs.
36443         * tests/test-argp-2.sh: Use $EXEEXT when needed.
36444
36445 2008-10-27  Simon Josefsson  <simon@josefsson.org>
36446
36447         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
36448
36449 2008-10-27  Bruno Haible  <bruno@clisp.org>
36450
36451         * tests/test-lstat.c: Include <stdio.h>.
36452
36453 2008-10-27  Simon Josefsson  <simon@josefsson.org>
36454
36455         * modules/lstat-tests: New module.
36456         * tests/test-lstat.c: New file.
36457
36458 2008-10-26  Jim Meyering  <meyering@redhat.com>
36459
36460         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
36461
36462 2008-10-26  Simon Josefsson  <simon@josefsson.org>
36463             Bruno Haible  <bruno@clisp.org>
36464
36465         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
36466         * modules/configmake (Include): Add a note that the include must come
36467         after all system headers.
36468         * lib/javaversion.c: Include configmake.h after all other includes.
36469
36470 2008-10-26  Bruno Haible  <bruno@clisp.org>
36471
36472         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
36473         HAVE_STRUCT_RANDOM_DATA to 1.
36474         (gl_STDLIB_H): Simplify.
36475
36476 2008-10-26  Simon Josefsson  <simon@josefsson.org>
36477
36478         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
36479         substitute HAVE_STRUCT_RANDOM_DATA.
36480         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
36481         random_data.
36482         * modules/stdlib (Makefile.am): Substitute
36483         HAVE_STRUCT_RANDOM_DATA.
36484
36485 2008-10-26  Simon Josefsson  <simon@josefsson.org>
36486
36487         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
36488         * doc/gnulib-intro.texi (Copyright): Likewise.
36489
36490 2008-10-26  Simon Josefsson  <simon@josefsson.org>
36491
36492         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
36493         findings.
36494
36495 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
36496             Bruno Haible  <bruno@clisp.org>
36497
36498         * lib/unistd.in.h: Include <winsock2.h>.
36499         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
36500         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
36501         Provide dummy declarations.
36502         (gethostname): Override.
36503         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
36504         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
36505         gl_PREREQ_SYS_H_WINSOCK2.
36506         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
36507         * doc/posix-functions/gethostname.texi: More details.
36508
36509 2008-10-25  Bruno Haible  <bruno@clisp.org>
36510
36511         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
36512         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
36513         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
36514
36515         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
36516         here ...
36517         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
36518         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
36519         gl_UNISTD_H_DEFAULTS.
36520
36521 2008-10-25  Eric Blake  <ebb9@byu.net>
36522
36523         signbit: avoid spurious compiler failure
36524         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
36525         declarations inside function.
36526
36527 2008-10-24  Simon Josefsson  <simon@josefsson.org>
36528             Bruno Haible  <bruno@clisp.org>
36529
36530         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
36531         * modules/random_r (Depends-on): Add stdint.
36532
36533 2008-10-24  Bruno Haible  <bruno@clisp.org>
36534
36535         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
36536         Eggert.
36537         * modules/strerror (License): Likewise.
36538
36539 2008-10-24  Jim Meyering  <meyering@redhat.com>
36540
36541         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
36542         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
36543
36544 2008-10-24  Eric Blake  <ebb9@byu.net>
36545
36546         getgroups: fix compilation when getgroups is available
36547         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
36548         but with <config.h> override of getgroups disabled.
36549
36550 2008-10-24  Simon Josefsson  <simon@josefsson.org>
36551
36552         * doc/gnulib.texi (Header files): Add note about C++ problems.
36553         Explained by Bruno Haible <bruno@clisp.org>.
36554
36555 2008-10-23  Bruno Haible  <bruno@clisp.org>
36556
36557         Define a dummy SA_NODEFER macro on Interix.
36558         * lib/signal.in.h (SA_NODEFER): Define fallback.
36559         Reported by Aleksey Cheusov <cheusov@tut.by> via
36560         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
36561
36562 2008-10-23  Bruno Haible  <bruno@clisp.org>
36563
36564         * modules/freadahead (License): Change to LGPLv2+.
36565         Suggested by Simon Josefsson.
36566
36567 2008-10-23  Jim Meyering  <meyering@redhat.com>
36568
36569         random_r: new module
36570         * modules/random_r: New file.
36571         * m4/random_r.m4: New file.
36572         * lib/random_r.c: New file, from glibc.
36573         * modules/random_r-tests: New file.
36574         * tests/test-random_r.c: New file.
36575         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
36576          Declare.
36577         (RAND_MAX): Define.
36578         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
36579         * modules/stdlib: Substitute them, too.
36580         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
36581         * doc/glibc-functions/initstate_r.texi: Mention the new module.
36582         * doc/glibc-functions/random_r.texi: Likewise.
36583         * doc/glibc-functions/setstate_r.texi: Likewise.
36584         * doc/glibc-functions/srandom_r.texi: Likewise.
36585         * config/srclist.txt: Mention it.
36586
36587 2008-10-23  David Lutterkort  <lutter@redhat.com>
36588
36589         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
36590         link requirement
36591
36592 2008-10-23  Jim Meyering  <meyering@redhat.com>
36593
36594         selinux-h: mark parameters of stub functions as intentionally unused
36595         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
36596         * lib/se-context.in.h: Likewise.
36597
36598 2008-10-22  Simon Josefsson  <simon@josefsson.org>
36599
36600         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
36601
36602 2008-10-22  Simon Josefsson  <simon@josefsson.org>
36603
36604         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
36605
36606 2008-10-22  Eric Blake  <ebb9@byu.net>
36607
36608         glthread/thread: avoid compiler warning
36609         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
36610         Add unreachable abort to silence compiler.
36611
36612 2008-10-22  Eric Blake  <ebb9@byu.net>
36613
36614         netdb: also supply struct addrinfo for cygwin 1.5.x
36615         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
36616         older cygwin.
36617         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
36618         cygwin.
36619         * doc/posix-headers/netdb.texi (netdb.h): Document this.
36620
36621 2008-10-22  Bruno Haible  <bruno@clisp.org>
36622
36623         * users.txt: Update entry about pspp.
36624
36625 2008-10-21  Bruno Haible  <bruno@clisp.org>
36626
36627         Simplification.
36628         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
36629         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
36630
36631         Simplification.
36632         * lib/ioctl.c (ioctl): Don't undefine.
36633         * lib/socket.c (socket): Don't undefine.
36634
36635         Remove unused module indicator macros.
36636         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
36637         GNULIB_$1 as a C macro.
36638
36639         * doc/posix-functions/close.texi: Undo last change.
36640         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
36641         Windows platforms.
36642
36643 2008-10-21  Bruno Haible  <bruno@clisp.org>
36644
36645         Add gethostname() declaration to <unistd.h>.
36646         * lib/unistd.in.h (gethostname): New declaration.
36647         * lib/gethostname.c: Include <unistd.h>.
36648         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
36649         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
36650         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
36651         and HAVE_GETHOSTNAME.
36652         * modules/gethostname (Depends-on): Add unistd.
36653         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
36654         (Include): Specify <unistd.h>.
36655         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
36656         HAVE_GETHOSTNAME.
36657         * tests/test-gethostname.c: Include <unistd.h> first.
36658
36659 2008-10-21  Bruno Haible  <bruno@clisp.org>
36660
36661         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
36662         * modules/select-tests (Depends-on): Likewise.
36663         Reported by Simon Josefsson.
36664
36665 2008-10-21  Simon Josefsson  <simon@josefsson.org>
36666
36667         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
36668         * lib/accept.c: New file, based on winsock.c.
36669         * lib/bind.c: New file, based on winsock.c.
36670         * lib/connect.c: New file, based on winsock.c.
36671         * lib/getpeername.c: New file, based on winsock.c.
36672         * lib/getsockname.c: New file, based on winsock.c.
36673         * lib/getsockopt.c: New file, based on winsock.c.
36674         * lib/ioctl.c: New file, based on winsock.c.
36675         * lib/listen.c: New file, based on winsock.c.
36676         * lib/recv.c: New file, based on winsock.c.
36677         * lib/recvfrom.c: New file, based on winsock.c.
36678         * lib/send.c: New file, based on winsock.c.
36679         * lib/sendto.c: New file, based on winsock.c.
36680         * lib/setsockopt.c: New file, based on winsock.c.
36681         * lib/shutdown.c: New file, based on winsock.c.
36682         * lib/socket.c: New file, based on winsock.c.
36683         * lib/w32sock.h: New file, based on winsock.c.
36684         * lib/winsock.c: Remove file.
36685         * modules/accept: Likewise.
36686         * modules/bind: Likewise.
36687         * modules/connect: Likewise.
36688         * modules/getpeername: Likewise.
36689         * modules/getsockname: Likewise.
36690         * modules/getsockopt: Likewise.
36691         * modules/ioctl: Likewise.
36692         * modules/listen: Likewise.
36693         * modules/recv: Likewise.
36694         * modules/recvfrom: Likewise.
36695         * modules/send: Likewise.
36696         * modules/sendto: Likewise.
36697         * modules/setsockopt: Likewise.
36698         * modules/shutdown: Likewise.
36699         * modules/socket: Use socket.c instead of winsock.c.
36700         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
36701         * doc/posix-functions/accept.texi: Doc fix.
36702         * doc/posix-functions/bind.texi: Doc fix.
36703         * doc/posix-functions/close.texi: Doc fix.
36704         * doc/posix-functions/connect.texi: Doc fix.
36705         * doc/posix-functions/getpeername.texi: Doc fix.
36706         * doc/posix-functions/getsockname.texi: Doc fix.
36707         * doc/posix-functions/getsockopt.texi: Doc fix.
36708         * doc/posix-functions/ioctl.texi: Doc fix.
36709         * doc/posix-functions/listen.texi: Doc fix.
36710         * doc/posix-functions/recv.texi: Doc fix.
36711         * doc/posix-functions/recvfrom.texi: Doc fix.
36712         * doc/posix-functions/send.texi: Doc fix.
36713         * doc/posix-functions/sendto.texi: Doc fix.
36714         * doc/posix-functions/setsockopt.texi: Doc fix.
36715         * doc/posix-functions/shutdown.texi: Doc fix.
36716         * doc/posix-functions/socket.texi: Doc fix.
36717
36718 2008-10-20  Bruno Haible  <bruno@clisp.org>
36719
36720         Take into account the role of SIGABRT_COMPAT on Windows 2008.
36721         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
36722         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
36723         as an alias for SIGABRT.
36724         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
36725         (sigaction): Map it to SIGABRT.
36726         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
36727
36728 2008-10-20  Bruno Haible  <bruno@clisp.org>
36729
36730         * lib/fts.c: Don't include lstat.h.
36731         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
36732
36733         Move the lstat() declaration to <sys/stat.h>.
36734         * lib/lstat.h: Remove file.
36735         * lib/sys_stat.in.h: Add special invocation convention.
36736         (lstat): New declaration.
36737         * lib/lstat.c (orig_lstat): New function.
36738         (rpl_lstat): Use orig_lstat instead of lstat.
36739         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
36740         AC_C_INLINE. Set REPLACE_LSTAT.
36741         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
36742         and REPLACE_LSTAT.
36743         * modules/lstat (Files): Remove lib/lstat.h.
36744         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
36745         (Include): Specify <sys/stat.h> instead of lstat.h.
36746         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
36747         REPLACE_LSTAT.
36748         * NEWS: Mention the change.
36749
36750 2008-10-20  Bruno Haible  <bruno@clisp.org>
36751
36752         * modules/posix_spawn-tests: New file.
36753         * tests/test-posix_spawn3.c: New file.
36754
36755 2008-10-20  Bruno Haible  <bruno@clisp.org>
36756
36757         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
36758         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
36759         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
36760         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
36761         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
36762
36763 2008-10-20  Bruno Haible  <bruno@clisp.org>
36764
36765         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
36766         of posix_spawn on AIX 5.3.
36767
36768 2008-10-20  Bruno Haible  <bruno@clisp.org>
36769
36770         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
36771
36772 2008-10-20  Bruno Haible  <bruno@clisp.org>
36773
36774         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
36775         of AC_LANG_PROGRAM.
36776
36777 2008-10-20  Simon Josefsson  <simon@josefsson.org>
36778
36779         * lib/netdb.in.h: Don't define GNU specific constants until they
36780         are supported or needed.  Reported by Bruno Haible
36781         <bruno@clisp.org>.
36782
36783 2008-10-20  Simon Josefsson  <simon@josefsson.org>
36784
36785         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
36786
36787 2008-10-20  Simon Josefsson  <simon@josefsson.org>
36788
36789         * lib/getaddrinfo.h: Remove file.
36790         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
36791         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
36792         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
36793         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
36794         * modules/netdb: Substitute GNULIB_GETADDRINFO.
36795         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
36796         * tests/test-getaddrinfo.c: Likewise.
36797         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
36798         * NEWS: Mention change.
36799
36800 2008-10-19  Bruno Haible  <bruno@clisp.org>
36801
36802         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
36803
36804 2008-10-19  Bruno Haible  <bruno@clisp.org>
36805
36806         * lib/wait-process.c: Include simply <sys/wait.h>.
36807         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
36808         WIFSTOPPED): Remove fallback definitions.
36809         * modules/wait-process (Depends-on): Add sys_wait.
36810
36811         New module 'sys_wait'.
36812         * modules/sys_wait: New file.
36813         * lib/sys_wait.in.h: New file, partially copied from
36814         lib/wait-process.c.
36815         * m4/sys_wait_h.m4: New file.
36816         * doc/posix-headers/sys_wait.texi: Mention the new module.
36817
36818 2008-10-19  Bruno Haible  <bruno@clisp.org>
36819
36820         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
36821
36822 2008-10-19  Bruno Haible  <bruno@clisp.org>
36823
36824         Assume that waitpid() fills an 'int' status, not a 'union wait'.
36825         * lib/wait-process.c (WAIT_T): Remove type.
36826         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
36827         (wait_subprocess): Update.
36828
36829 2008-10-19  Bruno Haible  <bruno@clisp.org>
36830
36831         New module 'atoll'.
36832         * modules/atoll: New file.
36833         * lib/stdlib.in.h (atoll): New declaration.
36834         * lib/atoll.c: New file, from glibc with modifications.
36835         * m4/atoll.m4: New file.
36836         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
36837         HAVE_ATOLL.
36838         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
36839         * doc/posix-functions/atoll.texi: Mention the new module.
36840
36841 2008-10-19  Bruno Haible  <bruno@clisp.org>
36842
36843         Add strtoull() declaration to <stdlib.h>.
36844         * lib/stdlib.in.h (strtoull): New declaration.
36845         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
36846         Set HAVE_STRTOULL.
36847         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
36848         HAVE_STRTOULL.
36849         * modules/strtoull (Depends-on): Add stdlib.
36850         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
36851         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
36852         HAVE_STRTOULL.
36853
36854 2008-10-19  Bruno Haible  <bruno@clisp.org>
36855
36856         Add strtoll() declaration to <stdlib.h>.
36857         * lib/stdlib.in.h (strtoll): New declaration.
36858         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
36859         Set HAVE_STRTOLL.
36860         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
36861         HAVE_STRTOLL.
36862         * modules/strtoll (Depends-on): Add stdlib.
36863         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
36864         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
36865
36866 2008-10-19  Bruno Haible  <bruno@clisp.org>
36867
36868         * modules/bcopy (Depends-on): Add strings.
36869         (Include): Specify <strings.h>.
36870
36871 2008-10-19  Bruno Haible  <bruno@clisp.org>
36872
36873         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
36874
36875 2008-10-19  Bruno Haible  <bruno@clisp.org>
36876
36877         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
36878         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
36879         mingw.
36880
36881 2008-10-19  Bruno Haible  <bruno@clisp.org>
36882
36883         * lib/atanl.c: Don't include isnanl.h.
36884         * lib/cosl.c: Likewise.
36885         * lib/ldexpl.c: Likewise.
36886         * lib/logl.c: Likewise.
36887         * lib/sinl.c: Likewise.
36888         * lib/sqrtl.c: Likewise.
36889         * lib/tanl.c: Likewise.
36890
36891         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
36892         * lib/isnanf.h: Remove file.
36893         * lib/isnand.h: Remove file.
36894         * lib/isnanl.h: Remove file.
36895         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
36896         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
36897         macros.
36898         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
36899         HAVE_ISNANF, don't define it as a C macro.
36900         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
36901         HAVE_ISNAND, don't define it as a C macro.
36902         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
36903         HAVE_ISNANL, don't define it as a C macro.
36904         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
36905         HAVE_ISNAN[FDL].
36906         * modules/isnanf (Files): Remove lib/isnanf.h.
36907         (Depends-on): Add math.
36908         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
36909         (Include): Specify <math.h> instead of isnanf.h.
36910         * modules/isnand (Files): Remove lib/isnand.h.
36911         (Depends-on): Add math.
36912         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
36913         (Include): Specify <math.h> instead of isnand.h.
36914         * modules/isnanl (Files): Remove lib/isnanl.h.
36915         (Depends-on): Add math.
36916         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
36917         (Include): Specify <math.h> instead of isnanl.h.
36918         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
36919         HAVE_ISNAN[FDL].
36920         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
36921         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
36922         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
36923         * NEWS: Mention the change.
36924
36925 2008-10-18  Bruno Haible  <bruno@clisp.org>
36926
36927         Add getusershell(), setusershell(), endusershell() declarations to
36928         <unistd.h>.
36929         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
36930         declarations.
36931         * lib/getusershell.c: Include unistd.h.
36932         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
36933         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
36934         HAVE_GETUSERSHELL.
36935         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
36936         and HAVE_GETUSERSHELL.
36937         * modules/getusershell (Depends-on): Add unistd, extensions.
36938         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
36939         (Include): Specify <unistd.h>.
36940         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
36941         HAVE_GETUSERSHELL.
36942
36943 2008-10-18  Bruno Haible  <bruno@clisp.org>
36944
36945         Add a getloadavg() declaration to <stdlib.h>.
36946         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
36947         getloadavg declaration.
36948         (getloadavg): New declaration.
36949         * lib/getloadavg.c: Include <stdlib.h> first.
36950         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
36951         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
36952         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
36953         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
36954         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
36955         * modules/getloadavg (Depends-on): Add stdlib, extensions.
36956         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
36957         (Include): Specify <stdlib.h>.
36958         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
36959         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
36960
36961 2008-10-18  Bruno Haible  <bruno@clisp.org>
36962
36963         * lib/dirchownmod.c: Don't include lchmod.h.
36964
36965         Move the lchmod() declaration to <sys/stat.h>.
36966         * lib/lchmod.h: Remove file.
36967         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
36968         (lchmod): New declaration, moved here from lib/lchown.h.
36969         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
36970         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
36971         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
36972         and HAVE_LCHMOD.
36973         * modules/lchmod (Files): Remove lib/lchmod.h.
36974         (Depends-on): Add sys_stat, extensions.
36975         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
36976         (Include): Specify <sys/stat.h> instead of lchmod.h.
36977         * modules/sys_stat (Depends-on): Add link-warning.
36978         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
36979         definition of GL_LINK_WARNING.
36980         * NEWS: Mention the change.
36981
36982 2008-10-18  Bruno Haible  <bruno@clisp.org>
36983
36984         * lib/fchdir.c: Don't include dirfd.h.
36985         * lib/fts.c: Likewise.
36986         * lib/getcwd.c: Likewise.
36987         * lib/glob.c: Likewise.
36988
36989         Move the dirfd() declaration to <dirent.h>.
36990         * lib/dirfd.h: Remove file.
36991         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
36992         (dirfd): New declaration.
36993         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
36994         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
36995         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
36996         HAVE_DECL_DIRFD.
36997         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
36998         HAVE_DECL_DIRFD.
36999         * modules/dirfd (Files): Remove lib/dirfd.h.
37000         (Depends-on): Add dirent, extensions.
37001         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
37002         (Include): Specify <dirent.h> instead of dirfd.h.
37003         * modules/dirent (Depends-on): Add link-warning.
37004         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
37005         definition of GL_LINK_WARNING.
37006         * NEWS: Mention the change.
37007
37008 2008-10-18  Bruno Haible  <bruno@clisp.org>
37009
37010         Move the euidaccess() declaration to <unistd.h>.
37011         * lib/euidaccess.h: Remove file.
37012         * lib/unistd.in.h (euidaccess): New declaration.
37013         * lib/euidaccess.c: Don't include euidaccess.h.
37014         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
37015         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
37016         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
37017         and HAVE_EUIDACCESS.
37018         * modules/euidaccess (Files): Remove lib/euidaccess.h.
37019         (Depends-on): Add unistd.
37020         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
37021         (Include): Specify <unistd.h> instead of euidaccess.h.
37022         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
37023         HAVE_EUIDACCESS.
37024         * NEWS: Mention the change.
37025
37026 2008-10-18  Bruno Haible  <bruno@clisp.org>
37027
37028         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
37029
37030         Move the getdomainname() declaration to <unistd.h>.
37031         * lib/getdomainname.h: Remove file.
37032         * lib/unistd.in.h (getdomainname): New declaration.
37033         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
37034         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
37035         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
37036         HAVE_GETDOMAINNAME.
37037         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
37038         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
37039         * modules/getdomainname (Files): Remove lib/getdomainname.h.
37040         (Depends-on): Add unistd, extensions.
37041         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
37042         (Includes): Specify <unistd.h> instead of getdomainname.h.
37043         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
37044         HAVE_GETDOMAINNAME.
37045         * NEWS: Mention the change.
37046
37047 2008-10-18  Bruno Haible  <bruno@clisp.org>
37048
37049         * modules/dirent: New file.
37050         * m4/dirent_h.m4: New file.
37051         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
37052         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
37053         * modules/fchdir (Files): Remove lib/dirent.in.h.
37054         (Depends-on): Add dirent.
37055         (Makefile.am): Move rules to modules/dirent.
37056         * doc/posix-headers/dirent.texi: Mention the new module.
37057
37058 2008-10-18  Bruno Haible  <bruno@clisp.org>
37059
37060         Avoid -Wunused-parameter warnings in public gnulib header files.
37061         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
37062         macro.
37063         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
37064
37065 2008-10-18  Bruno Haible  <bruno@clisp.org>
37066
37067         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
37068         * doc/glibc-functions/error.texi: Mention the module 'error'.
37069         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
37070         * doc/glibc-functions/getdomainname.texi: Mention the module
37071         'getdomainname'.
37072         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
37073         * doc/glibc-functions/getpagesize.texi: Mention the module
37074         'getpagesize'.
37075         * doc/glibc-functions/getusershell.texi: Mention the module
37076         'getusershell'.
37077         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
37078         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
37079         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
37080         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
37081         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
37082         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
37083         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
37084         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
37085         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
37086         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
37087         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
37088         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
37089         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
37090         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
37091
37092 2008-10-17  Bruno Haible  <bruno@clisp.org>
37093
37094         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
37095         HP-UX and IRIX, use -0.0L.
37096         * tests/test-ceill.c (minus_zero): Likewise.
37097         * tests/test-floorl.c (minus_zero): Likewise.
37098         * tests/test-frexpl.c (minus_zero): Likewise.
37099         * tests/test-isnan.c (minus_zerol): Likewise.
37100         * tests/test-isnanl.h (minus_zero): Likewise.
37101         * tests/test-ldexpl.c (minus_zero): Likewise.
37102         * tests/test-roundl.c (minus_zero): Likewise.
37103         * tests/test-signbit.c (minus_zerol): Likewise.
37104         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
37105         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
37106         * tests/test-truncl.c (minus_zero): Likewise.
37107         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
37108         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
37109         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
37110         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
37111
37112 2008-10-17  Bruno Haible  <bruno@clisp.org>
37113
37114         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
37115         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
37116         that it gets activated only for gcc >= 3.0.
37117         * lib/dirent.in.h: Likewise.
37118         * lib/errno.in.h: Likewise.
37119         * lib/fcntl.in.h: Likewise.
37120         * lib/float.in.h: Likewise.
37121         * lib/iconv.in.h: Likewise.
37122         * lib/inttypes.in.h: Likewise.
37123         * lib/locale.in.h: Likewise.
37124         * lib/math.in.h: Likewise.
37125         * lib/netdb.in.h: Likewise.
37126         * lib/netinet_in.in.h: Likewise.
37127         * lib/search.in.h: Likewise.
37128         * lib/signal.in.h: Likewise.
37129         * lib/spawn.in.h: Likewise.
37130         * lib/stdarg.in.h: Likewise.
37131         * lib/stdint.in.h: Likewise.
37132         * lib/stdio.in.h: Likewise.
37133         * lib/stdlib.in.h: Likewise.
37134         * lib/string.in.h: Likewise.
37135         * lib/strings.in.h: Likewise.
37136         * lib/sys_file.in.h: Likewise.
37137         * lib/sys_ioctl.in.h: Likewise.
37138         * lib/sys_select.in.h: Likewise.
37139         * lib/sys_socket.in.h: Likewise.
37140         * lib/sys_stat.in.h: Likewise.
37141         * lib/sys_time.in.h: Likewise.
37142         * lib/sysexits.in.h: Likewise.
37143         * lib/time.in.h: Likewise.
37144         * lib/unistd.in.h: Likewise.
37145         * lib/wchar.in.h: Likewise.
37146         * lib/wctype.in.h: Likewise.
37147         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
37148
37149 2008-10-17  Jim Meyering  <meyering@redhat.com>
37150
37151         ignore-value: don't depend on inline module
37152         * modules/ignore-value (Depends-on): Remove 'inline'.
37153         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
37154         Suggestion from Bruno Haible.
37155
37156 2008-10-17  Bruno Haible  <bruno@clisp.org>
37157
37158         New implementation of condition variables for Win32.
37159         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
37160         (gl_linked_waitqueue_t): New type.
37161         (gl_cond_t): Use it.
37162         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
37163         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
37164         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
37165         (glthread_cond_init_func, glthread_cond_wait_func,
37166         glthread_cond_timedwait_func, glthread_cond_signal_func,
37167         glthread_cond_broadcast_func, glthread_cond_destroy_func):
37168         Reimplemented on the basis of gl_linked_waitqueue_t.
37169         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
37170         gl_waitqueue_t.
37171         (gl_rwlock_t): Update.
37172         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
37173
37174 2008-10-17  Simon Josefsson  <simon@josefsson.org>
37175
37176         * modules/recvfrom (Depends-on): Add dependency on getpeername.
37177         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
37178
37179 2008-10-17  Jim Meyering  <meyering@redhat.com>
37180
37181         ignore-value: new module
37182         * modules/ignore-value: New file.
37183         * lib/ignore-value.h: New file.
37184         * MODULES.html.sh (Compiler warning management): New section,
37185         just for this module.  More to come.
37186
37187 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
37188
37189         open-safer.c: avoid 'signed and unsigned in conditional...' warning
37190         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
37191         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
37192
37193 2008-10-16  Jim Meyering  <meyering@redhat.com>
37194
37195         openat-die.c: avoid 'no previous prototype' warning
37196         * lib/openat-die.c: Include "openat.h".
37197         Reported by Reuben Thomas <rrt@sc3d.org>.
37198
37199 2008-10-16  Simon Josefsson  <simon@josefsson.org>
37200
37201         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
37202         * lib/netdb.in.h: Fix typo.
37203         Reported by Bruno Haible  <bruno@clisp.org>
37204
37205         * lib/netdb.in.h: Include sys/socket.h for platforms without
37206         netdb.h, to get structures like hostent on MinGW.
37207         * modules/netdb (Depends-on): Add sys_socket.
37208
37209 2008-10-15  Simon Josefsson  <simon@josefsson.org>
37210
37211         * modules/netdb, modules/netdb-tests: New file.
37212         * m4/netdb_h.m4: New file.
37213         * lib/netdb.in.h: Add, currently just an empty file pending
37214         definitions.
37215         * tests/test-netdb.c: New file.
37216         * doc/posix-headers/netdb.texi: Mention that we replace it if
37217         needed.
37218         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
37219         netdb.
37220
37221 2008-10-15  Simon Josefsson  <simon@josefsson.org>
37222
37223         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
37224         with code.
37225
37226 2008-10-13  Bruno Haible  <bruno@clisp.org>
37227
37228         * lib/glthread/cond.c (glthread_cond_wait_func,
37229         glthread_cond_timedwait_func): Add a comment.
37230
37231 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
37232
37233         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
37234         * tests/test-select.c: Likewise,
37235
37236 2008-10-13  Bruno Haible  <bruno@clisp.org>
37237
37238         * lib/glthread/cond.c (glthread_cond_wait_func,
37239         glthread_cond_timedwait_func): Fix variable name.
37240         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
37241
37242 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
37243
37244         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
37245         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
37246         struct sockaddr.sa_len.
37247         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
37248
37249 2008-10-13  Simon Josefsson  <simon@josefsson.org>
37250
37251         * build-aux/pmccabe2html: Add css and css_url parameters.
37252
37253 2008-10-12  Bruno Haible  <bruno@clisp.org>
37254
37255         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
37256         calling aclx_get.
37257         Reported by Rainer Tammer <tammer@tammer.net>.
37258
37259 2008-10-12  Bruno Haible  <bruno@clisp.org>
37260
37261         Use msvcrt aware primitives for creation/termination of Win32 threads.
37262         * lib/glthread/thread.c: Include <process.h>.
37263         (glthread_create_func): Use _beginthreadex instead of CreateThread.
37264         (wrapper_func): Update signature.
37265         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
37266
37267 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
37268             Bruno Haible  <bruno@clisp.org>
37269
37270         Provide a Win32 implementation of the 'cond' module.
37271         * lib/glthread/cond.h [USE_WIN32]: New implementation.
37272         * lib/glthread/cond.c (glthread_cond_init_func,
37273         glthread_cond_wait_func, glthread_cond_timedwait_func,
37274         glthread_cond_signal_func, glthread_cond_broadcast_func,
37275         glthread_cond_destroy_func) [USE_WIN32]: New functions.
37276         * modules/cond (Dependencies): Add gettimeofday.
37277
37278 2008-10-11  Bruno Haible  <bruno@clisp.org>
37279
37280         Make sleep work on older versions of mingw.
37281         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
37282         only whether it exists.
37283         * doc/posix-functions/sleep.texi: Mention the problem with older
37284         versions of mingw.
37285
37286 2008-10-11  Bruno Haible  <bruno@clisp.org>
37287
37288         New module 'shutdown'.
37289         * modules/shutdown: New file.
37290         * lib/sys_socket.in.h (shutdown): New declaration.
37291         * lib/winsock.c (shutdown): New function.
37292         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
37293         GNULIB_SHUTDOWN.
37294         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
37295         * doc/posix-functions/shutdown.texi: Document the new module.
37296
37297 2008-10-11  Jim Meyering  <meyering@redhat.com>
37298
37299         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
37300
37301 2008-10-11  Bruno Haible  <bruno@clisp.org>
37302
37303         New module 'fclose'.
37304         * modules/fclose: New file.
37305         * lib/stdio.in.h (fclose): New declaration.
37306         * lib/fclose.c: New file.
37307         * m4/fclose.m4: New file.
37308         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
37309         REPLACE_FCLOSE.
37310         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
37311         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
37312         REPLACE_FCLOSE.
37313         * modules/close (Depends-on): fclose.
37314         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
37315
37316 2008-10-11  Bruno Haible  <bruno@clisp.org>
37317
37318         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
37319         set errno and don't call _close.
37320
37321 2008-10-10  Bruno Haible  <bruno@clisp.org>
37322
37323         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
37324         ACL, not afterwards. Fixes test failure on Cygwin.
37325
37326 2008-10-09  Ben Pfaff  <blp@gnu.org>
37327
37328         * build-aux/announce-gen: Fix gnulib version related part of usage
37329         message.  Die with a useful error message if no tarballs are
37330         found.
37331
37332 2008-10-10  Jim Meyering  <meyering@redhat.com>
37333
37334         bootstrap: use git's --depth=N option only if it's supported
37335         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
37336         recognize the --depth option.  Reported by Pádraig Brady.
37337
37338 2008-10-09  Bruno Haible  <bruno@clisp.org>
37339
37340         New module 'ioctl'.
37341         * modules/ioctl: New file.
37342         * lib/sys_socket.in.h (ioctl): Remove declaration.
37343         * lib/winsock.c: Include <sys/ioctl.h>.
37344         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
37345         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
37346         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
37347         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
37348         * doc/posix-functions/ioctl.texi: Mention the new module.
37349
37350 2008-10-09  Bruno Haible  <bruno@clisp.org>
37351
37352         New module 'sys_ioctl'.
37353         * lib/sys_ioctl.in.h: New file.
37354         * m4/sys_ioctl_h.m4: New file.
37355         * modules/sys_ioctl: New file.
37356         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
37357
37358 2008-10-09  Bruno Haible  <bruno@clisp.org>
37359
37360         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
37361         * lib/winsock.c: Include <stdarg.h>.
37362         (rpl_ioctl): Change to second argument 'int' and then varargs.
37363
37364 2008-10-09  Bruno Haible  <bruno@clisp.org>
37365
37366         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
37367         when the sys_socket module is present and the system has <winsock2.h>.
37368
37369 2008-10-09  Bruno Haible  <bruno@clisp.org>
37370
37371         * doc/posix-functions/close.texi: Mention module 'close' instead of
37372         module 'sys_socket'.
37373
37374 2008-10-09  Bruno Haible  <bruno@clisp.org>
37375
37376         * doc/glibc-headers/sys_ioctl.texi: New file.
37377         * doc/gnulib.texi: Include it.
37378
37379 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
37380             Bruno Haible  <bruno@clisp.org>
37381
37382         Combine the two replacements of 'close'.
37383         * lib/sys_socket.in.h (close): Define to a reminder to include
37384         <unistd.h>.
37385         (_gl_close_fd_maybe_socket): New declaration.
37386         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
37387         * lib/winsock.c (close): Remove undefinition.
37388         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
37389         needed for the gnulib module 'close'.
37390         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
37391         define to an error symbol or to a warning, if suitable.
37392         * lib/close.c: Include <sys/socket.h>.
37393         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
37394         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
37395         UNISTD_H_HAVE_WINSOCK2_H.
37396         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
37397         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
37398         UNISTD_H_HAVE_WINSOCK2_H.
37399         * modules/sys_socket (Files): Add m4/unistd_h.m4.
37400         (configure.ac): Set a module indicator.
37401         (Makefile.am): Substitute GNULIB_CLOSE.
37402         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
37403         * modules/poll-tests (Depends-on): Add close.
37404         * modules/select-tests (Depends-on): Likewise.
37405
37406 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
37407             Bruno Haible  <bruno@clisp.org>
37408
37409         New module 'close'.
37410         * modules/close: New file.
37411         * lib/unistd.in.h (close): Move declaration out of the
37412         FCHDIR_REPLACEMENT scope.
37413         (_gl_unregister_fd): New declaration.
37414         * lib/close.c: New file.
37415         * lib/fchdir.c (rpl_close): Remove function.
37416         * m4/close.m4: New file.
37417         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
37418         close.
37419         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
37420         REPLACE_CLOSE.
37421         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
37422         REPLACE_CLOSE.
37423         * modules/fchdir (Depends-on): Add close.
37424
37425 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
37426             Bruno Haible  <bruno@clisp.org>
37427
37428         * lib/fcntl.in.h (open): Simplify conditionals.
37429         (_gl_register_fd): New declaration.
37430         * lib/fchdir.c (rpl_open): Remove function.
37431         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
37432         also.
37433         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
37434         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
37435         open.
37436
37437 2008-10-09  Jim Meyering  <meyering@redhat.com>
37438
37439         GNUmakefile: use the more name-space-friendly "_version"
37440         * top/GNUmakefile (_dummy): Update.
37441         (_version): Rename from "version".
37442
37443 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
37444             Bruno Haible  <bruno@clisp.org>
37445
37446         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
37447         rpl_close.
37448         (_gl_register_fd): New function, extracted from rpl_open.
37449         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
37450         (rpl_open, rpl_opendir): Use _gl_register_fd.
37451
37452 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
37453
37454         Fix organization of 'open' replacement.
37455         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
37456         (gl_FUNC_OPEN): Use it.
37457         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
37458
37459 2008-10-08  Bruno Haible  <bruno@clisp.org>
37460
37461         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
37462
37463 2008-10-08  Simon Josefsson  <simon@josefsson.org>
37464
37465         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
37466         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
37467         listen).
37468
37469 2008-10-08  Eric Blake  <ebb9@byu.net>
37470
37471         GNUmakefile: add 'make version' target
37472         * top/GNUmakefile (_curr-ver): Split version update rules...
37473         (version): ...into a target.
37474
37475 2008-10-07  Bruno Haible  <bruno@clisp.org>
37476
37477         Use a more portable replacement expression for -0.0L.
37478         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
37479         instead of -0.0L. Fix m4 quotation.
37480
37481         * tests/test-signbit.c: Include <float.h>.
37482         (minus_zero): New variable.
37483         (test_signbitl): Use minus_zero instead of -zero.
37484         * modules/signbit-tests (Depends-on): Add float.
37485
37486         * tests/test-ceill.c: Include <float.h>.
37487         (zero): Remove variable.
37488         (minus_zero): New variable.
37489         (main): Use minus_zero instead of -zero.
37490         * modules/ceill-tests (Depends-on): Add float.
37491
37492         * tests/test-floorl.c: Include <float.h>.
37493         (zero): Remove variable.
37494         (minus_zero): New variable.
37495         (main): Use minus_zero instead of -zero.
37496         * modules/floorl-tests (Depends-on): Add float.
37497
37498         * tests/test-roundl.c: Include <float.h>.
37499         (zero): Remove variable.
37500         (minus_zero): New variable.
37501         (main): Use minus_zero instead of -zero.
37502         * modules/roundl-tests (Depends-on): Add float.
37503
37504         * tests/test-truncl.c: Include <float.h>.
37505         (zero): Remove variable.
37506         (minus_zero): New variable.
37507         (main): Use minus_zero instead of -zero.
37508         * modules/truncl-tests (Depends-on): Add float.
37509
37510         * tests/test-frexpl.c (zero): Remove variable.
37511         (minus_zero): New variable.
37512         (main): Use minus_zero instead of -zero.
37513         * modules/frexpl-tests (Depends-on): Add float.
37514
37515         * tests/test-isnan.c (zerol): Remove variable.
37516         (minus_zerol): New variable.
37517         (test_long_double): Use minus_zerol instead of -zerol.
37518         * modules/isnan-tests (Depends-on): Add float.
37519
37520         * tests/test-isnanl.h (zero): Remove variable.
37521         (minus_zero): New variable.
37522         (main): Use minus_zero instead of -zero.
37523         * modules/isnanl-nolibm-tests (Depends-on): Add float.
37524         * modules/isnanl-tests (Depends-on): Add float.
37525
37526         * tests/test-ldexpl.c (zero): Remove variable.
37527         (minus_zero): New variable.
37528         (main): Use minus_zero instead of -zero.
37529         * modules/ldexpl-tests (Depends-on): Add float.
37530
37531         * tests/test-snprintf-posix.h (zerol): Remove variable.
37532         (minus_zerol): New variable.
37533         (test_function): Use minus_zerol instead of -zerol.
37534         * modules/snprintf-posix-tests (Depends-on): Add float.
37535         * modules/vsnprintf-posix-tests (Depends-on): Add float.
37536
37537         * tests/test-sprintf-posix.h (zerol): Remove variable.
37538         (minus_zerol): New variable.
37539         (test_function): Use minus_zerol instead of -zerol.
37540         * modules/sprintf-posix-tests (Depends-on): Add float.
37541         * modules/vsprintf-posix-tests (Depends-on): Add float.
37542
37543         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
37544         (minus_zerol): New variable.
37545         (test_function): Use minus_zerol instead of -zerol.
37546         * modules/vasnprintf-posix-tests (Depends-on): Add float.
37547
37548         * tests/test-vasprintf-posix.c (zerol): Remove variable.
37549         (minus_zerol): New variable.
37550         (test_function): Use minus_zerol instead of -zerol.
37551         * modules/vasprintf-posix-tests (Depends-on): Add float.
37552
37553 2008-10-07  Simon Josefsson  <simon@josefsson.org>
37554
37555         * MODULES.html.sh (Support for building documentation): Mention
37556         pmccabe2html.  Sort entries.
37557
37558         Add pmccabe2html module, from gnupdf.
37559         * build-aux/pmccabe.css: New file.
37560         * build-aux/pmccabe2html: New file.
37561         * m4/pmccabe2html.m4: New file.
37562         * modules/pmccabe2html: New file.
37563
37564 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
37565
37566         flock: new module
37567         * MODULES.html.sh: Add to list of modules.
37568         * lib/flock.c: flock implementation for Windows and Unix systems
37569         which have fcntl.
37570         * doc/glibc-functions/flock.texi: Update documentation.
37571         * lib/sys_file.in.h: <sys/file.h> header file.
37572         * m4/flock.m4: M4 macros.
37573         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
37574         * modules/flock: flock module.
37575         * modules/flock-tests: flock tests module.
37576         * modules/sys_file: sys/file.h module.
37577         * tests/test-flock.c: test suite for flock.
37578
37579 2008-10-06  Jim Meyering  <meyering@redhat.com>
37580
37581         bootstrap: check for LT_INIT more portably still ;-)
37582         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
37583         Spotted by Bruno Haible.
37584
37585 2008-10-06  Eric Blake  <ebb9@byu.net>
37586
37587         test-signbit: avoid tripping Irix cc bug on -0.0L
37588         * tests/test-signbit.c (minus_zerol): Delete, and replace with
37589         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
37590         entire testsuite consistent and avoids an Irix 6.2 bug.
37591
37592 2008-10-05  Bruno Haible  <bruno@clisp.org>
37593             Jim Meyering  <jim@meyering.net>
37594
37595         Add an option for ignoring EPIPE during close_stdout.
37596         * lib/closeout.h: Include <stdbool.h>.
37597         (close_stdout_set_ignore_EPIPE): New declaration.
37598         * lib/closeout.c: Include <stdbool.h>.
37599         (ignore_EPIPE): New variable.
37600         (close_stdout_set_ignore_EPIPE): New function.
37601         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
37602         * lib/close-stream.c (close_stream): Mention the possible EPIPE
37603         failure.
37604         * modules/closeout (Depends-on): Add stdbool.
37605
37606 2008-10-05  Bruno Haible  <bruno@clisp.org>
37607
37608         * modules/accept: New file.
37609         * modules/bind: New file.
37610         * modules/connect: New file.
37611         * modules/getpeername: New file.
37612         * modules/getsockname: New file.
37613         * modules/getsockopt: New file.
37614         * modules/listen: New file.
37615         * modules/recv: New file.
37616         * modules/recvfrom: New file.
37617         * modules/send: New file.
37618         * modules/sendto: New file.
37619         * modules/setsockopt: New file.
37620         * modules/socket: New file.
37621         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
37622         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
37623         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
37624         the particular module is requested. Add a link warning when the
37625         particular module is not requested.
37626         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
37627         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
37628         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
37629         the particular module is requested.
37630         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
37631         gl_SYS_SOCKET_H_DEFAULTS): New macros.
37632         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
37633         * modules/sys_socket (Depends-on): Add link-warning.
37634         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
37635         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
37636         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
37637         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
37638         GL_LINK_WARNING.
37639         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
37640         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
37641         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
37642         * doc/posix-functions/getpeername.texi: Mention the new module
37643         'getpeername'.
37644         * doc/posix-functions/getsockname.texi: Mention the new module
37645         'getsockname'.
37646         * doc/posix-functions/getsockopt.texi: Mention the new module
37647         'getsockopt'.
37648         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
37649         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
37650         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
37651         * doc/posix-functions/send.texi: Mention the new module 'send'.
37652         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
37653         * doc/posix-functions/setsockopt.texi: Mention the new module
37654         'setsockopt'.
37655         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
37656         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
37657         listen, connect, accept.
37658         * modules/select-tests (Depends-on): Likewise.
37659
37660 2008-10-05  Bruno Haible  <bruno@clisp.org>
37661
37662         * lib/winsock.c (strerror): Remove unused #undef.
37663         (rpl_close): Remove unused local variable.
37664
37665         * modules/sys_socket (Depends-on); Add errno.
37666
37667 2008-10-05  Bruno Haible  <bruno@clisp.org>
37668
37669         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
37670         (select): Add a link warning when the 'select' module is not used.
37671         * modules/sys_select (Depends-on): Add link-warning.
37672         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
37673         Suggested by Paolo Bonzini.
37674
37675 2008-10-05  Jim Meyering  <meyering@redhat.com>
37676
37677         bootstrap: check for LT_INIT more portably
37678         * build-aux/bootstrap: Avoid using grep -E, since it's not
37679         portable enough.  Suggestion from Bruno Haible.
37680
37681 2008-10-05  Bruno Haible  <bruno@clisp.org>
37682
37683         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
37684         as being fixed by gnulib.
37685
37686 2008-10-05  Bruno Haible  <bruno@clisp.org>
37687
37688         * modules/select-tests: New file, mostly copied from
37689         modules/sys_select-tests.
37690         * tests/test-select.c: New file, mostly copied from
37691         tests/test-sys_select.c.
37692         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
37693         * modules/sys_select-tests (Depends-on): Remove all dependencies.
37694         (Makefile.am): Remove test_sys_select_LDADD.
37695
37696         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
37697         to an undefined symbol, for an error message.
37698         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
37699         (gl_SYS_SELECT_H_DEFAULTS): New macro.
37700         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
37701         winsock-select.c here.
37702         * modules/sys_select (Files): Remove lib/winsock-select.c.
37703         (Depends-on): Remove alloca.
37704         (Makefile.am): Substitute GNULIB_SELECT.
37705         * modules/select: New file.
37706         * doc/posix-functions/select.texi: Update.
37707
37708 2008-10-05  Bruno Haible  <bruno@clisp.org>
37709
37710         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
37711         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
37712         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
37713         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
37714         getdtablesize.
37715         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
37716         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
37717
37718 2008-10-05  Bruno Haible  <bruno@clisp.org>
37719
37720         * modules/getdtablesize-tests: New file.
37721         * tests/test-getdtablesize.c: New file.
37722
37723         New module 'getdtablesize'.
37724         * lib/unistd.in.h (getdtablesize): New declaration.
37725         * lib/getdtablesize.c: New file.
37726         * m4/getdtablesize.m4: New file.
37727         * modules/getdtablesize: New file.
37728         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
37729         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
37730         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
37731         HAVE_GETDTABLESIZE.
37732         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
37733
37734 2008-10-05  Bruno Haible  <bruno@clisp.org>
37735
37736         * modules/sched (Makefile.am): Fix typo.
37737         Reported by Simon Josefsson.
37738
37739 2008-10-05  Jim Meyering  <meyering@redhat.com>
37740
37741         bootstrap: check for LT_INIT, too
37742         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
37743         are deprecated.  Suggestion from Ralf Wildenhues.
37744
37745 2008-10-05  Bruno Haible  <bruno@clisp.org>
37746
37747         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
37748         overriding them by ours.
37749         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
37750
37751 2008-10-05  Jim Meyering  <meyering@redhat.com>
37752
37753         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
37754         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
37755         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
37756
37757 2008-10-04  Bruno Haible  <bruno@clisp.org>
37758
37759         * modules/dup2 (License): Change to LGPLv2+.
37760         * modules/sleep (License): Likewise.
37761         * modules/perror (License): Likewise.
37762         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
37763         Blake.
37764         * modules/signal (License): Likewise.
37765         * modules/sigprocmask (License): Likewise.
37766         * modules/raise (License): Change to LGPLv2+, with approval by Jim
37767         Meyering.
37768
37769 2008-10-04  Bruno Haible  <bruno@clisp.org>
37770
37771         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
37772         Reported by Rainer Tammer <tammer@tammer.net>.
37773
37774 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
37775             Bruno Haible  <bruno@clisp.org>
37776
37777         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
37778         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
37779         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
37780
37781 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
37782
37783         filevercmp: new module
37784         * lib/filevercmp.h: New function filevercmp comparing version strings.
37785         * lib/filevercmp.c: Implementation of filevercmp function.
37786         * modules/filevercmp: Module metadata.
37787         * tests/test-filevercmp.c: Unit test for new module.
37788         * modules/filevercmp-tests: Unit test metadata.
37789         * MODULES.html.sh: Add filevercmp module.
37790
37791 2008-10-03  Bruno Haible  <bruno@clisp.org>
37792
37793         * lib/c-ctype.h: Add comment.
37794         Reported by Jim Meyering.
37795
37796 2008-10-02  Bruno Haible  <bruno@clisp.org>
37797
37798         * modules/posix_spawn-internal (Depends-on): Add 'open'.
37799
37800 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
37801
37802         * build-aux/bootstrap: Allow renaming bootstrap, and change the
37803         name of bootstrap.conf accordingly.
37804
37805 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
37806
37807         * build-aux/bootstrap: Install git-merge-changelog configuration
37808         items into .gitconfig if needed.
37809
37810 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
37811
37812         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
37813         git repository, and initialize/update it accordingly.
37814
37815 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
37816
37817         * modules/fsync-tests: New file.
37818         * tests/test-fsync.c: New file.
37819
37820         New module 'fsync'.
37821         * lib/fsync.c: New file.
37822         * m4/fsync.m4: New file.
37823         * modules/fsync: New file.
37824         * lib/unistd.in.h (fsync): New declaration.
37825         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
37826         GNULIB_FSYNC and HAVE_FSYNC.
37827         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
37828         * MODULES.html.sh (posix_functions): Add fsync.
37829         * doc/posix-functions/fsync.texi: Mention the new module.
37830
37831 2008-10-02  Jim Meyering  <meyering@redhat.com>
37832
37833         fts.c: sync with similar code from coreutils' remove.c
37834         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
37835         Guard also with "#if defined __linux__", since for now at least,
37836         this code is Linux-kernel-specific.
37837
37838 2008-10-02  Jim Meyering  <meyering@redhat.com>
37839
37840         fts: bug fixes
37841         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
37842         Include <sys/vfs.h>, not <sys/statfs.h>.
37843
37844         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
37845         Include <sys/vfs.h>, not <sys/statfs.h>.
37846
37847 2008-10-01  Bruno Haible  <bruno@clisp.org>
37848
37849         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
37850         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
37851         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
37852         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
37853         * doc/posix-functions/posix_spawnp.texi: Likewise.
37854         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
37855         whether posix_spawn actually works.
37856         * m4/pipe.m4 (gl_PIPE): Likewise.
37857         * modules/execute (Files): Add m4/posix_spawn.m4.
37858         * modules/pipe (Files): Add m4/posix_spawn.m4.
37859         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
37860
37861 2008-10-01  Jim Meyering  <meyering@redhat.com>
37862
37863         remove trailing spaces
37864         * NEWS: Likewise.
37865         * lib/poll.c (poll): Likewise.
37866         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
37867         * lib/winsock.c (rpl_close): Likewise.
37868         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
37869         * modules/yield: Likewise.
37870         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
37871         * tests/test-sys_select.c (connect_to_socket): Likewise.
37872
37873         fts.c: adjust a new interface to be more generally useful
37874         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
37875         (fts_build): Adjust caller.
37876
37877 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
37878
37879         * modules/cond-tests: New file.
37880         * tests/test-cond.c: New file.
37881
37882 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
37883             Bruno Haible  <bruno@clisp.org>
37884
37885         * modules/cond (Dependencies): Add errno, time.
37886         * lib/glthread/cond.h: Include <time.h>.
37887         (gl_cond_define, gl_cond_define_initialized): Use the same definition
37888         across platforms.
37889
37890 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
37891             Bruno Haible  <bruno@clisp.org>
37892
37893         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
37894
37895 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
37896             Bruno Haible  <bruno@clisp.org>
37897
37898         * modules/tls-tests (Depends-on): Add thread, yield.
37899         (configure.ac): Remove all checks.
37900         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
37901         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
37902         gl_thread_self): Remove definitions. Include glthread/thread.h and
37903         glthread/yield.h instead.
37904         (test_tls): Pass an additional NULL argument to gl_thread_join.
37905
37906 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
37907             Bruno Haible  <bruno@clisp.org>
37908
37909         * modules/lock-tests (Depends-on): Add thread, yield.
37910         (configure.ac): Remove all checks.
37911         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
37912         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
37913         gl_thread_self): Remove definitions. Include glthread/thread.h and
37914         glthread/yield.h instead.
37915         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
37916         additional NULL argument to gl_thread_join.
37917
37918 2008-09-30  Bruno Haible  <bruno@clisp.org>
37919
37920         Fix the Win32 implementation of the 'thread' module.
37921         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
37922         pointer type.
37923         (gl_thread_self): Invoke gl_thread_self_func.
37924         (gl_thread_self_func): New declaration.
37925         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
37926         (do_init_self_key, init_self_key): New functions.
37927         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
37928         Remove some fields.
37929         (running_threads, running_lock): Remove variables.
37930         (get_current_thread_handle): New function.
37931         (gl_thread_self_func, wrapper_func, glthread_create_func,
37932         glthread_join_func, gl_thread_exit_func): Largely rewritten and
37933         simplified.
37934
37935 2008-09-30  Bruno Haible  <bruno@clisp.org>
37936
37937         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
37938         files.
37939
37940 2008-09-30  Jim Meyering  <meyering@redhat.com>
37941
37942         fts.m4: correct the test for statfs.f_type
37943         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
37944         when checking for statfs.f_type.
37945
37946 2008-09-15  Simon Josefsson  <simon@josefsson.org>
37947
37948         tests: avoid some compiler warnings
37949         * tests/test-memchr.c (main): Pass NULL indirectly.
37950         * tests/test-getdate.c (main): Remove unused variable 'ret'.
37951
37952 2008-09-29  OndÅ™ej Vašík  <ovasik@redhat.com>
37953
37954         getdate.y: disallow countable dayshifts like "4 yesterday ago"
37955         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
37956         exactly specified dayshifts.
37957         (dayshift): New rule.
37958         (rel): Add dayshift.
37959         (relative_time_table) [tomorrow, yesterday, today, now]:
37960         Use tDAY_SHIFT in place of tDAY_UNIT.
37961         * tests/test-getdate.c: Add tests for now-disallowed countable
37962         dayshifts, e.g., "4 yesterday ago".
37963
37964 2008-09-29  Bruno Haible  <bruno@clisp.org>
37965
37966         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
37967         * tests/test-posix_spawn1.in.sh: Renamed from
37968         tests/test-posix_spawn.in.sh.
37969         * tests/test-posix_spawn2.c: New file.
37970         * tests/test-posix_spawn2.in.sh: New file.
37971         * modules/posix_spawnp-tests (Files): Update.
37972         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
37973
37974 2008-09-29  Bruno Haible  <bruno@clisp.org>
37975
37976         Propagate effects of putenv/setenv/unsetenv to child processes.
37977         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
37978         * lib/pipe.c (create_pipe): Likewise.
37979
37980 2008-09-29  Bruno Haible  <bruno@clisp.org>
37981
37982         Enable use of shell scripts as executables in mingw.
37983         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
37984         run the program as a shell script.
37985         * lib/pipe.c (create_pipe): Likewise.
37986         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
37987         resulting array.
37988
37989 2008-09-29  Eric Blake  <ebb9@byu.net>
37990
37991         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
37992
37993 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
37994
37995         * doc/posix-functions/accept.texi: Update mingw problems.
37996         * doc/posix-functions/bind.texi: Update mingw problems.
37997         * doc/posix-functions/close.texi: Update mingw problems.
37998         * doc/posix-functions/connect.texi: Update mingw problems.
37999         * doc/posix-functions/getpeername.texi: Update mingw problems.
38000         * doc/posix-functions/getsockname.texi: Update mingw problems.
38001         * doc/posix-functions/getsockopt.texi: Update mingw problems.
38002         * doc/posix-functions/ioctl.texi: Update mingw problems.
38003         * doc/posix-functions/listen.texi: Update mingw problems.
38004         * doc/posix-functions/recv.texi: Update mingw problems.
38005         * doc/posix-functions/recvfrom.texi: Update mingw problems.
38006         * doc/posix-functions/select.texi: Update mingw problems.
38007         * doc/posix-functions/send.texi: Update mingw problems.
38008         * doc/posix-functions/sendto.texi: Update mingw problems.
38009         * doc/posix-functions/setsockopt.texi: Update mingw problems.
38010         * doc/posix-functions/socket.texi: Update mingw problems.
38011
38012 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
38013             Bruno Haible  <bruno@clisp.org>
38014
38015         * lib/sys_select.in.h: Include sys/time.h.
38016         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
38017         * modules/sys_select: Depend on sys_time.
38018         * tests/test-sys_select.c: Test that sys/select.h defines struct
38019         timeval fully.
38020
38021 2008-09-29  Bruno Haible  <bruno@clisp.org>
38022
38023         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
38024         * lib/sys_select.in.h: Likewise.
38025
38026 2008-09-29  Bruno Haible  <bruno@clisp.org>
38027
38028         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
38029
38030 2008-09-29  Bruno Haible  <bruno@clisp.org>
38031
38032         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
38033         Set LIBSOCKET instead of augmenting LIBS.
38034         * modules/sockets (Link): New section.
38035         * modules/sockets-tests (test_sockets_LDADD): New variable.
38036         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
38037         * modules/poll-tests (test_poll_LDADD): New variable.
38038         * NEWS: Document the change.
38039
38040 2008-09-29  Bruno Haible  <bruno@clisp.org>
38041
38042         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
38043         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
38044         ARPA_INET_H directly.
38045         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
38046
38047 2008-09-28  Bruno Haible  <bruno@clisp.org>
38048
38049         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
38050         from gl_HEADER_SYS_SOCKET.
38051         (gl_HEADER_SYS_SOCKET): Invoke it.
38052         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
38053
38054 2008-09-28  Bruno Haible  <bruno@clisp.org>
38055
38056         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
38057         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
38058         Needed on OSF/1 4.0.
38059
38060 2008-09-28  Bruno Haible  <bruno@clisp.org>
38061
38062         Override open more carefully.
38063         * lib/open.c (orig_open): New function.
38064         (rpl_open): Use orig_open instead of open.
38065         * lib/fcntl.in.h: Add special invocation convention.
38066         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
38067         (gl_FUNC_OPEN): Invoke it.
38068
38069         Override freopen more carefully.
38070         * lib/freopen.c (orig_freopen): New function.
38071         (rpl_freopen): Use orig_freopen instead of freopen.
38072         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
38073         (gl_FUNC_FREOPEN): Invoke it.
38074
38075         Override fopen more carefully.
38076         * lib/fopen.c (orig_fopen): New function.
38077         (rpl_fopen): Use orig_fopen instead of fopen.
38078         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
38079         (gl_FUNC_FOPEN): Invoke it.
38080         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
38081
38082 2008-09-28  Bruno Haible  <bruno@clisp.org>
38083
38084         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
38085         SIGPIPE.
38086
38087 2008-09-28  Bruno Haible  <bruno@clisp.org>
38088
38089         * tests/test-sigaction.c (handler, main): Disable the check whether
38090         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
38091         glibc systems with LinuxThreads.
38092
38093 2008-09-28  Bruno Haible  <bruno@clisp.org>
38094
38095         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
38096
38097         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
38098         with AIX xlc.
38099         * lib/fcntl.in.h (open): Likewise.
38100         Reported by Rainer Tammer <tammer@tammer.net>.
38101
38102 2008-09-28  Bruno Haible  <bruno@clisp.org>
38103
38104         * modules/posix_spawnp-tests: New file.
38105         * tests/test-posix_spawn.c: New file.
38106         * tests/test-posix_spawn.in.sh: New file.
38107
38108         New module 'posix_spawnp'.
38109         * modules/posix_spawnp: New file.
38110         * lib/spawnp.c: New file, from GNU libc with modifications.
38111         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
38112
38113         New module 'posix_spawn'.
38114         * modules/posix_spawn: New file.
38115         * lib/spawn.c: New file, from GNU libc with modifications.
38116         * doc/posix-functions/posix_spawn.texi: Mention the new module.
38117
38118         New module 'posix_spawnattr_destroy'.
38119         * modules/posix_spawnattr_destroy: New file.
38120         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
38121         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
38122         module.
38123
38124         New module 'posix_spawnattr_setsigmask'.
38125         * modules/posix_spawnattr_setsigmask: New file.
38126         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
38127         modifications.
38128         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
38129         new module.
38130
38131         New module 'posix_spawnattr_getsigmask'.
38132         * modules/posix_spawnattr_getsigmask: New file.
38133         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
38134         modifications.
38135         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
38136         new module.
38137
38138         New module 'posix_spawnattr_setsigdefault'.
38139         * modules/posix_spawnattr_setsigdefault: New file.
38140         * lib/spawnattr_setdefault.c: New file, from GNU libc with
38141         modifications.
38142         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
38143         new module.
38144
38145         New module 'posix_spawnattr_getsigdefault'.
38146         * modules/posix_spawnattr_getsigdefault: New file.
38147         * lib/spawnattr_getdefault.c: New file, from GNU libc with
38148         modifications.
38149         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
38150         new module.
38151
38152         New module 'posix_spawnattr_setschedpolicy'.
38153         * modules/posix_spawnattr_setschedpolicy: New file.
38154         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
38155         modifications.
38156         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
38157         new module.
38158
38159         New module 'posix_spawnattr_getschedpolicy'.
38160         * modules/posix_spawnattr_getschedpolicy: New file.
38161         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
38162         modifications.
38163         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
38164         new module.
38165
38166         New module 'posix_spawnattr_setschedparam'.
38167         * modules/posix_spawnattr_setschedparam: New file.
38168         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
38169         modifications.
38170         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
38171         new module.
38172
38173         New module 'posix_spawnattr_getschedparam'.
38174         * modules/posix_spawnattr_getschedparam: New file.
38175         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
38176         modifications.
38177         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
38178         new module.
38179
38180         New module 'posix_spawnattr_setpgroup'.
38181         * modules/posix_spawnattr_setpgroup: New file.
38182         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
38183         modifications.
38184         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
38185         module.
38186
38187         New module 'posix_spawnattr_getpgroup'.
38188         * modules/posix_spawnattr_getpgroup: New file.
38189         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
38190         modifications.
38191         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
38192         module.
38193
38194         New module 'posix_spawnattr_setflags'.
38195         * modules/posix_spawnattr_setflags: New file.
38196         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
38197         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
38198         module.
38199
38200         New module 'posix_spawnattr_getflags'.
38201         * modules/posix_spawnattr_getflags: New file.
38202         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
38203         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
38204         module.
38205
38206         New module 'posix_spawnattr_init'.
38207         * modules/posix_spawnattr_init: New file.
38208         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
38209         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
38210         module.
38211
38212         New module 'posix_spawn_file_actions_destroy'.
38213         * modules/posix_spawn_file_actions_destroy: New file.
38214         * lib/spawn_faction_destroy.c: New file, from GNU libc with
38215         modifications.
38216         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
38217         the new module.
38218
38219         New module 'posix_spawn_file_actions_addopen'.
38220         * modules/posix_spawn_file_actions_addopen: New file.
38221         * lib/spawn_faction_addopen.c: New file, from GNU libc with
38222         modifications.
38223         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
38224         the new module.
38225
38226         New module 'posix_spawn_file_actions_adddup2'.
38227         * modules/posix_spawn_file_actions_adddup2: New file.
38228         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
38229         modifications.
38230         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
38231         the new module.
38232
38233         New module 'posix_spawn_file_actions_addclose'.
38234         * modules/posix_spawn_file_actions_addclose: New file.
38235         * lib/spawn_faction_addclose.c: New file, from GNU libc with
38236         modifications.
38237         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
38238         the new module.
38239
38240         New module 'posix_spawn_file_actions_init'.
38241         * modules/posix_spawn_file_actions_init: New file.
38242         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
38243         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
38244         new module.
38245
38246         New module 'posix_spawn-internal'.
38247         * modules/posix_spawn-internal: New file.
38248         * lib/spawn_int.h: New file, from GNU libc with modifications.
38249         * lib/spawni.c: New file, from GNU libc with modifications.
38250         * m4/posix_spawn.m4: New file.
38251
38252         New module 'spawn'.
38253         * modules/spawn: New file.
38254         * lib/spawn.in.h: New file, from GNU libc with modifications.
38255         * m4/spawn_h.m4: New file.
38256         * doc/posix-headers/spawn.texi: Mention the new module.
38257
38258 2008-09-28  Bruno Haible  <bruno@clisp.org>
38259
38260         * modules/sched-tests: New file.
38261         * tests/test-sched.c: New file.
38262
38263         New module 'sched'.
38264         * modules/sched: New file.
38265         * lib/sched.in.h: New file.
38266         * m4/sched_h.m4: New file.
38267         * doc/posix-headers/sched.texi: Mention the new module.
38268
38269 2008-09-27  Eric Blake  <ebb9@byu.net>
38270
38271         Fix previous patch, and tweak references to $0.
38272         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
38273         (func_version, func_gnulib_dir): Don't call this program
38274         gnulib-tool.
38275         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
38276         with using $0 in function.
38277         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
38278         (func_fatal_error): Reuse the name the user invoked us with.
38279
38280 2008-09-27  Bruno Haible  <bruno@clisp.org>
38281
38282         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
38283         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
38284         (gl_ICONV_H): Not here.
38285         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
38286         instead of assigning ICONV_H directly.
38287
38288         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
38289         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
38290         WCHAR_H directly.
38291
38292 2008-09-27  Bruno Haible  <bruno@clisp.org>
38293
38294         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
38295         * modules/arpa_inet (Depends-on): Add link-warning.
38296         (Makefile.am): Insert the definition of GL_LINK-WARNING.
38297         * modules/unistd (Makefile.am): Likewise.
38298
38299 2008-09-26  Bruno Haible  <bruno@clisp.org>
38300
38301         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
38302         variables.
38303         (func_version): Essentially copied from gnulib-tool.
38304         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
38305         func_readlink): Copied from gnulib-tool.
38306
38307 2008-09-26  Bruno Haible  <bruno@clisp.org>
38308
38309         * gnulib-tool (func_version): Change directory to $gnulib_dir before
38310         invoking git-version-gen.
38311
38312 2008-09-26  Bruno Haible  <bruno@clisp.org>
38313
38314         * posix-modules: Update to directory names changed on 2008-01-19.
38315         Remove commas in output before splitting into words. No more need to
38316         avoid 'ftruncate' since 2007-02-19.
38317
38318 2008-09-26  Bruno Haible  <bruno@clisp.org>
38319
38320         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
38321
38322 2008-09-26  Bruno Haible  <bruno@clisp.org>
38323
38324         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
38325         * modules/fwriteerror (Depends-on): Add errno.
38326
38327 2008-09-26  Bruno Haible  <bruno@clisp.org>
38328
38329         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
38330         * tests/test-vc-list-files-cvs.sh: Likewise.
38331
38332 2008-09-26  Bruno Haible  <bruno@clisp.org>
38333
38334         * doc/posix-headers/sys_resource.texi: Reorder items.
38335
38336 2008-09-26  Jim Meyering  <meyering@redhat.com>
38337
38338         fts: tweak inode comparison function
38339         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
38340         inode numbers, as documented.
38341
38342         fts: sort dirent entries on inode number before traversing
38343         This avoids a quadratic, seek-related performance penalty when
38344         operating on a directory containing many entries (measurable at 10k;
38345         3.5 hours at 2 million entries with a cold cache) on certain types
38346         of file systems, including ext3 and ext4, but not tmpfs.
38347         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
38348         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
38349         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
38350         (fs_handles_readdir_ordered_dirents_efficiently): New function.
38351         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
38352         (fts_build): Set the stat.st_ino member from D_INO.
38353         If it is likely to be useful, sort dirent entries on inode number.
38354
38355         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
38356         and the struct statfs.f_type member.
38357         * modules/fts (Depends-on): Add d-ino.
38358
38359 2008-09-26  Bruno Haible  <bruno@clisp.org>
38360
38361         * modules/sigpipe-die (Depends-on): Add sigpipe.
38362
38363         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
38364         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
38365         and GNULIB_STDIO_H_SIGPIPE are set.
38366         * lib/stdio-write.c: New file.
38367         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
38368         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
38369         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
38370         REPLACE_STDIO_WRITE_FUNCS.
38371         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
38372         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
38373         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
38374         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
38375         * modules/stdio (Files): Add lib/stdio-write.c.
38376         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
38377         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
38378         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
38379         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
38380         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
38381         REPLACE_FPRINTF_POSIX.
38382         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
38383         REPLACE_PRINTF_POSIX.
38384         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
38385         REPLACE_VFPRINTF_POSIX.
38386         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
38387         REPLACE_VPRINTF_POSIX.
38388         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
38389         SIGPIPE issue.
38390         * doc/posix-functions/fputc.texi: Likewise.
38391         * doc/posix-functions/fputs.texi: Likewise.
38392         * doc/posix-functions/fwrite.texi: Likewise.
38393         * doc/posix-functions/printf.texi: Likewise.
38394         * doc/posix-functions/putc.texi: Likewise.
38395         * doc/posix-functions/putchar.texi: Likewise.
38396         * doc/posix-functions/puts.texi: Likewise.
38397         * doc/posix-functions/vfprintf.texi: Likewise.
38398         * doc/posix-functions/vprintf.texi: Likewise.
38399
38400         * modules/safe-write (Depends-on): Add write.
38401
38402         * modules/sigpipe-tests: New file.
38403         * tests/test-sigpipe.c: New file.
38404         * tests/test-sigpipe.sh: New file.
38405
38406         * modules/write: New file.
38407         * lib/unistd.in.h: Include <sys/types.h>.
38408         (write): New declaration.
38409         * lib/write.c: New file.
38410         * m4/write.m4: New file.
38411         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
38412         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
38413         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
38414         GNULIB_WRITE, REPLACE_WRITE.
38415         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
38416         and the SIGPIPE issue.
38417
38418         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
38419         (raise): New declaration.
38420         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
38421         (ext_signal): New function.
38422         (rpl_raise): New function.
38423         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
38424         GNULIB_SIGNAL_H_SIGPIPE.
38425         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
38426         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
38427
38428         * modules/sigpipe: New file.
38429         * m4/sigpipe.m4: New file.
38430
38431 2008-09-25  Derek Price  <derek@ximbiot.com>
38432             Bruno Haible  <bruno@clisp.org>
38433
38434         * gnulib-tool (func_import): Report all license incompatibilities, not
38435         just the first one.
38436
38437 2008-09-25  Bruno Haible  <bruno@clisp.org>
38438
38439         * gnulib-tool (func_import): When computing the edits, consider not
38440         only the Makefile.ams that exist but also those that will be generated.
38441
38442 2008-09-25  Simon Josefsson  <simon@josefsson.org>
38443
38444         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
38445         fixes gnulib-tool --test warning about duplicate dependency.
38446
38447 2008-09-25  Bruno Haible  <bruno@clisp.org>
38448
38449         * gnulib-tool: Don't ask the user to perform edits in the generated
38450         Makefile.ams.
38451         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
38452         apply to the Makefile.am being generated.
38453         (func_emit_tests_Makefile_am): Execute edits that apply to the
38454         Makefile.am being generated.
38455         (func_import): Setup list of Makefile.am edits before emitting the
38456         Makefile.ams, not at the end.
38457         (func_create_testdir): Update.
38458         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
38459
38460 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
38461
38462         * gnulib-tool (func_import): Store the --tests-base option in the
38463         comment in gnulib-cache.m4.
38464
38465 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
38466
38467         * NEWS: Document increased portability that sys_select now provides.
38468
38469         * lib/sys_select.in.h: Install select wrapper.
38470         * lib/sys_socket.in.h: Use more descriptive name when there is no
38471         select wrapper.
38472         * lib/winsock-select.c: New.
38473         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
38474         Require gl_HEADER_SYS_SOCKET.
38475         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
38476         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
38477         * tests/test-sys_select.c: Add functional tests.
38478
38479 2008-09-24  Eric Blake  <ebb9@byu.net>
38480
38481         open, fopen: close fd leak in last patch
38482         * lib/open.c (rpl_open): Close fd before returning error.
38483         * lib/fopen.c (rpl_fopen): Close fd before returning error.
38484         * doc/posix-functions/open.texi (open): Document that Irix also
38485         has the bug.
38486         * doc/posix-functions/fopen.texi (fopen): Likewise.
38487         Reported by Paolo Bonzini.
38488
38489 2008-09-24  Bruno Haible  <bruno@clisp.org>
38490
38491         Ensure that a filename ending in a slash cannot be used to access a
38492         non-directory.
38493         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
38494         to check whether it's really a directory.
38495         * lib/fopen.c: Include fcntl.h, unistd.h.
38496         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
38497         and fdopen().
38498         * modules/fopen (Depends-on): Add unistd.
38499         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
38500         * tests/test-fopen.c (main): Likewise.
38501         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
38502         * doc/posix-functions/fopen.texi: Likewise.
38503         Reported by Eric Blake.
38504
38505 2008-09-23  Eric Blake  <ebb9@byu.net>
38506
38507         c-stack: avoid compiler optimizations when provoking overflow
38508         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
38509         recursion harder to optimize, to ensure a stack overflow occurs.
38510         * tests/test-c-stack.c (recurse): Likewise.
38511         Borrowed from libsigsegv.
38512
38513         c-stack: work around Irix sigaltstack bug
38514         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
38515         whether sigaltstack uses wrong end of stack_t (copied in part from
38516         libsigsegv).
38517         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
38518         Irix bug, without requiring an over-allocation.
38519         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
38520         bug.
38521
38522         fopen: document mingw bug on directories
38523         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
38524         not allowing a stream visiting a directory, even though reading
38525         from such a stream is not portable.
38526
38527 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
38528
38529         * lib/poll.c: Rewrite.
38530         * modules/poll: Depend on alloca.
38531
38532 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
38533
38534         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
38535         instead define prototypes for a full set of wrappers.  Ensure
38536         that Cygwin does not use the compatibility code, which is only
38537         for MinGW.
38538         * lib/winsock.c: New.
38539         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
38540         * modules/sys_socket: Add lib/winsock.c.
38541
38542         * modules/poll-tests: Add errno and perror.
38543         * tests/test-poll.c: Use ioctl, not ioctlsocket.
38544
38545 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
38546
38547         * tests/test-poll.c: Downgrade minimum needed Winsock version.
38548
38549 2008-09-23  Bruno Haible  <bruno@clisp.org>
38550
38551         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
38552         * doc/glibc-functions/*: Likewise.
38553
38554 2008-09-23  Simon Josefsson  <simon@josefsson.org>
38555
38556         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
38557         success.
38558
38559 2008-09-22  Eric Blake  <ebb9@byu.net>
38560             Bruno Haible  <bruno@clisp.org>
38561
38562         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
38563         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
38564         supply %A but mishandle pseudo-NaN.
38565         Reported by Simon Josefsson.
38566
38567 2008-09-21  Bruno Haible  <bruno@clisp.org>
38568
38569         * tests/test-lock.c (main): Tweak skip message.
38570         * tests/test-tls.c (main): Likewise.
38571
38572 2008-09-21  Bruno Haible  <bruno@clisp.org>
38573
38574         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
38575         whether 'struct sigaction' has sa_sigaction here...
38576         (gl_PREREQ_SIG_HANDLER_H): ... not here.
38577         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
38578
38579 2008-09-21  Bruno Haible  <bruno@clisp.org>
38580
38581         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
38582         section.
38583         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
38584         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
38585         the new section.
38586         (Support for obsolete systems lacking POSIX:2001): New section.
38587         (String handling <string.h>): Move strdup to the new section.
38588         Suggested by Simon Josefsson and Paolo Bonzini.
38589
38590 2008-09-21  Bruno Haible  <bruno@clisp.org>
38591
38592         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
38593         exponents in %e and %g results on 'long double'. Needed for mingw's
38594         improved *printf functions.
38595         * tests/test-vasprintf-posix.c (test_function): Likewise.
38596         * tests/test-snprintf-posix.h (test_function): Likewise.
38597         * tests/test-sprintf-posix.h (test_function): Likewise.
38598         Reported by Eric Blake.
38599
38600 2008-09-21  Bruno Haible  <bruno@clisp.org>
38601
38602         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
38603         * tests/test-sprintf-posix.h (test_function): Likewise.
38604
38605 2008-09-21  Bruno Haible  <bruno@clisp.org>
38606
38607         * modules/getpass (Depends-on): Add strdup-posix.
38608
38609         New module 'strdup-posix'.
38610         * modules/strdup-posix: New file.
38611         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
38612         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
38613         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
38614         REPLACE_STRDUP.
38615         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
38616         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
38617         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
38618         strdup-posix.
38619
38620         * modules/strdup (Depends-on): Remove malloc-posix.
38621
38622 2008-09-20  Bruno Haible  <bruno@clisp.org>
38623
38624         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
38625         Wildenhues.
38626
38627 2008-09-20  Bruno Haible  <bruno@clisp.org>
38628
38629         Ensure that wint_t gets defined on IRIX 5.3.
38630         * lib/wchar.in.h (wint_t): Define if not defined by the system.
38631         * lib/wctype.in.h (wint_t): Likewise.
38632         (__wctype_wint_t): Remove type.
38633         (isw*): Use wint_t instead of __wctype_wint_t.
38634         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
38635         * modules/wchar (Files): Add m4/wint_t.m4.
38636         (Makefile.am): Substitute HAVE_WINT_T.
38637         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
38638         * tests/test-wctype.c: Check that wint_t is defined.
38639         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
38640         * doc/posix-headers/wctype.texi: Likewise.
38641         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
38642
38643 2008-09-18  Bruno Haible  <bruno@clisp.org>
38644
38645         * gnulib-tool (func_exit): Update comment.
38646
38647 2008-09-18  Simon Josefsson  <simon@josefsson.org>
38648
38649         * modules/getaddrinfo (Depends-on): Remove strdup, this module
38650         assumes strdup exists and does not depend on strdup to return
38651         ENOMEM on out of memory conditions.
38652
38653 2008-09-18  Bruno Haible  <bruno@clisp.org>
38654
38655         * lib/vasnprintf.c (VASNPRINTF): When printing Â±0.0L in
38656         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
38657         digits for the exponent.
38658
38659 2008-09-18  Jim Meyering  <meyering@redhat.com>
38660             Bruno Haible  <bruno@clisp.org>
38661
38662         * lib/vasnprintf.c (decimal_point_char): Define also if
38663         NEED_PRINTF_INFINITE_LONG_DOUBLE.
38664
38665 2008-09-16  Bruno Haible  <bruno@clisp.org>
38666         and Eric Blake  <ebb9@byu.net>
38667
38668         vasnprintf: support Irix 5.3
38669         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
38670         that mishandle long double infinity.
38671         Reported by Tom G. Christensen.
38672
38673 2008-09-16  Bruno Haible  <bruno@clisp.org>
38674
38675         * doc/glibc-functions/scandir.texi: Mention the function is missing on
38676         Solaris 9.
38677         * doc/glibc-functions/alphasort.texi: Likewise.
38678         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
38679
38680 2008-09-16  Jim Meyering  <meyering@redhat.com>
38681
38682         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
38683         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
38684         a umask modification leak out of a subshell.  Otherwise, the
38685         opensolaris /bin/sh would be accepted and thus cause unwarranted
38686         failures in the coreutils test suite.
38687
38688 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
38689
38690         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
38691         to succeed.
38692
38693 2008-09-16  Jim Meyering  <meyering@redhat.com>
38694
38695         avoid spurious test failure when library is built without ACL support
38696         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
38697         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
38698         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
38699         * tests/test-copy-acl.sh: Likewise.
38700
38701 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38702
38703         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
38704         based on character occurrence counts.
38705
38706 2008-09-15  Eric Blake  <ebb9@byu.net>
38707
38708         tests: avoid some compiler warnings
38709         * tests/test-memchr.c (main): Pass NULL indirectly.
38710         * tests/test-closein.c (main): Avoid unused variable.
38711
38712 2008-09-15  Bruno Haible  <bruno@clisp.org>
38713
38714         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
38715         are missing on OpenBSD 4.0 individually.
38716         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
38717
38718 2008-09-15  Bruno Haible  <bruno@clisp.org>
38719
38720         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
38721         * doc/posix-functions/strerror.texi: Mention also Cygwin.
38722         * doc/posix-functions/perror.texi: Likewise.
38723         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
38724         is missing.
38725         Reported by Eric Blake.
38726
38727         * lib/errno.in.h: Use replacement values >= 2000.
38728         Reported by Eric Blake.
38729
38730 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38731
38732         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
38733         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
38734         limit.
38735         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
38736         compareseq was aborted.
38737
38738 2008-09-14  Bruno Haible  <bruno@clisp.org>
38739
38740         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
38741         yvec_edit_count.
38742         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
38743         (fstrcmp_bounded): Simplify result computation accordingly.
38744
38745 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38746
38747         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
38748         (fstrcmp): Define in terms of fstrcmp_bounded.
38749         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
38750         lower_bound argument.
38751         Return quickly if the result is certainly < lower_bound.
38752         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
38753
38754 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38755
38756         * lib/diffseq.h (EARLY_ABORT): New macro.
38757         (compareseq): Change return type to bool. Return true when EARLY_ABORT
38758         evaluates to true.
38759
38760 2008-09-14  Bruno Haible  <bruno@clisp.org>
38761
38762         * modules/perror-tests: New file.
38763         * tests/test-perror.sh: New file.
38764         * tests/test-perror.c: New file.
38765
38766         New module 'perror'.
38767         * lib/stdio.in.h (perror): New declaration.
38768         * lib/perror.c: New file.
38769         * m4/perror.m4: New file.
38770         * modules/perror: New file.
38771         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
38772         * doc/posix-functions/perror.texi: Mention the perror module.
38773         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
38774         REPLACE_PERROR.
38775         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
38776         REPLACE_PERROR.
38777
38778 2008-09-14  Bruno Haible  <bruno@clisp.org>
38779
38780         * modules/stdio (Makefile.am): Reorder to match the order in
38781         lib/stdio.in.h.
38782         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
38783
38784 2008-09-13  Bruno Haible  <bruno@clisp.org>
38785
38786         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
38787
38788 2008-09-13  Bruno Haible  <bruno@clisp.org>
38789
38790         Extend strerror to cover the added errno values.
38791         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
38792         (rpl_strerror): Provide error messages for the added errno values and
38793         for the WSA* values.
38794         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
38795         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
38796         strerror.
38797         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
38798         * modules/strerror (Depends-on): Add errno.
38799         * doc/posix-functions/strerror.texi: Document the change.
38800         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
38801         and EOVERFLOW.
38802
38803 2008-09-13  Bruno Haible  <bruno@clisp.org>
38804
38805         * modules/EOVERFLOW: Remove file.
38806         * m4/eoverflow.m4: Remove file.
38807         * modules/EOVERFLOW-tests: Remove file.
38808         * tests/test-EOVERFLOW.c: Remove file.
38809         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
38810         * modules/ftell (Depends-on): Likewise.
38811         * modules/getdelim (Depends-on): Likewise.
38812         * modules/getugroups (Depends-on): Likewise.
38813         * modules/poll (Depends-on): Likewise.
38814         * modules/snprintf (Depends-on): Likewise.
38815         * modules/sprintf-posix (Depends-on): Likewise.
38816         * modules/vasnprintf (Depends-on): Likewise.
38817         * modules/vasprintf (Depends-on): Likewise.
38818         * modules/vfprintf-posix (Depends-on): Likewise.
38819         * modules/vsnprintf (Depends-on): Likewise.
38820         * modules/vsprintf-posix (Depends-on): Likewise.
38821         * modules/xvasprintf (Depends-on): Likewise.
38822         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
38823         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
38824         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
38825         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
38826         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
38827         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
38828         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
38829         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
38830         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
38831         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
38832         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
38833         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
38834         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
38835         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
38836         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
38837         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
38838         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
38839         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
38840         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
38841         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
38842         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
38843         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
38844         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
38845         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
38846         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
38847         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
38848         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
38849         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
38850         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
38851         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
38852         * MODULES.html.sh: Remove EOVERFLOW.
38853         * NEWS: Mention the change.
38854
38855 2008-09-13  Bruno Haible  <bruno@clisp.org>
38856
38857         * modules/errno-tests: New file.
38858         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
38859
38860         * lib/errno.in.h: New file.
38861         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
38862         * modules/errno: New file.
38863         * doc/posix-headers/errno.texi: Update documentation.
38864         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
38865
38866 2008-09-13  Bruno Haible  <bruno@clisp.org>
38867
38868         * tests/test-poll.c: Use #if for native Windows, rather than testing
38869         __MSVCRT__.
38870
38871 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
38872             Bruno Haible  <bruno@clisp.org>
38873
38874         * lib/glob.c: Don't include <pwd.h> on native Windows.
38875         (WINDOWS32): New macro.
38876         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
38877
38878 2008-09-13  Bruno Haible  <bruno@clisp.org>
38879
38880         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
38881         (ETIMEDOUT): Remove macro.
38882         (glthread_cond_timedwait_multithreaded): New declaration.
38883         (glthread_cond_timedwait): Use it.
38884         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
38885         (glthread_cond_timedwait_multithreaded): New function.
38886
38887 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
38888
38889         * modules/poll-tests: Do not check for io.h.
38890         * tests/test-poll.c: Check for __MSVCRT__ instead.
38891
38892 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
38893
38894         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
38895         * modules/poll-tests: Add inet_pton, stdbool, sockets.
38896         * tests/test-poll.c: Use them.  Use _pipe on Windows.
38897
38898 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
38899
38900         * modules/poll-tests: New.
38901         * tests/test-poll.c: New.
38902
38903 2008-09-12  Eric Blake  <ebb9@byu.net>
38904
38905         frexp: test for NetBSD failure on -0.0
38906         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
38907         not all, bugs from NetBSD 3.0 have been fixed.
38908         * doc/posix-functions/frexp.texi (frexp): Document bug.
38909         Reported by Thomas Klausner.
38910
38911         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
38912         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
38913         literal -0.0.
38914         Reported by Jonathan C. Patschke <jp@centtech.com>.
38915
38916 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
38917
38918         * lib/glthread/cond.h: Use dummy implementation also if
38919         USE_WIN32_THREADS.
38920
38921 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
38922
38923         * modules/fnmatch-posix (License): Change to LGPLv2+.
38924         * modules/fnmatch-gnu (License): Likewise.
38925
38926 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
38927
38928         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
38929
38930 2008-09-11  Jim Meyering  <meyering@redhat.com>
38931
38932         * users.txt: Add gtk-vnc.
38933
38934 2008-09-08  Simon Josefsson  <simon@josefsson.org>
38935
38936         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
38937         rotate amounts.
38938
38939         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
38940         required for 16-bit and 8-bit rotates.
38941         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
38942         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
38943         UINT8_MAX instead of hard-coded constants.
38944         Suggested by Paul Eggert.
38945
38946 2008-09-07  Bruno Haible  <bruno@clisp.org>
38947
38948         * tests/test-striconveh.c (main): Check behaviour when converting from
38949         UTF-7.
38950
38951         Make striconveh work better with stateful encodings.
38952         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
38953         that iconv does not increment the inptr when returning -1/EINVAL.
38954
38955 2008-09-07  Bruno Haible  <bruno@clisp.org>
38956
38957         * build-aux/config.rpath: Update according to libtool-2.2.6.
38958         * build-aux/config.libpath: Likewise.
38959
38960 2008-09-06  Bruno Haible  <bruno@clisp.org>
38961
38962         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
38963         * lib/freadptr.c (freadptr): Likewise.
38964         * lib/freadseek.c (freadptrinc): Likewise.
38965         Reported by Simon Josefsson.
38966
38967 2008-09-06  Bruno Haible  <bruno@clisp.org>
38968
38969         * modules/freadptr (License): Change to LGPLv2+.
38970         * modules/freadseek (License): Likewise.
38971         Suggested by Eric Blake.
38972
38973         * modules/memchr2 (License): Change to LGPLv2+.
38974         Approved by Eric Blake.
38975
38976 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38977             Bruno Haible  <bruno@clisp.org>
38978
38979         Make gnulib-tool work with native 'sed' on AIX.
38980         * gnulib-tool (sed_noop): New variable.
38981         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
38982         func_add_or_update, func_create_testdir): Use it to initialize sed
38983         script variables.
38984         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
38985
38986 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
38987             Bruno Haible  <bruno@clisp.org>
38988
38989         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
38990         also works after #include directives.
38991
38992 2008-09-04  OndÅ™ej Vašík  <ovasik@redhat.com>
38993
38994         getdate.y: reject an out-of-range timezone value
38995         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
38996         the range [-24...+24].  When specified with only one or two digits,
38997         * tests/test-getdate.c: Tests for the fix.
38998         * doc/getdate.texi: Document this change.
38999
39000 2008-09-03  Bruno Haible  <bruno@clisp.org>
39001
39002         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
39003
39004 2008-09-02  Simon Josefsson  <simon@josefsson.org>
39005
39006         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
39007         <bruce.korb@gmail.com> with ideas from Ben Pfaff
39008         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
39009         Blake <ebb9@byu.net>.
39010
39011         * tests/test-bitrotate.c: Add more test vectors.
39012
39013 2008-09-02  Eric Blake  <ebb9@byu.net>
39014
39015         vasnprintf-posix: handle large precision via %.*d
39016         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
39017         when handling it ourselves.
39018         * tests/test-vasnprintf-posix.c (test_function): Add test.
39019         * tests/test-snprintf-posix.h (test_function): Likewise.
39020         * tests/test-sprintf-posix.h (test_function): Likewise.
39021         * tests/test-vasprintf-posix.c (test_function): Likewise.
39022         Reported by Alain Guibert.
39023
39024 2008-09-01  Eric Blake  <ebb9@byu.net>
39025
39026         c-stack: make configure-time check more robust
39027         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
39028         successful sigaction call.
39029         Reported by Tom G. Christensen.
39030
39031 2008-09-01  Bruno Haible  <bruno@clisp.org>
39032
39033         New module 'findprog-lgpl'.
39034         * modules/findprog-lgpl: New file.
39035         * lib/findprog-lgpl.c: New file.
39036         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
39037         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
39038         to decide whether to use strdup or xstrdup, concatenated_filename or
39039         xconcatenated_filename.
39040
39041 2008-09-01  Bruno Haible  <bruno@clisp.org>
39042
39043         Split module 'concat-filename' into 'concat-filename' (LGPL) and
39044         'xconcat-filename' (GPL).
39045         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
39046         (License): Change to LGPLv2+.
39047         * modules/xconcat-filename: New file.
39048         * lib/concat-filename.h (concatenated_filename): Change specification.
39049         (xconcatenated_filename): New declaration.
39050         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
39051         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
39052         memory situations.
39053         * lib/xconcat-filename.c: New file.
39054         * NEWS: Mention the change.
39055         * lib/findprog.c: Include concat-filename.h, not filename.h.
39056         (find_in_path): Use xconcatenated_filename instead of
39057         concatenated_filename.
39058         * lib/javacomp.c: Include concat-filename.h, not filename.h.
39059         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
39060         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
39061         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
39062         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
39063         instead of concatenated_filename.
39064         * lib/javaexec.c: Include concat-filename.h, not filename.h.
39065         (execute_java_class): Use xconcatenated_filename instead of
39066         concatenated_filename.
39067         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
39068         * modules/javacomp (Depends-on): Likewise.
39069         * modules/javaexec (Depends-on): Likewise.
39070
39071 2008-09-01  Bruno Haible  <bruno@clisp.org>
39072
39073         Split module 'filename' into 'filename' and 'concat-filename'.
39074         * modules/filename: Keep only lib/filename.h.
39075         (License): Change to LGPLv2+.
39076         * modules/concat-filename: New file, extracted from modules/filename.
39077         * lib/filename.h (concatenated_filename): Remove declaration.
39078         * lib/concat-filename.h: New file, extracted from lib/filename.h.
39079         * lib/concat-filename.c: Include concat-filename.h.
39080         * NEWS: Mention the change.
39081
39082 2008-09-01  Simon Josefsson  <simon@josefsson.org>
39083
39084         * lib/bitrotate.h (rotl8, rotr8): Add.
39085
39086         * modules/bitrotate (configure.ac): Need
39087         AC_REQUIRE([AC_C_INLINE]).
39088         (Description): Mention stdint.h.  Reported by Bruno Haible
39089         <bruno@clisp.org>.
39090
39091         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
39092         Paolo Bonzini <bonzini@gnu.org>.
39093
39094 2008-08-31  Bruno Haible  <bruno@clisp.org>
39095
39096         Assume Solaris specific bi-arch conventions on Solaris systems.
39097         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
39098         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
39099         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
39100         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
39101         like acl_libdirstem.
39102         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
39103         acl_libdirstem.
39104         * NEWS: Mention the change.
39105         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
39106
39107 2008-08-31  Jim Meyering  <meyering@redhat.com>
39108
39109         * lib/strftime.h: Add comments describing the two added arguments.
39110
39111         remove duplicate #include directives
39112         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
39113         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
39114
39115 2008-08-31  Bruno Haible  <bruno@clisp.org>
39116
39117         New module 'sigpipe-die'.
39118         * modules/sigpipe-die: New file.
39119         * lib/sigpipe-die.h: New file.
39120         * lib/sigpipe-die.c: New file.
39121         * MODULES.html.sh (Signal handling): Add sigpipe-die.
39122
39123 2008-08-31  Bruno Haible  <bruno@clisp.org>
39124
39125         Don't override previously installed signal handlers.
39126         * lib/fatal-signal.c (saved_sigactions): New variable.
39127         (uninstall_handlers): Reset the signal to the saved handler, not
39128         to SIG_DFL (except when ignored).
39129         (install_handlers): Save the previous handlers.
39130
39131 2008-08-30  Bruno Haible  <bruno@clisp.org>
39132
39133         * gnulib-tool (func_reset_sigpipe): New function.
39134         (func_get_automake_snippet, func_modules_transitive_closure,
39135         func_import): Invoke it before a join command that reads from stdin,
39136         to avoid "echo: write error: Broken pipe" error messages on stderr.
39137         Reported by Sam Steingold <sds@gnu.org>.
39138
39139 2008-08-30  Bruno Haible  <bruno@clisp.org>
39140
39141         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
39142         Code copied from m4/open.m4.
39143         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
39144         access and the filename ends in a slash. Code copied from lib/open.c.
39145         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
39146         * tests/test-fopen.c (main): Check against bug with trailing slash.
39147
39148 2008-08-29  Bruno Haible  <bruno@clisp.org>
39149
39150         Avoid some "gcc -pedantic" warnings.
39151         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
39152         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
39153         * lib/dirent.in.h: Likewise.
39154         * lib/fcntl.in.h: Likewise.
39155         * lib/float.in.h: Likewise.
39156         * lib/iconv.in.h: Likewise.
39157         * lib/inttypes.in.h: Likewise.
39158         * lib/locale.in.h: Likewise.
39159         * lib/math.in.h: Likewise.
39160         * lib/netinet_in.in.h: Likewise.
39161         * lib/search.in.h: Likewise.
39162         * lib/signal.in.h: Likewise.
39163         * lib/stdarg.in.h: Likewise.
39164         * lib/stdint.in.h: Likewise.
39165         * lib/stdio.in.h: Likewise.
39166         * lib/stdlib.in.h: Likewise.
39167         * lib/string.in.h: Likewise.
39168         * lib/strings.in.h: Likewise.
39169         * lib/sys_select.in.h: Likewise.
39170         * lib/sys_socket.in.h: Likewise.
39171         * lib/sys_stat.in.h: Likewise.
39172         * lib/sys_time.in.h: Likewise.
39173         * lib/sysexits.in.h: Likewise.
39174         * lib/time.in.h: Likewise.
39175         * lib/unistd.in.h: Likewise.
39176         * lib/wchar.in.h: Likewise.
39177         * lib/wctype.in.h: Likewise.
39178         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
39179         * modules/fchdir (Makefile.am): Likewise.
39180         * modules/fcntl (Makefile.am): Likewise.
39181         * modules/float (Makefile.am): Likewise.
39182         * modules/iconv_open (Makefile.am): Likewise.
39183         * modules/inttypes (Makefile.am): Likewise.
39184         * modules/locale (Makefile.am): Likewise.
39185         * modules/math (Makefile.am): Likewise.
39186         * modules/netinet_in (Makefile.am): Likewise.
39187         * modules/search (Makefile.am): Likewise.
39188         * modules/signal (Makefile.am): Likewise.
39189         * modules/stdarg (Makefile.am): Likewise.
39190         * modules/stdint (Makefile.am): Likewise.
39191         * modules/stdio (Makefile.am): Likewise.
39192         * modules/stdlib (Makefile.am): Likewise.
39193         * modules/string (Makefile.am): Likewise.
39194         * modules/strings (Makefile.am): Likewise.
39195         * modules/sys_select (Makefile.am): Likewise.
39196         * modules/sys_socket (Makefile.am): Likewise.
39197         * modules/sys_stat (Makefile.am): Likewise.
39198         * modules/sys_time (Makefile.am): Likewise.
39199         * modules/sysexits (Makefile.am): Likewise.
39200         * modules/time (Makefile.am): Likewise.
39201         * modules/unistd (Makefile.am): Likewise.
39202         * modules/wchar (Makefile.am): Likewise.
39203         * modules/wctype (Makefile.am): Likewise.
39204         Reported by Reuben Thomas <rrt@sc3d.org>.
39205
39206 2008-08-29  Bruno Haible  <bruno@clisp.org>
39207
39208         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
39209         any more.
39210
39211 2008-08-29  Simon Josefsson  <simon@josefsson.org>
39212
39213         * MODULES.html.sh (Misc): Add bitrotate.
39214
39215         * modules/bitrotate: New file.
39216
39217         * lib/bitrotate.h: New file.
39218
39219         * modules/bitrotate-tests: New file.
39220
39221         * tests/test-bitrotate.c: New file.
39222
39223         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
39224         on the bitrotate module.
39225
39226         * lib/arctwo.c: Use new bitrotate module.
39227
39228 2008-08-29  Jim Meyering  <meyering@redhat.com>
39229
39230         bootstrap: merge changes from coreutils
39231         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
39232         of copied files.  Remove a kludge, now that this is fixed.
39233         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
39234         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
39235         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
39236
39237 2008-08-29  Bruno Haible  <bruno@clisp.org>
39238
39239         * MODULES.html.sh: Remove --cvs-urls option.
39240
39241 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
39242
39243         maint.mk: adjust to file name change
39244         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
39245
39246 2008-08-28  Jim Meyering  <meyering@redhat.com>
39247
39248         * modules/getndelim2 (License): Relicense to LGPLv2+.
39249         Approved by Richard Stallman for the version of 1995, and by
39250         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
39251
39252 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
39253
39254         * lib/getdelim.c (flockfile, funlockfile): Make all of them
39255         dummy if one is not available.  Do not touch them if
39256         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
39257         (getc_maybe_unlocked): New.
39258         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
39259
39260 2008-08-26  Eric Blake  <ebb9@byu.net>
39261
39262         doc/INSTALL: resync from autoconf
39263         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
39264         (INSTALL_PRELUDE): Delete; this is done more efficiently by
39265         moving...
39266         * install.texi [!autoconf]: ...here.  Resync from autoconf.
39267         * INSTALL: Regenerate.
39268         * INSTALL.ISO: New file.
39269         * INSTALL.UTF-8: Likewise.
39270
39271 2008-08-26  Jim Meyering  <meyering@redhat.com>
39272
39273         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
39274         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
39275         these definitions conditional, so that they may be overridden, too.
39276
39277 2008-08-26  Bruno Haible  <bruno@clisp.org>
39278
39279         Generate INSTALL file variants with prettier quotes.
39280         * doc/Makefile (INSTALL_PRELUDE): New macro.
39281         (INSTALL): Use it.
39282         (INSTALL.ISO, INSTALL.UTF-8): New rules.
39283
39284 2008-08-26  Bruno Haible  <bruno@clisp.org>
39285
39286         Run makeinfo in an English locale.
39287         * doc/Makefile (MAKEINFO): New variable.
39288
39289 2008-08-26  Bruno Haible  <bruno@clisp.org>
39290
39291         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
39292         Suggested by Eric Blake.
39293
39294 2008-08-25  Bruno Haible  <bruno@clisp.org>
39295
39296         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
39297
39298 2008-08-25  Eric Blake  <ebb9@byu.net>
39299
39300         c-stack: test that stack overflow can be caught
39301         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
39302         that platform allows handling stack overflow; at least OS/2 EMX
39303         has sigaltstack, but crashes before transferring control to
39304         handler on stack overflow.
39305         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
39306         check for HAVE_STACK_OVERFLOW_HANDLING.
39307         Reported by Elbert Pol.
39308
39309 2008-08-25  Bruno Haible  <bruno@clisp.org>
39310
39311         * doc/posix-functions/strftime.texi: Fix description of strftime
39312         module.
39313
39314 2008-08-24  Bruno Haible  <bruno@clisp.org>
39315
39316         * tests/uniwidth/test-uc_width2.c: New file.
39317         * tests/uniwidth/test-uc_width2.sh: New file.
39318         * modules/uniwidth/width-tests (Files): Add the new files.
39319         (TESTS): Add uniwidth/test-uc_width2.sh.
39320         (TESTS_ENVIRONMENT): New variable.
39321         (check_PROGRAMS): Add test-uc_width2.
39322         (test_uc_width2_SOURCES): New variable.
39323
39324         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
39325         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
39326         not 0x00AB.
39327         Reported by Alexander V. Lukyanov <lav@netis.ru>.
39328
39329 2008-08-22  Eric Blake  <ebb9@byu.net>
39330
39331         test-lock, test-tls: mention why a test is skipped
39332         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
39333         skipped.
39334         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
39335
39336         count-one-bits: relax license
39337         * modules/count-one-bits (License): Relicense to LGPLv2+.
39338         Suggested by Ludovic Courtès, approved by Ben Pfaff.
39339
39340 2008-08-22  Andreas Schwab  <schwab@suse.de>
39341
39342         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
39343         Remove spurious space in assignment.
39344
39345 2008-08-21  Simon Josefsson  <simon@josefsson.org>
39346
39347         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
39348         Paul Eggert <eggert@CS.UCLA.EDU>.
39349
39350 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
39351
39352         * modules/gettext: Add m4/threadlib.m4.
39353
39354 2008-08-19  Eric Blake  <ebb9@byu.net>
39355
39356         test-c-stack: fix compilation failure on FreeBSD 5.0
39357         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
39358         headers before <sys/resource.h>.
39359         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
39360         the bug.
39361         Reported by Nelson H. F. Beebe.
39362
39363         strverscmp: migrate from "strverscmp.h" to <string.h>
39364         * modules/string (Makefile.am): Add new hooks.
39365         * modules/strverscmp (Files): Remove strverscmp.h.
39366         (Depends-on): Add string.
39367         (configure.ac): Add indicator.
39368         (Include): Mention new header.
39369         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
39370         defaults.
39371         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
39372         results.
39373         * lib/strverscmp.h: Delete.
39374         * lib/string.in.h (strverscmp): Provide declaration, when needed.
39375         * tests/test-strverscmp.c (includes): Adjust client.
39376         * lib/check-version.c (includes): Likewise.
39377         * NEWS: Document the change.
39378
39379         strverscmp: add unit test
39380         * modules/strverscmp-tests: New file.
39381         * tests/test-strverscmp.c: Likewise.
39382
39383 2008-08-19  Simon Josefsson  <simon@josefsson.org>
39384
39385         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
39386         regarding Windows crypto stuff, from Mono.
39387
39388 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
39389
39390         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
39391         if present, for intel RND.  Return error on failures.
39392
39393 2008-08-18  Ben Pfaff  <blp@gnu.org>
39394
39395         gitlog-to-changelog: give better diagnostic for failed pipe-open
39396         * build-aux/gitlog-to-changelog: Improve error message: suggest
39397         that the version of Git may be too old.
39398
39399 2008-08-18  Simon Josefsson  <simon@josefsson.org>
39400
39401         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
39402         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
39403
39404 2008-08-18  Bruno Haible  <bruno@clisp.org>
39405
39406         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
39407         pthread_in_use().
39408
39409 2008-08-18  Bruno Haible  <bruno@clisp.org>
39410
39411         * lib/glthread/threadlib.c: Include <pthread.h>.
39412
39413 2008-08-18  Bruno Haible  <bruno@clisp.org>
39414
39415         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
39416         glthread_recursive_lock_* macros.
39417         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
39418         Fix syntax error.
39419
39420 2008-08-18  Bruno Haible  <bruno@clisp.org>
39421
39422         * lib/glthread/thread.c: Avoid forcing a context switch right after
39423         thread creation.
39424
39425 2008-08-17  Bruno Haible  <bruno@clisp.org>
39426
39427         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
39428         * lib/glthread/thread.h: Provide Win32 specific implementation.
39429         * modules/thread (Files): Add lib/glthread/thread.c.
39430         (Depends-on): Add lock.
39431         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
39432
39433 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
39434
39435         New module 'yield'.
39436         * modules/yield: New file.
39437         * lib/glthread/yield.h: New file.
39438         * m4/yield.m4: New file.
39439         * MODULES.html.sh (Multithreading): Add yield.
39440
39441 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
39442
39443         New module 'thread'.
39444         * modules/thread: New file.
39445         * lib/glthread/thread.h: New file.
39446         * m4/thread.m4: New file.
39447         * MODULES.html.sh (Multithreading): Add thread.
39448
39449 2008-08-17  Bruno Haible  <bruno@clisp.org>
39450
39451         * lib/glthread/lock.h: Include <stdlib.h> always.
39452         * lib/glthread/tls.h: Likewise.
39453         * lib/glthread/cond.h: Likewise.
39454
39455 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
39456
39457         New module 'cond'.
39458         * modules/cond: New file.
39459         * lib/glthread/cond.h: New file.
39460         * lib/glthread/cond.c: New file.
39461         * m4/cond.m4: New file.
39462         * MODULES.html.sh (Multithreading): Add cond.
39463
39464 2008-08-16  Eric Blake  <ebb9@byu.net>
39465
39466         c-stack: fix regression on Irix 5.3 from 2008-06-21
39467         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
39468         sa_sigaction...
39469         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
39470         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
39471         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
39472         * modules/signal (Makefile.am): Use the value.
39473         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
39474         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
39475         * doc/posix-headers/signal.texi (signal.h): Document this
39476         portability issue.
39477         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
39478         Reported by Tom G. Christensen.
39479
39480 2008-08-17  Bruno Haible  <bruno@clisp.org>
39481
39482         New module 'threadlib'.
39483         * modules/threadlib: New file.
39484         * lib/glthread/threadlib.c: New file, extracted from
39485         lib/glthread/lock.c.
39486         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
39487         functions.
39488         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
39489         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
39490         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
39491         macros.
39492         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
39493         (gl_DISABLE_THREADS): Remove macro.
39494         * modules/lock (Files): Remove build-aux/config.rpath.
39495         (Depends-on): Remove havelib. Add threadlib.
39496         (configure.ac-early): Remove section.
39497         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
39498         * modules/tls (Depends-on): Remove lock. Add threadlib.
39499         (Link): New section, copied from threadlib.
39500         * MODULES.html.sh (Multithreading): Add threadlib.
39501
39502 2008-08-14  Bruno Haible  <bruno@clisp.org>
39503
39504         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
39505         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
39506         glthread_rwlock_unlock, glthread_rwlock_destroy,
39507         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
39508         glthread_recursive_lock_destroy): Define as macros always.
39509         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
39510         glthread_lock_lock.
39511         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
39512         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
39513         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
39514         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
39515         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
39516         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
39517         (glthread_recursive_lock_lock_func): Renamed from
39518         glthread_recursive_lock_lock.
39519         (glthread_recursive_lock_unlock_func): Renamed from
39520         glthread_recursive_lock_unlock.
39521         (glthread_recursive_lock_destroy_func): Renamed from
39522         glthread_recursive_lock_destroy.
39523
39524 2008-08-14  Bruno Haible  <bruno@clisp.org>
39525
39526         * lib/glthread/lock.h: Renamed from lib/lock.h.
39527         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
39528         * lib/glthread/tls.h: Renamed from lib/tls.h.
39529         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
39530         * lib/fstrcmp.c: Update includes.
39531         * lib/strsignal.c: Update includes.
39532         * modules/lock (Files, Makefile.am): Update.
39533         (Include): Change to "glthread/lock.h".
39534         * modules/tls (Files, Makefile.am): Update.
39535         (Include): Change to "glthread/tls.h".
39536         * tests/test-lock.c: Update includes.
39537         * tests/test-tls.c: Update includes.
39538         * NEWS: Mention the renamed header files.
39539
39540 2008-08-11  Jim Meyering  <meyering@redhat.com>
39541
39542         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
39543
39544 2008-08-11  Eric Blake  <ebb9@byu.net>
39545
39546         test-c-stack: avoid C99-ism
39547         * tests/test-c-stack.c (main): Fix whitespace, move declaration
39548         before statement.
39549         Reported by Alain Guibert.
39550
39551 2008-08-10  Jim Meyering  <meyering@redhat.com>
39552
39553         ensure that return value of uinttostr et al are not ignored
39554         * lib/inttostr.h (__GNUC_PREREQ): Define.
39555         (__attribute_warn_unused_result__): Define.
39556         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
39557
39558 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
39559
39560         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
39561         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
39562
39563 2008-08-07  Jim Meyering  <meyering@redhat.com>
39564
39565         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
39566
39567         * modules/mkstemp (License): Relicense under LGPLv2+.
39568         * modules/tempname (License): Likewise.
39569
39570 2008-08-06  Bruno Haible  <bruno@clisp.org>
39571
39572         * lib/poll.c (poll): Further micro-optimization.
39573
39574 2008-08-06  Jim Meyering  <meyering@redhat.com>
39575
39576         inet_pton.c: use locale-independent tolower
39577         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
39578         (inet_pton6): Use c_tolower rather than tolower.
39579         * modules/inet_pton (Depends-on): Add c-ctype.
39580
39581 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
39582
39583         * lib/poll.c (poll): Avoid division when timeout is 0, cache
39584         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
39585
39586 2008-08-06  Jim Meyering  <meyering@redhat.com>
39587
39588         * modules/inet_pton (License): Relicense under LGPLv2+.
39589
39590 2008-08-03  Bruno Haible  <bruno@clisp.org>
39591
39592         Additional non-aborting API for lock and tls.
39593         * lib/lock.h: Include <errno.h>.
39594         (glthread_lock_init): New macro/function.
39595         (gl_lock_init): Define as wrapper around glthread_lock_init.
39596         (glthread_lock_lock): New macro/function.
39597         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
39598         (glthread_lock_unlock): New macro/function.
39599         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
39600         (glthread_lock_destroy): New macro/function.
39601         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
39602         (glthread_rwlock_init): New macro/function.
39603         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
39604         (glthread_rwlock_rdlock): New macro/function.
39605         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
39606         (glthread_rwlock_wrlock): New macro/function.
39607         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
39608         (glthread_rwlock_unlock): New macro/function.
39609         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
39610         (glthread_rwlock_destroy): New macro/function.
39611         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
39612         (glthread_recursive_lock_init): New macro/function.
39613         (gl_recursive_lock_init): Define as wrapper around
39614         glthread_recursive_lock_init.
39615         (glthread_recursive_lock_lock): New macro/function.
39616         (gl_recursive_lock_lock): Define as wrapper around
39617         glthread_recursive_lock_lock.
39618         (glthread_recursive_lock_unlock): New macro/function.
39619         (gl_recursive_lock_unlock): Define as wrapper around
39620         glthread_recursive_lock_unlock.
39621         (glthread_recursive_lock_destroy): New macro/function.
39622         (gl_recursive_lock_destroy): Define as wrapper around
39623         glthread_recursive_lock_destroy.
39624         (glthread_once): New macro/function.
39625         (gl_once): Define as wrapper around glthread_once.
39626         Update function declarations.
39627         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
39628         glthread_rwlock_init. Return error code.
39629         (glthread_rwlock_rdlock_multithreaded): Renamed from
39630         glthread_rwlock_rdlock. Return error code.
39631         (glthread_rwlock_wrlock_multithreaded): Renamed from
39632         glthread_rwlock_wrlock. Return error code.
39633         (glthread_rwlock_unlock_multithreaded): Renamed from
39634         glthread_rwlock_unlock. Return error code.
39635         (glthread_rwlock_destroy_multithreaded): Renamed from
39636         glthread_rwlock_destroy. Return error code.
39637         (glthread_recursive_lock_init_multithreaded): Renamed from
39638         glthread_recursive_lock_init. Return error code.
39639         (glthread_recursive_lock_lock_multithreaded): Renamed from
39640         glthread_recursive_lock_lock. Return error code.
39641         (glthread_recursive_lock_unlock_multithreaded): Renamed from
39642         glthread_recursive_lock_unlock. Return error code.
39643         (glthread_recursive_lock_destroy_multithreaded): Renamed from
39644         glthread_recursive_lock_destroy. Return error code.
39645         (glthread_once_call): Make static.
39646         (glthread_once_multithreaded): Renamed from glthread_once.
39647         * lib/tls.h: Include <errno.h>.
39648         (glthread_tls_key_init): New macro/function.
39649         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
39650         (glthread_tls_set): New macro/function.
39651         (gl_tls_set): Define as wrapper around glthread_tls_set.
39652         (glthread_tls_key_destroy): New macro/function.
39653         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
39654         Update function declarations.
39655         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
39656         glthread_tls_get.
39657         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
39658
39659 2008-08-04  Eric Blake  <ebb9@byu.net>
39660
39661         gnumakefile: use space, not TAB, outside of targets
39662         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
39663
39664 2008-08-02  Jim Meyering  <meyering@redhat.com>
39665
39666         getdate.y: avoid locale-dependent date parsing failure
39667         In Turkish locales, getdate would fail to recognize keywords
39668         containing a lowercase "i".  The solution is not to rely on
39669         locale-sensitive case-conversion.
39670         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
39671         (lookup_word): Use c_toupper in place of toupper.
39672         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
39673         Reported by Vefa Bicakci <bicave@superonline.com> in
39674         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
39675         * modules/getdate (Depends-on): Add c-ctype.
39676
39677 2008-08-02  Bruno Haible  <bruno@clisp.org>
39678
39679         * gnulib-tool (func_import): When updating or creating a .gitignore
39680         file, prepend each added line with a slash, and ignore leading slashes
39681         from the existing lines.
39682         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
39683
39684 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39685
39686         Portability fix for GNU make 3.79.1.
39687         * top/GNUmakefile: Avoid 'else COND', which older GNU make
39688         versions do not understand.
39689
39690 2008-08-01  Bruno Haible  <bruno@clisp.org>
39691
39692         Work around bug of HP-UX 10.20 cc with -0.0 literal.
39693         * tests/test-isnanf.h (zero): New variable.
39694         (main): Avoid literal -0.0f.
39695         * tests/test-isnand.h (zero): New variable.
39696         (main): Avoid literal -0.0.
39697         * tests/test-isnanl.h (zero): New variable.
39698         (main): Avoid literal -0.0L.
39699         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
39700         (test_float, test_double, test_long_double): Avoid literals -0.0f,
39701         -0.0, -0.0L.
39702         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
39703         (test_signbitd): Avoid literal -0.0.
39704         (test_signbitl): Avoid literal -0.0L.
39705         * tests/test-ceilf1.c (zero): New variable.
39706         (main): Avoid literal -0.0f.
39707         * tests/test-ceill.c (zero): New variable.
39708         (main): Avoid literal -0.0L.
39709         * tests/test-floorf1.c (zero): New variable.
39710         (main): Avoid literal -0.0f.
39711         * tests/test-floorl.c (zero): New variable.
39712         (main): Avoid literal -0.0L.
39713         * tests/test-roundf1.c (zero): New variable.
39714         (main): Avoid literal -0.0f.
39715         * tests/test-round1.c (zero): New variable.
39716         (main): Avoid literal -0.0.
39717         * tests/test-roundl.c (zero): New variable.
39718         (main): Avoid literal -0.0L.
39719         * tests/test-truncf1.c (zero): New variable.
39720         (main): Avoid literal -0.0f.
39721         * tests/test-trunc1.c (zero): New variable.
39722         (main): Avoid literal -0.0.
39723         * tests/test-truncl.c (zero): New variable.
39724         (main): Avoid literal -0.0L.
39725         * tests/test-frexp.c (zero): New variable.
39726         (main): Avoid literal -0.0.
39727         * tests/test-frexpl.c (zero): New variable.
39728         (main): Avoid literal -0.0L.
39729         * tests/test-ldexpl.c (zero): New variable.
39730         (main): Avoid literal -0.0L.
39731         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
39732         (zerod, zerol): New variables.
39733         (test_function): Avoid literals -0.0, -0.0L.
39734         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
39735         (zerod, zerol): New variables.
39736         (test_function): Avoid literals -0.0, -0.0L.
39737         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
39738         (zerod, zerol): New variables.
39739         (test_function): Avoid literals -0.0, -0.0L.
39740         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
39741         (zerod, zerol): New variables.
39742         (test_function): Avoid literals -0.0, -0.0L.
39743         * tests/test-strtod.c (zero): New variable.
39744         (main): Avoid literal -0.0.
39745         Reported by Jonathan C. Patschke <jp@centtech.com>.
39746
39747 2008-07-31  Jim Meyering  <meyering@redhat.com>
39748
39749         sha256.h: correct definition of SHA224_DIGEST_SIZE
39750         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
39751         Reported by Paulie Pena IV <paulie4@gmail.com>.
39752         Define as 224 / 8, rather than as a literal.
39753         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
39754         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
39755         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
39756
39757 2008-07-31  Bruno Haible  <bruno@clisp.org>
39758
39759         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
39760         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
39761         Reported by Jonathan Patschke <jp@centtech.com>.
39762
39763 2008-07-31  Bruno Haible  <bruno@clisp.org>
39764
39765         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
39766         Reported by Paolo Bonzini <bonzini@gnu.org>.
39767
39768 2008-07-30  Eric Blake  <ebb9@byu.net>
39769
39770         test-strtod: allow compilation without -lm
39771         * tests/test-strtod.c (main): Avoid link dependence on fabs.
39772         Reported by Dennis Clarke <blastwave@gmail.com>.
39773
39774 2008-07-28  Jim Meyering  <meyering@redhat.com>
39775
39776         bootstrap: work also when there are no .po files in po/
39777         * build-aux/bootstrap (update_po_files): Complete the change
39778         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
39779
39780 2008-07-27  Jim Meyering  <meyering@redhat.com>
39781
39782         * users.txt: Add zile.
39783
39784 2008-07-26  Ben Pfaff  <blp@gnu.org>
39785
39786         Add missing dependencies on new m4/exponent[fdl].m4 files.
39787         * modules/isnanf-nolibm: Add m4/exponentf.m4.
39788         * modules/isnand-nolibm: Add m4/exponentd.m4.
39789         * modules/isnanl-nolibm: Add m4/exponentl.m4.
39790         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
39791         m4/isnan[fdl].m4, because the macros actually used moved.
39792         Reported by Jim Meyering.
39793
39794 2008-07-14  Ben Pfaff  <blp@gnu.org>
39795
39796         Add isinf module.
39797         * lib/isinf.c: New file.
39798         * lib/math.in.h: Define isinf macro if we have decided to replace
39799         it.
39800         * m4/isinf.m4: New file.
39801         * m4/math_h.m4: Initialize and substitute variables for isinf
39802         module.
39803         * modules/isinf: New file.
39804         * modules/isinf-tests: New file.
39805         * modules/math: Add substitutions for new module.
39806         * tests/test-isinf.c: New file.
39807         * doc/posix-functions/isinf.texi: Mention new module.
39808         * MODULES.html.sh: Mention new module.
39809
39810 2008-07-14  Ben Pfaff  <blp@gnu.org>
39811
39812         Factor out some macros for use by additional modules.
39813         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
39814         exponentf.m4.
39815         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
39816         exponentd.m4.
39817         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
39818         file exponentl.m4.
39819         * m4/exponentf.m4: New file.
39820         * m4/exponentd.m4: New file.
39821         * m4/exponentl.m4: New file.
39822         * modules/isnanf: Use new file m4/exponentf.m4.
39823         * modules/isnand: Use new file m4/exponentd.m4.
39824         * modules/isnanl: Use new file m4/exponentl.m4.
39825
39826 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
39827
39828         mktime.c: normalize tp->tm_isdst value to -1/0/1.
39829         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
39830         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
39831         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
39832
39833         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
39834         readlink on platforms without PATH_MAX.
39835
39836 2008-07-21  Eric Blake  <ebb9@byu.net>
39837
39838         Warn, not fail, on stale version.
39839         * top/GNUmakefile (_curr-ver): Tone down previous patch.
39840
39841         Don't allow installation with stale devel version number.
39842         * top/GNUmakefile (_is-install-target): New macro.
39843         (_curr-ver): Forbid installation with stale version number.
39844
39845 2008-07-20  Bruno Haible  <bruno@clisp.org>
39846
39847         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
39848         TESTS_ENVIRONMENT.
39849         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
39850
39851 2008-07-20  Bruno Haible  <bruno@clisp.org>
39852
39853         * lib/c-stack.h (c_stack_action): Add documentation.
39854         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
39855
39856 2008-07-20  Bruno Haible  <bruno@clisp.org>
39857
39858         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
39859         * modules/readlink (License): Likewise.
39860
39861 2008-07-17  Eric Blake  <ebb9@byu.net>
39862
39863         * modules/c-stack (Link): Fix typo.
39864
39865         Make c-stack use libsigsegv, when available.
39866         * modules/c-stack (Depends-on): Add libsigsegv.
39867         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
39868         needed.
39869         * lib/c-stack.c (SIGSTKSZ): Define fallback.
39870         (segv_handler, overflow_handler, c_stack_action)
39871         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
39872         implementation when libsigsegv is available, but only when using
39873         the library is necessary.
39874         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
39875         comment, explaining why XSI check fails on Linux.
39876         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
39877         * tests/test-c-stack2.sh: Tweak skip message.
39878         * NEWS: Document new link-time requirements.
39879
39880 2008-07-16  Eric Blake  <ebb9@byu.net>
39881
39882         c-stack: Expose false positives when not using libsigsegv.
39883         * modules/c-stack-tests (Files): Expand test.
39884         * tests/test-c-stack.c (main): Add means to conditionally trigger
39885         non-overflow SIGSEGV.
39886         * tests/test-c-stack2.sh: New file.
39887
39888 2008-07-14  Bruno Haible  <bruno@clisp.org>
39889
39890         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
39891         Reported by Eric Blake.
39892
39893 2008-07-14  Sam Steingold  <sds@gnu.org>
39894             Bruno Haible  <bruno@clisp.org>
39895
39896         New module libsigsegv.
39897         * modules/libsigsegv: New file.
39898         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
39899         modifications.
39900         * MODULES.html.sh (Signal handling): New section.
39901
39902 2008-07-14  Bruno Haible  <bruno@clisp.org>
39903
39904         * modules/unictype/ctype-* (Description): Add the word "function".
39905         Improves the resulting doc in MODULES.html.
39906
39907 2008-07-12  Ben Pfaff  <blp@gnu.org>
39908
39909         Add longlong module.
39910         * modules/longlong: New file.
39911
39912 2008-07-12  Bruno Haible  <bruno@clisp.org>
39913
39914         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
39915         to empty.
39916
39917 2008-07-10  Ben Pfaff  <blp@gnu.org>
39918
39919         Add isnan module.
39920         * doc/posix-functions/isnan.texi: Mention new module.
39921         * lib/math.in.h: Define isnan macro if we have decided to replace
39922         it.
39923         * m4/isnan.m4: New file.
39924         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
39925         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
39926         also.
39927         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
39928         redundancy.
39929         * m4/math_h.m4: Initialize and substitute variables for isnan
39930         module.
39931         * modules/isnan: New file.
39932         * modules/isnan-tests: New file.
39933         * modules/math: Add substitutions for new module.
39934         * tests/test-isnan.c: New file.
39935         * MODULES.html.sh: Mention new module.
39936
39937 2008-07-10  Ben Pfaff  <blp@gnu.org>
39938
39939         Add isnanf module.
39940         * lib/isnanf.m4: New file.
39941         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
39942         (gl_HAVE_ISNANF_IN_LIBM): New macro.
39943         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
39944         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
39945         * modules/isnanf: New file.
39946         * modules/isnanf-tests: New file.
39947         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
39948         files.
39949         * tests/test-isnanf-nolibm.c: factored most of its contents into
39950         new file tests/test-isnanf.h.
39951         * tests/test-isnanf.h: New file.
39952         * tests/test-isnanf.c: New file.
39953         * MODULES.html.sh: Mention new module.
39954         * doc/glibc-functions/isnanf.texi: Mention new module.
39955
39956 2008-07-10  Ben Pfaff  <blp@gnu.org>
39957
39958         Add isnand module.
39959         * lib/isnand.h: New file.
39960         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
39961         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
39962         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
39963         functionality also.
39964         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
39965         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
39966         (gl_HAVE_ISNAND_IN_LIBM): New macro.
39967         * modules/isnand: New file.
39968         * modules/isnand-tests: New file.
39969         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
39970         files.
39971         * tests/test-isnand-nolibm.c: factored most of its contents into
39972         new file tests/test-isnand.h.
39973         * tests/test-isnand.h: New file.
39974         * tests/test-isnand.c: New file.
39975         * MODULES.html.sh: Mention new module.
39976
39977 2008-07-10  Ben Pfaff  <blp@gnu.org>
39978
39979         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
39980         * lib/isnand.h: Rename lib/isnand-nolibm.h.
39981         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
39982         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
39983         * modules/isnanf-nolibm: Update references to renamed files.
39984         * modules/isnand-nolibm: Likewise.
39985         * modules/isnanf-nolibm-tests: Likewise.
39986         * modules/isnand-nolibm-tests: Likewise.
39987         * lib/frexp.c: Likewise.
39988         * lib/isfinite.c: Likewise.
39989         * lib/signbitd.c: Likewise.
39990         * lib/signbitf.c: Likewise.
39991         * lib/vasnprintf.c: Likewise.
39992         * tests/test-ceilf1.c: Likewise.
39993         * tests/test-ceilf2.c: Likewise.
39994         * tests/test-floorf1.c: Likewise.
39995         * tests/test-floorf2.c: Likewise.
39996         * tests/test-frexp.c: Likewise.
39997         * tests/test-round1.c: Likewise.
39998         * tests/test-round2.c: Likewise.
39999         * tests/test-roundf1.c: Likewise.
40000         * tests/test-strtod.c: Likewise.
40001         * tests/test-trunc1.c: Likewise.
40002         * tests/test-trunc2.c: Likewise.
40003         * tests/test-truncf1.c: Likewise.
40004         * tests/test-truncf2.c: Likewise.
40005         * NEWS: Mention the renamed header files.
40006
40007 2008-07-11  Jim Meyering  <meyering@redhat.com>
40008
40009         vc-list-files: make the last-resort awk code more portable
40010         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
40011         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
40012         does not support it.
40013
40014 2008-07-10  Eric Blake  <ebb9@byu.net>
40015
40016         Work with tar's bootstrap.
40017         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
40018         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
40019         an m4 comment.
40020
40021 2008-07-09  Jim Meyering  <meyering@redhat.com>
40022
40023         posix-shell.m4: fix typo that made this test malfunction
40024         * m4/posix-shell.m4: Remove capitalization in variable name.
40025
40026 2008-07-08  Bruno Haible  <bruno@clisp.org>
40027
40028         * m4/onceonly.m4: Update comments.
40029         Reported by Ben Pfaff <blp@cs.stanford.edu>.
40030
40031 2008-07-04  Jim Meyering  <meyering@redhat.com>
40032
40033         * users.txt: Add vc-dwim.
40034         (bison, coreutils): Use the gitweb URL.
40035
40036 2008-07-03  Jim Meyering  <meyering@redhat.com>
40037
40038         * users.txt: Add libffcall.  From Sam Steingold.
40039
40040 2008-07-03  OndÅ™ej Vašík  <ovasik@redhat.com>
40041
40042         getdate.y: do not ignore TZ with relative day, month or year offset
40043         * lib/getdate.y (get_date): Move the tz-handling block to follow the
40044         relative-date-handling, since otherwise, the latter would clobber the
40045         sole output (an updated Start value) of the tz-handling block.
40046         * tests/test-getdate.c: Tests for the fix
40047
40048 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40049
40050         Recognize 'foo_LIBRARIES += libgnu.a'.
40051         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
40052         makefile snippet has already specified an installation location,
40053         also using '+='.
40054
40055 2008-07-02  OndÅ™ej Vašík  <ovasik@redhat.com>
40056
40057         getdate.y: factor out common actions
40058         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
40059         Use them in place of open-coded actions.
40060
40061 2008-07-01  Simon Josefsson  <simon@josefsson.org>
40062
40063         Add self-test for getdate module.
40064         * modules/getdate-tests: New file.
40065         * tests/test-getdate.c: New file.
40066
40067 2008-06-29  Bruno Haible  <bruno@clisp.org>
40068
40069         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
40070         .gitignore.
40071         Reported by Sylvain Beucler <beuc@beuc.net>.
40072
40073 2008-06-29  Bruno Haible  <bruno@clisp.org>
40074
40075         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
40076         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
40077
40078 2008-06-29  Bruno Haible  <bruno@clisp.org>
40079
40080         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
40081         EXTRA_DIST.
40082         Reported by Sylvain Beucler <beuc@beuc.net>.
40083
40084 2008-06-26  Jim Meyering  <meyering@redhat.com>
40085
40086         make several modules depend on the "open" module
40087         This provides slightly increased consistency when opening-for-write
40088         the name of a non-directory spelled with a trailing slash.
40089         * modules/chdir-safer: Likewise.
40090         * modules/chown: Likewise.
40091         * modules/clean-temp: Likewise.
40092         * modules/copy-file: Likewise.
40093         * modules/fchdir: Likewise.
40094         * modules/fcntl-safer: Likewise.
40095         * modules/pipe: Likewise.
40096         * modules/utime: Likewise.
40097         Prompted by Eric Blake and Bruno Haible.
40098
40099 2008-06-24  Andreas Schwab  <schwab@suse.de>
40100
40101         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
40102         literals can be used as initializers for global variables.
40103
40104 2008-06-23  Eric Blake  <ebb9@byu.net>
40105
40106         Make gnulib-cache.m4 easier to diff.
40107         * gnulib-tool (func_import): Allow newlines when reading cached
40108         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
40109
40110 2008-06-23  Bruno Haible  <bruno@clisp.org>
40111
40112         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
40113         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
40114         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
40115         m4/signalblocking.m4.
40116         (gl_PREREQ_SIGACTION): Don't invoke it.
40117         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
40118         gl_PREREQ_SIG_HANDLER_H.
40119         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
40120         Don't check for sigaction here.
40121
40122 2008-06-23  Bruno Haible  <bruno@clisp.org>
40123
40124         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
40125         (install_handlers): Don't set the SA_RESETHAND flag.
40126
40127 2008-06-23  Bruno Haible  <bruno@clisp.org>
40128
40129         * m4/sigaction.m4: Comment fixes.
40130         * lib/signal.in.h: Likewise.
40131
40132 2008-06-23  Eric Blake  <ebb9@byu.net>
40133
40134         Fix typo.
40135         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
40136
40137         Avoid SA_ namespace.
40138         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
40139         Reported by Ralf Wildenhues.
40140
40141         Avoid test failure due to SA_RESTORER.
40142         * tests/test-sigaction.c (SA_MASK): New macro.
40143         (main): Avoid failing due to extension flags being set.
40144         Reported by Jim Meyering.
40145
40146         Revert use of sig-handler.h in sigprocmask.c.
40147         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
40148         it requires the existence of struct sigaction.
40149         * lib/sigprocmask.c (handler_t): Restore typedef.
40150         (rpl_signal, old_handlers): Use local type.
40151
40152 2008-06-22  Bruno Haible  <bruno@clisp.org>
40153
40154         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
40155         conditionally.
40156         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
40157
40158 2008-06-22  Bruno Haible  <bruno@clisp.org>
40159
40160         * doc/posix-functions/siginterrupt.texi: Move note.
40161
40162         * lib/signal.in.h (SA_RESTART): New macro.
40163         * lib/sigaction.c: Update comment.
40164
40165         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
40166
40167         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
40168         (gl_PREREQ_SIGPROCMASK): Invoke it.
40169         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
40170
40171         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
40172
40173         * lib/sigprocmask.c: Update a comment.
40174
40175 2008-06-21  Eric Blake  <ebb9@byu.net>
40176
40177         Use sigaction module rather than signal().
40178         * modules/c-stack (Depends-on): Add sigaction.
40179         * modules/fatal-signal (Depends-on): Likewise.
40180         * modules/nanosleep (Depends-on): Likewise.
40181         * modules/sigprocmask (Files): Add sig-handler.h.
40182         * modules/sigaction (Files): Likewise.
40183         * lib/sig-handler.h (get_handler): New file, suggested by Paul
40184         Eggert.
40185         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
40186         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
40187         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
40188         (init_fatal_signals): Likewise.
40189         * lib/nanosleep.c (rpl_nanosleep): Likewise.
40190         (siginterrupt): Delete fallback.
40191         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
40192         instead.
40193         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
40194         siginterrupt.
40195
40196         New module sigaction, for mingw.
40197         * modules/sigaction: New module...
40198         * modules/sigaction-tests: ...and its test.
40199         * m4/sigaction.m4: New file.
40200         * lib/sigaction.c: Likewise.
40201         * tests/test-sigaction.c: Likewise.
40202         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
40203         * modules/signal (Makefile.am): Likewise.
40204         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
40205         needed.
40206         * doc/posix-headers/signal.texi (signal.h): Mention provided
40207         types.
40208         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
40209         that sigaction is preferable.
40210         * doc/posix-functions/sigaction.texi (sigaction): Mention new
40211         module.
40212         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
40213         sigaction.
40214
40215         Improve robustness of sigprocmask by overriding signal.
40216         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
40217         is in use.
40218         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
40219         (SIGKILL, SIGSTOP): Provide fallbacks.
40220         (rpl_signal): Implement.
40221         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
40222         signal can be called inside handlers.
40223
40224         Fix nanosleep module on mingw.
40225         * modules/nanosleep (Depends-on): Add sys_select.
40226         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
40227
40228         Fix licensing of sigprocmask.
40229         * modules/raise (License): Relicense as LGPL.
40230
40231 2008-06-21  Bruno Haible  <bruno@clisp.org>
40232
40233         * lib/propername.c (proper_name_utf8): Don't use the transliterated
40234         result if it contains question marks.
40235         Reported by Michael Geng <linux@michaelgeng.de>.
40236
40237 2008-06-19  Bruno Haible  <bruno@clisp.org>
40238
40239         Fix CVS-ism.
40240         * doc/gnulib.texi: Include updated-stamp.texi.
40241         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
40242         (updated-stamp.texi): New rule.
40243         (gnulib.info): Depend on it.
40244         * doc/.gitignore: Add updated-stamp.texi.
40245         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
40246
40247 2008-06-19  Bruno Haible  <bruno@clisp.org>
40248
40249         * doc/Makefile (gnulib.info): Update and simplify dependencies.
40250         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
40251
40252 2008-06-19  Eric Blake  <ebb9@byu.net>
40253
40254         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
40255         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
40256         Reported by Stepan Kasal.
40257
40258 2008-06-18  Bruno Haible  <bruno@clisp.org>
40259
40260         * lib/fatal-signal.c (init_fatal_signals): Add comment.
40261         Reported by Eric Blake.
40262
40263 2008-06-18  Eric Blake  <ebb9@byu.net>
40264
40265         Work around cygwin 1.5.25 strsignal bug.
40266         * tests/test-strsignal.c: Allow for const char *.
40267         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
40268
40269 2008-06-18  Simon Josefsson  <simon@josefsson.org>
40270
40271         * users.txt: Update URL to article and add author/date
40272         information.
40273
40274 2008-06-17  Bruno Haible  <bruno@clisp.org>
40275
40276         New macro gl_DISABLE_THREADS.
40277         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
40278         if the user did not pass --enable-threads or --disable-threads option.
40279         (gl_DISABLE_THREADS): New macro.
40280         Reported by Eric Blake <ebb9@byu.net>.
40281
40282 2008-06-17  Bruno Haible  <bruno@clisp.org>
40283
40284         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
40285         when the macro ignores it.
40286         Based on a patch by Eric Blake <ebb9@byu.net>.
40287
40288 2008-06-17  Bruno Haible  <bruno@clisp.org>
40289
40290         * modules/tls (License): Change to LGPLv2+.
40291         Reported by Eric Blake.
40292
40293 2008-06-17  Eric Blake  <ebb9@byu.net>
40294
40295         Simplify c-stack prerequisites.
40296         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
40297         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
40298         no longer requires <ucontext.h> to exist.  Optimize setrlimit
40299         check.
40300         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
40301         <sys/resource.h>.
40302
40303         Move c-stack test into testsuite.
40304         * modules/c-stack-tests: New file.
40305         * lib/c-stack.c [DEBUG]: Move test program...
40306         * tests/test-c-stack.c: ...into this new file.  Skip rather than
40307         fail test if sigaltstack is lacking.
40308         * tests/test-c-stack.sh: New driver file.
40309
40310 2008-06-16  Eric Blake  <ebb9@byu.net>
40311
40312         Use raise module consistently.
40313         * modules/fatal-signal (Depends-on): Add raise.
40314         * modules/sigprocmask (Depends-on): Likewise.
40315         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
40316         * lib/sigprocmask.c (sigprocmask): Likewise.
40317         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
40318         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
40319
40320         Fix compliance bug in sigpending.
40321         * lib/sigprocmask.c (sigpending): Return pending array via
40322         parameter, not return value.
40323
40324 2008-06-14  Eric Blake  <ebb9@byu.net>
40325
40326         Improve obstack-printf test code.
40327         * tests/test-obstack-printf.c (test_function): Fix comment, and
40328         simplify usage of obstack_* in macros.  Add a test for coverage.
40329         Reported by Bruno Haible.
40330
40331 2008-06-14  Bruno Haible  <bruno@clisp.org>
40332
40333         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
40334         array size as a constant, not as a const variable.
40335         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
40336         AC_USE_SYSTEM_EXTENSIONS.
40337         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
40338         Test whether the obstack_printf function actually exists.
40339         * modules/obstack-printf (Depends-on): Add extensions.
40340         (Include): Remove obstack.h.
40341         * modules/obstack-printf-posix (Depends-on): Add extensions.
40342         (Include): Remove obstack.h.
40343
40344 2008-06-13  Eric Blake  <ebb9@byu.net>
40345
40346         Add obstack-printf and obstack-printf-posix modules.
40347         * modules/obstack-printf: New file.
40348         * modules/obstack-printf-posix: Likewise.
40349         * MODULES.html.sh (Misc): Mention them.
40350         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
40351         Likewise.
40352         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
40353         Likewise.
40354         * modules/stdio (Makefile.am): Accomodate new modules.
40355         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
40356         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
40357         Declare.
40358         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
40359         functions.
40360         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
40361         (gl_REPLACE_OBSTACK_PRINTF): New macros
40362         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
40363         * tests/test-obstack-printf.c: New file.
40364         * modules/obstack-printf-tests: Likewise.
40365         * modules/obstack-printf-posix-tests: Likewise.
40366
40367 2008-06-11  Bruno Haible  <bruno@clisp.org>
40368
40369         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
40370         * lib/open.c: Include errno.h.
40371         (open): Fail when attempting to write to a file that has a trailing
40372         slash.
40373         * tests/test-open.c (main): Test against trailing slash bug.
40374         * doc/posix-functions/open.texi: Mention the trailing slash bug.
40375
40376 2008-06-10  Bruno Haible  <bruno@clisp.org>
40377
40378         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
40379         for $? to work inside the trap command, with various /bin/sh-s.
40380         * tests/test-vc-list-files-cvs.sh: Likewise.
40381
40382 2008-06-10  Bruno Haible  <bruno@clisp.org>
40383
40384         * lib/acl-internal.h: Don't include gettext.h here.
40385         * lib/set-mode-acl.c: Include gettext.h here.
40386         * lib/copy-acl.c: Likewise.
40387
40388 2008-06-10  Bruno Haible  <bruno@clisp.org>
40389
40390         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
40391         * lib/wait-process.c (wait_subprocess): Likewise.
40392         * lib/execute.h (execute): Add termsigp argument.
40393         * lib/execute.c (execute): Likewise.
40394         * lib/csharpcomp.c (compile_csharp_using_pnet,
40395         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
40396         * lib/csharpexec.c (execute_csharp_using_pnet,
40397         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
40398         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
40399         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
40400         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
40401         is_jikes_present): Update.
40402         * lib/javaexec.c (execute_java_class): Update.
40403         * lib/javaversion.c (execute_and_read_line): Update.
40404         * NEWS: Document the changes.
40405         Reported by Eric Blake.
40406
40407 2008-06-10  Eric Blake  <ebb9@byu.net>
40408
40409         Add missing include.
40410         * tests/test-strstr.c (includes): Add <signal.h>.
40411         * tests/test-strcasestr.c (includes): Likewise.
40412         * tests/test-memmem.c (includes): Likewise.
40413
40414 2008-06-10  Bruno Haible  <bruno@clisp.org>
40415
40416         * lib/wait-process.c (wait_subprocess): Add an assertion.
40417
40418 2008-06-10  Bruno Haible  <bruno@clisp.org>
40419
40420         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
40421
40422 2008-06-10  Bruno Haible  <bruno@clisp.org>
40423
40424         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
40425         using alarm().
40426         * tests/test-strcasestr.c (main): Likewise.
40427         * tests/test-strstr.c (main): Likewise.
40428
40429 2008-06-09  Bruno Haible  <bruno@clisp.org>
40430
40431         Work around the Solaris 10 ACE ACLs ABI change.
40432         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
40433         declare if ACL_NO_TRIVIAL is present.
40434         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
40435         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
40436         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
40437         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
40438         define if ACL_NO_TRIVIAL is present.
40439         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
40440         and use the current ABI.
40441         (file_has_acl): Use same #if condition as elsewhere.
40442         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
40443         in use, and use the current ABI.
40444         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
40445         Reported by Jim Meyering.
40446
40447 2008-06-09  Eric Blake  <ebb9@byu.net>
40448
40449         Work around environments that (stupidly) ignore SIGALRM.
40450         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
40451         before using alarm().
40452         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
40453         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
40454         Reported by Ian Beckwith <ianb@erislabs.net>.
40455
40456         Produce autobuild blurb earlier in log.
40457         * modules/autobuild (configure.ac-early): Move AB_INIT here.
40458
40459 2008-06-09  Jim Meyering  <meyering@redhat.com>
40460         and OndÅ™ej Vašík  <ovasik@redhat.com>
40461
40462         utimens.c: correct kernel bug work-around
40463         OndÅ™ej Vašík found that the invalid return value of 280 indicates
40464         failure, not success, and the kernel bug we're trying to work
40465         around affects not just the utimensat call, but also the fallback
40466         futimens call.
40467         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
40468         not success.
40469         [HAVE_FUTIMENS]: Use the same work-around, here.
40470
40471 2008-06-09  Jim Meyering  <meyering@redhat.com>
40472
40473         add more guards around definition of ACE_-related code
40474         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
40475         ALLOW and ACE_OWNER are also defined.
40476
40477 2008-06-08  Bruno Haible  <bruno@clisp.org>
40478
40479         * lib/acl-internal.h: Add me as co-author.
40480         * lib/file-has-acl.c: Likewise.
40481         * lib/set-mode-acl.c: Likewise.
40482         * lib/copy-acl.c: Likewise.
40483
40484 2008-06-08  Bruno Haible  <bruno@clisp.org>
40485
40486         Add support for AIX ACLs.
40487         * lib/acl-internal.h (acl_nontrivial): New declaration.
40488         * lib/file-has-acl.c (acl_nontrivial): New function.
40489         (file_has_acl): Add implementation using AIX 4 ACL API.
40490         * lib/set-mode-acl.c (qset_acl): Likewise.
40491         * lib/copy-acl.c (qcopy_acl): Likewise.
40492
40493 2008-06-08  Bruno Haible  <bruno@clisp.org>
40494
40495         Add support for HP-UX ACLs.
40496         * lib/acl-internal.h (acl_nontrivial): New declaration.
40497         * lib/file-has-acl.c (acl_nontrivial): New function.
40498         (file_has_acl): Add implementation using HP-UX 11 ACL API.
40499         * lib/set-mode-acl.c (qset_acl): Likewise.
40500         * lib/copy-acl.c (qcopy_acl): Likewise.
40501
40502 2008-06-08  Bruno Haible  <bruno@clisp.org>
40503
40504         Add support for Cygwin ACLs.
40505         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
40506         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
40507         the chmod_or_fchmod call.
40508         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
40509
40510 2008-06-08  Bruno Haible  <bruno@clisp.org>
40511
40512         Fix bug with setuid modes in Solaris 10+ code.
40513         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
40514         succeeded, when the mode contains some special bits.
40515
40516 2008-06-08  Bruno Haible  <bruno@clisp.org>
40517
40518         Add support for Solaris 7..10 ACLs.
40519         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
40520         declarations.
40521         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
40522         functions.
40523         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
40524         * lib/set-mode-acl.c (qset_acl): Likewise.
40525         * lib/copy-acl.c (qcopy_acl): Likewise.
40526
40527 2008-06-08  Bruno Haible  <bruno@clisp.org>
40528
40529         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
40530         declaration.
40531         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
40532         (acl_access_nontrivial): Remove MacOS X case.
40533         (file_has_acl): Use acl_extended_nontrivial.
40534         * lib/copy-acl.c (qcopy_acl): Likewise.
40535
40536 2008-06-08  Bruno Haible  <bruno@clisp.org>
40537
40538         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
40539
40540 2008-06-08  Jim Meyering  <meyering@redhat.com>
40541
40542         * modules/acl (Maintainer): Add Bruno Haible.
40543
40544 2008-06-07  Bruno Haible  <bruno@clisp.org>
40545
40546         Improve support for Tru64 ACLs.
40547         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
40548         ACL on OSF/1.
40549
40550 2008-06-07  Bruno Haible  <bruno@clisp.org>
40551
40552         Add support for MacOS X ACLs.
40553         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
40554         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
40555         * lib/set-mode-acl.c (qset_acl): Likewise.
40556         * lib/copy-acl.c (qcopy_acl): Likewise.
40557
40558 2008-06-07  Bruno Haible  <bruno@clisp.org>
40559
40560         Fix memory leak introduced on 2008-05-22.
40561         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
40562         use.
40563
40564 2008-06-07  Bruno Haible  <bruno@clisp.org>
40565
40566         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
40567         to construct an empty ACL.
40568
40569 2008-06-07  Bruno Haible  <bruno@clisp.org>
40570
40571         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
40572         precisely.
40573         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
40574
40575 2008-06-07  Bruno Haible  <bruno@clisp.org>
40576
40577         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
40578         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
40579
40580 2008-06-07  Bruno Haible  <bruno@clisp.org>
40581
40582         * doc/posix-functions/_setjmp.texi: Explain the use of this function
40583         regardless of POSIX.
40584         * doc/posix-functions/_longjmp.texi: Likewise.
40585         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
40586         SystemV platform in this case.
40587
40588 2008-06-06  Eric Blake  <ebb9@byu.net>
40589
40590         Document abort() bugs.
40591         * doc/posix-functions/abort.texi (abort): Mention anomalies.
40592
40593         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
40594         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
40595         sigsetjmp.
40596         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
40597         siglongjmp, but only as a macro.
40598         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
40599         is obsolete.
40600         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
40601
40602         Tweak documentation to cover cygwin argz bugs.
40603         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
40604         argz bug fix; no code change needed since no cygwin releases
40605         occurred between the last fix and the bug being tested.
40606         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
40607         module and recently fixed cygwin bugs.
40608         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
40609         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
40610         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
40611         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
40612         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
40613         Likewise.
40614         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
40615         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
40616         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
40617         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
40618         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
40619         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
40620         Likewise.
40621
40622         Avoid gcc warning on cygwin.
40623         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
40624         !ACL_NO_TRIVIAL]: Avoid unused variable.
40625
40626 2008-06-05  Eric Blake  <ebb9@byu.net>
40627
40628         Be tolerant of UNKNOWN version in gnulib-tool test dir.
40629         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
40630         git-version-gen fails to come up with a version.
40631         Reported by Simon Josefsson.
40632
40633 2008-06-05  Jim Meyering  <meyering@redhat.com>
40634             Paul Eggert  <eggert@cs.ucla.edu>
40635
40636         utimens.c: work around a probable Linux kernel bug
40637         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
40638         appears to be a kernel bug that causes utimensat to return 280
40639         instead of 0, indicating success.
40640
40641 2008-06-04  Bruno Haible  <bruno@clisp.org>
40642
40643         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
40644         2008-06-01 commit.
40645
40646 2008-06-04  Bruno Haible  <bruno@clisp.org>
40647
40648         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
40649         * lib/file-has-acl.c (acl_access_nontrivial): New function.
40650         (file_has_acl): Use it. Save errno afterwards.
40651         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
40652
40653 2008-06-03  Bruno Haible  <bruno@clisp.org>
40654
40655         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
40656         draft code. Simplify #ifs.
40657         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
40658         Put Solaris code after POSIX-draft code. Fix comments regarding
40659         Solaris 10, HP-UX. Mention Cygwin.
40660         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
40661
40662 2008-06-03  Eric Blake  <ebb9@byu.net>
40663
40664         Provide fallback for older kernels.
40665         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
40666         Provide runtime fallback if kernel lacks support.
40667         Reported by Mike Frysinger.
40668
40669 2008-06-02  Bruno Haible  <bruno@clisp.org>
40670
40671         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
40672         it exists.
40673
40674 2008-06-02  Bruno Haible  <bruno@clisp.org>
40675
40676         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
40677         * lib/copy-acl.c (qcopy_acl): Update comment.
40678
40679 2008-06-02  Bruno Haible  <bruno@clisp.org>
40680
40681         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
40682         like ACL APIs.
40683
40684 2008-06-02  Bruno Haible  <bruno@clisp.org>
40685
40686         * tests/test-file-has-acl.sh: Use different code for Cygwin.
40687         * tests/test-set-mode-acl.sh: Likewise.
40688         * tests/test-copy-acl.sh: Likewise.
40689         * tests/test-copy-file.sh: Likewise.
40690
40691 2008-06-02  Bruno Haible  <bruno@clisp.org>
40692
40693         * tests/test-file-has-acl.sh: Remove unused code.
40694
40695 2008-06-01  Bruno Haible  <bruno@clisp.org>
40696
40697         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
40698         (copy_acl): Just a wrapper around qcopy_acl that emits the error
40699         messages.
40700         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
40701
40702 2008-06-01  Bruno Haible  <bruno@clisp.org>
40703
40704         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
40705         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
40706         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
40707         APIs.
40708         * modules/acl-tests (configure.ac): Remove tests now contained in
40709         m4/acl.m4.
40710
40711 2008-06-02  Jim Meyering  <meyering@redhat.com>
40712
40713         announce-gen: use a better key-server host name
40714         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
40715         it may be more consistently reliable.  Suggested by Werner Koch
40716         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
40717
40718 2008-06-01  Bruno Haible  <bruno@clisp.org>
40719
40720         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
40721         Reported by Voroskoi Andras <voroskoi@gmail.com>.
40722
40723 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
40724
40725         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
40726
40727 2008-06-01  Bruno Haible  <bruno@clisp.org>
40728
40729         New ACL tests.
40730         * tests/test-file-has-acl.sh: New file.
40731         * tests/test-file-has-acl.c: New file.
40732         * tests/test-set-mode-acl.sh: New file.
40733         * tests/test-set-mode-acl.c: New file.
40734         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
40735         * tests/test-copy-acl.c: New file.
40736         * modules/acl-tests: New file, based on modules/copy-file-tests.
40737         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
40738         (Depends-on): Add acl-tests.
40739         (configure.ac): Remove checks.
40740         (Makefile.am): Don't create test-sameacls program here any more.
40741
40742 2008-06-01  Bruno Haible  <bruno@clisp.org>
40743
40744         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
40745         * tests/test-sameacls.c: Include progname.h.
40746         (main): Invoke set_program_name. Portability fixes for MacOS X,
40747         Solaris, HP-UX.
40748
40749 2008-06-01  Bruno Haible  <bruno@clisp.org>
40750
40751         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
40752         function.
40753         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
40754
40755 2008-06-01  Bruno Haible  <bruno@clisp.org>
40756
40757         * modules/rpmatch (Depends-on): Add strdup.
40758
40759 2008-06-01  Bruno Haible  <bruno@clisp.org>
40760
40761         * lib/pipe.c: Include unistd-safer.h.
40762         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
40763         * modules/pipe (Depends-on): Add unistd-safer.
40764
40765 2008-05-30  Simon Josefsson  <simon@josefsson.org>
40766
40767         * modules/autobuild (configure.ac): Call AB_INIT.
40768
40769 2008-05-30  Simon Josefsson  <simon@josefsson.org>
40770
40771         * tests/test-getaddrinfo.c: Don't print debug messages by default.
40772         Suggested by Bruno Haible <bruno@clisp.org>.
40773
40774 2008-05-30  Simon Josefsson  <simon@josefsson.org>
40775
40776         * tests/test-base64.c: Cast size_t to unsigned long when invoking
40777         printf.  Use %lu instead of %d.  Reported by Bruno Haible
40778         <bruno@clisp.org>.
40779
40780 2008-05-29  Eric Blake  <ebb9@byu.net>
40781
40782         Prefer new POSIX 200x interfaces over futimesat.
40783         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
40784         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
40785         when available.
40786         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
40787
40788 2008-05-28  Bruno Haible  <bruno@clisp.org>
40789
40790         * modules/stpcpy (License): Change to LGPLv2+.
40791         Requested by David Lutterkort <dlutter@redhat.com>.
40792
40793 2008-05-27  Bruno Haible  <bruno@clisp.org>
40794
40795         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
40796         current mingw.
40797         Reported by Jose E. Marchesi <jemarch@gnu.org>.
40798
40799 2008-05-27  Bruno Haible  <bruno@clisp.org>
40800
40801         * modules/iconv_open (Link): New section, from module 'iconv'.
40802         * modules/striconv (Link): Likewise.
40803         * modules/striconveh (Link): Likewise.
40804         * modules/xstriconv (Link): Likewise.
40805         * modules/unicodeio (Link): Likewise.
40806         * modules/propername (Link): Likewise.
40807         Reported by Jim Meyering.
40808
40809 2008-05-26  Jim Meyering  <meyering@redhat.com>
40810
40811         sha256: do not artificially restrict buffer length to be < 2^32
40812         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
40813         uint32_t to size_t.
40814         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
40815         to match.
40816
40817         avoid unaligned access errors, e.g., on sparc
40818         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
40819         direct access through a possibly-unaligned uint64* pointer.
40820         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
40821         direct access through a possibly-unaligned uint32* pointer.
40822         Prompted by this patch from Tom "spot" Callaway:
40823         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
40824
40825         sha512.c: fix typo in comment
40826         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
40827
40828 2008-05-25  Bruno Haible  <bruno@clisp.org>
40829
40830         * lib/set-mode-acl.c: Renamed from lib/acl.c.
40831         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
40832         (Makefile.am): Update lib_SOURCES.
40833
40834 2008-05-25  Bruno Haible  <bruno@clisp.org>
40835
40836         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
40837
40838 2008-05-25  Jim Meyering  <meyering@redhat.com>
40839
40840         useless-if-before-free: freed expr may have white-space differences
40841         * build-aux/useless-if-before-free: Recognize cases in which the
40842         freed expression differs from the tested one in embedded white
40843         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
40844         $1 was used, so we can't make any regexp shy.  Improved tests now
40845         detect this.
40846
40847         useless-if-before-free: accept white space in the expression.
40848         * build-aux/useless-if-before-free: For now, any white space
40849         in the expression must be identical in the free argument.
40850
40851         useless-if-before-free: efficiency tweak
40852         * build-aux/useless-if-before-free: Make the expression-matching
40853         regexp "shy".
40854         Make the *outer* regexp shy, not the expr-matching one.
40855
40856         update code-in-comment to accept cast of free arg
40857         * build-aux/useless-if-before-free: Update regexp.
40858
40859 2008-05-25  Bruno Haible  <bruno@clisp.org>
40860
40861         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
40862         * modules/copy-file-tests (Files, Makefile.am): Update.
40863         * tests/test-copy-file.c (func_test_copy): Update.
40864
40865 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
40866
40867         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
40868
40869 2008-05-23  Bruno Haible  <bruno@clisp.org>
40870
40871         Improve support for ACLs on OSF/1.
40872         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
40873         Remove fallback for unknown flavors of ACLs.
40874
40875 2008-05-22  Bruno Haible  <bruno@clisp.org>
40876
40877         Add support for ACLs on OSF/1.
40878         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
40879         replacements.
40880         (acl_free_text): New macro fallback.
40881         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
40882         acl_free.
40883         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
40884         acl_free_text function. Require AC_C_INLINE.
40885
40886 2008-05-22  Bruno Haible  <bruno@clisp.org>
40887
40888         Make copy_acl work on MacOS X 10.5.
40889         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
40890         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
40891         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
40892         If MODE_INSIDE_ACL, don't assume that every system has the same text
40893         representation for ACLs as FreeBSD.
40894         * lib/copy-acl.c (copy_acl): Add support for platforms with
40895         !MODE_INSIDE_ACL.
40896         * lib/file-has-acl.c (file_has_acl): Likewise.
40897         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
40898         FreeBSD, MacOS X, or IRIX, respectively.
40899
40900 2008-05-22  Bruno Haible  <bruno@clisp.org>
40901
40902         * lib/acl.h: Don't include <sys/acl.h>.
40903         (GETACLCNT): Move fallback to lib/acl-internal.h.
40904         * lib/acl-internal.h: Include <sys/acl.h> here.
40905         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
40906
40907 2008-05-22  Bruno Haible  <bruno@clisp.org>
40908
40909         Split off copy_acl function to separate file.
40910         * lib/copy-acl.c: New file, extracted from lib/acl.c.
40911         * lib/acl.c (copy_acl): Moved function to separate file.
40912         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
40913         * modules/acl (Files): Add lib/copy-acl.c.
40914         (Makefiles.am): Augment lib_SOURCES.
40915
40916 2008-05-22  Bruno Haible  <bruno@clisp.org>
40917
40918         * modules/copy-file-tests: New file.
40919         * tests/test-copy-file.sh: New file.
40920         * tests/test-copy-file.c: New file.
40921         * tests/test-copy-file-sameacls.c: New file.
40922
40923 2008-05-22  Eric Blake  <ebb9@byu.net>
40924
40925         Avoid gcc warning.
40926         * tests/test-memcmp.c (main): Pass NULL indirectly.
40927
40928 2008-05-21  Bruno Haible  <bruno@clisp.org>
40929
40930         Add reference doc about ACLs.
40931         * doc/acl-resources.txt: New file.
40932         * doc/acl-cygwin.txt: New file.
40933
40934 2008-05-21  Bruno Haible  <bruno@clisp.org>
40935
40936         Avoid one more warning from gcc.
40937         * lib/vasnprintf.c (IF_LINT): Update comments.
40938         (VASNPRINTF): Use it also for the 'prefix' array initializer.
40939
40940 2008-05-21  Jim Meyering  <meyering@redhat.com>
40941
40942         avoid a warning from gcc
40943         * lib/vasnprintf.c (IF_LINT): Define.
40944         (scale10_round_decimal_long_double):
40945         Use it to avoid a "may be used uninitialized" warning.
40946         (scale10_round_decimal_double): Likewise.
40947
40948 2008-05-21  Simon Josefsson  <simon@josefsson.org>
40949
40950         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
40951         declared.
40952
40953 2008-05-20  Bruno Haible  <bruno@clisp.org>
40954
40955         * tests/test-memcmp.c (main): Test also the sign of the result. Test
40956         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
40957
40958 2008-05-20  Simon Josefsson  <simon@josefsson.org>
40959
40960         * modules/memcmp-tests: New file.
40961         * tests/test-memcmp.c: New file.
40962
40963 2008-05-19  Bruno Haible  <bruno@clisp.org>
40964
40965         * modules/propername (Notice, configure.ac): Put quoted "..." into
40966         --keyword option.
40967         * lib/propername.h: Update comments accordingly.
40968         Reported by Eric Blake.
40969
40970 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
40971
40972         * modules/getpass-gnu (Depends-on): Add fseeko.
40973
40974 2008-05-19  Simon Josefsson  <simon@josefsson.org>
40975
40976         * modules/base64-tests: New file.
40977
40978 2008-05-19  Bo Borgerson <gigabo@gmail.com>
40979
40980         * lib/base64.c (base64_decode_ctx): If a decode context structure
40981         was passed in use it to ignore newlines.  If a context structure
40982         was _not_ passed in, continue to treat newlines as garbage (this
40983         is the historical behavior).  Formerly base64_decode.
40984         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
40985         takes a decode context structure.
40986         * lib/base64.h (base64_decode): Macro for four-argument calls.
40987         (base64_decode_alloc): Likewise.
40988         * lib/base64.c (base64_decode_ctx): If a decode context structure
40989         was passed in use it to ignore newlines.  If a context structure
40990         was _not_ passed in, continue to treat newlines as garbage (this
40991         is the historical behavior).  Formerly base64_decode.
40992         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
40993         takes a decode context structure.
40994         * lib/base64.h (base64_decode): Macro for four-argument calls.
40995         (base64_decode_alloc): Likewise.
40996
40997 2008-05-19  Jim Meyering  <meyering@redhat.com>
40998
40999         avoid a warning from gcc
41000         * lib/trim.c (IF_LINT): Define.
41001         (trim2): Use it to avoid a "may be used uninitialized" warning.
41002
41003         Fix doc typo.
41004         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
41005
41006 2008-05-19  Bruno Haible  <bruno@clisp.org>
41007
41008         * doc/glibc-functions/getpass.texi: Document limits of other
41009         implementations.
41010
41011 2008-05-19  Simon Josefsson  <simon@josefsson.org>
41012             Bruno Haible <bruno@clisp.org>
41013
41014         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
41015
41016 2008-05-18  Bruno Haible  <bruno@clisp.org>
41017
41018         * modules/propername: New file, from GNU gettext.
41019         * lib/propername.h: New file, from GNU gettext.
41020         * lib/propername.c: New file, from GNU gettext.
41021         * MODULES.html.sh (Internationalization functions): Add propername.
41022
41023 2008-05-16  Jim Meyering  <meyering@redhat.com>
41024             Bruno Haible  <bruno@clisp.org>
41025
41026         Avoid some warnings from "gcc -Wshadow".
41027         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
41028
41029 2008-05-15  Eric Blake  <ebb9@byu.net>
41030
41031         Extend previous patch to cygwin 1.7.0.
41032         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
41033         fast implementation in cygwin >= 1.7.0.
41034         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
41035         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
41036
41037 2008-05-15  Bruno Haible  <bruno@clisp.org>
41038
41039         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
41040         implementation in glibc >= 2.9.
41041         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
41042         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
41043
41044 2008-05-15  Bruno Haible  <bruno@clisp.org>
41045
41046         * MODULES.html.sh (Internationalization functions): Remove linebreak.
41047         (Unicode string functions): Add unilbrk/*.
41048         Reported by Karl Berry.
41049
41050 2008-05-15  Eric Blake  <ebb9@byu.net>
41051
41052         Fix violation of <stdbool.h> replacement in regex.
41053         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
41054         * lib/regexec.c (re_search_internal): Likewise.
41055         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
41056
41057 2008-05-15  Jim Meyering  <meyering@redhat.com>
41058
41059         avoid distracting test output when git or cvs is not found
41060         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
41061         * tests/test-vc-list-files-git.sh: Likewise.
41062
41063 2008-05-15  Eric Blake  <ebb9@byu.net>
41064
41065         Glibc finally accepted the memmem speedup code, bugzilla #5514.
41066         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
41067         glibc version.
41068         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
41069         * doc/posix-functions/strstr.texi (strstr): Likewise.
41070         * lib/str-two-way.h (MAX): Sychronize with glibc.
41071
41072 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
41073
41074         * lib/regcomp.c (optimize_utf8): Add a note on why we test
41075         opr.ctx_type.
41076         (calc_first): Initialize constraint field.
41077         (duplicate_node_closure): Use it instead of special casing ANCHORS.
41078         Fix grammar.
41079         (duplicate_node): Merge constraint field for all node types.
41080         (calc_eclosure_iter): Look at constraint field for all node types.
41081         * lib/regex_internal.c (create_cd_newstate): Don't look at
41082         opr.ctx_type.
41083
41084 2008-05-14  Bruno Haible  <bruno@clisp.org>
41085
41086         Help GCC to do better code generation.
41087         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
41088         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
41089         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
41090         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
41091         Declare with attribute 'malloc' if supported.
41092
41093 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
41094
41095         use "echo STR|wc -c" rather than unportable "expr length STR"
41096         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
41097         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
41098
41099 2008-05-14  Jim Meyering  <meyering@redhat.com>
41100
41101         use dd ibs=$n count=1 ... rather than less-portable head -c$n
41102         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
41103         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
41104         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
41105         via Collin Lasse.
41106
41107 2008-05-14  Eric Blake  <ebb9@byu.net>
41108
41109         Avoid quadratic growth in gl_LIBSOURCES.
41110         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
41111         Suggested by Bruno Haible.
41112
41113         Test xmemdup0.
41114         * modules/xmemdup0-tests: New file.
41115         * tests/test-xmemdup0.c: Likewise.
41116
41117 2008-05-13  Eric Blake  <ebb9@byu.net>
41118
41119         Split xmemdup0 into its own module.
41120         * modules/xmemdup0: New file.
41121         * lib/xmemdup0.h: Likewise.
41122         * lib/xmemdup0.c: Likewise.
41123         * MODULES.html.sh (Memory management functions): Add xmemdup0.
41124         * lib/xalloc.h (xmemdup0): Remove.
41125         * lib/xmalloc.c (xmemdup0): Likewise.
41126
41127 2008-05-13  Eric Blake  <ebb9@byu.net>
41128             Bruno Haible  <bruno@clisp.org>
41129
41130         Reduce number of forks required during autoconf.
41131         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
41132         and gl_LIBSOURCES_DIR.
41133         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
41134         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
41135         m4_syscmd per file.
41136         <m4_foreach_w>: Move...
41137         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
41138
41139 2008-05-13  Eric Blake  <ebb9@byu.net>
41140
41141         * gnulib-tool: Fix various comment typos.
41142
41143 2008-05-12  Bruno Haible  <bruno@clisp.org>
41144
41145         Tailor the linebreaking algorithm.
41146         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
41147
41148 2008-05-12  Bruno Haible  <bruno@clisp.org>
41149
41150         Update to Unicode 5.0.0.
41151         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
41152         LBP_JV, LBP_JT. Redistribute values.
41153         (unilbrk_table): Change size.
41154         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
41155         Unicode TR#14 rev. 22.
41156         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
41157         LBP_JV, LBP_JT. Redistribute values.
41158         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
41159         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
41160         Update.
41161         * lib/unilbrk/lbrkprop1.h: Regenerated.
41162         * lib/unilbrk/lbrkprop2.h: Regenerated.
41163         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
41164         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
41165         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
41166         Likewise.
41167         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
41168         Likewise.
41169         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
41170         result.
41171         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
41172         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
41173         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
41174         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
41175         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
41176         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
41177
41178 2008-05-11  Bruno Haible  <bruno@clisp.org>
41179
41180         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
41181
41182 2008-05-11  Bruno Haible  <bruno@clisp.org>
41183
41184         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
41185         * modules/unilbrk/gen-lbrk: New file.
41186
41187 2008-05-11  Bruno Haible  <bruno@clisp.org>
41188
41189         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
41190         * m4/sha512.m4 (gl_SHA512): Likewise.
41191
41192 2008-05-11  Jim Meyering  <meyering@redhat.com>
41193
41194         New modules: crypto/sha256, crypto/sha512 (from coreutils)
41195         * modules/crypto/sha256: New file.
41196         * modules/crypto/sha512: Likewise.
41197         * lib/sha256.c: Likewise.
41198         * lib/sha256.h: Likewise.
41199         * lib/sha512.c: Likewise.
41200         * lib/sha512.h: Likewise.
41201         * lib/u64.h: Likewise.
41202         * m4/sha256.m4: Likewise.
41203         * m4/sha512.m4: Likewise.
41204         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
41205
41206 2008-05-10  Bruno Haible  <bruno@clisp.org>
41207
41208         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
41209         (Input/Output <stdio.h>): Add xprintf.
41210         (Signal handling <signal.h>): Add strsignal.
41211         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
41212         (Core language properties): Add func.
41213         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
41214         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
41215         strings.
41216         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
41217         (Input/output): New section.
41218         (File system functions): Add openat-die, stat-macros.
41219         (Networking functions): Add sockets.
41220         (Unicode string functions): Add unictype/*.
41221         (Support for building libraries and executables): Add gperf.
41222         (Support for building documentation): Add agpl-3.0.
41223         (Misc): Add nocrash.
41224
41225 2008-05-10  Bruno Haible  <bruno@clisp.org>
41226
41227         * modules/unictype/gen-ctype: New file.
41228
41229 2008-05-10  Jim Meyering  <meyering@redhat.com>
41230
41231         Make chdir-safer.c more efficient on a system with no symlinks.
41232         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
41233         also if ELOOP is zero.  Suggested by Bruno Haible.
41234
41235         Make chdir-safer.c slightly safer.
41236         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
41237         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
41238
41239         Avoid compile failure on systems without ELOOP (like mingw).
41240         * lib/chdir-safer.c (ELOOP): Define if not already defined.
41241         Reported by Bruno Haible.
41242
41243 2008-05-10  Bruno Haible  <bruno@clisp.org>
41244
41245         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
41246         (is_utf8_encoding): Use a case-insensitive comparison.
41247         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
41248         streq.
41249
41250 2008-05-10  Bruno Haible  <bruno@clisp.org>
41251
41252         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
41253         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
41254         * lib/unilbrk/ulc-common.h (iconv_string_length,
41255         iconv_string_keeping_offsets): Remove declarations.
41256         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
41257         Don't include <iconv.h>, streq.h, xsize.h.
41258         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
41259         conversion.
41260         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
41261         <iconv.h>, streq.h, xsize.h.
41262         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
41263         conversion.
41264         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
41265         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
41266         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
41267         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
41268
41269 2008-05-10  Bruno Haible  <bruno@clisp.org>
41270
41271         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
41272         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
41273
41274         * modules/unilbrk/u32-width-linebreaks-tests: New file.
41275         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
41276
41277         * modules/unilbrk/u16-width-linebreaks-tests: New file.
41278         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
41279
41280         * modules/unilbrk/u8-width-linebreaks-tests: New file.
41281         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
41282
41283         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
41284         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
41285
41286         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
41287         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
41288
41289         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
41290         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
41291
41292         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
41293         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
41294
41295 2008-05-10  Bruno Haible  <bruno@clisp.org>
41296
41297         Split up 'linebreak' module.
41298         * lib/unilbrk.h: New file, based on lib/linebreak.h.
41299         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
41300         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
41301         modifications.
41302         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
41303         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
41304         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
41305         lib/linebreak.c.
41306         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
41307         lib/linebreak.c.
41308         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
41309         lib/linebreak.c.
41310         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
41311         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
41312         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
41313         lib/linebreak.c.
41314         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
41315         lib/linebreak.c.
41316         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
41317         lib/linebreak.c.
41318         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
41319         lib/linebreak.c.
41320         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
41321         lib/linebreak.c.
41322         * modules/unilbrk/base: New file.
41323         * modules/unilbrk/tables: New file.
41324         * modules/unilbrk/u8-possible-linebreaks: New file.
41325         * modules/unilbrk/u16-possible-linebreaks: New file.
41326         * modules/unilbrk/u32-possible-linebreaks: New file.
41327         * modules/unilbrk/ulc-common: New file.
41328         * modules/unilbrk/ulc-possible-linebreaks: New file.
41329         * modules/unilbrk/u8-width-linebreaks: New file.
41330         * modules/unilbrk/u16-width-linebreaks: New file.
41331         * modules/unilbrk/u32-width-linebreaks: New file.
41332         * modules/unilbrk/ulc-width-linebreaks: New file.
41333         * lib/linebreak.h: Remove file.
41334         * lib/linebreak.c: Remove file.
41335         * m4/linebreak.m4: Remove file.
41336         * modules/linebreak: Remove file.
41337         * NEWS: Mention the changes.
41338
41339 2008-05-09  Eric Blake  <ebb9@byu.net>
41340
41341         Add xmemdup0.
41342         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
41343         implementation.
41344         * lib/xmalloc.c (xmemdup0): New C implementation.
41345
41346 2008-05-08  Bruno Haible  <bruno@clisp.org>
41347
41348         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
41349
41350 2008-05-07  Eric Blake  <ebb9@byu.net>
41351
41352         Support cross-compilation of <wctype.h>.
41353         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
41354         AC_CACHE_CHECK.
41355
41356 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
41357
41358         * build-aux/vc-list-files: Add support for bzr.
41359
41360 2008-05-03  Jim Meyering  <meyering@redhat.com>
41361
41362         avoid failed assertion with tight malloc
41363         * tests/test-getndelim2.c: Correct an off-by-one assertion.
41364
41365 2008-05-03  Simon Josefsson  <simon@josefsson.org>
41366
41367         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
41368         are needed from arpa/inet.h.
41369         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
41370         Reported by Bruno Haible.
41371
41372 2008-05-02  Jim Meyering  <meyering@redhat.com>
41373
41374         avoid compilation error on FreeBSD 6
41375         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
41376
41377 2008-05-01  Jim Meyering  <meyering@redhat.com>
41378
41379         useless-if-before-free: correct --help's exit status description
41380         * build-aux/useless-if-before-free (usage): Like grep, exit 0
41381         for one or more matches, etc.  Reported by Bruno Haible.
41382
41383         vc-list-files: make the stand-alone gnulib test work
41384         * modules/vc-list-files-tests (configure.ac):
41385         Define and AC_SUBST abs_aux_dir.
41386         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
41387         $(abs_top_srcdir) to each script and having each of them
41388         duplicate the work of setting PATH, set PATH here, using
41389         the new variable, abs_aux_dir instead.
41390         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
41391         * tests/test-vc-list-files-git.sh: Likewise.
41392         Reported by Bruno Haible.
41393
41394 2008-05-01  Bruno Haible  <bruno@clisp.org>
41395
41396         * lib/getndelim2.c (getndelim2): Fix newsize computation during
41397         reallocation. Rename 'done' to 'found_delimiter'.
41398
41399 2008-05-01  Jim Meyering  <meyering@redhat.com>
41400
41401         vc-list-files: accommodate /bin/sh like the one from Solaris 10
41402         * build-aux/vc-list-files: Use `...`, not $(...).
41403
41404 2008-04-30  Jim Meyering  <meyering@redhat.com>
41405
41406         add tests for vc-list-files
41407         * modules/vc-list-files-tests: New module.
41408         * tests/test-vc-list-files-cvs.sh: New file.
41409         * tests/test-vc-list-files-git.sh: New file.
41410
41411         avoid a warning from gcc
41412         * lib/getndelim2.c (IF_LINT): Define.
41413         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
41414
41415         vc-list-files: work properly with build-aux/cvsu, too
41416         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
41417         to all cvs-based clauses.
41418
41419         vc-list-files: work properly in the CVS+awk case, too
41420         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
41421
41422         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
41423         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
41424         take more than one file argument, so .  Add quotes, just in case $dir
41425         ever contains a shell meta-character.  Prompted by Soren Hansen in
41426         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
41427
41428 2008-04-29  Eric Blake  <ebb9@byu.net>
41429
41430         Optimize getndelim2 to use block operations when possible.
41431         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
41432         freadseek, and memchr2.
41433         * lib/getndelim2.c (getndelim2): Use them for block reads.
41434
41435 2008-04-29  Bruno Haible  <bruno@clisp.org>
41436
41437         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
41438         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
41439         * modules/inet_ntop (Depends-on): Add extensions.
41440         * modules/inet_pton (Depends-on): Likewise.
41441         Reported by Simon Josefsson.
41442
41443 2008-04-29  Jim Meyering  <meyering@redhat.com>
41444
41445         When the is more than one match in a block, match all of them.
41446         * build-aux/useless-if-before-free: Iterate through each block
41447         until there are no more matches.
41448
41449         Fix broken useless-if-before-free script.
41450         * build-aux/useless-if-before-free: Fix typo: missing "?" after
41451         the expression to match cast of argument to free-like function.
41452
41453 2008-04-29  Eric Blake  <ebb9@byu.net>
41454
41455         Use new header.
41456         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
41457
41458 2008-04-29  Jim Meyering  <meyering@redhat.com>
41459
41460         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
41461         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
41462         by gnulib to exist and to declare e.g., inet_ntop.
41463         Don't include "inet_ntop.h", now removed.
41464
41465         * m4/arpa_inet_h.m4: Remove trailing blanks.
41466
41467 2008-04-29  Eric Blake  <ebb9@byu.net>
41468
41469         Silence valgrind on safe reads beyond potential array bounds.
41470         * lib/rawmemchr.valgrind: New file.
41471         * lib/strchrnul.valgrind: Likewise.
41472         * modules/rawmemchr (Files): Distribute new file.
41473         * modules/strchrnul (Files): Likewise.
41474         Suggested by Bruno Haible.
41475
41476 2008-04-29  Bruno Haible  <bruno@clisp.org>
41477
41478         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
41479         (inet_ntop, inet_pton): Change portability warning's wording.
41480         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
41481         Invoke gl_CHECK_NEXT_HEADERS.
41482         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
41483         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
41484         set ARPA_INET_H.
41485         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
41486         * modules/arpa_inet (Description): No longer only for systems that
41487         lack it.
41488         (Depends-on): Add include_next.
41489         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
41490         HAVE_ARPA_INET_H.
41491
41492 2008-04-29  Jim Meyering  <meyering@redhat.com>
41493
41494         * modules/mkdir (License): Re-license as LGPLv2+.
41495
41496 2008-04-29  Bruno Haible  <bruno@clisp.org>
41497
41498         * modules/rawmemchr (Maintainer): Set to Eric.
41499         * modules/strchrnul (Maintainer): Likewise.
41500
41501 2008-04-29  Simon Josefsson  <simon@josefsson.org>
41502
41503         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
41504         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
41505
41506         * modules/arpa_inet (arpa/inet.h): Use them.
41507
41508 2008-04-28  Eric Blake  <ebb9@byu.net>
41509
41510         Test getndelim2.
41511         * modules/getndelim2-tests: New file.
41512         * tests/test-getndelim2.c: Likewise.
41513         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
41514         stream.
41515         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
41516
41517         * MODULES.html.sh: Document new module.
41518
41519 2008-04-20  Bruno Haible  <bruno@clisp.org>
41520
41521         * lib/c-stack.c (die): Use raise.
41522         * modules/c-stack (Depends-on): Add raise.
41523
41524 2008-04-28  Bruno Haible  <bruno@clisp.org>
41525
41526         Expect rpmatch to be declared.
41527         * lib/yesno.c (rpmatch): Remove declaration.
41528
41529         Declare rpmatch.
41530         * lib/stdlib.in.h (rpmatch): New declaration.
41531         * lib/rpmatch.c: Include <stdlib.h> first.
41532         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
41533         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
41534         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
41535         HAVE_RPMATCH.
41536         * modules/rpmatch (Depends-on): Add stdlib, extensions.
41537         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
41538         (Include): Set to <stdlib.h>.
41539         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
41540         HAVE_RPMATCH.
41541         * NEWS: Document the change.
41542
41543 2008-04-28  Bruno Haible  <bruno@clisp.org>
41544
41545         Change rpmatch to use nl_langinfo when appropriate.
41546         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
41547         (N_): New macro.
41548         (localized_pattern): New function/macro.
41549         (try): Remove match, nomatch arguments. Copy the pattern into safe
41550         memory before caching it.
41551         (rpmatch): Use localized_pattern. Add translator comments.
41552         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
41553         Suggested by Eric Blake.
41554         * modules/rpmatch (Depends-on): Add stdbool.
41555
41556 2008-04-28  Eric Blake  <ebb9@byu.net>
41557
41558         Add rawmemchr module, matching glibc.
41559         * modules/string (Makefile.am): New indicator.
41560         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
41561         * lib/string.in.h (rawmemchr): Declare when appropriate.
41562         * modules/rawmemchr: New file.
41563         * m4/rawmemchr.m4: Likewise.
41564         * lib/rawmemchr.c: Likewise.
41565         * modules/rawmemchr-tests: Likewise.
41566         * tests/test-rawmemchr.c: Likewise.
41567         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
41568         module.
41569         * modules/strchrnul (Depends-on): Add rawmemchr.
41570         * lib/strchrnul.c (strchrnul): Optimize a corner case.
41571
41572         Whitespace cleanup.
41573         * tests/test-strchrnul.c: Reindent.
41574         * lib/strchrnul.c: Likewise.
41575
41576         Optimize and test strchrnul.
41577         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
41578         * modules/strchrnul-tests: New file.
41579         * tests/test-strchrnul.c: Likewise.
41580
41581         Remove intprops dependency.
41582         * modules/memchr (Depends-on): Remove intprops.
41583         * modules/memrchr (Depends-on): Likewise.
41584         * modules/memchr2 (Depends-on): Likewise.
41585         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
41586         * lib/memrchr.c (__memrchr): Likewise.
41587         * lib/memrchr2.c (memchr2): Likewise.
41588         Reported by Simon Josefsson.
41589
41590 2008-04-28  Simon Josefsson  <simon@josefsson.org>
41591
41592         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
41593         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
41594
41595 2008-04-28  Simon Josefsson  <simon@josefsson.org>
41596
41597         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
41598
41599         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
41600
41601         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
41602
41603         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
41604         declarations.
41605         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
41606
41607         * m4/inet_pton.m4: Don't check for header files.
41608
41609         * m4/inet_ntop.m4: Don't check for header files.
41610
41611 2008-04-28  Simon Josefsson  <simon@josefsson.org>
41612
41613         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
41614         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
41615         trigger for cygwin).
41616         Reported by Bruno Haible  <bruno@clisp.org>.
41617
41618 2008-04-28  Bruno Haible  <bruno@clisp.org>
41619
41620         * doc/posix-functions/strdup.texi: Mention mingw problem.
41621
41622 2008-04-27  Bruno Haible  <bruno@clisp.org>
41623
41624         * modules/stat-time-tests (Depends-on): Add sleep.
41625         * tests/test-stat-time.c (force_unlink): New function.
41626         (cleanup): Use it.
41627         (test_mtime): Remove the ctime related tests.
41628         (test_ctime): New function, containing the ctime related tests.
41629         (main): Call test_ctime, except on native Windows platforms.
41630
41631 2008-04-27  Bruno Haible  <bruno@clisp.org>
41632
41633         * lib/rpmatch.c (rpmatch): Add some comments.
41634         Reported by James Youngman <jay@gnu.org>.
41635
41636 2008-04-27  Bruno Haible  <bruno@clisp.org>
41637
41638         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
41639         quiet NaNs.
41640
41641 2008-04-27  Bruno Haible  <bruno@clisp.org>
41642
41643         Make test-yesno.sh work on mingw.
41644         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
41645         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
41646         (main): Set stdin to binary mode.
41647         * modules/yesno-tests (Depends-on): Add binary-io.
41648
41649 2008-04-27  Bruno Haible  <bruno@clisp.org>
41650
41651         Fix 'isfinite' on x86, x86_64, ia64 platforms.
41652         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
41653         argument that lie outside the IEEE 854 domain.
41654         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
41655         (gl_ISFINITE): Use it.
41656         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
41657
41658 2008-04-27  Bruno Haible  <bruno@clisp.org>
41659
41660         Allow local renaming in config.h.
41661         * lib/memrchr.c (memrchr): Don't undefine outside libc.
41662
41663 2008-04-27  Bruno Haible  <bruno@clisp.org>
41664
41665         * lib/memchr.c (__memchr): Change type of 'i'.
41666         * lib/memchr2.c (memchr2): Likewise.
41667
41668 2008-04-26  Eric Blake  <ebb9@byu.net>
41669         and Bruno Haible  <bruno@clisp.org>
41670
41671         Optimize and test memrchr.
41672         * modules/memrchr (Depends-on): Add intprops.
41673         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
41674         * modules/memrchr-tests: New file.
41675         * tests/test-memrchr.c: New file.
41676
41677 2008-04-26  Bruno Haible  <bruno@clisp.org>
41678
41679         Add tentative support for DragonFly BSD.
41680         * lib/stdio-impl.h: Add macros for DragonFly BSD.
41681         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
41682         fp.
41683         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
41684         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
41685         * lib/fpurge.c (fpurge): Likewise.
41686         * lib/freadable.c (freaadable): Likewise.
41687         * lib/freadahead.c (freadahead): Likewise.
41688         * lib/freading.c (freading): Likewise.
41689         * lib/freadptr.c (freadptr): Likewise.
41690         * lib/freadseek.c (freadptrinc): Likewise.
41691         * lib/fseeko.c (fseeko): Likewise.
41692         * lib/fseterr.c (fseterr): Likewise.
41693         * lib/fwritable.c (fwritable): Likewise.
41694         * lib/fwriting.c (fwriting): Likewise.
41695
41696 2008-04-26  Bruno Haible  <bruno@clisp.org>
41697
41698         * lib/stdio-impl.h: New file.
41699         * lib/fbufmode.c: Include stdio-impl.h.
41700         (fbufmode): Use fp_, remove redundant #defines.
41701         * lib/fflush.c: Include stdio-impl.h.
41702         (clear_ungetc_buffer): Remove redundant #defines.
41703         * lib/fpurge.c: Include stdio-impl.h.
41704         (fpurge): Remove redundant #defines.
41705         * lib/freadable.c: Include stdio-impl.h.
41706         (freadable): Remove redundant #defines.
41707         * lib/freadahead.c: Include stdio-impl.h.
41708         (freadahead): Remove redundant #defines.
41709         * lib/freading.c: Include stdio-impl.h.
41710         (freading): Remove redundant #defines.
41711         * lib/freadptr.c: Include stdio-impl.h.
41712         (freadptr): Remove redundant #defines.
41713         * lib/freadseek.c: Include stdio-impl.h.
41714         (freadptrinc): Remove redundant #defines.
41715         * lib/fseeko.c: Include stdio-impl.h.
41716         (rpl_fseeko): Remove redundant #defines.
41717         * lib/fseterr.c: Include stdio-impl.h.
41718         (fseterr): Remove redundant #defines.
41719         * lib/fwritable.c: Include stdio-impl.h.
41720         (fwritable: Remove redundant #defines.
41721         * lib/fwriting.c: Include stdio-impl.h.
41722         (fwriting): Remove redundant #defines.
41723         * modules/fbufmode (Files): Add lib/stdio-impl.h.
41724         * modules/fflush (Files): Likewise.
41725         * modules/fpurge (Files): Likewise.
41726         * modules/freadable (Files): Likewise.
41727         * modules/freadahead (Files): Likewise.
41728         * modules/freading (Files): Likewise.
41729         * modules/freadptr (Files): Likewise.
41730         * modules/freadseek (Files): Likewise.
41731         * modules/fseeko (Files): Likewise.
41732         * modules/fseterr (Files): Likewise.
41733         * modules/fwritable (Files): Likewise.
41734         * modules/fwriting (Files): Likewise.
41735
41736 2008-04-26  Bruno Haible  <bruno@clisp.org>
41737
41738         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
41739         restore_seek_optimization, update_fpos_cache): New functions, extracted
41740         from rpl_fflush.
41741         (rpl_fflush): Use them.
41742         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
41743         (gl_REPLACE_FFLUSH): Use it.
41744
41745 2008-04-26  Bruno Haible  <bruno@clisp.org>
41746
41747         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
41748         on Solaris.
41749         * tests/test-xstrtoimax.sh: Likewise.
41750         * tests/test-xstrtoumax.sh: Likewise.
41751         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
41752
41753 2008-04-26  Bruno Haible  <bruno@clisp.org>
41754
41755         * modules/memchr-tests: New file.
41756         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
41757
41758 2008-04-26  Eric Blake  <ebb9@byu.net>
41759             Bruno Haible  <bruno@clisp.org>
41760
41761         * lib/memchr.c: Include intprops.h.
41762         (__memchr): Optimize parallel detection of matching bytes. Rename local
41763         variables. Add explanatory comments.
41764
41765 2008-04-26  Bruno Haible  <bruno@clisp.org>
41766
41767         Fix module 'memchr', broken since 2000-10-28.
41768         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
41769
41770 2008-04-26  Bruno Haible  <bruno@clisp.org>
41771
41772         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
41773         comments.
41774
41775 2008-04-25  Eric Blake  <ebb9@byu.net>
41776
41777         Use native fstatat on cygwin 1.7.0.
41778         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
41779         first.
41780
41781 2008-04-23  Eric Blake  <ebb9@byu.net>
41782
41783         Improve memchr2 performance.
41784         * lib/memchr2.c (memchr2): Further optimize parallel detection of
41785         NUL bytes.
41786         * modules/memchr2 (Depends-on): Use intprops.h.
41787
41788 2008-04-23  Simon Josefsson  <simon@josefsson.org>
41789
41790         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
41791         an inline function instead of a CPP macro.  Patch by Ben Pfaff
41792         <blp@cs.stanford.edu>.
41793
41794 2008-04-23  Simon Josefsson  <simon@josefsson.org>
41795
41796         * lib/arpa_inet.in.h: New file.
41797
41798         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
41799         (Makefile.am): Sed in substitute header file.
41800
41801         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
41802         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
41803
41804         * modules/inet_ntop (configure.ac): Use
41805         gl_ARPA_INET_MODULE_INDICATOR.
41806
41807         * modules/inet_pton (configure.ac): Use
41808         gl_ARPA_INET_MODULE_INDICATOR.
41809
41810 2008-04-22  Jim Meyering  <meyering@redhat.com>
41811
41812         * modules/verify (License): Re-license as LGPLv2+.
41813
41814 2008-04-22  Simon Josefsson  <simon@josefsson.org>
41815
41816         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
41817         parameter to void* as per POSIX standard (MinGW uses char*).
41818
41819 2008-04-21  Bruno Haible  <bruno@clisp.org>
41820
41821         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
41822         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
41823         Define to replacements if REPLACE_ISWCNTRL is 1.
41824         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
41825         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
41826         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
41827         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
41828         what it fixes.
41829         * doc/posix-functions/iswalpha.texi: Likewise.
41830         * doc/posix-functions/iswblank.texi: Likewise.
41831         * doc/posix-functions/iswcntrl.texi: Likewise.
41832         * doc/posix-functions/iswdigit.texi: Likewise.
41833         * doc/posix-functions/iswgraph.texi: Likewise.
41834         * doc/posix-functions/iswlower.texi: Likewise.
41835         * doc/posix-functions/iswprint.texi: Likewise.
41836         * doc/posix-functions/iswpunct.texi: Likewise.
41837         * doc/posix-functions/iswspace.texi: Likewise.
41838         * doc/posix-functions/iswupper.texi: Likewise.
41839         * doc/posix-functions/iswxdigit.texi: Likewise.
41840         Reported by Alain Guibert.
41841
41842 2008-04-21  Bruno Haible  <bruno@clisp.org>
41843
41844         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
41845         Patch by Alain Guibert.
41846
41847 2008-04-21  Bruno Haible  <bruno@clisp.org>
41848
41849         Fix test failures on mingw.
41850         * tests/test-xstrtol.c (print_no_progname): New function.
41851         (main): Install it in error_print_progname hook.
41852         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
41853         * tests/test-xstrtoimax.sh: Likewise.
41854         * tests/test-xstrtoumax.sh: Likewise.
41855
41856 2008-04-21  Bruno Haible  <bruno@clisp.org>
41857
41858         Fix test failure on mingw.
41859         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
41860
41861 2008-04-21  Bruno Haible  <bruno@clisp.org>
41862
41863         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
41864         Actually assign a value.
41865
41866 2008-04-20  Bruno Haible  <bruno@clisp.org>
41867
41868         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
41869         take 2.
41870         * lib/canonicalize.c (canonicalize_file_name): Elide if the
41871         'canonicalize-lgpl' module is also used.
41872         * lib/canonicalize-lgpl.c: Undo last change.
41873         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
41874
41875 2008-04-20  Bruno Haible  <bruno@clisp.org>
41876
41877         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
41878         config.h. Provide _mkdir based fallback for mingw.
41879         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
41880         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
41881         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
41882         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
41883         rather than defining mkdir in config.h.
41884         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
41885         (gl_SYS_STAT_H_DEFAULTS): New macro.
41886         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
41887         HAVE_IO_H any more.
41888         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
41889         HAVE_DECL_MKDIR and HAVE_IO_H.
41890
41891 2008-04-20  Bruno Haible  <bruno@clisp.org>
41892
41893         * lib/isapipe.c: Port to native Windows platforms.
41894
41895 2008-04-20  Bruno Haible  <bruno@clisp.org>
41896
41897         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
41898
41899 2008-04-21  Eric Blake  <ebb9@byu.net>
41900
41901         Work around preprocessors that don't handle UINTMAX_MAX.
41902         * lib/memchr2.c (memchr2): Avoid embedded #if.
41903         Reported by Alain Guibert, fix suggested by Bruno Haible.
41904
41905 2008-04-21  Simon Josefsson  <simon@josefsson.org>
41906
41907         * doc/posix-functions/strftime.texi (strftime): Explain better
41908         Windows incompatibility.  Suggested by Micah Cowan
41909         <micah@cowan.name>.
41910
41911 2008-04-20  Bruno Haible  <bruno@clisp.org>
41912
41913         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
41914         unistr/u8-mblen.
41915
41916 2008-04-20  Bruno Haible  <bruno@clisp.org>
41917
41918         Fix test failure on platforms with non-GNU iconv.
41919         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
41920         (U_TO_U8): Use it, rather than u16_to_u8.
41921         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
41922         units at the end of the input string.
41923         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
41924
41925 2008-04-20  Bruno Haible  <bruno@clisp.org>
41926
41927         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
41928         when the resulting length is 0.
41929         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
41930
41931 2008-04-20  Bruno Haible  <bruno@clisp.org>
41932
41933         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
41934         works.
41935         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
41936
41937 2008-04-20  Bruno Haible  <bruno@clisp.org>
41938
41939         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
41940         * modules/tsearch-tests (configure.ac): Test for initstate function.
41941
41942 2008-04-20  Bruno Haible  <bruno@clisp.org>
41943
41944         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
41945         for nlink_t if missing.
41946         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
41947
41948 2008-04-19  Bruno Haible  <bruno@clisp.org>
41949
41950         Work around snprintf bug on Linux libc5.
41951         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
41952         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
41953         gl_SNPRINTF_SIZE1.
41954         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
41955         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
41956         that test failed.
41957         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
41958         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
41959         * modules/snprintf (Files): Add m4/printf.m4.
41960         * modules/vsnprintf (Files): Likewise.
41961         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
41962         * doc/posix-functions/vsnprintf.texi: Likewise.
41963
41964 2008-04-19  Bruno Haible  <bruno@clisp.org>
41965
41966         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
41967         from 0.0058 to less than 10^-7.
41968
41969 2008-04-19  Bruno Haible  <bruno@clisp.org>
41970
41971         Fix rounding when a precision is given.
41972         * lib/vasnprintf.c (is_borderline): New function.
41973         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
41974         9...9x.
41975         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
41976         %e, %g.
41977         * tests/test-vasprintf-posix.c (test_function): Likewise.
41978         * tests/test-snprintf-posix.h (test_function): Likewise.
41979         * tests/test-sprintf-posix.h (test_function): Likewise.
41980         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
41981         * tests/test-printf-posix.h (test_function): Likewise.
41982         * tests/test-printf-posix.output: Update.
41983         Reported by John Darrington <john@darrington.wattle.id.au> via
41984         Ben Pfaff <blp@cs.stanford.edu>.
41985
41986 2008-04-18  Simon Josefsson  <simon@josefsson.org>
41987
41988         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
41989         Suggested by Bruno Haible <bruno@clisp.org>.
41990
41991 2008-04-17  Bruno Haible  <bruno@clisp.org>
41992
41993         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
41994         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
41995         implementation.
41996         Patch by Bruce Merry <bmerry@gmail.com>.
41997
41998 2008-04-17  Simon Josefsson  <simon@josefsson.org>
41999
42000         * doc/posix-functions/strftime.texi (strftime): Mention that %e
42001         doesn't work under Windows.
42002
42003 2008-04-16  Bruno Haible  <bruno@clisp.org>
42004
42005         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
42006         New macros.
42007         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
42008         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
42009         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
42010         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
42011         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
42012         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
42013         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
42014         macros.
42015         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
42016         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
42017         Northern Sotho, Uighur.
42018
42019 2008-04-16  Bruno Haible  <bruno@clisp.org>
42020
42021         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
42022         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
42023         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
42024         Reported by Daniel Bergström <daniel@octocode.com>.
42025
42026 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
42027             Bruno Haible  <bruno@clisp.org>
42028
42029         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
42030         function.
42031         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
42032         New functions, mostly extracted from gl_locale_name_default.
42033         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
42034
42035 2008-04-16  Eric Blake  <ebb9@byu.net>
42036
42037         Adjust strtod detection to catch glibc 2.7 bug.
42038         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
42039         Reported by John Gatewood Ham.
42040
42041 2008-04-16  Bruno Haible  <bruno@clisp.org>
42042
42043         Add tentative support for Linux libc5.
42044         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
42045         * lib/fpurge.c (fpurge): Likewise.
42046         * lib/freadable.c (freadable): Likewise.
42047         * lib/freadahead.c (freadahead): Likewise.
42048         * lib/freading.c (freading): Likewise.
42049         * lib/freadptr.c (freadptr): Likewise.
42050         * lib/freadseek.c (freadptrinc): Likewise.
42051         * lib/fseeko.c (rpl_fseeko): Likewise.
42052         * lib/fseterr.c (fseterr): Likewise.
42053         * lib/fwritable.c (fwritable): Likewise.
42054         * lib/fwriting.c (fwriting): Likewise.
42055         Reported by Alain Guibert <alguibert+bts@free.fr>.
42056
42057 2008-04-15  Bruno Haible  <bruno@clisp.org>
42058
42059         * modules/mathl (configure.ac): Define module indicator.
42060
42061 2008-04-15  Bruno Haible  <bruno@clisp.org>
42062
42063         * lib/logl.c (logl): Remove unused variables.
42064
42065 2008-04-15  Bruno Haible  <bruno@clisp.org>
42066
42067         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
42068         fails.
42069
42070 2008-04-15  Bruno Haible  <bruno@clisp.org>
42071
42072         * lib/trim.c (trim2): Fix argument of isspace() macro.
42073
42074 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
42075
42076         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
42077         to 0.
42078         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
42079
42080 2008-04-14  Bruno Haible  <bruno@clisp.org>
42081
42082         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
42083         AC_LANG_PROGRAM argument.
42084         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
42085         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
42086         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
42087         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
42088         * m4/math_h.m4 (gl_MATH_H): Likewise.
42089         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
42090         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
42091         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
42092         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
42093         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
42094         * m4/regex.m4 (gl_REGEX): Likewise.
42095         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
42096         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
42097         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
42098         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
42099         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
42100         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
42101         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
42102         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
42103
42104 2008-04-14  Jim Meyering  <meyering@redhat.com>
42105
42106         test-strtod: fix typos: s/abs/fabs/
42107         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
42108
42109 2008-04-13  Bruno Haible  <bruno@clisp.org>
42110
42111         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
42112         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
42113         module is also used and while not building the reloc-wrapper.
42114
42115 2008-04-13  Bruno Haible  <bruno@clisp.org>
42116
42117         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
42118
42119 2008-04-13  Bruno Haible  <bruno@clisp.org>
42120
42121         Fix AIX compilation failure introduced on 2008-04-02.
42122         * tests/test-frexp.c (exp): Undefine before redefining.
42123         * tests/test-frexpl.c (exp): Likewise.
42124
42125 2008-04-13  Bruno Haible  <bruno@clisp.org>
42126
42127         Work around a HP-UX stdio bug.
42128         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
42129         * tests/test-ftello.c (main): Likewise.
42130         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
42131         * doc/posix-functions/ftello.texi: Likewise.
42132
42133 2008-04-13  Bruno Haible  <bruno@clisp.org>
42134
42135         Make test-signbit pass on HP-UX/hppa.
42136         * tests/test-signbit.c (minus_zerol): New variable.
42137         (test_signbitl): Use it.
42138
42139 2008-04-13  Bruno Haible  <bruno@clisp.org>
42140
42141         Make truncl work on OSF/1 4.0.
42142         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
42143         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
42144         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
42145         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
42146         HAVE_DECL_TRUNCL.
42147         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
42148         HAVE_DECL_TRUNCL.
42149         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
42150
42151 2008-04-13  Bruno Haible  <bruno@clisp.org>
42152
42153         * lib/unictype.h: Remove trailing comma from enumeration definitions.
42154
42155 2008-04-13  Bruno Haible  <bruno@clisp.org>
42156
42157         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
42158         expression, so as to avoid HP-UX 11 cc compiler bug.
42159
42160 2008-04-13  Bruno Haible  <bruno@clisp.org>
42161
42162         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
42163
42164 2008-04-13  Bruno Haible  <bruno@clisp.org>
42165
42166         * lib/git-merge-changelog.c: Remove empty declaration outside of
42167         functions.
42168
42169 2008-04-13  Bruno Haible  <bruno@clisp.org>
42170
42171         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
42172
42173 2008-04-13  Bruno Haible  <bruno@clisp.org>
42174
42175         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
42176         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
42177         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
42178         also if it exists but lacks definitions of the SHUT_* macros.
42179         * modules/sys_socket (Description): Update.
42180         Reported by Elbert Pol <e.pol@chello.nl>.
42181
42182 2008-04-13  Bruno Haible  <bruno@clisp.org>
42183
42184         * lib/localcharset.c (OS2): Don't redefine if already defined.
42185         Reported by Elbert Pol <e.pol@chello.nl>.
42186
42187 2008-04-13  Bruno Haible  <bruno@clisp.org>
42188
42189         * lib/binary-io.h [__EMX__]: Include <io.h>.
42190         Reported by Elbert Pol <e.pol@chello.nl>.
42191
42192 2008-04-12  Bruno Haible  <bruno@clisp.org>
42193
42194         * lib/fpucw.h: Enable the definitions also for x86_64.
42195         Needed for NetBSD/x86_64.
42196         Reported by Thomas Klausner <tk@giga.or.at>.
42197
42198 2008-04-12  Bruno Haible  <bruno@clisp.org>
42199
42200         * tests/test-strtod.c: Include isnand.h.
42201         (main): Use isnand instead of isnan.
42202         Reported by Jim Meyering.
42203
42204 2008-04-12  Bruno Haible  <bruno@clisp.org>
42205
42206         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
42207         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
42208
42209 2008-04-12  Jim Meyering  <meyering@redhat.com>
42210
42211         * m4/math_h.m4 (gl_MATH_H): Fix typos.
42212
42213 2008-04-12  Bruno Haible  <bruno@clisp.org>
42214
42215         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
42216         Reported by Elbert Pol <e.pol@chello.nl>.
42217
42218 2008-04-12  Eric Blake  <ebb9@byu.net>
42219
42220         Work around Solaris 10 math.h bug.
42221         * m4/math_h.m4 (gl_MATH_H): Check for bug.
42222         (gl_MATH_H_DEFAULTS): Set up default.
42223         * modules/math (Makefile.am): Replace new indicators.
42224         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
42225         * tests/test-math.c (main): Test this.
42226         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
42227         * doc/posix-headers/math.texi (math.h): Mention bug.
42228         Reported by Nelson H. F. Beebe and Jim Meyering.
42229
42230 2008-04-11  Bruno Haible  <bruno@clisp.org>
42231
42232         Adapt to future versions of Apple GCC.
42233         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
42234         Reported by Peter O'Gorman <peter@pogma.com>.
42235
42236 2008-04-11  Bruno Haible  <bruno@clisp.org>
42237
42238         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
42239
42240 2008-04-11  Bruno Haible  <bruno@clisp.org>
42241
42242         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
42243
42244         * modules/getaddrinfo-tests (Makefile.am): Define
42245         test_getaddrinfo_LDADD.
42246
42247 2008-04-11  Bruno Haible  <bruno@clisp.org>
42248
42249         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
42250         (init): Fix syntax error.
42251         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
42252         is declared.
42253
42254 2008-04-11  Bruno Haible  <bruno@clisp.org>
42255
42256         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
42257         * modules/glob (Depends-on): Add stdbool.
42258
42259 2008-04-11  Bruno Haible  <bruno@clisp.org>
42260
42261         * lib/trim.c: Include <string.h>.
42262
42263 2008-04-11  Eric Blake  <ebb9@byu.net>
42264
42265         Avoid compile failure on OS/2.
42266         * lib/regex_internal.h (internal_function): Disable optimization
42267         on OS/2 (__EMX__), where it caused compiler error.
42268         Reported by Elbert Pol.
42269
42270 2008-04-11  Bruno Haible  <bruno@clisp.org>
42271
42272         Flush the standard error stream before aborting. Needed on mingw.
42273         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
42274         * tests/test-array_list.c (ASSERT): Likewise.
42275         * tests/test-array_oset.c (ASSERT): Likewise.
42276         * tests/test-avltree_list.c (ASSERT): Likewise.
42277         * tests/test-avltree_oset.c (ASSERT): Likewise.
42278         * tests/test-avltreehash_list.c (ASSERT): Likewise.
42279         * tests/test-binary-io.c (ASSERT): Likewise.
42280         * tests/test-byteswap.c (ASSERT): Likewise.
42281         * tests/test-c-ctype.c (ASSERT): Likewise.
42282         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
42283         * tests/test-c-strcasestr.c (ASSERT): Likewise.
42284         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
42285         * tests/test-c-strstr.c (ASSERT): Likewise.
42286         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
42287         * tests/test-canonicalize.c (ASSERT): Likewise.
42288         * tests/test-carray_list.c (ASSERT): Likewise.
42289         * tests/test-ceilf1.c (ASSERT): Likewise.
42290         * tests/test-ceilf2.c (ASSERT): Likewise.
42291         * tests/test-ceill.c (ASSERT): Likewise.
42292         * tests/test-count-one-bits.c (ASSERT): Likewise.
42293         * tests/test-fbufmode.c (ASSERT): Likewise.
42294         * tests/test-fflush2.c (ASSERT): Likewise.
42295         * tests/test-floorf1.c (ASSERT): Likewise.
42296         * tests/test-floorf2.c (ASSERT): Likewise.
42297         * tests/test-floorl.c (ASSERT): Likewise.
42298         * tests/test-fopen.c (ASSERT): Likewise.
42299         * tests/test-fpending.c (ASSERT): Likewise.
42300         * tests/test-fprintf-posix.c (ASSERT): Likewise.
42301         * tests/test-fpurge.c (ASSERT): Likewise.
42302         * tests/test-freadable.c (ASSERT): Likewise.
42303         * tests/test-freadahead.c (ASSERT): Likewise.
42304         * tests/test-freading.c (ASSERT): Likewise.
42305         * tests/test-freadptr.c (ASSERT): Likewise.
42306         * tests/test-freadptr2.c (ASSERT): Likewise.
42307         * tests/test-freadseek.c (ASSERT): Likewise.
42308         * tests/test-freopen.c (ASSERT): Likewise.
42309         * tests/test-frexp.c (ASSERT): Likewise.
42310         * tests/test-frexpl.c (ASSERT): Likewise.
42311         * tests/test-fseek.c (ASSERT): Likewise.
42312         * tests/test-fseeko.c (ASSERT): Likewise.
42313         * tests/test-fstrcmp.c (ASSERT): Likewise.
42314         * tests/test-ftell.c (ASSERT): Likewise.
42315         * tests/test-ftello.c (ASSERT): Likewise.
42316         * tests/test-func.c (ASSERT): Likewise.
42317         * tests/test-fwritable.c (ASSERT): Likewise.
42318         * tests/test-fwriting.c (ASSERT): Likewise.
42319         * tests/test-getdelim.c (ASSERT): Likewise.
42320         * tests/test-getline.c (ASSERT): Likewise.
42321         * tests/test-i-ring.c (ASSERT): Likewise.
42322         * tests/test-iconv-utf.c (ASSERT): Likewise.
42323         * tests/test-iconv.c (ASSERT): Likewise.
42324         * tests/test-isfinite.c (ASSERT): Likewise.
42325         * tests/test-isnand.c (ASSERT): Likewise.
42326         * tests/test-isnanf.c (ASSERT): Likewise.
42327         * tests/test-isnanl.h (ASSERT): Likewise.
42328         * tests/test-ldexpl.c (ASSERT): Likewise.
42329         * tests/test-linked_list.c (ASSERT): Likewise.
42330         * tests/test-linkedhash_list.c (ASSERT): Likewise.
42331         * tests/test-localename.c (ASSERT): Likewise.
42332         * tests/test-lseek.c (ASSERT): Likewise.
42333         * tests/test-mbscasecmp.c (ASSERT): Likewise.
42334         * tests/test-mbscasestr1.c (ASSERT): Likewise.
42335         * tests/test-mbscasestr2.c (ASSERT): Likewise.
42336         * tests/test-mbscasestr3.c (ASSERT): Likewise.
42337         * tests/test-mbscasestr4.c (ASSERT): Likewise.
42338         * tests/test-mbschr.c (ASSERT): Likewise.
42339         * tests/test-mbscspn.c (ASSERT): Likewise.
42340         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
42341         * tests/test-mbspbrk.c (ASSERT): Likewise.
42342         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
42343         * tests/test-mbsrchr.c (ASSERT): Likewise.
42344         * tests/test-mbsspn.c (ASSERT): Likewise.
42345         * tests/test-mbsstr1.c (ASSERT): Likewise.
42346         * tests/test-mbsstr2.c (ASSERT): Likewise.
42347         * tests/test-mbsstr3.c (ASSERT): Likewise.
42348         * tests/test-memchr2.c (ASSERT): Likewise.
42349         * tests/test-memmem.c (ASSERT): Likewise.
42350         * tests/test-open.c (ASSERT): Likewise.
42351         * tests/test-printf-frexp.c (ASSERT): Likewise.
42352         * tests/test-printf-frexpl.c (ASSERT): Likewise.
42353         * tests/test-printf-posix.c (ASSERT): Likewise.
42354         * tests/test-quotearg.c (ASSERT): Likewise.
42355         * tests/test-rbtree_list.c (ASSERT): Likewise.
42356         * tests/test-rbtree_oset.c (ASSERT): Likewise.
42357         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
42358         * tests/test-round1.c (ASSERT): Likewise.
42359         * tests/test-roundf1.c (ASSERT): Likewise.
42360         * tests/test-roundl.c (ASSERT): Likewise.
42361         * tests/test-signbit.c (ASSERT): Likewise.
42362         * tests/test-sleep.c (ASSERT): Likewise.
42363         * tests/test-snprintf-posix.c (ASSERT): Likewise.
42364         * tests/test-snprintf.c (ASSERT): Likewise.
42365         * tests/test-sprintf-posix.c (ASSERT): Likewise.
42366         * tests/test-stat-time.c (ASSERT): Likewise.
42367         * tests/test-strcasestr.c (ASSERT): Likewise.
42368         * tests/test-strerror.c (ASSERT): Likewise.
42369         * tests/test-striconv.c (ASSERT): Likewise.
42370         * tests/test-striconveh.c (ASSERT): Likewise.
42371         * tests/test-striconveha.c (ASSERT): Likewise.
42372         * tests/test-strsignal.c (ASSERT): Likewise.
42373         * tests/test-strstr.c (ASSERT): Likewise.
42374         * tests/test-strtod.c (ASSERT): Likewise.
42375         * tests/test-trunc1.c (ASSERT): Likewise.
42376         * tests/test-trunc2.c (ASSERT): Likewise.
42377         * tests/test-truncf1.c (ASSERT): Likewise.
42378         * tests/test-truncf2.c (ASSERT): Likewise.
42379         * tests/test-truncl.c (ASSERT): Likewise.
42380         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
42381         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
42382         * tests/test-vasnprintf.c (ASSERT): Likewise.
42383         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
42384         * tests/test-vasprintf.c (ASSERT): Likewise.
42385         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
42386         * tests/test-vprintf-posix.c (ASSERT): Likewise.
42387         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
42388         * tests/test-vsnprintf.c (ASSERT): Likewise.
42389         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
42390         * tests/test-wcwidth.c (ASSERT): Likewise.
42391         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
42392         * tests/test-xprintf-posix.c (ASSERT): Likewise.
42393         * tests/test-xvasprintf.c (ASSERT): Likewise.
42394         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
42395         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
42396         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
42397         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
42398         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
42399         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
42400         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
42401         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
42402         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
42403         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
42404         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
42405         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
42406         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
42407         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
42408         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
42409         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
42410         * tests/unictype/test-block_list.c (ASSERT): Likewise.
42411         * tests/unictype/test-block_of.c (ASSERT): Likewise.
42412         * tests/unictype/test-block_test.c (ASSERT): Likewise.
42413         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
42414         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
42415         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
42416         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
42417         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
42418         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
42419         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
42420         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
42421         * tests/unictype/test-combining.c (ASSERT): Likewise.
42422         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
42423         * tests/unictype/test-digit.c (ASSERT): Likewise.
42424         * tests/unictype/test-mirror.c (ASSERT): Likewise.
42425         * tests/unictype/test-numeric.c (ASSERT): Likewise.
42426         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
42427         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
42428         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
42429         * tests/unictype/test-scripts.c (ASSERT): Likewise.
42430         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
42431         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
42432         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
42433         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
42434         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
42435         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
42436         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
42437         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
42438         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
42439         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
42440         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
42441         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
42442         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
42443         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
42444         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
42445         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
42446         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
42447         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
42448         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
42449         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
42450         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
42451         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
42452         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
42453         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
42454         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
42455         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
42456         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
42457         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
42458         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
42459         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
42460         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
42461         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
42462         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
42463         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
42464         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
42465         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
42466         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
42467         Reported by Eric Blake.
42468
42469 2008-04-11  Bruno Haible  <bruno@clisp.org>
42470
42471         * lib/wchar.in.h: Tweak comment.
42472
42473 2008-04-11  Bruno Haible  <bruno@clisp.org>
42474
42475         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
42476         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
42477         gl_COMMON.
42478         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
42479
42480 2008-04-11  Bruno Haible  <bruno@clisp.org>
42481
42482         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
42483
42484 2008-04-11  Simon Josefsson  <simon@josefsson.org>
42485
42486         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
42487         of attempting to use non-existing /dev/*random.  Based on patch
42488         from Adam Strzelecki <ono@java.pl> in
42489         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
42490
42491 2008-04-08  Bruno Haible  <bruno@clisp.org>
42492
42493         Add tentative support for emx+gcc.
42494         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
42495         * lib/fpurge.c (fpurge): Likewise.
42496         * lib/freadable.c (freadable): Likewise.
42497         * lib/freadahead.c (freadahead): Likewise.
42498         * lib/freading.c (freading): Likewise.
42499         * lib/freadptr.c (freadptr): Likewise.
42500         * lib/freadseek.c (freadptrinc): Likewise.
42501         * lib/fseeko.c (rpl_fseeko): Likewise.
42502         * lib/fseterr.c (fseterr): Likewise.
42503         * lib/fwritable.c (fwritable): Likewise.
42504         * lib/fwriting.c (fwriting): Likewise.
42505         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
42506
42507 2008-04-09  Eric Blake  <ebb9@byu.net>
42508
42509         Avoid some autoconf warnings.
42510         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
42511         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
42512         * m4/afs.m4 (gl_AFS): Likewise.
42513         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
42514         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
42515         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
42516         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
42517         (gl_INTEGER_TYPE_SUFFIX): Likewise.
42518         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
42519         (AC_CHECK_DECLS_ONCE): Likewise.
42520         Rename file...
42521         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
42522         gnulib-tool requires autoconf 2.59 or better.
42523         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
42524
42525 2008-04-08  Eric Blake  <ebb9@byu.net>
42526
42527         Use 'git describe --match' if present (added in git 1.5.5).
42528         * build-aux/git-version-gen: Limit result to tags that match 'v*'
42529         if possible.
42530
42531 2008-04-08  Bruno Haible  <bruno@clisp.org>
42532
42533         Add tentative support for OpenServer.
42534         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
42535         _ptr, _cnt.
42536         * lib/fpurge.c (fpurge): Likewise.
42537         * lib/freadable.c (freadable): Likewise.
42538         * lib/freadahead.c (freadahead): Likewise.
42539         * lib/freading.c (freading): Likewise.
42540         * lib/freadptr.c (freadptr): Likewise.
42541         * lib/freadseek.c (freadptrinc): Likewise.
42542         * lib/fseeko.c (rpl_fseeko): Likewise.
42543         * lib/fseterr.c (fseterr): Likewise.
42544         * lib/fwritable.c (fwritable): Likewise.
42545         * lib/fwriting.c (fwriting): Likewise.
42546         Reported by Roger Cornelius <rac@tenzing.org> and
42547         Brian K. White <brian@aljex.com>.
42548
42549 2008-04-06  Jim Meyering  <meyering@redhat.com>
42550
42551         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
42552
42553 2008-04-06  Bruno Haible  <bruno@clisp.org>
42554
42555         Avoid possible error with non-ASCII bytes in UTF-8 locales.
42556         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
42557         * tests/test-printf-posix.sh: Likewise.
42558         * tests/test-vfprintf-posix.sh: Likewise.
42559         * tests/test-vprintf-posix.sh: Likewise.
42560         * tests/test-xprintf-posix.sh: Likewise.
42561
42562 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42563
42564         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
42565         hide error from 'ls', needed on OS/2.
42566         Report by Elbert Pol <elbert.pol@gmail.com>.
42567
42568 2008-04-04  Eric Blake  <ebb9@byu.net>
42569
42570         Make test-fseeko.c failures meaningful.
42571         * tests/test-fseeko.c: Print line number on failure.
42572         * tests/test-fseek.c: Likewise.
42573         Reported by Nelson H. F. Beebe.
42574
42575         Improve strtod bug detection check.
42576         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
42577         required for Solaris 10.
42578         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
42579
42580 2008-04-04  Bruno Haible  <bruno@clisp.org>
42581
42582         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
42583         by m4/setenv.m4.
42584
42585 2008-04-03  Eric Blake  <ebb9@byu.net>
42586
42587         Ensure sane .version contents.
42588         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
42589         version string.
42590         * build-aux/git-version-gen: Improve documentation.
42591
42592         Make GNU make output nicer.
42593         * top/GNUmakefile [!_have-Makefile]: Add dependency on
42594         MAKECMDGOALS to enforce message for all command line targets.  Set
42595         srcdir for use in maint.mk.
42596
42597         Another maintainer tweak.
42598         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
42599         a target that regenerates version.
42600
42601 2008-04-03  Jim Meyering  <meyering@redhat.com>
42602
42603         vc-list-files: don't cause coreutils "make po-check" failure
42604         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
42605
42606 2008-04-03  Eric Blake  <ebb9@byu.net>
42607
42608         Allow VPATH usage of vc-list-files.
42609         * build-aux/vc-list-files (scriptversion): Add timestamp.
42610         (options): Add --help, --version, -C.
42611         (CVS): Support installed cvsu.
42612
42613 2008-04-02  Bruno Haible  <bruno@clisp.org>
42614
42615         Avoid some "statement with no effect" warnings from gcc.
42616         * tests/test-wctype.c (main): Explicitly ignore unused values.
42617         Reported by Jim Meyering.
42618
42619 2008-04-02  Jim Meyering  <meyering@redhat.com>
42620
42621         Avoid some warnings from "gcc -Wshadow".
42622         * tests/test-frexp.c (exp): Define to a different identifier.
42623         * tests/test-frexpl.c (exp): Likewise.
42624
42625 2008-04-03  Jim Meyering  <meyering@redhat.com>
42626
42627         bootstrap: remove dangling *.[ch] symlinks from lib
42628         * build-aux/bootstrap [dangling symlink removal]: Move find's
42629         -depth option to precede all others, to avoid a warning.
42630         Remove *.[ch] files too, and from "$source_base" (usually lib/).
42631
42632 2008-04-02  Bruno Haible  <bruno@clisp.org>
42633
42634         Avoid some warnings from "gcc -Wshadow".
42635         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
42636         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
42637         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
42638         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
42639         Reported by Jim Meyering.
42640
42641 2008-04-01  Bruno Haible  <bruno@clisp.org>
42642
42643         Fix test to work on IRIX 6.5 with cc.
42644         * tests/test-math.c (numeric_equal): New function.
42645         (main): Use it.
42646
42647 2008-04-01  Bruno Haible  <bruno@clisp.org>
42648
42649         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
42650
42651 2008-04-01  Bruno Haible  <bruno@clisp.org>
42652
42653         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
42654         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
42655         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
42656         (Depends-on): Remove math.
42657
42658         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
42659         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
42660         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
42661         (Depends-on): Remove math.
42662
42663         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
42664         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
42665         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
42666         (Depends-on): Remove math.
42667         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
42668         (Depends-on): Remove math.
42669
42670         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
42671         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
42672         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
42673         (Depends-on): Remove math.
42674         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
42675         (Depends-on): Remove math.
42676
42677         * tests/test-round1.c: Include nan.h.
42678         (main): Use NaNd instead of NAN.
42679         * modules/round-tests (Files): Add tests/nan.h.
42680
42681         * tests/test-trunc1.c: Include nan.h.
42682         (main): Use NaNd instead of NAN.
42683         * modules/trunc-tests (Files): Add tests/nan.h.
42684
42685         * tests/test-roundf1.c: Include nan.h.
42686         (main): Use NaNf instead of NAN.
42687         * modules/roundf-tests (Files): Add tests/nan.h.
42688
42689         * tests/test-truncf1.c: Include nan.h.
42690         (main): Use NaNf instead of NAN.
42691         * modules/truncf-tests (Files): Add tests/nan.h.
42692
42693         * tests/test-ceilf1.c: Include nan.h.
42694         (main): Use NaNf instead of NAN.
42695         * modules/ceilf-tests (Files): Add tests/nan.h.
42696
42697         * tests/test-floorf1.c: Include nan.h.
42698         (main): Use NaNf instead of NAN.
42699         * modules/floorf-tests (Files): Add tests/nan.h.
42700
42701         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
42702         (main): Use NaNf instead of NAN.
42703         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
42704
42705         * tests/test-isnand.c: Include nan.h instead of <math.h>.
42706         (main): Use NaNd instead of NAN.
42707         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
42708
42709         * tests/test-frexp.c: Include nan.h.
42710         (main): Use NaNd instead of NAN.
42711         * modules/frexp-tests (Files): Add tests/nan.h.
42712
42713         * lib/isnan.c: Don't include <math.h>.
42714         (FUNC): Don't use NAN macro.
42715         * modules/isnand-nolibm (Depends-on): Remove math.
42716         * modules/isnanf-nolibm (Depends-on): Remove math.
42717         * modules/isnanl (Depends-on): Remove math.
42718         * modules/isnanl-nolibm (Depends-on): Remove math.
42719
42720         * tests/nan.h: New file.
42721
42722 2008-04-01  Eric Blake  <ebb9@byu.net>
42723
42724         Fix typos.
42725         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
42726         values to be the right type.
42727
42728         For now, cater to gnulib strtod inaccuracies.
42729         * tests/test-strtod.c (main): Allow 1-ulp error on expected
42730         fractional results.  While not as nice from a QoI perspective, it
42731         is a quicker patch than correctly implementing decimal to binary
42732         rounding.
42733
42734 2008-03-31  Eric Blake  <ebb9@byu.net>
42735
42736         Guarantee a definition of NAN.
42737         * lib/math.in.h (NAN): Define if missing.
42738         * tests/test-math.c (main): Test it.
42739         * doc/posix-headers/math.texi (math.h): Document this.
42740         * lib/isnan.c (rpl_isnand): Use it.
42741         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
42742         * tests/test-floorf1.c (NaN): Likewise.
42743         * tests/test-frexp.c (NaN): Likewise.
42744         * tests/test-isnand.c (NaN): Likewise.
42745         * tests/test-isnanf.c (NaN): Likewise.
42746         * tests/test-round1.c (NaN): Likewise.
42747         * tests/test-roundf1.c (NaN): Likewise.
42748         * tests/test-snprintf-posix.h (NaN): Likewise.
42749         * tests/test-sprintf-posix.h (NaN): Likewise.
42750         * tests/test-trunc1.c (NaN): Likewise.
42751         * tests/test-truncf1.c (NaN): Likewise.
42752         * tests/test-vasnprintf-posix.c (NaN): Likewise.
42753         * tests/test-vasprintf-posix.c (NaN): Likewise.
42754         * modules/isnand-nolibm (Depends-on): Add math.
42755         * modules/isnanf-nolibm (Depends-on): Likewise.
42756         * modules/isnanl (Depends-on): Likewise.
42757         * modules/isnanl-nolibm (Depends-on): Likewise.
42758         * modules/snprintf-posix-tests (Depends-on): Likewise.
42759         * modules/sprintf-posix-tests (Depends-on): Likewise.
42760         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
42761         * modules/vsprintf-posix-tests (Depends-on): Likewise.
42762         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
42763         * modules/vasprintf-posix-tests (Depends-on): Likewise.
42764
42765 2008-03-31  Bruno Haible  <bruno@clisp.org>
42766
42767         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
42768         * doc/posix-functions/strtod.texi: Likewise.
42769
42770 2008-03-31  Bruno Haible  <bruno@clisp.org>
42771
42772         * tests/test-strtod.c (main): Don't use C99 syntax.
42773
42774 2008-03-31  Bruno Haible  <bruno@clisp.org>
42775
42776         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
42777         Reported by Eric Blake.
42778
42779 2008-03-31  Jim Meyering  <meyering@redhat.com>
42780
42781         Don't compare actual signbit return values.
42782         * tests/test-strtod.c (main): Rather, compare only their
42783         zero/non-zero nature.
42784
42785 2008-03-31  Eric Blake  <ebb9@byu.net>
42786
42787         More strtod documentation.
42788         * doc/posix-functions/strtod.texi (strtod): Interpret more test
42789         failures as distinct bugs.
42790
42791 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
42792
42793         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
42794         Problem reported by Erik Benada in
42795         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
42796
42797 2008-03-30  Bruno Haible  <bruno@clisp.org>
42798
42799         * tests/test-strtod.c: Add comments about which assertion fails on which
42800         platform.
42801         * doc/posix-functions/strtod.texi: Add info about many more platforms.
42802
42803 2008-03-30  Eric Blake  <ebb9@byu.net>
42804
42805         Test signbit behavior on zeros.
42806         * tests/test-signbit.c (test_signbitf): Add tests for zero.
42807         (test_signbitd, test_signbitl): Likewise.
42808
42809         More strtod touchups.
42810         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
42811         sign of negative underflow, for now.  Use .5, not .1.
42812         * doc/posix-functions/strtod.texi (strtod): Mention these
42813         limitations.
42814         Reported by Jim Meyering.
42815
42816 2008-03-30  Bruno Haible  <bruno@clisp.org>
42817
42818         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
42819         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
42820
42821 2008-03-30  Bruno Haible  <bruno@clisp.org>
42822
42823         Avoid failure when attempting to return empty iconv results on some
42824         platforms.
42825         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
42826         allocation, don't report ENOMEM when the resulting string is empty.
42827
42828 2008-03-30  Bruno Haible  <bruno@clisp.org>
42829
42830         Fix buffer overrun.
42831         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
42832         Don't consider the width for tmp_length. Check count against tmp_length
42833         before doing the padding. Ensure enough allocation during padding.
42834
42835 2008-03-30  Eric Blake  <ebb9@byu.net>
42836
42837         strtod touchups.
42838         * lib/strtod.c (strtod): Avoid compiler warnings.
42839         Reported by Jim Meyering.
42840
42841 2008-03-30  Bruno Haible  <bruno@clisp.org>
42842
42843         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
42844         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
42845         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
42846         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
42847         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
42848         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
42849         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
42850         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
42851
42852         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
42853         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
42854         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
42855         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
42856         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
42857         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
42858         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
42859         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
42860
42861         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
42862         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
42863         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
42864         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
42865         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
42866         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
42867         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
42868         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
42869
42870         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
42871         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
42872
42873         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
42874         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
42875
42876         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
42877         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
42878
42879         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
42880         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
42881         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
42882
42883         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
42884         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
42885         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
42886
42887         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
42888         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
42889         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
42890
42891         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
42892         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
42893         * modules/vasprintf (Depends-on): Add EOVERFLOW.
42894
42895         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
42896         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
42897         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
42898         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
42899         (Depends-on): Add EOVERFLOW.
42900         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
42901         (Depends-on): Add EOVERFLOW.
42902         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
42903         (Depends-on): Add EOVERFLOW.
42904         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
42905         (Depends-on): Add EOVERFLOW.
42906         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
42907         (Depends-on): Add EOVERFLOW.
42908         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
42909         (Depends-on): Add EOVERFLOW.
42910         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
42911         (Depends-on): Add EOVERFLOW.
42912         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
42913         (Depends-on): Add EOVERFLOW.
42914
42915         * lib/sprintf.c (EOVERFLOW): Remove fallback.
42916         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
42917         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
42918
42919         * lib/snprintf.c (EOVERFLOW): Remove fallback.
42920         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
42921         * modules/snprintf (Depends-on): Add EOVERFLOW.
42922
42923         * lib/poll.c (EOVERFLOW): Remove fallback.
42924         * modules/poll (Depends-on): Add EOVERFLOW.
42925
42926         * lib/getugroups.c (EOVERFLOW): Remove fallback.
42927         * modules/getugroups (Depends-on): Add EOVERFLOW.
42928
42929         * lib/getdelim.c (EOVERFLOW): Remove fallback.
42930         * modules/getdelim (Depends-on): Add EOVERFLOW.
42931
42932         * lib/ftell.c (EOVERFLOW): Remove fallback.
42933         * modules/ftell (Depends-on): Add EOVERFLOW.
42934
42935         * lib/fprintf.c (EOVERFLOW): Remove fallback.
42936         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
42937         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
42938
42939         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
42940
42941         * modules/EOVERFLOW-tests: New file.
42942         * tests/test-EOVERFLOW.c: New file.
42943
42944         * modules/EOVERFLOW: New file.
42945         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
42946
42947 2008-03-30  Bruno Haible  <bruno@clisp.org>
42948
42949         Fix bug introduced on 2007-06-10.
42950         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
42951         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
42952
42953 2008-03-30  Bruno Haible  <bruno@clisp.org>
42954
42955         Improve freadseek's efficiency after ungetc.
42956         * lib/freadseek.c: Include freadahead.h.
42957         (freadptrinc): New function, extracted from freadseek.
42958         (freadseek): Use it in a loop. Use freadahead to determine the number
42959         of loop iterations.
42960         * modules/freadseek (Depends-on): Add freadahead.
42961         (configure.ac): Require AC_C_INLINE.
42962
42963 2008-03-30  Bruno Haible  <bruno@clisp.org>
42964
42965         * lib/freadseek.c (freadseek): Don't ignore the return value of
42966         freadptr.
42967
42968 2008-03-29  Eric Blake  <ebb9@byu.net>
42969
42970         Add hex float support.
42971         * modules/strtod (Depends-on): Add c-ctype.
42972         (Link): Mention POW_LIB.
42973         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
42974         whitespace between 'e' and exponent.
42975         * tests/test-strtod.c (main): Enable hex float tests.
42976         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
42977         now provides.
42978
42979         Document various strtod bugs, with some fixes.
42980         * doc/posix-functions/strtod.texi (strtod): Document bugs with
42981         "-0x", "inf", "nan", and hex constants.
42982         * doc/posix-functions/atof.texi (atof): Likewise.
42983         * modules/stdlib (Makefile.am): Support strtod.
42984         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
42985         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
42986         detect additional strtod bugs.
42987         * lib/stdlib.in.h (rpl_strtod): Add declarations.
42988         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
42989         bool where appropriate.  Parse 'inf' and 'nan'.
42990         * tests/test-strtod.c: New file.
42991         * modules/strtod (Depends-on): Add stdbool, stdlib.
42992         (configure.ac): Turn on module indicator.
42993         * modules/strtod-tests: New module.
42994
42995 2008-03-29  Eric Blake  <ebb9@byu.net>
42996
42997         Fix ftell on mingw.
42998         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
42999         * modules/ftell-tests (Depends-on): Add binary-io.
43000         * modules/ftello-tests (Depends-on): Likewise.
43001         * tests/test-ftell.c (main): Enhance test to cover behavior after
43002         ungetc.  Enforce binary mode.
43003         * tests/test-ftello.c (main): Likewise.
43004
43005         Pass test-freadseek on cygwin.
43006         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
43007         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
43008         ungetc buffer.
43009
43010         * tests/test-fflush2.c (main): Fix typo.
43011
43012 2008-03-29  Bruno Haible  <bruno@clisp.org>
43013
43014         * tests/test-fflush2.c (main): Temporarily disable the contents of
43015         this test.
43016         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
43017         Reported by Eric Blake.
43018
43019 2008-03-28  Simon Josefsson  <simon@josefsson.org>
43020
43021         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
43022         (GC_SHA224_DIGEST_SIZE): Add.
43023
43024         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
43025         (gc_hash_digest_length): Likewise.
43026         (gc_hash_buffer): Likewise.
43027
43028 2008-03-25  Bruno Haible  <bruno@clisp.org>
43029
43030         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
43031         detail which gettext release to use.
43032         Reported by Simon Josefsson.
43033
43034 2008-03-26  Jim Meyering  <meyering@redhat.com>
43035
43036         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
43037         * modules/gnumakefile (clean-GNUmakefile): Also, use
43038         test ... && ... || : syntax rather than if-then ... fi.
43039
43040         gnumakefile: Don't double-quote-expand $(VPATH) value.
43041         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
43042
43043 2008-03-24  Eric Blake  <ebb9@byu.net>
43044
43045         Alter GNUmakefile to install into top directory.
43046         * modules/maintainer-makefile: Split, and add dependency...
43047         * modules/gnumakefile: to this new module.
43048         * build-aux/GNUmakefile: Move...
43049         * top/GNUmakefile: ...here.
43050         * build-aux/maint.mk: Move...
43051         * top/maint.mk: ...here.
43052         * MODULES.html.sh (Support for maintaining...): Document new
43053         module.
43054
43055 2008-03-23  Bruno Haible  <bruno@clisp.org>
43056
43057         * gnulib-tool: New options --vc-files, --no-vc-files.
43058         (func_usage): Document them.
43059         (vc_files): New variable.
43060         (func_import): Consider vc_files.
43061         (func_create_testdir): Set vc_files to empty.
43062         Suggested by Jim Meyering and Karl Berry.
43063
43064 2008-03-23  Bruno Haible  <bruno@clisp.org>
43065
43066         Fix regex compilation error on HP-UX 11.
43067         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
43068         * modules/regex (Files): Add m4/mbstate_t.m4.
43069         Reported by Ton Voon <ton.voon@altinity.com>.
43070
43071 2008-03-23  Bruno Haible  <bruno@clisp.org>
43072
43073         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
43074
43075 2008-03-23  Eric Blake  <ebb9@byu.net>
43076             Bruno Haible  <bruno@clisp.org>
43077
43078         Install files from top/ in the destination directory.
43079         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
43080         augmentation also for the files from top/.
43081         (func_import, func_create_testdir): Rewrite file names:
43082         top/filename -> filename.
43083
43084 2008-03-23  Bruno Haible  <bruno@clisp.org>
43085
43086         Tweak "gnulib --version" output.
43087         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
43088
43089 2008-03-23  Bruno Haible  <bruno@clisp.org>
43090
43091         Tweak "gnulib --version" output.
43092         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
43093         rather than contents of ChangeLog, when possible.
43094
43095 2008-03-21  Eric Blake  <ebb9@byu.net>
43096
43097         More --version tweaks.
43098         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
43099         date of last ChangeLog entry.
43100
43101 2008-03-21  Jim Meyering  <meyering@redhat.com>
43102
43103         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
43104
43105 2008-03-20  Eric Blake  <ebb9@byu.net>
43106
43107         VPATH fix.
43108         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
43109
43110 2008-03-20  Simon Josefsson  <simon@josefsson.org>
43111
43112         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
43113         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
43114
43115 2008-03-20  Eric Blake  <ebb9@byu.net>
43116
43117         Sync GNUmakefile with coreutils.
43118         * build-aux/GNUmakefile (have-Makefile): Rename...
43119         (_have-Makefile): ...to this, for namespace consideration.
43120         (GNUmakefile.cfg): Include, if present.
43121         (_autoreconf): Define a default.
43122         (_is-dist-target): New rule for rebuilds to pick up intra-release
43123         version.
43124         (maint-cfg.mk): Rename...
43125         (cfg.mk): ...to this.
43126
43127 2008-03-18  Jim Meyering  <meyering@redhat.com>
43128
43129         New script and module: mktempd
43130         * MODULES.html.sh (maint+release support): Add mktempd.
43131         * build-aux/mktempd: New file.
43132         * modules/mktempd: New file.
43133
43134 2008-03-15  Jim Meyering  <meyering@redhat.com>
43135
43136         Undo last change.
43137         * lib/sha1.c, lib/md5.c: 63 != ~63.
43138         Reported by Andreas Schwab.
43139
43140         sha1.c, md5.c: Hoist a redundant expression.
43141         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
43142         "ctx->buflen" only once, before calling *_process_block.
43143         * lib/md5.c (md5_process_bytes): Likewise.
43144
43145 2008-03-14  Eric Blake  <ebb9@byu.net>
43146
43147         Bump copyright year in files generated by gnulib-tool.
43148         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
43149         gnulib-tool, rather than hard-coding it.
43150
43151         Fix 'gnulib-tool --version' output to work with git.
43152         * gnulib-tool (func_gnulib_dir): New function, extracted from...
43153         (startup): ...here.
43154         (func_version): Use it to invoke git-version-gen, rather than
43155         relying on CVS keyword expansion.  Modernize wording.
43156         (cvsdatestamp, last_checkin_date, version): Kill unused
43157         variables.
43158
43159 2008-03-12  Jim Meyering  <meyering@redhat.com>
43160
43161         Recognize optional cast of the argument to free.
43162         * build-aux/useless-if-before-free: Update regexps.
43163
43164         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
43165
43166 2008-03-11  Bruno Haible  <bruno@clisp.org>
43167
43168         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
43169         by a single package.
43170         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
43171         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
43172         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
43173         Reported by Sam Steingold <sds@gnu.org>.
43174
43175 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
43176
43177         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
43178         repositories.
43179
43180 2008-03-11  Bruno Haible  <bruno@clisp.org>
43181
43182         Avoid conflicts between local macro definitions.
43183         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
43184         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
43185
43186 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
43187             Bruno Haible  <bruno@clisp.org>
43188
43189         Make va_copy work with some version of xlc on AIX 5.1.
43190         * lib/stdarg.in.h: New file.
43191         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
43192         On AIX, use a <stdarg.h> file substitute.
43193         * modules/stdarg (Files): Add lib/stdarg.in.h.
43194         (Depends-on): Add include_next.
43195         (Makefile.am): Build a stdarg.h substitute if requested.
43196         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
43197
43198 2008-03-10  Bruno Haible  <bruno@clisp.org>
43199
43200         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
43201         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
43202         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
43203
43204 2008-03-10  Bruno Haible  <bruno@clisp.org>
43205
43206         * modules/stdlib (Depends-on): Add include_next, remove
43207         absolute-header.
43208
43209 2008-03-09  Bruno Haible  <bruno@clisp.org>
43210
43211         * lib/freadahead.h (freadahead): Document more precisely.
43212         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
43213         the sum of both buffer sizes.
43214         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
43215         * NEWS: Document the change.
43216
43217 2008-03-09  Bruno Haible  <bruno@clisp.org>
43218
43219         Extend freadptr to return also the buffer size.
43220         * lib/freadptr.h (freadptr): Add sizep argument.
43221         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
43222         (freadptr): Add sizep argument. Determine buffer size like freadahead
43223         does.
43224         * tests/test-freadptr.c: Don't include freadahead.h.
43225         (main): Adapt for new calling convention of freadptr.
43226         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
43227         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
43228         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
43229         tests/test-freadptr2.sh.
43230         (Depends): Remove freadahead.
43231         (TESTS): Add test-freadptr2.sh.
43232         (check_PROGRAMS): Add test-freadptr2.
43233
43234 2008-03-09  Bruno Haible  <bruno@clisp.org>
43235
43236         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
43237         Report and solution by Simon Josefsson.
43238
43239 2008-03-06  Bruno Haible  <bruno@clisp.org>
43240
43241         Make fflush after ungetc work on BSD platforms.
43242         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
43243         * tests/test-fflush2.c: New file.
43244         * tests/test-fflush2.sh: New file.
43245         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
43246         tests/test-fflush2.c.
43247         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
43248         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
43249
43250 2008-03-06  Eric Blake  <ebb9@byu.net>
43251
43252         Likewise for ftello.
43253         * modules/ftello (Dependencies): Add extensions.
43254         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
43255
43256 2008-03-06  Bruno Haible  <bruno@clisp.org>
43257
43258         * modules/fseeko (Dependencies): Add extensions.
43259         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
43260         Needed on glibc systems.
43261
43262 2008-03-06  Bruno Haible  <bruno@clisp.org>
43263
43264         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
43265         email address.
43266         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
43267
43268 2008-03-06  Bruno Haible  <bruno@clisp.org>
43269
43270         * users.txt: Add libgnupdf.
43271
43272 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
43273
43274         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
43275         (Header File Substitutes, Function Substitutes,
43276         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
43277         (Build robot for gnulib): Fix typo.
43278
43279 2008-03-06  Bruno Haible  <bruno@clisp.org>
43280
43281         * doc/gnulib-tool.texi (VCS Issues): Small updates.
43282         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
43283
43284 2008-03-06  Bruno Haible  <bruno@clisp.org>
43285
43286         * doc/func.texi: New file, extracted from doc/gnulib.texi.
43287         * doc/gnulib.texi: Include it.
43288
43289 2008-03-06  Simon Josefsson  <simon@josefsson.org>
43290
43291         * modules/func (License): Change license to unlimited; there was
43292         no LGPL parts in the module anyway.
43293
43294 2008-03-06  Simon Josefsson  <simon@josefsson.org>
43295
43296         * modules/__func__: Renamed to modules/func.
43297         * modules/__func__-tests: Renamed to modules/func-tests.
43298         * tests/test-__func__.c: Renamed to tests/test-func.c.
43299         * m4/__func__.m4: Renamed to m4/func.m4.
43300         * doc/gnulib.texi (__func__): Section renamed to func.
43301         Suggested by Eric Blake <ebb9@byu.net>.
43302
43303 2008-03-06  Simon Josefsson  <simon@josefsson.org>
43304
43305         * doc/gnulib.texi (__func__): Use C99 terminology when talking
43306         about __func__.  Make example self-contained.  Suggested by Eric
43307         Blake <ebb9@byu.net>.
43308
43309         * tests/test-__func__.c (main): Avoid extraneous () around __func.
43310         Suggested by Eric Blake <ebb9@byu.net>.
43311
43312 2008-03-06  Simon Josefsson  <simon@josefsson.org>
43313
43314         * modules/__func__: New file.
43315         * modules/__func__-tests: New file.
43316         * tests/test-__func__.c: New file.
43317         * m4/__func__.m4: New file.
43318         * doc/gnulib.texi (__func__): Document __func__ module.
43319
43320 2008-03-05  Simon Josefsson  <simon@josefsson.org>
43321
43322         * modules/byteswap (License): Re-license as LGPLv2+.
43323
43324 2008-03-05  Simon Josefsson  <simon@josefsson.org>
43325
43326         * doc/Makefile: Add pdf target.
43327
43328 2008-03-05  Simon Josefsson  <simon@josefsson.org>
43329
43330         * modules/inline (License): Use 'unlimited', since there are only
43331         *.m4 files in this module.
43332
43333 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
43334             Bruno Haible  <bruno@clisp.org>
43335
43336         Add support for HP C 7.1 on OpenVMS 8.3.
43337         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
43338
43339 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
43340
43341         Update VMS specifics.
43342         * lib/getopt.c [VMS]: Remove include of unixlib.h.
43343
43344 2008-03-02  Jim Meyering  <meyering@redhat.com>
43345
43346         Remove the last dependency on the "free" module.
43347         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
43348         Reported by Bob Proulx.
43349
43350         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
43351
43352         Remove useless "if" tests before free.  Deprecate "free" module.
43353         * doc/posix-functions/free.texi: Mention that this
43354         module is no longer useful.
43355         * modules/free (Notice): Say this module is obsolete.
43356         * modules/readutmp (Depends-on): Remove free.
43357         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
43358         * lib/putenv.c (putenv): Likewise.
43359         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
43360         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
43361         * tests/test-c-strcasestr.c (main): Likewise.
43362         * tests/test-c-strstr.c (main): Likewise.
43363         * tests/test-mbscasestr1.c (main): Likewise.
43364         * tests/test-mbscasestr2.c (main): Likewise.
43365         * tests/test-mbsstr1.c (main): Likewise.
43366         * tests/test-mbsstr2.c (main): Likewise.
43367         * tests/test-memmem.c (main): Likewise.
43368         * tests/test-strcasestr.c (main): Likewise.
43369         * tests/test-striconv.c (main): Likewise.
43370         * tests/test-striconveh.c (main): Likewise.
43371         * tests/test-striconveha.c (main): Likewise.
43372         * tests/test-strstr.c (main): Likewise.
43373
43374         * build-aux/git-version-gen: Adjust a comment and the Usage string.
43375
43376         bootstrap: sync from coreutils again
43377         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
43378
43379 2008-03-01  Jim Meyering  <meyering@redhat.com>
43380
43381         bootstrap: sync from coreutils
43382         * build-aux/bootstrap (update_po_files): Copy a .po file into place
43383         also when the target doesn't exist.
43384
43385 2008-03-01  Eric Blake  <ebb9@byu.net>
43386
43387         Fix bugs in last patch.
43388         * lib/memchr2.c (memchr2): Fix typo.
43389         * tests/test-memchr2.c: Test previous bug, and don't use GNU
43390         extension.
43391         Reported by Bruce Korb.
43392
43393         New module 'memchr2'.
43394         * modules/memchr2: New file.
43395         * modules/memchr2-tests: Likewise.
43396         * lib/memchr2.h: Likewise.
43397         * lib/memchr2.c: Likewise, based on memchr.c.
43398         * tests/test-memchr2.c: New test.
43399         * MODULES.html.sh (String handling): Add memchr2.
43400
43401 2008-02-29  Bruno Haible  <bruno@clisp.org>
43402
43403         * modules/freadseek-tests: New file.
43404         * tests/test-freadseek.sh: New file.
43405         * tests/test-freadseek.c: New file.
43406
43407         New module 'freadseek'.
43408         * modules/freadseek: New file.
43409         * lib/freadseek.h: New file.
43410         * lib/freadseek.c: New file.
43411         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
43412
43413 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
43414
43415         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
43416         wydawca.
43417
43418         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
43419         program_invocation_name and program_invocation_short_name are
43420         present.
43421
43422 2008-02-28  Bruno Haible  <bruno@clisp.org>
43423
43424         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
43425         * tests/test-freadptr.sh: Also test non-seekable stdin.
43426
43427 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
43428
43429         * build-aux/bootstrap (source_base, m4_base)
43430         (doc_base, tests_base): New variables.
43431         (gnulib_tool_options): Do not hardcode base directories, use
43432         the above variables instead.
43433
43434 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
43435
43436         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
43437
43438 2008-02-28  Bruno Haible  <bruno@clisp.org>
43439
43440         * modules/freadptr-tests: New file.
43441         * tests/test-freadptr.sh: New file.
43442         * tests/test-freadptr.c: New file.
43443
43444         New module 'freadptr'.
43445         * modules/freadptr: New file.
43446         * lib/freadptr.h: New file.
43447         * lib/freadptr.c: New file.
43448         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
43449
43450 2008-02-26  Karl Berry  <karl@freefriends.org>
43451
43452         Sync from Libtool:
43453         * libltdl/argz.c (argz_add, argz_count): New functions.
43454         * libltdl/argz.in.h: Declare them.
43455         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
43456
43457 2008-02-22  Bruno Haible  <bruno@clisp.org>
43458
43459         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
43460         is a pointer type.  Needed for HP-UX 10.
43461         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
43462         * doc/posix-functions/gmtime_r.texi: Likewise.
43463         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
43464
43465 2008-02-24  Bruno Haible  <bruno@clisp.org>
43466
43467         * modules/environ-tests: New file.
43468         * tests/test-environ.c: New file.
43469
43470         New module 'environ'.
43471         * modules/environ: New file.
43472         * lib/unistd.in.h (environ): New declaration.
43473         * m4/environ.m4: New file.
43474         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
43475         after use.
43476         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
43477         HAVE_DECL_ENVIRON.
43478         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
43479         HAVE_DECL_ENVIRON.
43480         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
43481         wrong claim that 'environ' is missing on some systems.
43482         * modules/execute (Depends-on): Add environ.
43483         * lib/execute.c (environ): Remove fallback declaration.
43484         * modules/pipe (Depends-on): Add environ.
43485         * lib/pipe.c (environ): Remove fallback declaration.
43486         * modules/setenv (Depends-on): Add environ.
43487         * lib/setenv.c (environ): Remove fallback declaration.
43488         * modules/unsetenv (Depends-on): Add environ.
43489         * lib/unsetenv.c (environ): Remove fallback declaration.
43490         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
43491         m4/environ.m4.
43492         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
43493         (gl_PREREQ_UNSETENV): Likewise.
43494
43495 2008-02-24  Bruno Haible  <bruno@clisp.org>
43496
43497         * doc/posix-functions/environ.texi: Document the MacOS X problem.
43498
43499 2008-02-20  Bob Proulx  <bob@proulx.com>
43500
43501         Enable use of older two part flavor 'git describe'.
43502         * build-aux/git-version-gen: If using the older two part flavor of
43503         git version then recreate the third part now present in the
43504         newer three part flavor of git describe.
43505
43506 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
43507
43508         * lib/fts.c (fts_build): Typo correction to comment.
43509
43510 2008-02-17  Bruno Haible  <bruno@clisp.org>
43511
43512         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
43513         generating no-op conflicts.
43514
43515 2008-02-17  Bruno Haible  <bruno@clisp.org>
43516
43517         Speed up by 10%.
43518         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
43519         result_entries, rather than an index-based loop.
43520
43521 2008-02-17  Bruno Haible  <bruno@clisp.org>
43522
43523         Speed up by 25%.
43524         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
43525         'hashcode_cached'.
43526         (entry_create): New function.
43527         (entry_hashcode): Use the cached hashcode if possible.
43528         (read_changelog_file, try_split_merged_entry): Use entry_create.
43529
43530 2008-02-17  Bruno Haible  <bruno@clisp.org>
43531
43532         Speed up from O(n^2) to O(n) for long ChangeLog files.
43533         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
43534         (read_changelog_file): Change implementation of entries_reversed list
43535         to rbtreehash.
43536         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
43537
43538 2008-02-17  Bruno Haible  <bruno@clisp.org>
43539
43540         New option --split-merged-entry.
43541         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
43542         (find_paragraph_end, try_split_merged_entry): New functions.
43543         (long_options): Add option --split-merged-entry.
43544         (usage): Document option --split-merged-entry.
43545         (main): Implement option --split-merged-entry.
43546         Reported by Eric Blake.
43547
43548 2008-02-17  Bruno Haible  <bruno@clisp.org>
43549
43550         * lib/git-merge-changelog.c: Include c-strstr.h.
43551         (main): Support the "git pull --rebase" situation.
43552         * modules/git-merge-changelog (Depends-on): Add c-strstr.
43553         Reported by Eric Blake.
43554
43555 2008-02-16  Eric Blake  <ebb9@byu.net>
43556
43557         Avoid doubling \ in common case of "c-maybe" quoting style.
43558         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
43559         eliding outer quotes.
43560         * lib/quotearg.h: Document this.
43561         * tests/test-quotearg.c (result_strings, inputs, results_g)
43562         (flag_results, locale_results): Test it by adding a new string to
43563         each test group.
43564         (compare_strings): Test new string.
43565
43566 2008-02-13  Eric Blake  <ebb9@byu.net>
43567
43568         Avoid trigraph quoting in default output.
43569         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
43570         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
43571         unless explicitly requested.
43572         * tests/test-quotearg.c (flag_results, main): Add additional tests.
43573
43574 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
43575
43576         Don't rely on signed integer overflowing to negative value.
43577         * lib/getugroups.c (getugroups): Include <limits.h>.
43578         Instead, compare against INT_MAX, and increment only if the test passes.
43579
43580 2008-02-13  Jim Meyering  <meyering@redhat.com>
43581         and Eric Blake  <ebb9@byu.net>
43582
43583         Avoid shadowing warning and compile errors on Linux.
43584         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
43585         forwarding macros on Linux.
43586         (dcgettext): Define a stub, for Linux.
43587         (results_g, main): Avoid warnings.
43588
43589 2008-02-12  Eric Blake  <ebb9@byu.net>
43590
43591         Silence warning in last patch.
43592         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
43593
43594         Quotearg part 4: add tests, fix c-maybe colon quoting.
43595         * lib/quotearg.h: Improve documentation.
43596         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
43597         escapes when adding outer quotes.  When quoting trigraphs, use
43598         valid C notation.  When quoting NUL, omit extra characters if next
43599         character is not digit.  Alter prototype.
43600         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
43601         callers.
43602         * modules/quotearg-tests: New module.
43603         * tests/test-quotearg.c: New test.
43604
43605 2008-02-07  Eric Blake  <ebb9@byu.net>
43606
43607         Quotearg part 3: add flag to control outer quote elision.
43608         * lib/quotearg.h (c_maybe_quoting_style): New style.
43609         (enum quoting_flags): Better documentation of flags.
43610         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
43611         c-maybe style.
43612         (quotearg_buffer_restyled): Handle new flag to elide outer
43613         quotes.
43614
43615         Quotearg part 2: add flag that can control NUL elision.
43616         * lib/quotearg.h (set_quoting_flags): New prototype.
43617         * lib/quotearg.c (struct quoting_options): Add flag field.
43618         (set_quoting_flags): New function.
43619         (quotearg_buffer_restyled): Add flags parameter.
43620         (quotearg_alloc_mem): Set the flag if length cannot be returned.
43621         (quotearg_n_options): Set the flag, since length cannot be
43622         returned.
43623         (quoting_options_from_style): Default flags correctly.
43624
43625         Quotearg part 1: more wrappers, restore quotearg_char state.
43626         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
43627         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
43628         (quotearg_colon_mem): New wrappers.
43629         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
43630         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
43631         functions.
43632         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
43633         (quotearg_colon_mem): New functions.
43634
43635 2008-02-11  Bruno Haible  <bruno@clisp.org>
43636
43637         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
43638         library in the current directory: it does not work with parallel make.
43639         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
43640
43641 2008-02-11  Bruno Haible  <bruno@clisp.org>
43642
43643         * .gitattributes: New file.
43644
43645 2008-02-11  Jim Meyering  <meyering@redhat.com>
43646
43647         useless-if-before-free: Fix reversed exit values.
43648         * build-aux/useless-if-before-free: Use correct values
43649         for EXIT_MATCH and EXIT_NO_MATCH.
43650
43651         * build-aux/useless-if-before-free: Close stdout carefully.
43652
43653 2008-02-10  Bruno Haible  <bruno@clisp.org>
43654
43655         New module 'git-merge-changelog'.
43656         * modules/git-merge-changelog: New file.
43657         * lib/git-merge-changelog.c: New file.
43658
43659 2008-02-10  Jim Meyering  <meyering@redhat.com>
43660
43661         useless-if-before-free: New option: --list (-l).
43662
43663         useless-if-before-free: Don't exit immediately upon open failure.
43664         * build-aux/useless-if-before-free: Exit 2 for errors.
43665         Upon failure to open a file, don't exit immediately.
43666         Rather, just warn and continue with any remaining files.
43667
43668 2008-02-10  Bruno Haible  <bruno@clisp.org>
43669
43670         New abstract list operation 'node_set_value'.
43671         * lib/gl_list.h (gl_list_node_set_value): New function.
43672         (struct gl_list_implementation): New field node_set_value.
43673         * lib/gl_list.c (gl_list_node_set_value): New function.
43674         * lib/gl_array_list.c (gl_array_node_set_value): New function.
43675         (gl_array_list_implementation): Update.
43676         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
43677         (gl_carray_list_implementation): Update.
43678         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
43679         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
43680         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
43681         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
43682         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
43683         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
43684         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
43685         Update.
43686         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
43687         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
43688         (gl_sublist_list_implementation): Update.
43689
43690 2008-02-10  Bruno Haible  <bruno@clisp.org>
43691
43692         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
43693         Needed when ELEMENT is #defined to 'some_type *'.
43694
43695 2008-02-10  Jim Meyering  <meyering@redhat.com>
43696
43697         New script and module: useless-if-before-free
43698         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
43699         * build-aux/useless-if-before-free: New file.
43700         * modules/useless-if-before-free: New file.
43701
43702         * build-aux/gitlog-to-changelog: Use committer date, not author date.
43703
43704         xstrtol_error: Fix typo.
43705         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
43706         s/exit_failure/exit_status/.
43707
43708 2008-02-09  Jim Meyering  <meyering@redhat.com>
43709
43710         New script and module: gitlog-to-changelog
43711         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
43712         * modules/gitlog-to-changelog: New file.
43713         * build-aux/gitlog-to-changelog: New file.
43714
43715 2008-02-08  Jim Meyering  <meyering@redhat.com>
43716
43717         Avoid two "parameter unused" warnings.
43718         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
43719         Mark "st" as used.
43720
43721         Use "git COMMAND", not "git-COMMAND".
43722         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
43723         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
43724         * build-aux/git-version-gen: Use "git status", not "git-status".
43725
43726 2008-02-07  Bruno Haible  <bruno@clisp.org>
43727
43728         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
43729         Avoids a crash on Windows Vista.
43730         Reported by Adam Strzelecki <ono@java.pl> via
43731         Simon Josefsson <simon@josefsson.org>.
43732
43733 2008-02-06  Bruno Haible  <bruno@clisp.org>
43734
43735         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
43736         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
43737         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
43738         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
43739         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
43740         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
43741         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
43742         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
43743         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
43744         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
43745         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
43746         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
43747         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
43748         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
43749         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
43750         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
43751         left-adjust flag.
43752         * tests/test-snprintf-posix.h (test_function): Likewise.
43753         * tests/test-sprintf-posix.h (test_function): Likewise.
43754         * tests/test-vasprintf-posix.c (test_function): Likewise.
43755         * doc/posix-functions/fprintf.texi: Update.
43756         * doc/posix-functions/printf.texi: Update.
43757         * doc/posix-functions/snprintf.texi: Update.
43758         * doc/posix-functions/sprintf.texi: Update.
43759         * doc/posix-functions/vfprintf.texi: Update.
43760         * doc/posix-functions/vprintf.texi: Update.
43761         * doc/posix-functions/vsnprintf.texi: Update.
43762         * doc/posix-functions/vsprintf.texi: Update.
43763         Reported by Peter Fales <psfales@alcatel-lucent.com>.
43764
43765 2008-02-06  Bruno Haible  <bruno@clisp.org>
43766
43767         Fix bug introduced on 2008-01-26.
43768         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
43769
43770 2008-02-06  Bruno Haible  <bruno@clisp.org>
43771
43772         Fix bug introduced on 2007-06-10.
43773         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
43774         !NEED_PRINTF_FLAG_ZERO.
43775
43776 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
43777
43778         getloadavg: use libperfstat on AIX5
43779         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
43780
43781 2008-02-03  Bruno Haible  <bruno@clisp.org>
43782
43783         * lib/diffseq.h: Add comments about required #includes.
43784         Reported by Michael Biggs <gnulib@doubleplum.net>.
43785
43786 2008-02-01  Bruno Haible  <bruno@clisp.org>
43787
43788         * users.txt: Add gnuit.
43789
43790 2008-01-31  Bruno Haible  <bruno@clisp.org>
43791
43792         * lib/md4.c (set_uint32): Mark as inline.
43793         * lib/md5.c (set_uint32): Likewise.
43794         * lib/sha1.c (set_uint32): Likewise.
43795         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
43796         * m4/md5.m4 (gl_MD5): Likewise.
43797         * m4/sha1.m4 (gl_SHA1): Likewise.
43798
43799 2008-01-31  Jim Meyering  <meyering@redhat.com>
43800
43801         Use "sizeof VAR", rather than a literal "4".
43802         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
43803         * lib/md4.c (md4_read_ctx): Likewise.
43804         * lib/sha1.c (sha1_read_ctx): Likewise.
43805
43806 2008-01-31  Simon Josefsson  <simon@josefsson.org>
43807
43808         * tests/test-sha1.c: New file, based on test-md5.c.
43809
43810         * modules/crypto/sha1-tests: New file.
43811
43812 2008-01-31  Simon Josefsson  <simon@josefsson.org>
43813
43814         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
43815
43816 2008-01-31  Jim Meyering  <meyering@redhat.com>
43817
43818         Prefer "sizeof v" over the equivalent "4".
43819         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
43820         * lib/md5.c (set_uint32): Likewise.
43821         * lib/sha1.c (set_uint32): Likewise.
43822
43823 2008-01-31  Simon Josefsson  <simon@josefsson.org>
43824
43825         * lib/sha1.c (set_uint32): Mark function as static.
43826
43827 2008-01-31  Simon Josefsson  <simon@josefsson.org>
43828
43829         md2: clarify comments to say that alignment is not required.
43830         * lib/md2.h: Remove warning about alignment in comment.
43831         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
43832         never been required.
43833
43834 2008-01-31  Simon Josefsson  <simon@josefsson.org>
43835
43836         md4: adapt alignment constraint fix from sha1.
43837         * lib/md4.c (set_uint32): New function, from sha1.c
43838         (md4_read_ctx): Use it.
43839         (md4_finish_ctx): Doc fix.
43840         * lib/md4.h: Doc fix.
43841
43842 2008-01-31  Simon Josefsson  <simon@josefsson.org>
43843
43844         md5: adapt alignment constraint fix from sha1.
43845         * lib/md5.c (set_uint32): New function, from sha1.c
43846         (md5_read_ctx): Use it.
43847         (md5_finish_ctx): Doc fix.
43848         * lib/md5.h: Doc fix.
43849
43850 2008-01-30  Peter Palfrader  <weasel@debian.org>
43851
43852         sha1: remove the result buffer alignment constraint
43853         * lib/sha1.c (set_uint32): New function.
43854         (sha1_read_ctx): Rewrite to remove the result buffer alignment
43855         constraint.
43856         (sha1_finish_ctx): Remove comment warning about alignment constraint.
43857         * lib/sha1.h: Likewise.
43858
43859 2008-01-30  Andreas Schwab  <schwab@suse.de>
43860             Bruno Haible  <bruno@clisp.org>
43861
43862         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
43863         correct definition of LDBL_MIN_EXP.
43864
43865 2008-01-30  Karl Berry  <karl@gnu.org>
43866
43867         * config/srclist-update: try to preserve x bit on updates.
43868         * config/srclistvars.sh: update for karl.
43869
43870 2008-01-29  Jim Meyering  <meyering@redhat.com>
43871
43872         vasnprintf.c: Avoid warning about unused label
43873         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
43874         "overflow" label definition and associated code with the
43875         same cpp condition that guards the sole use of that label.
43876
43877 2008-01-26  Bruno Haible  <bruno@clisp.org>
43878
43879         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
43880         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
43881         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
43882         * lib/isnanl-nolibm.h (isnanl): Likewise.
43883         Reported by Paul Eggert <eggert@cs.ucla.edu>.
43884
43885 2008-01-26  Bruno Haible  <bruno@clisp.org>
43886
43887         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
43888         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
43889
43890 2008-01-26  Bruno Haible  <bruno@clisp.org>
43891
43892         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
43893         GCC >= 4.0 built-in.
43894         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
43895
43896 2008-01-26  Bruno Haible  <bruno@clisp.org>
43897
43898         Rename isnan, applicable to 'double' only, to isnand.
43899         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
43900         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
43901         (configure.ac): Update.
43902         (Include): Replace "isnan.h" with "isnand.h".
43903         * m4/isnand.m4: Renamed from m4/isnan.m4.
43904         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
43905         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
43906         instead of isnan.c.
43907         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
43908         instead of HAVE_ISNAN_IN_LIBC.
43909         (isnand): Renamed from isnan.
43910         * lib/isnand.c: New file.
43911         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
43912         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
43913         (Makefile.am): Update.
43914         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
43915         Include isnand.h instead of isnan.h.
43916         (main): Test isnand instead of isnan.
43917         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
43918         isnan-nolibm.
43919         * modules/frexp (Depends-on): Likewise.
43920         * modules/frexp-tests (Depends-on): Likewise.
43921         * modules/frexp-nolibm (Depends-on): Likewise.
43922         * modules/frexp-nolibm-tests (Depends-on): Likewise.
43923         * modules/isfinite (Depends-on): Likewise.
43924         * modules/round-tests (Depends-on): Likewise.
43925         * modules/signbit (Depends-on): Likewise.
43926         * modules/signbit-tests (Depends-on): Likewise.
43927         * modules/snprintf-posix (Depends-on): Likewise.
43928         * modules/sprintf-posix (Depends-on): Likewise.
43929         * modules/trunc-tests (Depends-on): Likewise.
43930         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
43931         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
43932         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
43933         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
43934         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
43935         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
43936         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
43937         * modules/vasnprintf-posix (Depends-on): Likewise.
43938         * modules/vasprintf-posix (Depends-on): Likewise.
43939         * modules/vfprintf-posix (Depends-on): Likewise.
43940         * modules/vsnprintf-posix (Depends-on): Likewise.
43941         * modules/vsprintf-posix (Depends-on): Likewise.
43942         * lib/frexp.c: Include isnand.h instead of isnan.h.
43943         (ISNAN): Set to isnand instead of isnan.
43944         * lib/isfinite.c: Include isnand.h instead of isnan.h.
43945         (gl_isfinited): Use isnand instead of isnan.
43946         * lib/signbitd.c: Include isnand.h instead of isnan.h.
43947         (gl_signbitd): Use isnand instead of isnan.
43948         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
43949         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
43950         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
43951         (main): Use isnand instead of isnan.
43952         * tests/test-round1.c: Include isnand.h.
43953         (main): Use isnand instead of isnan.
43954         * tests/test-round2.c: Include isnand.h instead of isnan.h.
43955         (ISNAN): Set to isnand instead of isnan.
43956         * tests/test-trunc1.c: Include isnand.h.
43957         (main): Use isnand instead of isnan.
43958         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
43959         (equal): Use isnand instead of isnan.
43960         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
43961         isnand-nolibm.
43962         * NEWS: Mention the change.
43963
43964 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
43965             Bruno Haible  <bruno@clisp.org>
43966
43967         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
43968         the GCC builtins for signbits are present and set
43969         REPLACE_SIGNBIT_USING_GCC if so.
43970         * lib/math.in.h (signbit): Define using GCC builtins if
43971         REPLACE_SIGNBIT_USING_GCC is set.
43972         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
43973         REPLACE_SIGNBIT_USING_GCC.
43974         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
43975
43976 2008-01-25  Jim Meyering  <meyering@redhat.com>
43977
43978         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
43979         * lib/poll.c: Include <config.h>, not "config.h".
43980         * tests/test-getaddrinfo.c: Likewise.
43981
43982 2008-01-25  Simon Josefsson  <simon@josefsson.org>
43983
43984         * modules/sockets-tests: New file.
43985
43986 2008-01-24  Simon Josefsson  <simon@josefsson.org>
43987
43988         * modules/sockets: New module, can be used to call WSA_Startup and
43989         WSA_Cleanup when needed.
43990
43991         * lib/sockets.h, lib/sockets.c: New files.
43992
43993         * m4/sockets.m4: New file.
43994
43995         * tests/test-sockets.c: New file.
43996
43997 2008-01-19  Bruno Haible  <bruno@clisp.org>
43998
43999         * doc/posix-headers: Renamed from doc/headers.
44000         * doc/posix-functions: Renamed from doc/functions.
44001         * doc/gnulib.texi: Update.
44002
44003 2008-01-19  Bruno Haible  <bruno@clisp.org>
44004
44005         * doc/glibc-functions/strcasestr.texi: Include contents of
44006         doc/functions/strcasestr.texi, fixing the list of platforms.
44007         * doc/functions/strcasestr.texi: Remove file.
44008
44009 2008-01-19  Bruno Haible  <bruno@clisp.org>
44010
44011         * doc/glibc-functions/memmem.texi: Include contents of
44012         doc/functions/memmem.texi.
44013         * doc/functions/memmem.texi: Remove file.
44014
44015 2008-01-18  Bruno Haible  <bruno@clisp.org>
44016
44017         * doc/glibc-functions/*.texi: New files.
44018         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
44019         to use the new files.
44020
44021 2008-01-17  Bruno Haible  <bruno@clisp.org>
44022
44023         * tests/test-gethostname.c (main): Fix printf statement.
44024
44025 2008-01-17  Simon Josefsson  <simon@josefsson.org>
44026
44027         * modules/gethostname-tests: New file.
44028
44029         * tests/test-gethostname.c: New file.
44030
44031 2008-01-17  Simon Josefsson  <simon@josefsson.org>
44032
44033         * lib/gethostname.c: Include string.h unconditionally, strncpy is
44034         used by the UNAME case.  Reported by Bruno Haible
44035         <bruno@clisp.org>.
44036
44037 2008-01-17  Eric Blake  <ebb9@byu.net>
44038
44039         Convert c-strcasestr to be more efficient.
44040         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
44041         (Depends-on): Add c-strcase, remove malloca, strnlen.
44042         * tests/test-c-strcasestr.c (main): Enhance test.
44043         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
44044
44045 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
44046
44047         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
44048         Use it in creating po/Makevars.
44049
44050 2008-01-15  Simon Josefsson  <simon@josefsson.org>
44051
44052         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
44053         Applications that requires it should initialize libgcrypt
44054         manually.
44055
44056 2008-01-16  Simon Josefsson  <simon@josefsson.org>
44057
44058         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
44059
44060 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
44061
44062         Fix problem with getdate on mingw32 reported by Simon Josefsson
44063         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
44064         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
44065         tzname", when deciding whether to declare tzname.
44066         * lib/strftime.c (tzname): Likewise.
44067
44068 2008-01-15  Bruno Haible  <bruno@clisp.org>
44069
44070         Work around a MacOS X 10.5 bug in frexpl().
44071         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
44072         * doc/functions/frexpl.texi: Document the bug.
44073         Reported by Elias Pipping <pipping@gentoo.org>.
44074
44075 2008-01-14  Eric Blake  <ebb9@byu.net>
44076
44077         Touch up previous patch.
44078         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
44079         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
44080
44081         Convert strcasestr module to use Two-Way algorithm.
44082         * modules/strcasestr-simple: New module, based on the old
44083         strcasestr, but with Two-Way rather than KMP.
44084         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
44085         * lib/string.in.h (rpl_strcasestr): Declare.
44086         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
44087         performance.
44088         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
44089         * modules/string (Makefile.am): Support strcasestr.
44090         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
44091         * modules/strcasestr-tests (Depends-on): Check for alarm.
44092         * tests/test-strcasestr.c: Augment test.
44093         * lib/str-two-way.h: Clean up stray macro.
44094         * NEWS: Document new module.
44095         * MODULES.html.sh (string handling): Likewise.
44096         * doc/functions/strcasestr.texi: New file.
44097         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
44098         here, since it is not a POSIX function.
44099
44100 2008-01-14  Colin Watson  <cjwatson@debian.org>
44101             Bruno Haible  <bruno@clisp.org>
44102
44103         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
44104         works fine; if not, set REPLACE_STRSIGNAL.
44105         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
44106         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
44107         REPLACE_STRSIGNAL.
44108         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
44109         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
44110         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
44111
44112 2008-01-14  Bruno Haible  <bruno@clisp.org>
44113
44114         * modules/strsignal (Include): Change to <string.h>.
44115
44116 2008-01-14  Colin Watson  <cjwatson@debian.org>
44117
44118         * modules/argp (Notice): Add a notice recommending to change
44119         XGETTEXT_OPTIONS.
44120         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
44121
44122 2008-01-13  Colin Watson  <cjwatson@debian.org>
44123
44124         * modules/strsignal-tests: New file.
44125         * tests/test-strsignal.c: New file.
44126
44127         * lib/strsignal.c: New file, from glibc with modifications.
44128         * lib/siglist.h: New file, from glibc with modifications.
44129         * lib/string.in.h (strsignal): New declaration.
44130         * m4/strsignal.m4: New file.
44131         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
44132         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
44133         * modules/strsignal: New file.
44134         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
44135         HAVE_DECL_STRSIGNAL.
44136
44137 2008-01-13  Bruno Haible  <bruno@clisp.org>
44138
44139         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
44140         locale encoding is not ASCII. Needed for OpenBSD 4.0.
44141         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
44142         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
44143
44144 2008-01-13  Bruno Haible  <bruno@clisp.org>
44145
44146         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
44147         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
44148         * lib/argp.h (__attribute__): Likewise.
44149         * lib/c-stack.c (__attribute__): Likewise.
44150         * lib/error.h (__attribute__): Likewise.
44151         * lib/fts.c (__attribute__): Likewise.
44152         * lib/openat.h (__attribute__): Likewise.
44153         * lib/stdio.in.h (__attribute__): Likewise.
44154         * lib/string.in.h (__attribute__): Likewise.
44155         * lib/utimens.c (__attribute__): Likewise.
44156         * lib/vasnprintf.h (__attribute__): Likewise.
44157         * lib/xalloc.h (__attribute__): Likewise.
44158         * lib/xprintf.h (__attribute__): Likewise.
44159         * lib/xstrtol.h (__attribute__): Likewise.
44160         * lib/xvasprintf.h (__attribute__): Likewise.
44161
44162 2008-01-12  Bruno Haible  <bruno@clisp.org>
44163
44164         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
44165         * doc/glibc-headers/a.out.texi: New file.
44166         * doc/glibc-headers/aliases.texi: New file.
44167         * doc/glibc-headers/alloca.texi: New file.
44168         * doc/glibc-headers/ar.texi: New file.
44169         * doc/glibc-headers/argp.texi: New file.
44170         * doc/glibc-headers/argz.texi: New file.
44171         * doc/glibc-headers/byteswap.texi: New file.
44172         * doc/glibc-headers/crypt.texi: New file.
44173         * doc/glibc-headers/endian.texi: New file.
44174         * doc/glibc-headers/envz.texi: New file.
44175         * doc/glibc-headers/err.texi: New file.
44176         * doc/glibc-headers/error.texi: New file.
44177         * doc/glibc-headers/execinfo.texi: New file.
44178         * doc/glibc-headers/fpu_control.texi: New file.
44179         * doc/glibc-headers/fstab.texi: New file.
44180         * doc/glibc-headers/fts.texi: New file.
44181         * doc/glibc-headers/getopt.texi: New file.
44182         * doc/glibc-headers/ieee754.texi: New file.
44183         * doc/glibc-headers/ifaddrs.texi: New file.
44184         * doc/glibc-headers/libintl.texi: New file.
44185         * doc/glibc-headers/mcheck.texi: New file.
44186         * doc/glibc-headers/mntent.texi: New file.
44187         * doc/glibc-headers/obstack.texi: New file.
44188         * doc/glibc-headers/paths.texi: New file.
44189         * doc/glibc-headers/printf.texi: New file.
44190         * doc/glibc-headers/pty.texi: New file.
44191         * doc/glibc-headers/resolv.texi: New file.
44192         * doc/glibc-headers/shadow.texi: New file.
44193         * doc/glibc-headers/sysexits.texi: New file.
44194         * doc/glibc-headers/ttyent.texi: New file.
44195
44196 2008-01-12  Jim Meyering  <meyering@redhat.com>
44197
44198         announce-gen: emit Gnulib's git-based version string.
44199         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
44200         New option --gnulib-version=V, where V is expected to be
44201         the output of running git describe in the gnulib directory.
44202         (get_tool_versions): Request feedback on xdelta.  I suspect it's
44203         not useful, and plan to stop publishing an xdelta file with each
44204         coreutils release.
44205
44206         * build-aux/announce-gen: Also check for lzma-compressed files.
44207
44208 2008-01-11  Bruno Haible  <bruno@clisp.org>
44209
44210         * tests/test-memmem.c (main): Increase maximum allowed time.
44211         * tests/test-strstr.c (main): Likewise.
44212
44213 2008-01-11  Bruno Haible  <bruno@clisp.org>
44214
44215         * doc/functions/memmem.texi: Add more precisions about platforms.
44216         * doc/functions/strstr.texi: Likewise.
44217
44218 2008-01-10  Eric Blake  <ebb9@byu.net>
44219
44220         * m4/strstr.m4: Delete cruft from copy-n-paste.
44221         Reported by Bruno Haible.
44222
44223 2008-01-10  Bruno Haible  <bruno@clisp.org>
44224
44225         Make c-strstr rely on strstr.
44226         * lib/c-strstr.c: Don't include str-kmp.h.
44227         (c_strstr): Define in terms of strstr.
44228         * modules/c-strstr (Files): Remove lib/str-kmp.h.
44229         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
44230
44231 2008-01-10  Bruno Haible  <bruno@clisp.org>
44232
44233         * doc/gnulib.texi (String Functions in C Locale): New section.
44234         * doc/c-ctype.texi: New file.
44235         * doc/c-strcase.texi: New file.
44236         * doc/c-strcaseeq.texi: New file.
44237         * doc/c-strcasestr.texi: New file.
44238         * doc/c-strstr.texi: New file.
44239         * doc/c-strtod.texi: New file.
44240         * doc/c-strtold.texi: New file.
44241
44242 2008-01-10  Eric Blake  <ebb9@byu.net>
44243
44244         * lib/relocatable.h: Fix a comment.
44245
44246 2008-01-10  Eric Blake  <ebb9@byu.net>
44247
44248         Share two-way algorithm.
44249         * lib/str-two-way.h: New file, merged from...
44250         * lib/memmem.c: ...here...
44251         * lib/strstr.c: ...and here.
44252         * modules/memmem (Files): Use it.
44253         * modules/strstr (Files): Likewise.
44254
44255         Avoid quadratic strstr implementations.
44256         * lib/strstr.c: New file.
44257         * m4/strstr.m4: Likewise.
44258         * modules/strstr: Likewise.
44259         * modules/strstr-tests: Likewise.
44260         * tests/test-strstr.c: Likewise.
44261         * lib/string.in.h (rpl_strstr): Declare.
44262         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
44263         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
44264         * modules/string (Makefile.am): Likewise.
44265         * MODULES.html.sh (string handling): Mention new module.
44266         * doc/functions/strstr.texi (strstr): Document the bug.
44267
44268 2008-01-10  Bruno Haible  <bruno@clisp.org>
44269
44270         * lib/relocatable.h (relocate): State whether result is freshly
44271         allocated or not.
44272         * lib/relocatable.c (relocate): Return a freshly allocated string
44273         instead of a pointer to a privately held string.
44274         Reported by Sylvain Beucler <beuc@gnu.org>.
44275
44276 2008-01-10  Colin Watson  <cjwatson@debian.org>
44277
44278         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
44279         s/S_ISNLK/S_ISLNK/.
44280
44281 2008-01-09  Bruno Haible  <bruno@clisp.org>
44282
44283         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
44284         and other files.
44285         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
44286         if it's only a guess.
44287         * modules/memmem: Simplify by depending on memmem-simple.
44288
44289 2008-01-09  Bruno Haible  <bruno@clisp.org>
44290
44291         Work around OpenBSD 4.0 tdelete() bug.
44292         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
44293         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
44294         macros and don't redefine the enum values.
44295         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
44296         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
44297         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
44298
44299 2008-01-09  Bruno Haible  <bruno@clisp.org>
44300
44301         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
44302         (main): Don't perform the tests if setlocale did not install a UTF-8
44303         locale. Needed on OpenBSD 4.0.
44304         * modules/wcwidth-tests (Depends-on): Add localcharset.
44305
44306 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
44307
44308         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
44309         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
44310         * NEWS: announce this.
44311         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
44312
44313 2008-01-09  Simon Josefsson  <simon@josefsson.org>
44314         and Eric Blake  <ebb9@byu.net>
44315
44316         Add memmem-simple module.
44317         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
44318         (gl_FUNC_MEMMEM): Separate performance from presence checks.
44319         * modules/memmem-simple: New file.
44320         * modules/memmem (Description): Tweak.
44321         * MODULES.html.sh (string handling): Mention new module.
44322         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
44323         addressed by memmem-simple.
44324         * NEWS: Document the difference.
44325
44326 2008-01-09  Eric Blake  <ebb9@byu.net>
44327
44328         Give gcc some memmem optimization hints.
44329         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
44330         (strcasestr): Declare as pure.
44331         * modules/memmem (Maintainer): Claim my implementation.
44332
44333 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44334
44335         Support AIX 6.1 and higher.
44336         * build-aux/config.libpath: Likewise.
44337         * build-aux/config.rpath: Likewise.
44338
44339 2008-01-08  Jim Meyering  <meyering@redhat.com>
44340             Bruno Haible  <bruno@clisp.org>
44341
44342         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
44343         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
44344         Reported by Peter Fales in
44345         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
44346
44347 2008-01-08  Bruno Haible  <bruno@clisp.org>
44348
44349         * modules/unictype/category-of (Depends-on): Add
44350         unictype/category-none.
44351         * modules/unictype/category-and-tests (Depends-on): Add
44352         unictype/category-{L,N,Lu,Nd}.
44353         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
44354         * modules/unictype/category-or-tests (Depends-on): Add
44355         unictype/category-{L,N}.
44356         * modules/unictype/category-name-tests (Depends-on): Add
44357         unictype/category-{Z,Nl}.
44358         Reported by Simon Josefsson.
44359
44360 2008-01-08  Bruno Haible  <bruno@clisp.org>
44361
44362         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
44363         convention better.
44364         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
44365         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
44366         Reported by Peter Miller <millerp@canb.auug.org.au>.
44367
44368 2008-01-08  Eric Blake  <ebb9@byu.net>
44369
44370         Rewrite memmem to guarantee linear complexity without malloc.
44371         * lib/memmem.c (memmem): Use Two-Way rather than
44372         Knuth-Morris-Pratt, to allow O(1) space usage.
44373         (critical_factorization, two_way_short_needle)
44374         (two_way_long_needle): New functions.
44375         (knuth_morris_pratt): Delete.
44376         * modules/memmem (Depends-on): No longer need malloca or stdbool.
44377         Add stdint.
44378         * tests/test-memmem.c (main): Add tests for periodic needle and
44379         sublinear performance.
44380         * doc/functions/memmem.texi (memmem): Document other deficiencies
44381         in cygwin and older glibc.
44382
44383 2008-01-08  Bruno Haible  <bruno@clisp.org>
44384
44385         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
44386         augmentation.
44387
44388 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
44389
44390         Add a configure time option: --disable-acl.
44391         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
44392         AC_ARG_ENABLE(acl).
44393
44394 2008-01-06  Simon Josefsson  <simon@josefsson.org>
44395
44396         * tests/test-localename.c: Don't include obsolete "setenv.h".
44397
44398         * modules/localename-tests (Depends-on): Need unsetenv.
44399
44400 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44401
44402         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
44403
44404 2008-01-06  Colin Watson  <cjwatson@debian.org>
44405
44406         * users.txt: Add man-db.
44407
44408 2008-01-07  Bruno Haible  <bruno@clisp.org>
44409
44410         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
44411         previous section name.
44412
44413 2008-01-07  Bruno Haible  <bruno@clisp.org>
44414
44415         * lib/progname.c (set_program_name): Don't strip off a leading
44416         "lt-" prefix outside a .libs directory.
44417         Suggested by Paul Eggert.
44418
44419 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
44420             Bruno Haible  <bruno@clisp.org>
44421
44422         Improve memory cleanup in 'relocatable' module.
44423         * lib/relocatable.h (compute_curr_prefix): Change return type to
44424         'char *'.
44425         * lib/relocatable.c (compute_curr_prefix): Change return type to
44426         'char *'. Free curr_installdir after use.
44427         (relocate): Free curr_prefix_better after use.
44428         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
44429
44430 2008-01-01  Bruno Haible  <bruno@clisp.org>
44431
44432         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
44433         failure on older glibc systems.
44434         Reported by Peter Fales <psfales@alcatel-lucent.com>.
44435
44436 2008-01-05  Eric Blake  <ebb9@byu.net>
44437
44438         Avoid quadratic system memmem.
44439         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
44440         Reported by Ralf Wildenhues.
44441
44442         Fix memmem test for mingw.
44443         * modules/memmem-tests (configure.ac): Check for alarm.
44444         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
44445         it.
44446         * doc/functions/memmem.texi: New file.
44447         * doc/gnulib.texi (Function Substitutes): Add memmem.
44448         Reported by Bruno Haible.
44449
44450 2008-01-04  Bruno Haible  <bruno@clisp.org>
44451
44452         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
44453         Require gl_HEADER_STRINGS_H_DEFAULTS, not
44454         gl_HEADER_STRING_H_DEFAULTS.
44455
44456 2008-01-04  Eric Blake  <ebb9@byu.net>
44457
44458         Shorten duration of memmem test.
44459         * tests/test-memmem.c (main): Use alarm to declare failure if test
44460         is taking too long.
44461         Reported by Ralf Wildenhues.
44462
44463 2007-12-21  Simon Josefsson  <simon@josefsson.org>
44464
44465         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
44466         string, needed by strerror.
44467
44468 2008-01-03  Colin Watson  <cjwatson@debian.org>
44469             Bruno Haible  <bruno@clisp.org>
44470
44471         * doc/gnulib-tool.texi (Localization): New section.
44472
44473 2008-01-02  Bruno Haible  <bruno@clisp.org>
44474
44475         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
44476         variables to 'unsigned char *' type.
44477         Reported by Paul Eggert.
44478
44479 2008-01-02  Jim Meyering  <jim@meyering.net>
44480
44481         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
44482
44483 2007-12-31  Jim Meyering  <jim@meyering.net>
44484
44485         Avoid use of private FTS type name.
44486         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
44487
44488 2007-12-30  Karl Berry  <karl@gnu.org>
44489
44490         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
44491         work around defect in Texinfo and/or the standalone Info browser.
44492
44493 2007-12-30  Bruno Haible  <bruno@clisp.org>
44494
44495         Unify 5 copies of the KMP code.
44496         * lib/str-kmp.h: New file.
44497         * lib/c-strcasestr.c: Include str-kmp.h.
44498         (knuth_morris_pratt): Remove function.
44499         (c_strcasestr): Update.
44500         * lib/c-strstr.c: Include str-kmp.h.
44501         (knuth_morris_pratt): Remove function.
44502         (c_strcasestr): Update.
44503         * lib/mbscasestr.c: Include str-kmp.h.
44504         (knuth_morris_pratt_unibyte): Remove function.
44505         * lib/mbsstr.c: Include str-kmp.h.
44506         (knuth_morris_pratt_unibyte): Remove function.
44507         * lib/strcasestr.c: Include str-kmp.h.
44508         (knuth_morris_pratt): Remove function.
44509         (strcasestr): Update.
44510         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
44511         * modules/c-strstr (Files): Likewise.
44512         * modules/mbscasestr (Files): Likewise.
44513         * modules/mbsstr (Files): Likewise.
44514         * modules/strcasestr (Files): Likewise.
44515         Suggested by Paul Eggert.
44516
44517 2007-12-30  Bruno Haible  <bruno@clisp.org>
44518
44519         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
44520         defined.
44521
44522 2007-12-30  Bruno Haible  <bruno@clisp.org>
44523
44524         * lib/xmalloca.h: Include xalloc.h.
44525         (xnmalloca): New macro.
44526
44527 2007-12-30  Bruno Haible  <bruno@clisp.org>
44528
44529         * lib/malloca.h (nmalloca): New macro.
44530         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
44531         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
44532         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
44533         knuth_morris_pratt_multibyte): Likewise.
44534         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
44535         knuth_morris_pratt_multibyte): Likewise.
44536         * lib/memmem.c (knuth_morris_pratt): Likewise.
44537         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
44538
44539 2007-12-25  Bruno Haible  <bruno@clisp.org>
44540
44541         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
44542         * lib/glob.c: Don't include openat.h.
44543         (link_exists2_p): Add back the code that deals with the
44544         !GLOB_ALTDIRFUNC case.
44545         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
44546         let it do the filename concatenation.
44547         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
44548         * modules/glob (Depends-on): Remove openat.
44549
44550 2007-12-31  Bruno Haible  <bruno@clisp.org>
44551
44552         * modules/dirfd (License): Change to LGPLv2+.
44553         Approved by Jim Meyering.
44554
44555 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
44556
44557         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
44558         when multiplying M by sizeof (size_t).
44559
44560 2007-12-10  Martin Lambers  <marlam@marlam.de>
44561
44562         Override getpagesize on mingw.
44563         * lib/getpagesize.c: New file.
44564         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
44565         * modules/getpagesize (Files): Add lib/getpagesize.c.
44566         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
44567         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
44568         REPLACE_GETPAGESIZE.
44569         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
44570
44571 2007-12-25  Bruno Haible  <bruno@clisp.org>
44572
44573         * modules/localcharset (Notice): New field.
44574         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
44575         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
44576
44577 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
44578             Bruno Haible  <bruno@clisp.org>
44579
44580         Avoid using the syntax symbol() in formatted documentation.
44581         * MODULES.html.sh (func_module): When replacing symbol() with a
44582         hyperlink, remove the parentheses. Show an error if some remain.
44583         Recognize and render the '...' syntax.
44584         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
44585         Rework. Add paragraph about GCC's inlining.
44586         * doc/alloca.texi: Likewise.
44587         * doc/error.texi: Remove parentheses from symbol reference.
44588         * doc/gnulib-intro.texi: Likewise.
44589         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
44590         * modules/fnmatch (Description): Reword to say "the ... function".
44591         * modules/full-read (Description): Likewise.
44592         * modules/full-write (Description): Likewise.
44593         * modules/safe-read (Description): Likewise.
44594         * modules/safe-write (Description): Likewise.
44595         * modules/strchrnul (Description): Likewise.
44596         * modules/trim (Description): Likewise.
44597         * modules/error (Description): Remove parentheses from symbol
44598         references.
44599         * modules/verror (Description): Likewise.
44600         Reported by Karl Berry.
44601
44602 2007-12-25  Bruno Haible  <bruno@clisp.org>
44603
44604         Fixup after 2007-10-16 commit.
44605         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
44606
44607 2007-12-24  Bruno Haible  <bruno@clisp.org>
44608
44609         Make --enable-relocatable work with DESTDIR.
44610         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
44611         to compute installdir from destprog.
44612         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
44613         also set the RELOC_DESTDIR variable.
44614         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
44615
44616 2007-12-24  Bruno Haible  <bruno@clisp.org>
44617
44618         Fix link error due to xalloc_die().
44619         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
44620         of xreadlink.
44621         * lib/relocwrapper.c: Update comments.
44622         * build-aux/install-reloc: Remove xreadlink.c from file list.
44623         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
44624         xreadlink.c.
44625         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
44626
44627 2007-12-24  Bruno Haible  <bruno@clisp.org>
44628
44629         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
44630         * lib/setenv.h: Remove file.
44631         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
44632         lib/setenv.h.
44633         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
44634         (Depends-on): Add stdlib.
44635         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
44636         gl_FUNC_UNSETENV.
44637         (Include): Replace setenv.h with <stdlib.h>.
44638         * modules/unsetenv: New file.
44639         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
44640         * lib/unsetenv.c: Include <stdlib.h> first.
44641         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
44642         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
44643         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
44644         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
44645         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
44646         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
44647         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
44648         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
44649         * doc/functions/unsetenv.texi: Update.
44650         * modules/xsetenv (Depends-on): Add unsetenv.
44651         * modules/getdate (Depends-on): Likewise.
44652         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
44653         * lib/xsetenv.c: Don't include setenv.h.
44654         * lib/getdate.y: Likewise.
44655         * lib/relocwrapper.c: Likewise.
44656         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
44657         (Depends-on): Add stdlib.
44658         * NEWS: Mention the changes.
44659         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
44660
44661 2007-12-23  Bruno Haible  <bruno@clisp.org>
44662
44663         * lib/memmem.c (memmem): Use lowercase variable names. Tab
44664         indentation.
44665
44666 2007-12-23  Bruno Haible  <bruno@clisp.org>
44667
44668         * lib/c-strcasestr.c: Add more comments.
44669         * lib/c-strstr.c: Likewise.
44670         * lib/mbscasestr.c: Likewise.
44671         * lib/mbsstr.c: Likewise.
44672         * lib/strcasestr.c: Likewise.
44673         * lib/memmem.c: Likewise.
44674
44675 2007-12-23  Bruno Haible  <bruno@clisp.org>
44676
44677         * tests/test-memmem.c: Include <string.h> first.
44678
44679 2007-12-22  Bruno Haible  <bruno@clisp.org>
44680
44681         * gnulib-tool (func_create_testdir): Change $auxdir while generating
44682         the contents of $testsbase.
44683         Reported by Ralf Wildenhues.
44684
44685 2007-12-22  Bruno Haible  <bruno@clisp.org>
44686
44687         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
44688         two variables local_ldadd_before, local_ldadd_last.
44689
44690 2007-12-20  Eric Blake  <ebb9@byu.net>
44691
44692         Work around circular library issue when cross-compiling.
44693         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
44694         that progname.o does not need to pull in rpl_memcmp.
44695
44696 2007-12-19  Eric Blake  <ebb9@byu.net>
44697
44698         Fix memmem to avoid O(n^2) worst-case complexity.
44699         * lib/memmem.c (knuth_morris_pratt): New function.
44700         (memmem): Use it if first few naive iterations fail.
44701         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
44702         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
44703         * modules/memchr (License): Likewise.
44704         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
44705         malloca.
44706         * tests/test-memmem.c: Rewrite, borrowing ideas from
44707         test-mbsstr1.c; the old version wouldn't even compile!
44708         * modules/memmem-tests: New file.
44709         * lib/string.in.h (rpl_memmem): Add declaration.
44710         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
44711         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
44712         REPLACE_MEMMEM.
44713
44714 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
44715
44716         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
44717         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
44718         before any system include files, and undef after them all.  This
44719         should fix a problem on VMS reported by John E. Malmberg in
44720         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
44721
44722 2007-12-17  Eric Blake  <ebb9@byu.net>
44723
44724         Revert addition of verify, for BSD/OS.
44725         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
44726         can't handle large files, for the sake of obsolete platforms.
44727         * modules/fseeko (Depends-on): Remove verify.
44728         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
44729         * doc/functions/ftello.texi (ftello): Likewise.
44730         * doc/functions/fgetpos.texi (fgetpos): Likewise.
44731         Reported by Larry Jones.
44732
44733 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
44734
44735         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
44736         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
44737
44738 2007-12-17  Jim Meyering  <meyering@redhat.com>
44739
44740         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
44741         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
44742         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
44743         * modules/getcwd (Depends-on): Add openat.
44744         Reported by Petr Salinger.
44745
44746 2007-12-17  Bruno Haible  <bruno@clisp.org>
44747
44748         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
44749         avoid a segmentation fault of the configure test on x86_64 systems.
44750
44751 2007-12-15  Jim Meyering  <meyering@redhat.com>
44752
44753         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
44754
44755 2007-12-13  Eric Blake  <ebb9@byu.net>
44756
44757         Another fseek test.
44758         * tests/test-fseek.c (main): Also test ungetc handling.
44759         * tests/test-fseeko.c (main): Likewise.
44760         * modules/fseeko (Depends-on): Add verify.
44761         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
44762         large.
44763         Reported by Larry Jones.
44764
44765         Fix fseeko on mingw.
44766         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
44767         seek.
44768
44769         Beef up fseek tests.
44770         * tests/test-fseek.c (main): Also test eof handling.
44771         * tests/test-fseeko.c (main): Likewise.
44772         Reported by Larry Jones.
44773
44774 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
44775
44776         Fix fseeko on BSD-based platforms.
44777         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
44778         successful seek.
44779
44780 2007-12-12  Eric Blake  <ebb9@byu.net>
44781
44782         Allow circular dependency of separate libtests.a
44783         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
44784         when use_libtests.
44785
44786 2007-12-11  Eric Blake  <ebb9@byu.net>
44787
44788         Fix bug with -0.0L in previous patch.
44789         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
44790         * tests/test-isnan.c (main): Also test on zeroes.
44791         * tests/test-isnanf.c (main): Likewise.
44792         * tests/test-isnanl.h (main): Likewise.
44793
44794         Detect pseudo-denormals on x86 even when cross-compiling.
44795         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
44796         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
44797         invalid bit patterns that happen to satisfy ==.
44798
44799         Avoid link failures with separate libtests.a.
44800         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
44801         last, to satisfy circular dependencies.
44802
44803 2007-12-11  Eric Blake  <ebb9@byu.net>
44804         and Bruno Haible  <bruno@clisp.org>
44805
44806         Fix OpenBSD 4.0 <float.h> handling of long double.
44807         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
44808         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
44809         * doc/headers/float.texi (float.h): Document OpenBSD bug.
44810
44811 2007-12-11  Jim Meyering  <meyering@redhat.com>
44812
44813         * users.txt: Add libvirt.
44814
44815         Support versions of autoconf prior to 2.59c.
44816         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
44817         if it is not already defined.
44818
44819 2007-12-09  Bruno Haible  <bruno@clisp.org>
44820
44821         Let 'gnulib-tool --import' collect sources needed for the tests in
44822         tests/ rather than in lib/.
44823         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
44824         argument. If true, add rules to generate libtests.a, and put libtests.a
44825         into $(LDADD). Consider source files in subdirectories and set
44826         uses_subdirs.
44827         (func_emit_initmacro_start, func_emit_initmacro_end,
44828         func_emit_initmacro_done): Pass all arguments explicitly.
44829         (func_import): Determine two module lists main_modules,
44830         testsrelated_modules. Determine use_libtests. Determine two variables
44831         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
44832         instead of just sed_transform_lib_file. Determine two variables
44833         main_files and testsrelated_files. Compute 'files' as the union of
44834         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
44835         func_add_or_update. In the generated gnulib-comp.m4, collect the
44836         object files for tests/ in different variables than those for lib/.
44837         Substitute LIBTESTS_LIBDEPS.
44838         (func_create_testdir): Combine the uses_subdirs results from
44839         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
44840
44841 2007-12-09  Bruno Haible  <bruno@clisp.org>
44842
44843         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
44844         the build-aux directory.
44845
44846 2007-12-09  Bruno Haible  <bruno@clisp.org>
44847
44848         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
44849         introduced on 2006-09-09.
44850
44851 2007-12-07  Jim Meyering  <meyering@redhat.com>
44852
44853         Let these macros work also with autoconf-2.59.
44854         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
44855         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
44856         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
44857
44858 2007-12-06  Jim Meyering  <meyering@redhat.com>
44859
44860         Avoid a configure-time syntax error in gl_FUNC_ACL.
44861         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
44862         function in each branch, before testing the cache variable.
44863
44864 2007-12-04  Eric Blake  <ebb9@byu.net>
44865
44866         Make scripts executable.
44867         * build-aux/config.guess: Add execute permissions.
44868         * build-aux/config.sub: Likewise.
44869         * build-aux/gendocs.sh: Likewise.
44870
44871         Fix frexp on mingw.
44872         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
44873         cross-compiling.
44874         * doc/functions/frexp.texi (frexp): Document the bug.
44875
44876         Make cygwin fseeko check more reliable.
44877         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
44878         version numbers, rather than unrelated feature check.
44879         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
44880         * doc/functions/ftello.texi (ftello): Likewise.
44881         Reported by Bruno Haible.
44882
44883         * m4/strerror.m4: Bump version number.
44884
44885 2007-12-03  Bruno Haible  <bruno@clisp.org>
44886
44887         * doc/functions/mprotect.texi: Mention the mingw problem.
44888
44889 2007-12-03  Eric Blake  <ebb9@byu.net>
44890
44891         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
44892         REPLACE_STRERROR is initialized before this macro.
44893
44894 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
44895
44896         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
44897         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
44898         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
44899         put -lsec in even for programs other than 'ls'.  This fixes a problem
44900         for gettext reported by Bruno Haible in
44901         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
44902         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
44903         Add support for Solaris 10.  This isn't efficient, but should get the
44904         job done for now.
44905
44906 2007-12-03  James Youngman  <jay@gnu.org>
44907
44908         * doc/regexprops-generic.texi: change "an close-group" to "a
44909         close-group" and "illegal" to "not allowed".
44910
44911 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44912
44913         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
44914         pr_byname.h. Needed for the rare case when the maintainer has done
44915         "make maintainer-clean" in the source directory and then attempts a
44916         build outside the source directory.
44917         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
44918         scripts_byname.h.
44919
44920 2007-12-02  Martin Lambers <marlam@marlam.de>
44921             Bruno Haible  <bruno@clisp.org>
44922
44923         * lib/getpagesize.h: Remove file.
44924         * lib/unistd.in.h: Include declaration of getpagesize here.
44925         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
44926         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
44927         HAVE_SYS_PARAM_H.
44928         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
44929         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
44930         * modules/getpagesize (Files): Remove lib/getpagesize.h.
44931         (Depends-on): Add unistd.
44932         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
44933         (Include): Use <unistd.h> instead of getpagesize.h.
44934         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
44935         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
44936         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
44937         gl_GETPAGESIZE invocation, already handled by module dependency.
44938         * lib/pagealign_alloc.c: Don't include getpagesize.h.
44939
44940 2007-12-02  Bruno Haible  <bruno@clisp.org>
44941
44942         * modules/strings-tests: New file.
44943         * tests/test-strings.c: New file.
44944
44945         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
44946         * lib/strings.in.h: New file.
44947         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
44948         * m4/strings_h.m4: New file.
44949         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
44950         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
44951         * modules/strings: New file.
44952         * modules/string (Makefile.am): Update.
44953         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
44954         Reported by Karl Berry.
44955
44956 2007-12-01  Eric Blake  <ebb9@byu.net>
44957
44958         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
44959         accomodate fix in cygwin 1.5.25.
44960
44961 2007-12-01  Jim Meyering  <meyering@redhat.com>
44962
44963         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
44964         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
44965         that would inhibit utf8-optimization of a regexp containing line-
44966         or buffer-anchors, e.g., `^', `$'.
44967
44968 2007-11-30  Bruno Haible  <bruno@clisp.org>
44969
44970         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
44971         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
44972         glthread_recursive_lock_init.
44973         * lib/lock.c (glthread_recursive_lock_init)
44974         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
44975         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
44976
44977 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
44978
44979         New function qset_acl, like set_acl but with syscall semantics.
44980         * lib/acl.h (qset_acl): New decl.
44981         * lib/acl.c (qset_acl): New function.
44982         (set_acl): Use new function.  Use more-consistent diagnostics.
44983
44984 2007-11-28  Jim Meyering  <meyering@redhat.com>
44985
44986         * modules/physmem (License): Change from GPL to LGPLv2+.
44987
44988 2007-11-26  Bruno Haible  <bruno@clisp.org>
44989
44990         * lib/vasnprintf.c (decode_long_double): Don't abort if the
44991         'long double' type has excess precision.
44992         Reported by Jim Meyering in
44993         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
44994
44995 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44996
44997         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
44998         Sync from <http://gnu.org/licenses>.
44999         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
45000         with license text from same location.
45001         * doc/maintain.texi, doc/standards.texi:  Sync from
45002         <http://savannah.gnu.org/projects/gnustandards>.
45003
45004 2007-11-22  OndÅ™ej Vašík  <ovasik@redhat.com>
45005         and Jim Meyering  <meyering@redhat.com>
45006
45007         Adjust getdate' grammar to accept a slightly more regular language.
45008         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
45009         Before, the former was rejected.
45010         * lib/getdate.y (digits_to_date_time): New function, factored
45011         out of ...
45012         (number): ...here.  Just call digits_to_date_time.
45013         (hybrid): New non-terminal to handle an <unsigned number,
45014         signed relative offset> sequence consistently.
45015
45016 2007-11-18  Jim Meyering  <meyering@redhat.com>
45017
45018         Pull my changes from coreutils:
45019         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
45020         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
45021         use of $gnulib_tool_option_extras, so that it's separated from the
45022         preceding argument.
45023
45024         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
45025         * build-aux/bootstrap (cp_mark_as_generated): Create any required
45026         parent destination directories before copying a file into place.
45027
45028 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
45029
45030         bootstrap: work also with 4-argument variant of AC_INIT
45031         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
45032
45033 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
45034
45035         Port test-getaddrinfo to Solaris.
45036         Problem reported by Bruno Haible in
45037         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
45038         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
45039         explanation of setting 'hints'.
45040         Don't reject an implementation merely because it returns EAI_SERVICE.
45041         (EAI_SERVICE): Define to 0 if not defined.
45042
45043 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
45044
45045         The license of gnu-make and posix-shell is now "GPLed build tool".
45046         * modules/gnu-make (License): Likewise.
45047         * modules/posix-shell (License): Likewise.
45048
45049         New module posix-shell, for determining a POSIX shell
45050         or perhaps something that is close enough to a POSIX shell.
45051         * m4/posix-shell.m4: New file.
45052         * modules/posix-shell: New file.
45053
45054         * MODULES.html.sh: Mention new module.
45055
45056         New module gnu-make, for determining whether we're using GNU Make.
45057         * m4/gnu-make.m4: New file.
45058         * modules/gnu-make: New file.
45059         * MODULES.html.sh: Mention new module.
45060
45061 2007-11-14  Jim Meyering  <meyering@redhat.com>
45062
45063         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
45064         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
45065         use this macro to create a function _definition_.
45066         Remove useless "#undef ARGMATCH_DIE".
45067
45068 2007-11-14  Bruno Haible  <bruno@clisp.org>
45069
45070         * lib/config.charset: Update for OpenBSD 4.1.
45071         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
45072
45073 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
45074
45075         Document 64-bit #if problems in stdint.texi.
45076         * doc/headers/stdint.texi (stdint.h): Mention problems with
45077         64-bit-#if, and how to work around them.
45078
45079         Don't insist on 'long long int' support in the preprocessor.  It
45080         breaks too many things.  For example, PRIdMAX still uses a 'long
45081         long int' format with the latest Sun compiler, even though
45082         HAVE_LONG_LONG_INT isn't defined due to that compiler's
45083         preprocessor problem.  This causes the latest coreutils to dump
45084         core on Solaris 10 sparc with the Sun C compiler.
45085         Instead, fix the 2007-10-16 problem in a different way, by evaluating
45086         the troublesome expressions at configure-time, not at #if-time.
45087         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
45088         preprocessor.
45089         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
45090         compile-time C checks, done at 'configure'-time.
45091         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
45092         * modules/inttypes (Makefile): Substitute the new symbols that
45093         gl_INTTYPES_H now generates.
45094         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
45095
45096 2007-11-12  Bruno Haible  <bruno@clisp.org>
45097
45098         Tests for Unicode character classification functions.
45099
45100         * modules/unictype/bidicategory-byname-tests: New file.
45101         * modules/unictype/bidicategory-name-tests: New file.
45102         * modules/unictype/bidicategory-of-tests: New file.
45103         * modules/unictype/bidicategory-test-tests: New file.
45104         * modules/unictype/block-list-tests: New file.
45105         * modules/unictype/block-of-tests: New file.
45106         * modules/unictype/block-test-tests: New file.
45107         * modules/unictype/category-C-tests: New file.
45108         * modules/unictype/category-Cc-tests: New file.
45109         * modules/unictype/category-Cf-tests: New file.
45110         * modules/unictype/category-Cn-tests: New file.
45111         * modules/unictype/category-Co-tests: New file.
45112         * modules/unictype/category-Cs-tests: New file.
45113         * modules/unictype/category-L-tests: New file.
45114         * modules/unictype/category-Ll-tests: New file.
45115         * modules/unictype/category-Lm-tests: New file.
45116         * modules/unictype/category-Lo-tests: New file.
45117         * modules/unictype/category-Lt-tests: New file.
45118         * modules/unictype/category-Lu-tests: New file.
45119         * modules/unictype/category-M-tests: New file.
45120         * modules/unictype/category-Mc-tests: New file.
45121         * modules/unictype/category-Me-tests: New file.
45122         * modules/unictype/category-Mn-tests: New file.
45123         * modules/unictype/category-N-tests: New file.
45124         * modules/unictype/category-Nd-tests: New file.
45125         * modules/unictype/category-Nl-tests: New file.
45126         * modules/unictype/category-No-tests: New file.
45127         * modules/unictype/category-P-tests: New file.
45128         * modules/unictype/category-Pc-tests: New file.
45129         * modules/unictype/category-Pd-tests: New file.
45130         * modules/unictype/category-Pe-tests: New file.
45131         * modules/unictype/category-Pf-tests: New file.
45132         * modules/unictype/category-Pi-tests: New file.
45133         * modules/unictype/category-Po-tests: New file.
45134         * modules/unictype/category-Ps-tests: New file.
45135         * modules/unictype/category-S-tests: New file.
45136         * modules/unictype/category-Sc-tests: New file.
45137         * modules/unictype/category-Sk-tests: New file.
45138         * modules/unictype/category-Sm-tests: New file.
45139         * modules/unictype/category-So-tests: New file.
45140         * modules/unictype/category-Z-tests: New file.
45141         * modules/unictype/category-Zl-tests: New file.
45142         * modules/unictype/category-Zp-tests: New file.
45143         * modules/unictype/category-Zs-tests: New file.
45144         * modules/unictype/category-and-not-tests: New file.
45145         * modules/unictype/category-and-tests: New file.
45146         * modules/unictype/category-byname-tests: New file.
45147         * modules/unictype/category-name-tests: New file.
45148         * modules/unictype/category-none-tests: New file.
45149         * modules/unictype/category-of-tests: New file.
45150         * modules/unictype/category-or-tests: New file.
45151         * modules/unictype/category-test-withtable-tests: New file.
45152         * modules/unictype/combining-class-tests: New file.
45153         * modules/unictype/ctype-alnum-tests: New file.
45154         * modules/unictype/ctype-alpha-tests: New file.
45155         * modules/unictype/ctype-blank-tests: New file.
45156         * modules/unictype/ctype-cntrl-tests: New file.
45157         * modules/unictype/ctype-digit-tests: New file.
45158         * modules/unictype/ctype-graph-tests: New file.
45159         * modules/unictype/ctype-lower-tests: New file.
45160         * modules/unictype/ctype-print-tests: New file.
45161         * modules/unictype/ctype-punct-tests: New file.
45162         * modules/unictype/ctype-space-tests: New file.
45163         * modules/unictype/ctype-upper-tests: New file.
45164         * modules/unictype/ctype-xdigit-tests: New file.
45165         * modules/unictype/decimal-digit-tests: New file.
45166         * modules/unictype/digit-tests: New file.
45167         * modules/unictype/mirror-tests: New file.
45168         * modules/unictype/numeric-tests: New file.
45169         * modules/unictype/property-alphabetic-tests: New file.
45170         * modules/unictype/property-ascii-hex-digit-tests: New file.
45171         * modules/unictype/property-bidi-arabic-digit-tests: New file.
45172         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
45173         * modules/unictype/property-bidi-block-separator-tests: New file.
45174         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
45175         * modules/unictype/property-bidi-common-separator-tests: New file.
45176         * modules/unictype/property-bidi-control-tests: New file.
45177         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
45178         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
45179         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
45180         * modules/unictype/property-bidi-european-digit-tests: New file.
45181         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
45182         * modules/unictype/property-bidi-left-to-right-tests: New file.
45183         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
45184         * modules/unictype/property-bidi-other-neutral-tests: New file.
45185         * modules/unictype/property-bidi-pdf-tests: New file.
45186         * modules/unictype/property-bidi-segment-separator-tests: New file.
45187         * modules/unictype/property-bidi-whitespace-tests: New file.
45188         * modules/unictype/property-byname-tests: New file.
45189         * modules/unictype/property-combining-tests: New file.
45190         * modules/unictype/property-composite-tests: New file.
45191         * modules/unictype/property-currency-symbol-tests: New file.
45192         * modules/unictype/property-dash-tests: New file.
45193         * modules/unictype/property-decimal-digit-tests: New file.
45194         * modules/unictype/property-default-ignorable-code-point-tests: New file.
45195         * modules/unictype/property-deprecated-tests: New file.
45196         * modules/unictype/property-diacritic-tests: New file.
45197         * modules/unictype/property-extender-tests: New file.
45198         * modules/unictype/property-format-control-tests: New file.
45199         * modules/unictype/property-grapheme-base-tests: New file.
45200         * modules/unictype/property-grapheme-extend-tests: New file.
45201         * modules/unictype/property-grapheme-link-tests: New file.
45202         * modules/unictype/property-hex-digit-tests: New file.
45203         * modules/unictype/property-hyphen-tests: New file.
45204         * modules/unictype/property-id-continue-tests: New file.
45205         * modules/unictype/property-id-start-tests: New file.
45206         * modules/unictype/property-ideographic-tests: New file.
45207         * modules/unictype/property-ids-binary-operator-tests: New file.
45208         * modules/unictype/property-ids-trinary-operator-tests: New file.
45209         * modules/unictype/property-ignorable-control-tests: New file.
45210         * modules/unictype/property-iso-control-tests: New file.
45211         * modules/unictype/property-join-control-tests: New file.
45212         * modules/unictype/property-left-of-pair-tests: New file.
45213         * modules/unictype/property-line-separator-tests: New file.
45214         * modules/unictype/property-logical-order-exception-tests: New file.
45215         * modules/unictype/property-lowercase-tests: New file.
45216         * modules/unictype/property-math-tests: New file.
45217         * modules/unictype/property-non-break-tests: New file.
45218         * modules/unictype/property-not-a-character-tests: New file.
45219         * modules/unictype/property-numeric-tests: New file.
45220         * modules/unictype/property-other-alphabetic-tests: New file.
45221         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
45222         * modules/unictype/property-other-grapheme-extend-tests: New file.
45223         * modules/unictype/property-other-id-continue-tests: New file.
45224         * modules/unictype/property-other-id-start-tests: New file.
45225         * modules/unictype/property-other-lowercase-tests: New file.
45226         * modules/unictype/property-other-math-tests: New file.
45227         * modules/unictype/property-other-uppercase-tests: New file.
45228         * modules/unictype/property-paired-punctuation-tests: New file.
45229         * modules/unictype/property-paragraph-separator-tests: New file.
45230         * modules/unictype/property-pattern-syntax-tests: New file.
45231         * modules/unictype/property-pattern-white-space-tests: New file.
45232         * modules/unictype/property-private-use-tests: New file.
45233         * modules/unictype/property-punctuation-tests: New file.
45234         * modules/unictype/property-quotation-mark-tests: New file.
45235         * modules/unictype/property-radical-tests: New file.
45236         * modules/unictype/property-sentence-terminal-tests: New file.
45237         * modules/unictype/property-soft-dotted-tests: New file.
45238         * modules/unictype/property-space-tests: New file.
45239         * modules/unictype/property-terminal-punctuation-tests: New file.
45240         * modules/unictype/property-test-tests: New file.
45241         * modules/unictype/property-titlecase-tests: New file.
45242         * modules/unictype/property-unassigned-code-value-tests: New file.
45243         * modules/unictype/property-unified-ideograph-tests: New file.
45244         * modules/unictype/property-uppercase-tests: New file.
45245         * modules/unictype/property-variation-selector-tests: New file.
45246         * modules/unictype/property-white-space-tests: New file.
45247         * modules/unictype/property-xid-continue-tests: New file.
45248         * modules/unictype/property-xid-start-tests: New file.
45249         * modules/unictype/property-zero-width-tests: New file.
45250         * modules/unictype/scripts-tests: New file.
45251         * modules/unictype/syntax-c-ident-tests: New file.
45252         * modules/unictype/syntax-c-whitespace-tests: New file.
45253         * modules/unictype/syntax-java-ident-tests: New file.
45254         * modules/unictype/syntax-java-whitespace-tests: New file.
45255         * tests/unictype/test-bidi_byname.c: New file.
45256         * tests/unictype/test-bidi_name.c: New file.
45257         * tests/unictype/test-bidi_of.c: New file.
45258         * tests/unictype/test-bidi_test.c: New file.
45259         * tests/unictype/test-block_list.c: New file.
45260         * tests/unictype/test-block_of.c: New file.
45261         * tests/unictype/test-block_test.c: New file.
45262         * tests/unictype/test-categ_and.c: New file.
45263         * tests/unictype/test-categ_and_not.c: New file.
45264         * tests/unictype/test-categ_byname.c: New file.
45265         * tests/unictype/test-categ_name.c: New file.
45266         * tests/unictype/test-categ_none.c: New file.
45267         * tests/unictype/test-categ_of.c: New file.
45268         * tests/unictype/test-categ_or.c: New file.
45269         * tests/unictype/test-categ_test_withtable.c: New file.
45270         * tests/unictype/test-combining.c: New file.
45271         * tests/unictype/test-decdigit.c: New file.
45272         * tests/unictype/test-digit.c: New file.
45273         * tests/unictype/test-mirror.c: New file.
45274         * tests/unictype/test-numeric.c: New file.
45275         * tests/unictype/test-pr_byname.c: New file.
45276         * tests/unictype/test-pr_test.c: New file.
45277         * tests/unictype/test-predicate-part1.h: New file.
45278         * tests/unictype/test-predicate-part2.h: New file.
45279         * tests/unictype/test-scripts.c: New file.
45280         * tests/unictype/test-sy_c_ident.c: New file.
45281         * tests/unictype/test-sy_java_ident.c: New file.
45282
45283         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
45284         for Unicode 5.0.0.
45285         * tests/unictype/test-categ_Cc.c: Likewise.
45286         * tests/unictype/test-categ_Cf.c: Likewise.
45287         * tests/unictype/test-categ_Cn.c: Likewise.
45288         * tests/unictype/test-categ_Co.c: Likewise.
45289         * tests/unictype/test-categ_Cs.c: Likewise.
45290         * tests/unictype/test-categ_L.c: Likewise.
45291         * tests/unictype/test-categ_Ll.c: Likewise.
45292         * tests/unictype/test-categ_Lm.c: Likewise.
45293         * tests/unictype/test-categ_Lo.c: Likewise.
45294         * tests/unictype/test-categ_Lt.c: Likewise.
45295         * tests/unictype/test-categ_Lu.c: Likewise.
45296         * tests/unictype/test-categ_M.c: Likewise.
45297         * tests/unictype/test-categ_Mc.c: Likewise.
45298         * tests/unictype/test-categ_Me.c: Likewise.
45299         * tests/unictype/test-categ_Mn.c: Likewise.
45300         * tests/unictype/test-categ_N.c: Likewise.
45301         * tests/unictype/test-categ_Nd.c: Likewise.
45302         * tests/unictype/test-categ_Nl.c: Likewise.
45303         * tests/unictype/test-categ_No.c: Likewise.
45304         * tests/unictype/test-categ_P.c: Likewise.
45305         * tests/unictype/test-categ_Pc.c: Likewise.
45306         * tests/unictype/test-categ_Pd.c: Likewise.
45307         * tests/unictype/test-categ_Pe.c: Likewise.
45308         * tests/unictype/test-categ_Pf.c: Likewise.
45309         * tests/unictype/test-categ_Pi.c: Likewise.
45310         * tests/unictype/test-categ_Po.c: Likewise.
45311         * tests/unictype/test-categ_Ps.c: Likewise.
45312         * tests/unictype/test-categ_S.c: Likewise.
45313         * tests/unictype/test-categ_Sc.c: Likewise.
45314         * tests/unictype/test-categ_Sk.c: Likewise.
45315         * tests/unictype/test-categ_Sm.c: Likewise.
45316         * tests/unictype/test-categ_So.c: Likewise.
45317         * tests/unictype/test-categ_Z.c: Likewise.
45318         * tests/unictype/test-categ_Zl.c: Likewise.
45319         * tests/unictype/test-categ_Zp.c: Likewise.
45320         * tests/unictype/test-categ_Zs.c: Likewise.
45321         * tests/unictype/test-ctype_alnum.c: Likewise.
45322         * tests/unictype/test-ctype_alpha.c: Likewise.
45323         * tests/unictype/test-ctype_blank.c: Likewise.
45324         * tests/unictype/test-ctype_cntrl.c: Likewise.
45325         * tests/unictype/test-ctype_digit.c: Likewise.
45326         * tests/unictype/test-ctype_graph.c: Likewise.
45327         * tests/unictype/test-ctype_lower.c: Likewise.
45328         * tests/unictype/test-ctype_print.c: Likewise.
45329         * tests/unictype/test-ctype_punct.c: Likewise.
45330         * tests/unictype/test-ctype_space.c: Likewise.
45331         * tests/unictype/test-ctype_upper.c: Likewise.
45332         * tests/unictype/test-ctype_xdigit.c: Likewise.
45333         * tests/unictype/test-decdigit.h: Likewise.
45334         * tests/unictype/test-digit.h: Likewise.
45335         * tests/unictype/test-numeric.h: Likewise.
45336         * tests/unictype/test-pr_alphabetic.c: Likewise.
45337         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
45338         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
45339         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
45340         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
45341         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
45342         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
45343         * tests/unictype/test-pr_bidi_control.c: Likewise.
45344         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
45345         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
45346         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
45347         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
45348         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
45349         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
45350         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
45351         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
45352         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
45353         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
45354         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
45355         * tests/unictype/test-pr_combining.c: Likewise.
45356         * tests/unictype/test-pr_composite.c: Likewise.
45357         * tests/unictype/test-pr_currency_symbol.c: Likewise.
45358         * tests/unictype/test-pr_dash.c: Likewise.
45359         * tests/unictype/test-pr_decimal_digit.c: Likewise.
45360         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
45361         * tests/unictype/test-pr_deprecated.c: Likewise.
45362         * tests/unictype/test-pr_diacritic.c: Likewise.
45363         * tests/unictype/test-pr_extender.c: Likewise.
45364         * tests/unictype/test-pr_format_control.c: Likewise.
45365         * tests/unictype/test-pr_grapheme_base.c: Likewise.
45366         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
45367         * tests/unictype/test-pr_grapheme_link.c: Likewise.
45368         * tests/unictype/test-pr_hex_digit.c: Likewise.
45369         * tests/unictype/test-pr_hyphen.c: Likewise.
45370         * tests/unictype/test-pr_id_continue.c: Likewise.
45371         * tests/unictype/test-pr_id_start.c: Likewise.
45372         * tests/unictype/test-pr_ideographic.c: Likewise.
45373         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
45374         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
45375         * tests/unictype/test-pr_ignorable_control.c: Likewise.
45376         * tests/unictype/test-pr_iso_control.c: Likewise.
45377         * tests/unictype/test-pr_join_control.c: Likewise.
45378         * tests/unictype/test-pr_left_of_pair.c: Likewise.
45379         * tests/unictype/test-pr_line_separator.c: Likewise.
45380         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
45381         * tests/unictype/test-pr_lowercase.c: Likewise.
45382         * tests/unictype/test-pr_math.c: Likewise.
45383         * tests/unictype/test-pr_non_break.c: Likewise.
45384         * tests/unictype/test-pr_not_a_character.c: Likewise.
45385         * tests/unictype/test-pr_numeric.c: Likewise.
45386         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
45387         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
45388         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
45389         * tests/unictype/test-pr_other_id_continue.c: Likewise.
45390         * tests/unictype/test-pr_other_id_start.c: Likewise.
45391         * tests/unictype/test-pr_other_lowercase.c: Likewise.
45392         * tests/unictype/test-pr_other_math.c: Likewise.
45393         * tests/unictype/test-pr_other_uppercase.c: Likewise.
45394         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
45395         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
45396         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
45397         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
45398         * tests/unictype/test-pr_private_use.c: Likewise.
45399         * tests/unictype/test-pr_punctuation.c: Likewise.
45400         * tests/unictype/test-pr_quotation_mark.c: Likewise.
45401         * tests/unictype/test-pr_radical.c: Likewise.
45402         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
45403         * tests/unictype/test-pr_soft_dotted.c: Likewise.
45404         * tests/unictype/test-pr_space.c: Likewise.
45405         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
45406         * tests/unictype/test-pr_titlecase.c: Likewise.
45407         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
45408         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
45409         * tests/unictype/test-pr_uppercase.c: Likewise.
45410         * tests/unictype/test-pr_variation_selector.c: Likewise.
45411         * tests/unictype/test-pr_white_space.c: Likewise.
45412         * tests/unictype/test-pr_xid_continue.c: Likewise.
45413         * tests/unictype/test-pr_xid_start.c: Likewise.
45414         * tests/unictype/test-pr_zero_width.c: Likewise.
45415         * tests/unictype/test-sy_c_whitespace.c: Likewise.
45416         * tests/unictype/test-sy_java_whitespace.c: Likewise.
45417
45418 2007-11-12  Bruno Haible  <bruno@clisp.org>
45419
45420         Unicode character classification functions.
45421         * lib/unictype.h: New file.
45422         * modules/unictype/base: New file.
45423         * modules/unictype/category-L: New file.
45424         * modules/unictype/category-Lu: New file.
45425         * modules/unictype/category-Ll: New file.
45426         * modules/unictype/category-Lt: New file.
45427         * modules/unictype/category-Lm: New file.
45428         * modules/unictype/category-Lo: New file.
45429         * modules/unictype/category-M: New file.
45430         * modules/unictype/category-Mn: New file.
45431         * modules/unictype/category-Mc: New file.
45432         * modules/unictype/category-Me: New file.
45433         * modules/unictype/category-N: New file.
45434         * modules/unictype/category-Nd: New file.
45435         * modules/unictype/category-Nl: New file.
45436         * modules/unictype/category-No: New file.
45437         * modules/unictype/category-P: New file.
45438         * modules/unictype/category-Pc: New file.
45439         * modules/unictype/category-Pd: New file.
45440         * modules/unictype/category-Ps: New file.
45441         * modules/unictype/category-Pe: New file.
45442         * modules/unictype/category-Pi: New file.
45443         * modules/unictype/category-Pf: New file.
45444         * modules/unictype/category-Po: New file.
45445         * modules/unictype/category-S: New file.
45446         * modules/unictype/category-Sm: New file.
45447         * modules/unictype/category-Sc: New file.
45448         * modules/unictype/category-Sk: New file.
45449         * modules/unictype/category-So: New file.
45450         * modules/unictype/category-Z: New file.
45451         * modules/unictype/category-Zs: New file.
45452         * modules/unictype/category-Zl: New file.
45453         * modules/unictype/category-Zp: New file.
45454         * modules/unictype/category-C: New file.
45455         * modules/unictype/category-Cc: New file.
45456         * modules/unictype/category-Cf: New file.
45457         * modules/unictype/category-Cs: New file.
45458         * modules/unictype/category-Co: New file.
45459         * modules/unictype/category-Cn: New file.
45460         * modules/unictype/category-or: New file.
45461         * modules/unictype/category-of: New file.
45462         * modules/unictype/category-test: New file.
45463         * modules/unictype/category-test-withtable: New file.
45464         * modules/unictype/category-byname: New file.
45465         * modules/unictype/category-none: New file.
45466         * modules/unictype/category-and: New file.
45467         * modules/unictype/category-and-not: New file.
45468         * modules/unictype/category-name: New file.
45469         * modules/unictype/combining-class: New file.
45470         * modules/unictype/category-all: New file.
45471         * modules/unictype/bidicategory-all: New file.
45472         * modules/unictype/bidicategory-byname: New file.
45473         * modules/unictype/bidicategory-name: New file.
45474         * modules/unictype/bidicategory-of: New file.
45475         * modules/unictype/bidicategory-test: New file.
45476         * modules/unictype/decimal-digit: New file.
45477         * modules/unictype/digit: New file.
45478         * modules/unictype/numeric: New file.
45479         * modules/unictype/mirror: New file.
45480         * modules/unictype/property-white-space: New file.
45481         * modules/unictype/property-alphabetic: New file.
45482         * modules/unictype/property-other-alphabetic: New file.
45483         * modules/unictype/property-not-a-character: New file.
45484         * modules/unictype/property-default-ignorable-code-point: New file.
45485         * modules/unictype/property-other-default-ignorable-code-point: New
45486         file.
45487         * modules/unictype/property-deprecated: New file.
45488         * modules/unictype/property-logical-order-exception: New file.
45489         * modules/unictype/property-variation-selector: New file.
45490         * modules/unictype/property-private-use: New file.
45491         * modules/unictype/property-unassigned-code-value: New file.
45492         * modules/unictype/property-uppercase: New file.
45493         * modules/unictype/property-other-uppercase: New file.
45494         * modules/unictype/property-lowercase: New file.
45495         * modules/unictype/property-other-lowercase: New file.
45496         * modules/unictype/property-titlecase: New file.
45497         * modules/unictype/property-soft-dotted: New file.
45498         * modules/unictype/property-id-start: New file.
45499         * modules/unictype/property-other-id-start: New file.
45500         * modules/unictype/property-id-continue: New file.
45501         * modules/unictype/property-other-id-continue: New file.
45502         * modules/unictype/property-xid-start: New file.
45503         * modules/unictype/property-xid-continue: New file.
45504         * modules/unictype/property-pattern-white-space: New file.
45505         * modules/unictype/property-pattern-syntax: New file.
45506         * modules/unictype/property-join-control: New file.
45507         * modules/unictype/property-grapheme-base: New file.
45508         * modules/unictype/property-grapheme-extend: New file.
45509         * modules/unictype/property-other-grapheme-extend: New file.
45510         * modules/unictype/property-grapheme-link: New file.
45511         * modules/unictype/property-bidi-control: New file.
45512         * modules/unictype/property-bidi-left-to-right: New file.
45513         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
45514         * modules/unictype/property-bidi-arabic-right-to-left: New file.
45515         * modules/unictype/property-bidi-european-digit: New file.
45516         * modules/unictype/property-bidi-eur-num-separator: New file.
45517         * modules/unictype/property-bidi-eur-num-terminator: New file.
45518         * modules/unictype/property-bidi-arabic-digit: New file.
45519         * modules/unictype/property-bidi-common-separator: New file.
45520         * modules/unictype/property-bidi-block-separator: New file.
45521         * modules/unictype/property-bidi-segment-separator: New file.
45522         * modules/unictype/property-bidi-whitespace: New file.
45523         * modules/unictype/property-bidi-non-spacing-mark: New file.
45524         * modules/unictype/property-bidi-boundary-neutral: New file.
45525         * modules/unictype/property-bidi-pdf: New file.
45526         * modules/unictype/property-bidi-embedding-or-override: New file.
45527         * modules/unictype/property-bidi-other-neutral: New file.
45528         * modules/unictype/property-hex-digit: New file.
45529         * modules/unictype/property-ascii-hex-digit: New file.
45530         * modules/unictype/property-ideographic: New file.
45531         * modules/unictype/property-unified-ideograph: New file.
45532         * modules/unictype/property-radical: New file.
45533         * modules/unictype/property-ids-binary-operator: New file.
45534         * modules/unictype/property-ids-trinary-operator: New file.
45535         * modules/unictype/property-zero-width: New file.
45536         * modules/unictype/property-space: New file.
45537         * modules/unictype/property-non-break: New file.
45538         * modules/unictype/property-iso-control: New file.
45539         * modules/unictype/property-format-control: New file.
45540         * modules/unictype/property-dash: New file.
45541         * modules/unictype/property-hyphen: New file.
45542         * modules/unictype/property-punctuation: New file.
45543         * modules/unictype/property-line-separator: New file.
45544         * modules/unictype/property-paragraph-separator: New file.
45545         * modules/unictype/property-quotation-mark: New file.
45546         * modules/unictype/property-sentence-terminal: New file.
45547         * modules/unictype/property-terminal-punctuation: New file.
45548         * modules/unictype/property-currency-symbol: New file.
45549         * modules/unictype/property-math: New file.
45550         * modules/unictype/property-other-math: New file.
45551         * modules/unictype/property-paired-punctuation: New file.
45552         * modules/unictype/property-left-of-pair: New file.
45553         * modules/unictype/property-combining: New file.
45554         * modules/unictype/property-composite: New file.
45555         * modules/unictype/property-decimal-digit: New file.
45556         * modules/unictype/property-numeric: New file.
45557         * modules/unictype/property-diacritic: New file.
45558         * modules/unictype/property-extender: New file.
45559         * modules/unictype/property-ignorable-control: New file.
45560         * modules/unictype/property-test: New file.
45561         * modules/unictype/property-byname: New file.
45562         * modules/unictype/property-all: New file.
45563         * modules/unictype/scripts: New file.
45564         * modules/unictype/scripts-all: New file.
45565         * modules/unictype/block-of: New file.
45566         * modules/unictype/block-test: New file.
45567         * modules/unictype/block-list: New file.
45568         * modules/unictype/block-all: New file.
45569         * modules/unictype/syntax-c-whitespace: New file.
45570         * modules/unictype/syntax-java-whitespace: New file.
45571         * modules/unictype/syntax-c-ident: New file.
45572         * modules/unictype/syntax-java-ident: New file.
45573         * modules/unictype/ctype-alnum: New file.
45574         * modules/unictype/ctype-alpha: New file.
45575         * modules/unictype/ctype-cntrl: New file.
45576         * modules/unictype/ctype-digit: New file.
45577         * modules/unictype/ctype-graph: New file.
45578         * modules/unictype/ctype-lower: New file.
45579         * modules/unictype/ctype-print: New file.
45580         * modules/unictype/ctype-punct: New file.
45581         * modules/unictype/ctype-space: New file.
45582         * modules/unictype/ctype-upper: New file.
45583         * modules/unictype/ctype-xdigit: New file.
45584         * modules/unictype/ctype-blank: New file.
45585         * lib/unictype/bidi_byname.c: New file.
45586         * lib/unictype/bidi_name.c: New file.
45587         * lib/unictype/bidi_of.c: New file.
45588         * lib/unictype/bidi_test.c: New file.
45589         * lib/unictype/bitmap.h: New file.
45590         * lib/unictype/block_test.c: New file.
45591         * lib/unictype/blocks.c: New file.
45592         * lib/unictype/categ_C.c: New file.
45593         * lib/unictype/categ_Cc.c: New file.
45594         * lib/unictype/categ_Cf.c: New file.
45595         * lib/unictype/categ_Cn.c: New file.
45596         * lib/unictype/categ_Co.c: New file.
45597         * lib/unictype/categ_Cs.c: New file.
45598         * lib/unictype/categ_L.c: New file.
45599         * lib/unictype/categ_Ll.c: New file.
45600         * lib/unictype/categ_Lm.c: New file.
45601         * lib/unictype/categ_Lo.c: New file.
45602         * lib/unictype/categ_Lt.c: New file.
45603         * lib/unictype/categ_Lu.c: New file.
45604         * lib/unictype/categ_M.c: New file.
45605         * lib/unictype/categ_Mc.c: New file.
45606         * lib/unictype/categ_Me.c: New file.
45607         * lib/unictype/categ_Mn.c: New file.
45608         * lib/unictype/categ_N.c: New file.
45609         * lib/unictype/categ_Nd.c: New file.
45610         * lib/unictype/categ_Nl.c: New file.
45611         * lib/unictype/categ_No.c: New file.
45612         * lib/unictype/categ_P.c: New file.
45613         * lib/unictype/categ_Pc.c: New file.
45614         * lib/unictype/categ_Pd.c: New file.
45615         * lib/unictype/categ_Pe.c: New file.
45616         * lib/unictype/categ_Pf.c: New file.
45617         * lib/unictype/categ_Pi.c: New file.
45618         * lib/unictype/categ_Po.c: New file.
45619         * lib/unictype/categ_Ps.c: New file.
45620         * lib/unictype/categ_S.c: New file.
45621         * lib/unictype/categ_Sc.c: New file.
45622         * lib/unictype/categ_Sk.c: New file.
45623         * lib/unictype/categ_Sm.c: New file.
45624         * lib/unictype/categ_So.c: New file.
45625         * lib/unictype/categ_Z.c: New file.
45626         * lib/unictype/categ_Zl.c: New file.
45627         * lib/unictype/categ_Zp.c: New file.
45628         * lib/unictype/categ_Zs.c: New file.
45629         * lib/unictype/categ_and.c: New file.
45630         * lib/unictype/categ_and_not.c: New file.
45631         * lib/unictype/categ_byname.c: New file.
45632         * lib/unictype/categ_name.c: New file.
45633         * lib/unictype/categ_none.c: New file.
45634         * lib/unictype/categ_of.c: New file.
45635         * lib/unictype/categ_or.c: New file.
45636         * lib/unictype/categ_test.c: New file.
45637         * lib/unictype/combining.c: New file.
45638         * lib/unictype/ctype_alnum.c: New file.
45639         * lib/unictype/ctype_alpha.c: New file.
45640         * lib/unictype/ctype_blank.c: New file.
45641         * lib/unictype/ctype_cntrl.c: New file.
45642         * lib/unictype/ctype_digit.c: New file.
45643         * lib/unictype/ctype_graph.c: New file.
45644         * lib/unictype/ctype_lower.c: New file.
45645         * lib/unictype/ctype_print.c: New file.
45646         * lib/unictype/ctype_punct.c: New file.
45647         * lib/unictype/ctype_space.c: New file.
45648         * lib/unictype/ctype_upper.c: New file.
45649         * lib/unictype/ctype_xdigit.c: New file.
45650         * lib/unictype/decdigit.c: New file.
45651         * lib/unictype/digit.c: New file.
45652         * lib/unictype/identsyntaxmap.h: New file.
45653         * lib/unictype/mirror.c: New file.
45654         * lib/unictype/numeric.c: New file.
45655         * lib/unictype/pr_alphabetic.c: New file.
45656         * lib/unictype/pr_ascii_hex_digit.c: New file.
45657         * lib/unictype/pr_bidi_arabic_digit.c: New file.
45658         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
45659         * lib/unictype/pr_bidi_block_separator.c: New file.
45660         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
45661         * lib/unictype/pr_bidi_common_separator.c: New file.
45662         * lib/unictype/pr_bidi_control.c: New file.
45663         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
45664         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
45665         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
45666         * lib/unictype/pr_bidi_european_digit.c: New file.
45667         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
45668         * lib/unictype/pr_bidi_left_to_right.c: New file.
45669         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
45670         * lib/unictype/pr_bidi_other_neutral.c: New file.
45671         * lib/unictype/pr_bidi_pdf.c: New file.
45672         * lib/unictype/pr_bidi_segment_separator.c: New file.
45673         * lib/unictype/pr_bidi_whitespace.c: New file.
45674         * lib/unictype/pr_byname.c: New file.
45675         * lib/unictype/pr_byname.gperf: New file.
45676         * lib/unictype/pr_combining.c: New file.
45677         * lib/unictype/pr_composite.c: New file.
45678         * lib/unictype/pr_currency_symbol.c: New file.
45679         * lib/unictype/pr_dash.c: New file.
45680         * lib/unictype/pr_decimal_digit.c: New file.
45681         * lib/unictype/pr_default_ignorable_code_point.c: New file.
45682         * lib/unictype/pr_deprecated.c: New file.
45683         * lib/unictype/pr_diacritic.c: New file.
45684         * lib/unictype/pr_extender.c: New file.
45685         * lib/unictype/pr_format_control.c: New file.
45686         * lib/unictype/pr_grapheme_base.c: New file.
45687         * lib/unictype/pr_grapheme_extend.c: New file.
45688         * lib/unictype/pr_grapheme_link.c: New file.
45689         * lib/unictype/pr_hex_digit.c: New file.
45690         * lib/unictype/pr_hyphen.c: New file.
45691         * lib/unictype/pr_id_continue.c: New file.
45692         * lib/unictype/pr_id_start.c: New file.
45693         * lib/unictype/pr_ideographic.c: New file.
45694         * lib/unictype/pr_ids_binary_operator.c: New file.
45695         * lib/unictype/pr_ids_trinary_operator.c: New file.
45696         * lib/unictype/pr_ignorable_control.c: New file.
45697         * lib/unictype/pr_iso_control.c: New file.
45698         * lib/unictype/pr_join_control.c: New file.
45699         * lib/unictype/pr_left_of_pair.c: New file.
45700         * lib/unictype/pr_line_separator.c: New file.
45701         * lib/unictype/pr_logical_order_exception.c: New file.
45702         * lib/unictype/pr_lowercase.c: New file.
45703         * lib/unictype/pr_math.c: New file.
45704         * lib/unictype/pr_non_break.c: New file.
45705         * lib/unictype/pr_not_a_character.c: New file.
45706         * lib/unictype/pr_numeric.c: New file.
45707         * lib/unictype/pr_other_alphabetic.c: New file.
45708         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
45709         * lib/unictype/pr_other_grapheme_extend.c: New file.
45710         * lib/unictype/pr_other_id_continue.c: New file.
45711         * lib/unictype/pr_other_id_start.c: New file.
45712         * lib/unictype/pr_other_lowercase.c: New file.
45713         * lib/unictype/pr_other_math.c: New file.
45714         * lib/unictype/pr_other_uppercase.c: New file.
45715         * lib/unictype/pr_paired_punctuation.c: New file.
45716         * lib/unictype/pr_paragraph_separator.c: New file.
45717         * lib/unictype/pr_pattern_syntax.c: New file.
45718         * lib/unictype/pr_pattern_white_space.c: New file.
45719         * lib/unictype/pr_private_use.c: New file.
45720         * lib/unictype/pr_punctuation.c: New file.
45721         * lib/unictype/pr_quotation_mark.c: New file.
45722         * lib/unictype/pr_radical.c: New file.
45723         * lib/unictype/pr_sentence_terminal.c: New file.
45724         * lib/unictype/pr_soft_dotted.c: New file.
45725         * lib/unictype/pr_space.c: New file.
45726         * lib/unictype/pr_terminal_punctuation.c: New file.
45727         * lib/unictype/pr_test.c: New file.
45728         * lib/unictype/pr_titlecase.c: New file.
45729         * lib/unictype/pr_unassigned_code_value.c: New file.
45730         * lib/unictype/pr_unified_ideograph.c: New file.
45731         * lib/unictype/pr_uppercase.c: New file.
45732         * lib/unictype/pr_variation_selector.c: New file.
45733         * lib/unictype/pr_white_space.c: New file.
45734         * lib/unictype/pr_xid_continue.c: New file.
45735         * lib/unictype/pr_xid_start.c: New file.
45736         * lib/unictype/pr_zero_width.c: New file.
45737         * lib/unictype/scripts.c: New file.
45738         * lib/unictype/sy_c_ident.c: New file.
45739         * lib/unictype/sy_c_whitespace.c: New file.
45740         * lib/unictype/sy_java_ident.c: New file.
45741         * lib/unictype/sy_java_whitespace.c: New file.
45742
45743         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
45744         Unicode 5.0.0.
45745         * lib/unictype/blocks.h: Likewise.
45746         * lib/unictype/categ_C.h: Likewise.
45747         * lib/unictype/categ_Cc.h: Likewise.
45748         * lib/unictype/categ_Cf.h: Likewise.
45749         * lib/unictype/categ_Cn.h: Likewise.
45750         * lib/unictype/categ_Co.h: Likewise.
45751         * lib/unictype/categ_Cs.h: Likewise.
45752         * lib/unictype/categ_L.h: Likewise.
45753         * lib/unictype/categ_Ll.h: Likewise.
45754         * lib/unictype/categ_Lm.h: Likewise.
45755         * lib/unictype/categ_Lo.h: Likewise.
45756         * lib/unictype/categ_Lt.h: Likewise.
45757         * lib/unictype/categ_Lu.h: Likewise.
45758         * lib/unictype/categ_M.h: Likewise.
45759         * lib/unictype/categ_Mc.h: Likewise.
45760         * lib/unictype/categ_Me.h: Likewise.
45761         * lib/unictype/categ_Mn.h: Likewise.
45762         * lib/unictype/categ_N.h: Likewise.
45763         * lib/unictype/categ_Nd.h: Likewise.
45764         * lib/unictype/categ_Nl.h: Likewise.
45765         * lib/unictype/categ_No.h: Likewise.
45766         * lib/unictype/categ_P.h: Likewise.
45767         * lib/unictype/categ_Pc.h: Likewise.
45768         * lib/unictype/categ_Pd.h: Likewise.
45769         * lib/unictype/categ_Pe.h: Likewise.
45770         * lib/unictype/categ_Pf.h: Likewise.
45771         * lib/unictype/categ_Pi.h: Likewise.
45772         * lib/unictype/categ_Po.h: Likewise.
45773         * lib/unictype/categ_Ps.h: Likewise.
45774         * lib/unictype/categ_S.h: Likewise.
45775         * lib/unictype/categ_Sc.h: Likewise.
45776         * lib/unictype/categ_Sk.h: Likewise.
45777         * lib/unictype/categ_Sm.h: Likewise.
45778         * lib/unictype/categ_So.h: Likewise.
45779         * lib/unictype/categ_Z.h: Likewise.
45780         * lib/unictype/categ_Zl.h: Likewise.
45781         * lib/unictype/categ_Zp.h: Likewise.
45782         * lib/unictype/categ_Zs.h: Likewise.
45783         * lib/unictype/categ_of.h: Likewise.
45784         * lib/unictype/combining.h: Likewise.
45785         * lib/unictype/ctype_alnum.h: Likewise.
45786         * lib/unictype/ctype_alpha.h: Likewise.
45787         * lib/unictype/ctype_blank.h: Likewise.
45788         * lib/unictype/ctype_cntrl.h: Likewise.
45789         * lib/unictype/ctype_digit.h: Likewise.
45790         * lib/unictype/ctype_graph.h: Likewise.
45791         * lib/unictype/ctype_lower.h: Likewise.
45792         * lib/unictype/ctype_print.h: Likewise.
45793         * lib/unictype/ctype_punct.h: Likewise.
45794         * lib/unictype/ctype_space.h: Likewise.
45795         * lib/unictype/ctype_upper.h: Likewise.
45796         * lib/unictype/ctype_xdigit.h: Likewise.
45797         * lib/unictype/decdigit.h: Likewise.
45798         * lib/unictype/digit.h: Likewise.
45799         * lib/unictype/mirror.h: Likewise.
45800         * lib/unictype/numeric.h: Likewise.
45801         * lib/unictype/pr_alphabetic.h: Likewise.
45802         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
45803         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
45804         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
45805         * lib/unictype/pr_bidi_block_separator.h: Likewise.
45806         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
45807         * lib/unictype/pr_bidi_common_separator.h: Likewise.
45808         * lib/unictype/pr_bidi_control.h: Likewise.
45809         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
45810         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
45811         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
45812         * lib/unictype/pr_bidi_european_digit.h: Likewise.
45813         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
45814         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
45815         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
45816         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
45817         * lib/unictype/pr_bidi_pdf.h: Likewise.
45818         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
45819         * lib/unictype/pr_bidi_whitespace.h: Likewise.
45820         * lib/unictype/pr_combining.h: Likewise.
45821         * lib/unictype/pr_composite.h: Likewise.
45822         * lib/unictype/pr_currency_symbol.h: Likewise.
45823         * lib/unictype/pr_dash.h: Likewise.
45824         * lib/unictype/pr_decimal_digit.h: Likewise.
45825         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
45826         * lib/unictype/pr_deprecated.h: Likewise.
45827         * lib/unictype/pr_diacritic.h: Likewise.
45828         * lib/unictype/pr_extender.h: Likewise.
45829         * lib/unictype/pr_format_control.h: Likewise.
45830         * lib/unictype/pr_grapheme_base.h: Likewise.
45831         * lib/unictype/pr_grapheme_extend.h: Likewise.
45832         * lib/unictype/pr_grapheme_link.h: Likewise.
45833         * lib/unictype/pr_hex_digit.h: Likewise.
45834         * lib/unictype/pr_hyphen.h: Likewise.
45835         * lib/unictype/pr_id_continue.h: Likewise.
45836         * lib/unictype/pr_id_start.h: Likewise.
45837         * lib/unictype/pr_ideographic.h: Likewise.
45838         * lib/unictype/pr_ids_binary_operator.h: Likewise.
45839         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
45840         * lib/unictype/pr_ignorable_control.h: Likewise.
45841         * lib/unictype/pr_iso_control.h: Likewise.
45842         * lib/unictype/pr_join_control.h: Likewise.
45843         * lib/unictype/pr_left_of_pair.h: Likewise.
45844         * lib/unictype/pr_line_separator.h: Likewise.
45845         * lib/unictype/pr_logical_order_exception.h: Likewise.
45846         * lib/unictype/pr_lowercase.h: Likewise.
45847         * lib/unictype/pr_math.h: Likewise.
45848         * lib/unictype/pr_non_break.h: Likewise.
45849         * lib/unictype/pr_not_a_character.h: Likewise.
45850         * lib/unictype/pr_numeric.h: Likewise.
45851         * lib/unictype/pr_other_alphabetic.h: Likewise.
45852         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
45853         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
45854         * lib/unictype/pr_other_id_continue.h: Likewise.
45855         * lib/unictype/pr_other_id_start.h: Likewise.
45856         * lib/unictype/pr_other_lowercase.h: Likewise.
45857         * lib/unictype/pr_other_math.h: Likewise.
45858         * lib/unictype/pr_other_uppercase.h: Likewise.
45859         * lib/unictype/pr_paired_punctuation.h: Likewise.
45860         * lib/unictype/pr_paragraph_separator.h: Likewise.
45861         * lib/unictype/pr_pattern_syntax.h: Likewise.
45862         * lib/unictype/pr_pattern_white_space.h: Likewise.
45863         * lib/unictype/pr_private_use.h: Likewise.
45864         * lib/unictype/pr_punctuation.h: Likewise.
45865         * lib/unictype/pr_quotation_mark.h: Likewise.
45866         * lib/unictype/pr_radical.h: Likewise.
45867         * lib/unictype/pr_sentence_terminal.h: Likewise.
45868         * lib/unictype/pr_soft_dotted.h: Likewise.
45869         * lib/unictype/pr_space.h: Likewise.
45870         * lib/unictype/pr_terminal_punctuation.h: Likewise.
45871         * lib/unictype/pr_titlecase.h: Likewise.
45872         * lib/unictype/pr_unassigned_code_value.h: Likewise.
45873         * lib/unictype/pr_unified_ideograph.h: Likewise.
45874         * lib/unictype/pr_uppercase.h: Likewise.
45875         * lib/unictype/pr_variation_selector.h: Likewise.
45876         * lib/unictype/pr_white_space.h: Likewise.
45877         * lib/unictype/pr_xid_continue.h: Likewise.
45878         * lib/unictype/pr_xid_start.h: Likewise.
45879         * lib/unictype/pr_zero_width.h: Likewise.
45880         * lib/unictype/scripts.h: Likewise.
45881         * lib/unictype/scripts_byname.gperf: Likewise.
45882         * lib/unictype/sy_c_ident.h: Likewise.
45883         * lib/unictype/sy_c_whitespace.h: Likewise.
45884         * lib/unictype/sy_java_ident.h: Likewise.
45885         * lib/unictype/sy_java_whitespace.h: Likewise.
45886
45887         * lib/unictype/Makefile: New file.
45888         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
45889         glibc.
45890         * lib/unictype/3level.h: New file, copied from glibc.
45891         * lib/unictype/3levelbit.h: New file.
45892
45893 2007-11-11  Bruno Haible  <bruno@clisp.org>
45894
45895         * modules/gperf: New file.
45896         * modules/iconv_open (Depends-on): Add it.
45897         (Makefile.am): Remove the GPERF definition.
45898
45899 2007-11-11  Bruno Haible  <bruno@clisp.org>
45900
45901         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
45902         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
45903
45904 2007-11-11  Bruno Haible  <bruno@clisp.org>
45905
45906         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
45907         (usage): Remove function.
45908
45909 2007-11-11  Bruno Haible  <bruno@clisp.org>
45910
45911         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
45912         gl_FUNC_CEILF_LIBS.
45913         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
45914         gl_FUNC_CEIL_LIBS.
45915         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
45916         gl_FUNC_CEILL_LIBS.
45917         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
45918         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
45919         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
45920
45921 2007-11-11  Bruno Haible  <bruno@clisp.org>
45922
45923         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
45924         roundf were declared but do not exist on functions.
45925         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
45926         roundl were declared but do not exist on functions.
45927         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
45928         HAVE_FLOORL_AND_CEILL, respectively.
45929         Needed for Sun C on Solaris 10.
45930
45931 2007-11-11  Bruno Haible  <bruno@clisp.org>
45932
45933         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
45934         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
45935         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
45936         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
45937         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
45938         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
45939         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
45940         HAVE_DECL_ROUNDF.
45941         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
45942         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
45943         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
45944         of HAVE_DECL_ROUND*.
45945         * modules/math (Makefile.am): Update.
45946
45947 2007-11-10  Bruno Haible  <bruno@clisp.org>
45948
45949         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
45950         ptrdiff_t as m4/intl.m4.
45951
45952 2007-11-10  Jim Meyering  <meyering@redhat.com>
45953
45954         Avoid link failure for the argmatch test.
45955         * tests/test-argmatch.c (usage): Define function to avoid a link
45956         failure: argmatch_die requires a usage function.
45957
45958 2007-11-09  Bruno Haible  <bruno@clisp.org>
45959
45960         * doc/functions/snprintf.texi: Mention BeOS deficiency.
45961         * doc/functions/vsnprintf.texi: Likewise.
45962         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
45963         with a size argument < 2.
45964
45965 2007-11-09  Bruno Haible  <bruno@clisp.org>
45966
45967         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
45968         buffer. Fixes an inefficiency introduced on 2007-11-03.
45969
45970 2007-11-09  Bruno Haible  <bruno@clisp.org>
45971
45972         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
45973         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
45974
45975 2007-11-08  Jim Meyering  <meyering@redhat.com>
45976
45977         Change cache variable name prefix "jm_" to "gl_" everywhere.
45978         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
45979         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
45980         * m4/uptime.m4: s/gl_/jm_/
45981
45982 2007-11-07  Bruno Haible  <bruno@clisp.org>
45983
45984         Update to GNU gettext 0.17.
45985         * m4/intl.m4: Update to GNU gettext 0.17.
45986         * m4/po.m4: Likewise.
45987         * modules/gettext (Files): Remove m4/ulonglong.m4.
45988         (configure.ac): Require gettext infrastructure from version 0.17.
45989
45990 2007-11-06  Bruno Haible  <bruno@clisp.org>
45991
45992         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
45993         symbolic values are not defined in a public header.
45994         * lib/freadable.c (freadable) [QNX]: Likewise.
45995         * lib/freadahead.c (freadahead) [QNX]: Likewise.
45996         * lib/freading.c (freading) [QNX]: Likewise.
45997         * lib/fseterr.c (fseterr) [QNX]: Likewise.
45998         * lib/fwritable.c (fwritable) [QNX]: Likewise.
45999         * lib/fwriting.c (fwriting) [QNX]: Likewise.
46000         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
46001         Reported by Alain Magloire.
46002
46003         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
46004
46005 2007-11-05  Bruno Haible  <bruno@clisp.org>
46006
46007         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
46008         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
46009         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
46010         Reported by Eric Blake.
46011
46012 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46013             Bruno Haible  <bruno@clisp.org>
46014
46015         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
46016         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
46017         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
46018         (malloc): Undefine also before including <stdlib.h>.
46019         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
46020         Needed on OSF/1 4.0.
46021
46022 2007-11-05  Jim Meyering  <meyering@redhat.com>
46023
46024         git-version-gen: sync from coreutils.
46025         * build-aux/git-version-gen: Add comments.
46026         Change the first '-' to '.' in the snapshot version string,
46027         e.g., 6.9-377-08144 -> 6.9.377-08144
46028         Remove first parameter.
46029         Don't declare a version "-dirty" merely because a time
46030         stamp has changed.
46031
46032 2007-11-04  Bruno Haible  <bruno@clisp.org>
46033
46034         * lib/lock.h: Protect all macro definitions containing an 'if'
46035         statement through a "do { ... } while (0)".
46036         * lib/tls.h: Likewise.
46037
46038 2007-11-04  Bruno Haible  <bruno@clisp.org>
46039
46040         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
46041
46042 2007-11-04  Bruno Haible  <bruno@clisp.org>
46043
46044         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
46045         * modules/fprintf-posix (Depends-on): Add nocrash.
46046         * modules/snprintf-posix (Depends-on): Likewise.
46047         * modules/sprintf-posix (Depends-on): Likewise.
46048         * modules/vasnprintf-posix (Depends-on): Likewise.
46049         * modules/vasprintf-posix (Depends-on): Likewise.
46050         * modules/vfprintf-posix (Depends-on): Likewise.
46051         * modules/vsnprintf-posix (Depends-on): Likewise.
46052         * modules/vsprintf-posix (Depends-on): Likewise.
46053         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
46054         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
46055         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
46056         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
46057         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
46058         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
46059         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
46060
46061 2007-11-04  Bruno Haible  <bruno@clisp.org>
46062
46063         * modules/nocrash: New file.
46064         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
46065         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
46066
46067 2007-11-04  Bruno Haible  <bruno@clisp.org>
46068
46069         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
46070         precision handling.
46071         * tests/test-vasprintf-posix.c (test_function): Likewise.
46072         * tests/test-snprintf-posix.h (test_function): Likewise.
46073         * tests/test-sprintf-posix.h (test_function): Likewise.
46074
46075         Fix *printf behaviour for large precisions on mingw and BeOS.
46076         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
46077         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
46078         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
46079         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
46080         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
46081         gl_PRINTF_PRECISION and test its result. Invoke
46082         gl_PREREQ_VASNPRINTF_PRECISION.
46083         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
46084         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
46085         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
46086         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
46087         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
46088         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
46089         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
46090         * doc/functions/fprintf.texi: Update.
46091         * doc/functions/printf.texi: Update.
46092         * doc/functions/snprintf.texi: Update.
46093         * doc/functions/sprintf.texi: Update.
46094         * doc/functions/vfprintf.texi: Update.
46095         * doc/functions/vprintf.texi: Update.
46096         * doc/functions/vsnprintf.texi: Update.
46097         * doc/functions/vsprintf.texi: Update.
46098
46099 2007-11-04  Bruno Haible  <bruno@clisp.org>
46100
46101         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
46102
46103 2007-11-04  Bruno Haible  <bruno@clisp.org>
46104
46105         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
46106         Reported by Sylvain Beucler <beuc@gnu.org>.
46107
46108 2007-11-03  Bruno Haible  <bruno@clisp.org>
46109
46110         * tests/test-fprintf-posix2.sh: New file.
46111         * tests/test-fprintf-posix2.c: New file.
46112         * modules/fprintf-posix-tests (Files): Add them.
46113         (TESTS): Add test-fprintf-posix2.sh.
46114         (configure.ac): Check for getrlimit and setrlimit.
46115         (check_PROGRAMS): Add test-fprintf-posix2.
46116
46117         * tests/test-printf-posix2.sh: New file.
46118         * tests/test-printf-posix2.c: New file.
46119         * modules/printf-posix-tests (Files): Add them.
46120         (TESTS): Add test-printf-posix2.sh.
46121         (configure.ac): Check for getrlimit and setrlimit.
46122         (check_PROGRAMS): Add test-printf-posix2.
46123
46124         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
46125         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
46126         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
46127         (decode_double): New function, copied from decode_long_double.
46128         (scale10_round_decimal_decoded): New function, extracted from
46129         scale10_round_decimal_long_double.
46130         (scale10_round_decimal_long_double): Use it.
46131         (scale10_round_decimal_double): New function.
46132         (floorlog10): New function.
46133         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
46134         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
46135         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
46136         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
46137         gl_PRINTF_ENOMEM and test its result. Invoke
46138         gl_PREREQ_VASNPRINTF_ENOMEM.
46139         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
46140         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
46141         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
46142         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
46143         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
46144         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
46145         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
46146         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
46147         * modules/snprintf-posix (Depends-on): Likewise.
46148         * modules/sprintf-posix (Depends-on): Likewise.
46149         * modules/vasnprintf-posix (Depends-on): Likewise.
46150         * modules/vasprintf-posix (Depends-on): Likewise.
46151         * modules/vfprintf-posix (Depends-on): Likewise.
46152         * modules/vsnprintf-posix (Depends-on): Likewise.
46153         * modules/vsprintf-posix (Depends-on): Likewise.
46154         * doc/functions/fprintf.texi: Update.
46155         * doc/functions/printf.texi: Update.
46156         * doc/functions/snprintf.texi: Update.
46157         * doc/functions/sprintf.texi: Update.
46158         * doc/functions/vfprintf.texi: Update.
46159         * doc/functions/vprintf.texi: Update.
46160         * doc/functions/vsnprintf.texi: Update.
46161         * doc/functions/vsprintf.texi: Update.
46162
46163 2007-11-03  Bruno Haible  <bruno@clisp.org>
46164
46165         * modules/frexp-nolibm-tests: New file.
46166
46167         * modules/frexp-nolibm: New file.
46168         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
46169
46170 2007-11-03  Bruno Haible  <bruno@clisp.org>
46171
46172         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
46173         value is C99 compliant.
46174         Needed for OSF/1 5.1.
46175
46176 2007-11-03  Bruno Haible  <bruno@clisp.org>
46177
46178         Fix out-of-memory handling of vasnprintf.
46179         * lib/printf-parse.c: Include <errno.h>.
46180         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
46181         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
46182         is already set.
46183
46184 2007-11-02  Eric Blake  <ebb9@byu.net>
46185
46186         Fix tests on cygwin.
46187         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
46188
46189 2007-11-01  Bruno Haible  <bruno@clisp.org>
46190
46191         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
46192         warning.
46193         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
46194         needed for POSIX compatibility.
46195
46196 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
46197
46198         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
46199         for compatibility with GNU.
46200
46201 2007-11-01  Bruno Haible  <bruno@clisp.org>
46202
46203         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
46204         (putenv): Renamed from rpl_putenv. Change argument type from
46205         'const char *' to 'char *'.
46206         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
46207         of defining putenv in config.h, just set REPLACE_PUTENV.
46208         * modules/putenv (Depends-on): Add stdlib.
46209         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
46210         (Include): Use <stdlib.h>.
46211         * lib/stdlib.in.h (putenv): New declaration.
46212         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
46213         REPLACE_PUTENV.
46214         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
46215         REPLACE_PUTENV.
46216         Needed for MacOS X 10.5.0.
46217         Reported by Peter O'Gorman <peter@pogma.com>.
46218
46219 2007-11-01  Jim Meyering  <meyering@redhat.com>
46220
46221         Treat an empty date string exactly like "0".
46222         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
46223         if the remaining date string (to be parsed) is empty, use "0".
46224         Reported by Mischa Molhoek and discussed in this thread:
46225         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
46226
46227 2007-10-31  Bruno Haible  <bruno@clisp.org>
46228
46229         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
46230         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
46231         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
46232         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
46233         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
46234         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
46235
46236 2007-10-31  Bruno Haible  <bruno@clisp.org>
46237
46238         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
46239         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
46240         (AC_TYPE_LONG_LONG_INT): Use it.
46241         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
46242         it as well.
46243         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
46244         to m4/longlong.m4.
46245         * modules/stdint (Files): Remove m4/ulonglong.m4.
46246         * modules/strtoull (Files): Use m4/longlong.m4 instead of
46247         m4/ulonglong.m4.
46248         * modules/strtoumax (Files): Likewise.
46249
46250 2007-10-30  Bruno Haible  <bruno@clisp.org>
46251
46252         * modules/xvasprintf-posix: New file.
46253         Suggested by Eric Blake.
46254
46255 2007-10-30  Bruno Haible  <bruno@clisp.org>
46256
46257         * modules/xprintf-posix-tests: New file.
46258         * tests/test-xprintf-posix.sh: New file.
46259         * tests/test-xprintf-posix.c: New file.
46260         * tests/test-xfprintf-posix.c: New file.
46261
46262         * modules/xprintf-posix: New file.
46263
46264 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46265
46266         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
46267         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
46268         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
46269
46270 2007-10-29  Bruno Haible  <bruno@clisp.org>
46271
46272         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
46273         contain the special marker '_cv_'.
46274         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
46275         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
46276         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
46277         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
46278         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
46279         Reported by Ralf Wildenhues.
46280
46281 2007-10-29  Bruno Haible  <bruno@clisp.org>
46282
46283         * gnulib-tool (func_import): When --lgpl is not specified, set
46284         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
46285         GPLv3.
46286         Reported by Simon Josefsson.
46287
46288 2007-10-28  Bruno Haible  <bruno@clisp.org>
46289
46290         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
46291         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
46292         HAVE_DECL_ISFINITE.
46293         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
46294         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
46295         HAVE_DECL_ISFINITE.
46296
46297 2007-10-28  Bruno Haible  <bruno@clisp.org>
46298
46299         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
46300         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
46301
46302 2007-10-28  Bruno Haible  <bruno@clisp.org>
46303
46304         Fix link errors with Sun C 5.0 on Solaris 10.
46305         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
46306         function is declared but not present in the compiler's libm.
46307         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
46308         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
46309         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
46310         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
46311         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
46312         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
46313         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
46314         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
46315         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
46316         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
46317         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
46318         HAVE_DECL_FLOORL.
46319
46320 2007-10-28  Bruno Haible  <bruno@clisp.org>
46321
46322         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
46323         gl_FUNC_FLOORL. Cache the result.
46324         (gl_FUNC_FLOORL): Use it.
46325         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
46326         gl_FUNC_CEILL. Cache the result.
46327         (gl_FUNC_CEILL): Use it.
46328
46329         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
46330         gl_FUNC_FLOOR. Cache the result.
46331         (gl_FUNC_FLOOR): Use it.
46332         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
46333         gl_FUNC_CEIL. Cache the result.
46334         (gl_FUNC_CEIL): Use it.
46335
46336         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
46337         gl_FUNC_FLOORF. Cache the result.
46338         (gl_FUNC_FLOORF): Use it.
46339         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
46340         gl_FUNC_CEILF. Cache the result.
46341         (gl_FUNC_CEILF): Use it.
46342
46343 2007-10-28  Bruno Haible  <bruno@clisp.org>
46344
46345         * gnulib-tool: Allow specifying the LGPL version number through
46346         --lgpl=2 or --lgpl=3.
46347         (func_usage): Document --lgpl with argument.
46348         Handle --lgpl=... arguments.
46349         (func_import): Recognize also gl_LGPL calls with an argument. When
46350         --lgpl=2 is used and the module's license is just LGPL, report an
46351         error. Set sed_transform_lib_file according to the lgpl variable. In
46352         the generated files, use --lgpl or gl_LGPL invocations with argument,
46353         if necessary.
46354         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
46355         an LGPv2+ license.
46356         * doc/gnulib-tool.texi (Modified imports): Update explanation of
46357         gl_LGPL macro.
46358
46359 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46360             Bruno Haible  <bruno@clisp.org>
46361
46362         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
46363         (u16_uctomb_aux): Likewise.
46364         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
46365         !HAVE_INLINE.
46366         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
46367
46368 2007-10-28  Bruno Haible  <bruno@clisp.org>
46369
46370         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
46371         Invoke AM_GETTEXT_OPTION if it exists.
46372         * modules/vasprintf: Likewise.
46373         * modules/verror: Likewise.
46374         * modules/xprintf: Likewise.
46375         * modules/xvasprintf: Likewise.
46376
46377 2007-10-27  Ben Pfaff  <blp@gnu.org>
46378
46379         * lib/math.in.h: Define isfinite macro and prototypes for
46380         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
46381         implementations.
46382         * m4/math_h.m4: New substitutions for isfinite module.
46383         * lib/isfinite.c: New file.
46384         * m4/isfinite.m4: New file.
46385         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
46386         * modules/isfinite: New file.
46387         * modules/isfinite-tests: New file.
46388         * tests/tests-isfinite.c: New file.
46389         * doc/functions/isfinite.texi: Mention isfinite module.
46390         * MODULES.html.sh: Mention new module.
46391
46392 2007-10-27  Ben Pfaff  <blp@gnu.org>
46393
46394         Ralf Wildenhues reported that Tru64 4.0D declares the round
46395         functions but does not have definitions.
46396         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
46397         cannot be found in any library, set the output variable to
46398         "missing" instead of "".
46399         * m4/round.m4: Also use our substitute if we cannot find round in
46400         any library, even if it is declared.
46401         * m4/roundf.m4: Likewise for roundf.
46402         * m4/roundl.m4: Likewise for roundl.
46403         * lib/math.in.h: Undefine roundf, round, roundl before defining
46404         their replacements, to allow for hypothetical systems where these
46405         may be defined as macros but not available in libraries.
46406
46407 2007-10-27  Bruno Haible  <bruno@clisp.org>
46408
46409         * doc/gnulib.texi: Invoke @firstparagraphindent.
46410         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
46411         changes in gnulib.
46412         (Source changes): New section.
46413
46414 2007-10-26  Bruno Haible  <bruno@clisp.org>
46415
46416         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
46417         borrowed from autoconf.
46418
46419 2007-10-26  Bruno Haible  <bruno@clisp.org>
46420
46421         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
46422         strerror returned the empty string. Needed on HP-UX 11.00.
46423
46424 2007-10-24  Micah Cowan  <micah@cowan.name>
46425
46426         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
46427         * build-aux/bootstrap: Remove support for now-unnecessary option,
46428         --cvs-user, and envvars CVS_USER, CVS_RSH.
46429
46430 2007-10-24  Jim Meyering  <meyering@redhat.com>
46431
46432         Avoid diagnostics from sha1sum when there is no cached checksum.
46433         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
46434         if the po.s1 file hasn't been created yet.
46435
46436         * build-aux/bootstrap: Sync from coreutils:
46437         2007-10-24  Jim Meyering  <meyering@redhat.com>
46438         Get gnulib from the git repository, not from an obsolete cvs one.
46439         * build-aux/bootstrap: Suggestion from Micah Cowan.
46440         2007-10-04  Jim Meyering  <jim@meyering.net>
46441         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
46442         (update_po_files): Work also when there are no .po files in po/.
46443
46444 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
46445
46446         * README: Append ".git" to git and cg examples.
46447         Problem reported by Benoit Sigoure.
46448
46449 2007-10-23  Micah Cowan  <micah@cowan.name>
46450
46451         * users.txt: Add wget.
46452
46453 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46454
46455         Fix linking of some unistdio tests on FreeBSD.
46456         * modules/unistdio/u16-vsnprintf-tests
46457         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
46458         * modules/unistdio/u16-vsprintf-tests
46459         (test_u16_vsnprintf1_LDADD): Likewise.
46460         * modules/unistdio/u32-vsnprintf-tests
46461         (test_u32_vsnprintf1_LDADD): Likewise.
46462         * modules/unistdio/u32-vsprintf-tests
46463         (test_u32_vsprintf1_LDADD): Likewise.
46464         * modules/unistdio/u8-vsnprintf-tests
46465         (test_u8_vsnprintf1_LDADD): Likewise.
46466         * modules/unistdio/u8-vsprintf-tests
46467         (test_u8_vsprintf1_LDADD): Likewise.
46468         * modules/unistdio/ulc-vsnprintf-tests
46469         (test_ulc_vsnprintf1_LDADD): Likewise.
46470         * modules/unistdio/ulc-vsprintf-tests
46471         (test_ulc_vsprintf1_LDADD): Likewise.
46472
46473         Fix linking of some uniconv tests on FreeBSD.
46474         * modules/uniconv/u16-conv-from-enc-tests
46475         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
46476         * modules/uniconv/u16-conv-to-enc-tests
46477         (test_u16_conv_to_enc_LDADD): Likewise.
46478         * modules/uniconv/u16-strconv-from-enc-tests
46479         (test_u16_strconv_from_enc_LDADD): Likewise.
46480         * modules/uniconv/u16-strconv-to-enc-tests
46481         (test_u16_strconv_to_enc_LDADD): Likewise.
46482         * modules/uniconv/u32-conv-from-enc-tests
46483         (test_u32_conv_from_enc_LDADD): Likewise.
46484         * modules/uniconv/u32-conv-to-enc-tests
46485         (test_u32_conv_to_enc_LDADD): Likewise.
46486         * modules/uniconv/u32-strconv-from-enc-tests
46487         (test_u32_strconv_from_enc_LDADD): Likewise.
46488         * modules/uniconv/u32-strconv-to-enc-tests
46489         (test_u32_strconv_to_enc_LDADD): Likewise.
46490         * modules/uniconv/u8-conv-from-enc-tests
46491         (test_u8_conv_from_enc_LDADD): Likewise.
46492         * modules/uniconv/u8-conv-to-enc-tests
46493         (test_u8_conv_to_enc_LDADD): Likewise.
46494         * modules/uniconv/u8-strconv-from-enc-tests
46495         (test_u8_strconv_from_enc_LDADD): Likewise.
46496         * modules/uniconv/u8-strconv-to-enc-tests
46497         (test_u8_strconv_to_enc_LDADD): Likewise.
46498
46499 2007-10-22  Bruno Haible  <bruno@clisp.org>
46500
46501         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
46502         size.
46503
46504 2007-10-22  Eric Blake  <ebb9@byu.net>
46505
46506         Tweak x*printf documentation.
46507         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
46508         variable name and comments.
46509         Suggested by Bruno Haible.
46510
46511 2007-10-22  Bruno Haible  <bruno@clisp.org>
46512
46513         * lib/acl.c (copy_acl): Fix file name in comment.
46514
46515 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
46516
46517         Fix Tru64 problem with stdbool.h.
46518         * lib/stdbool.in.h (false, true):
46519         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
46520         Don't declare as an enum in this situation; it runs afoul of Tru64.
46521         Problem reported by Steven M. Schweda in
46522         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
46523
46524 2007-10-22  Eric Blake  <ebb9@byu.net>
46525
46526         Also wrap vf?printf.
46527         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
46528         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
46529         (xvprintf, xvfprintf): New functions.
46530
46531 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46532
46533         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
46534         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
46535
46536         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
46537         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
46538
46539 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
46540
46541         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
46542         by Bruno Haible.
46543
46544 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46545
46546         * lib/getloadavg.c
46547         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
46548         Undef `sys' after including sys/table.h, for Tru64 4.0D.
46549
46550         * tests/test-i-ring.c: Work for C89.
46551
46552 2007-10-22  Bruno Haible  <bruno@clisp.org>
46553
46554         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
46555         -1u, in preprocessor expression, so that we don't test for the bug
46556         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
46557         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
46558
46559 2007-10-22  Eric Blake  <ebb9@byu.net>
46560
46561         * tests/test-yesno.sh: Silence stderr during test.
46562
46563 2007-10-22  Simon Josefsson  <simon@josefsson.org>
46564
46565         * modules/crypto/gc-camellia: New file.
46566
46567         * m4/gc-camellia.m4: New file.
46568
46569         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
46570
46571         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
46572
46573 2007-10-22  Simon Josefsson  <simon@josefsson.org>
46574
46575         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
46576         --help to stdout.  Reported by sms@antinode.org (Steven
46577         M. Schweda).
46578
46579 2007-10-22  Simon Josefsson  <simon@josefsson.org>
46580
46581         * users.txt: Fix link to libksba.
46582
46583 2007-10-21  Ben Pfaff  <blp@gnu.org>
46584
46585         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
46586         round.c roundf implementation that depends on floorf and ceilf to
46587         be tested unconditionally.
46588
46589 2007-10-21  Ben Pfaff  <blp@gnu.org>
46590
46591         * m4/check-libm-func.m4: Removed.
46592         * m4/check-math-lib.m4: New file.
46593         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
46594         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
46595         definition and lack of AC_LIBOBJ([roundf]).
46596         * m4/roundl.m4: Ditto, and similarly for roundl.
46597         * modules/round: Reference new m4 file.
46598         * modules/roundf: Ditto.
46599         * modules/roundl: Ditto.
46600         * tests/test-round2.c (main): Use ROUND instead of round.
46601         Bug report from Bruno Haible.
46602
46603 2007-10-21  Bruno Haible  <bruno@clisp.org>
46604
46605         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
46606         context.
46607
46608 2007-10-21  Bruno Haible  <bruno@clisp.org>
46609
46610         * tests/test-wcwidth.c (main): Allow negative result for some control
46611         characters.
46612
46613         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
46614         Needed on OSF/1 5.1.
46615
46616 2007-10-21  Bruno Haible  <bruno@clisp.org>
46617
46618         * tests/test-floorf1.c: Include isnanf.h.
46619         (main): Use isnanf() instead of isnan().
46620         * tests/test-ceilf1.c: Include isnanf.h.
46621         (main): Use isnanf() instead of isnan().
46622         * tests/test-truncf1.c: Include isnanf.h.
46623         (main): Use isnanf() instead of isnan().
46624         * tests/test-roundf1.c: Include isnanf.h.
46625         (main): Use isnanf() instead of isnan().
46626
46627 2007-10-21  Eric Blake  <ebb9@byu.net>
46628
46629         * users.txt: Update URL for m4.
46630
46631 2007-10-21  Bruno Haible  <bruno@clisp.org>
46632
46633         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
46634
46635 2007-10-21  Bruno Haible  <bruno@clisp.org>
46636
46637         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
46638         Git's management files if the CVS files are not present.
46639
46640 2007-10-20  Bruno Haible  <bruno@clisp.org>
46641
46642         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
46643         gcc-3.4.x.
46644
46645 2007-10-20  Ben Pfaff  <blp@gnu.org>
46646
46647         * lib/math.in.h: Declare round, roundf, roundl if we are providing
46648         implementations.
46649         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
46650         * lib/round.c: New file.
46651         * lib/roundf.c: New file.
46652         * lib/roundl.c: New file.
46653         * m4/round.m4: New file.
46654         * m4/roundf.m4: New file.
46655         * m4/roundl.m4: New file.
46656         * m4/check-libm-func-m4: New file.
46657         * modules/math: Replace round, roundf, roundl related @VARS@ in
46658         math.in.h.
46659         * modules/round: New file.
46660         * modules/round-tests: New file.
46661         * modules/roundf: New file.
46662         * modules/roundf-tests: New file.
46663         * modules/roundl: New file.
46664         * modules/roundl-tests: New file.
46665         * tests/test-round1.c: New file.
46666         * tests/test-round2.c: New file.
46667         * tests/test-roundf1.c: New file.
46668         * tests/test-roundf2.c: New file.
46669         * tests/test-roundl.c: New file.
46670         * doc/functions/round.texi: Mention round module.
46671         * doc/functions/roundf.texi: Mention roundf module.
46672         * doc/functions/roundl.texi: Mention roundl module.
46673         * MODULES.html.sh: Mention new modules.
46674         Thanks to Bruno Haible for suggestions.
46675
46676 2007-10-20  Jim Meyering  <meyering@redhat.com>
46677
46678         * lib/xprintf.c: Include <config.h> unconditionally.
46679
46680         Change xprintf's license to GPL.
46681         * modules/xprintf (License): s/LGPL/GPL/, since this module
46682         depends on modules (exit and exitfail) which are GPL.
46683         Suggestion from Bruno Haible.
46684
46685         xprintf fixes.
46686         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
46687         Use a clearer diagnostic.
46688         Patch from Bruno Haible.
46689
46690 2007-10-20  Bruno Haible  <bruno@clisp.org>
46691
46692         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
46693         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
46694         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
46695
46696 2007-10-20  Bruno Haible  <bruno@clisp.org>
46697
46698         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
46699         precision in the comparison result > x - 1 or similar.
46700         * tests/test-ceilf2.c (correct_result_p): Likewise.
46701         * tests/test-truncf2.c (correct_result_p): Likewise.
46702         * tests/test-trunc2.c (correct_result_p): Likewise.
46703         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
46704
46705 2007-10-20  Bruno Haible  <bruno@clisp.org>
46706
46707         * modules/ceil: New file.
46708         * m4/ceil.m4: New file.
46709         * doc/functions/ceil.texi: Mention the 'ceil' module.
46710
46711 2007-10-20  Bruno Haible  <bruno@clisp.org>
46712
46713         * modules/floor: New file.
46714         * m4/floor.m4: New file.
46715         * doc/functions/floor.texi: Mention the 'floor' module.
46716
46717 2007-10-20  Bruno Haible  <bruno@clisp.org>
46718
46719         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
46720         of %a.
46721         * modules/floorf-tests (Depends-on): Likewise.
46722         * modules/truncf-tests (Depends-on): Likewise.
46723         * modules/trunc-tests (Depends-on): Likewise.
46724         Reported by Ben Pfaff.
46725
46726 2007-10-19  Jim Meyering  <meyering@redhat.com>
46727
46728         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
46729         Don't bother testing specific errno values.  Just test ferror.
46730
46731         New module: xprintf
46732         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
46733
46734 2007-10-19  Bruno Haible  <bruno@clisp.org>
46735
46736         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
46737         syntax.
46738         * modules/javaexec (Makefile.am): Likewise.
46739         * modules/relocatable-prog (Makefile.am): Likewise.
46740         Suggested by Jim Meyering.
46741
46742 2007-10-18  Bruno Haible  <bruno@clisp.org>
46743
46744         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
46745         Reported by Jim Meyering.
46746
46747 2007-10-18  Eric Blake  <ebb9@byu.net>
46748
46749         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
46750
46751 2007-10-18  Bruno Haible  <bruno@clisp.org>
46752
46753         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
46754         the format string into writable memory. Needed in Fortify conditions.
46755
46756 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
46757             Bruno Haible  <bruno@clisp.org>
46758
46759         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
46760         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
46761         * modules/trim (Depends-on): Add mbchar.
46762         (configure.ac): Add gl_FUNC_MBRTOWC.
46763         (Makefile.am): Augment lib_SOURCES.
46764
46765 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
46766
46767         Modify glob.c to use fstatat and dirfd, to simplify it.
46768         Suggested by Eric Blake.
46769         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
46770         Don't include <stdbool.h>; not used.
46771         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
46772         (link_exists_p): Simplify implementation, since we can now assume
46773         dirfd and fstatat.
46774         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
46775
46776 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46777
46778         * gnulib-tool (func_get_dependencies): Fix sed script to
46779         match only tests.
46780
46781 2007-10-17  Bruno Haible  <bruno@clisp.org>
46782
46783         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
46784         allow locale names without encoding suffix.
46785         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
46786         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
46787
46788 2007-10-16  Bruno Haible  <bruno@clisp.org>
46789
46790         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
46791         * lib/getgroups.c (getgroups): Likewise.
46792         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
46793
46794 2007-10-16  Bruno Haible  <bruno@clisp.org>
46795
46796         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
46797         * modules/malloc-posix (License): Likewise.
46798         * modules/realloc-posix (License): Likewise.
46799         * modules/calloc-posix (License): Likewise.
46800         * modules/intprops (License): Change from GPL to LGPL, with
46801         Paul Eggert's approval.
46802
46803 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
46804
46805         Merge glibc changes into lib/glob.c.
46806
46807         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
46808         2007-10-15 04:59:03 UTC.  Here are the changes:
46809
46810         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
46811
46812         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
46813
46814         * lib/glob.c: Add some branch prediction throughout.
46815
46816         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
46817
46818         [BZ #5103]
46819         * lib/glob.c (glob): Recognize patterns starting \/.
46820
46821         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
46822
46823         [BZ #3996]
46824         * lib/glob.c (attribute_hidden): Define if not defined.
46825         (glob): Unescape dirname, filename or username when needed and not
46826         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
46827         is NULL.  Handle unescaped [ in pattern without closing ].
46828         Don't pass GLOB_CHECK down to recursive glob for directories.
46829         (__glob_pattern_type): New function.
46830         (__glob_pattern_p): Implement using __glob_pattern_type.
46831         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
46832         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
46833         Remove unreachable code.
46834
46835         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
46836
46837         * lib/glob.c (glob_in_dir): Add some comments and asserts to
46838         explain why there are no leaks.
46839
46840         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
46841
46842         [BZ #3253]
46843         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
46844         time, rather allocate increasingly bigger arrays of pointers, if
46845         possible with alloca, if too large with malloc.
46846
46847 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
46848
46849         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
46850         Problem reported by H.Merijn Brand in
46851         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
46852         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
46853         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
46854
46855 2007-10-15  Bruno Haible  <bruno@clisp.org>
46856
46857         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
46858         with explicit rpl_ prefix.
46859         * lib/fopen.c (fopen): Likewise.
46860         * lib/freopen.c (freopen): Likewise.
46861         * lib/iconv.c (iconv): Likewise.
46862         * lib/iconv_close.c (iconv_close): Likewise.
46863
46864 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46865
46866         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
46867
46868 2007-10-15  Bruno Haible  <bruno@clisp.org>
46869
46870         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
46871         <stddef.h> instead of <stdlib.h> since we only need NULL.
46872         Reported by Ben Pfaff <blp@cs.stanford.edu>.
46873
46874 2007-10-15  Bruno Haible  <bruno@clisp.org>
46875
46876         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
46877         Replace paragraph talking about LIBOBJS.
46878         Reported by Colin Watson <cjwatson@debian.org>.
46879
46880 2007-10-15  Bruno Haible  <bruno@clisp.org>
46881
46882         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
46883         <stdlib.h> before using NULL.
46884
46885 2007-10-15  Simon Josefsson  <simon@josefsson.org>
46886
46887         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
46888         Reported by Albert Chin <china@thewrittenword.com>.
46889
46890 2007-10-14  Bruno Haible  <bruno@clisp.org>
46891
46892         * modules/iconv_open-utf-tests: New file.
46893         * tests/test-iconv-utf.c: New file.
46894
46895         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
46896         * modules/iconv_open-utf: New file.
46897         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
46898         (iconv, iconv_close): New declarations.
46899         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
46900         be defined.
46901         (iconv_open): Add special handling of conversion between UTF-8 and
46902         UTF-{16,32}{BE,LE}.
46903         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
46904         * lib/iconv_close.c: New file.
46905         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
46906         gl_FUNC_ICONV_OPEN.
46907         (gl_FUNC_ICONV_OPEN): Use it.
46908         (gl_FUNC_ICONV_OPEN_UTF): New macro.
46909         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
46910         and REPLACE_ICONV_UTF.
46911         * modules/iconv_open (Depends-on): Add c-strcase.
46912         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
46913         ICONV_CONST.
46914         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
46915
46916 2007-10-13  Albert Chin  <china@thewrittenword.com>
46917             Bruno Haible  <bruno@clisp.org>
46918
46919         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
46920         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
46921
46922 2007-10-13  Bruno Haible  <bruno@clisp.org>
46923
46924         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
46925         defined, use the ISO C99 inline semantics.
46926         * lib/argp.h (ARGP_EI): Likewise.
46927
46928 2007-10-13  Bruno Haible  <bruno@clisp.org>
46929
46930         Handle 'inline' change in gcc 4.3.0.
46931         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
46932         argp_fmtstream_write, argp_fmtstream_set_lmargin,
46933         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
46934         argp_fmtstream_point): Disable 'extern' declaration if the function
46935         definition is going to be provided inline.
46936         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
46937         semantics, not the ISO C99 inline semantics.
46938         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
46939         'extern' declaration if the function definition is going to be provided
46940         inline.
46941         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
46942         the GNU C inline semantics, not the ISO C99 inline semantics. With
46943         GCC 4.2, avoid a warning.
46944
46945 2007-10-13  Bruno Haible  <bruno@clisp.org>
46946
46947         * lib/freading.h (freading): Enable the use of __freading for
46948         glibc >= 2.7.
46949         * lib/freading.c (freading): Likewise.
46950
46951 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
46952
46953         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
46954         "warning: C99 inline functions are not supported; using GNU89".
46955
46956 2007-10-12  Bruno Haible  <bruno@clisp.org>
46957
46958         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
46959         of 2.
46960         * tests/test-ceilf2.c: New file.
46961         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
46962
46963         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
46964         * modules/ceilf-tests: Update.
46965
46966 2007-10-12  Bruno Haible  <bruno@clisp.org>
46967
46968         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
46969         of 2.
46970         * tests/test-floorf2.c: New file.
46971         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
46972
46973         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
46974         * modules/floorf-tests: Update.
46975
46976 2007-10-12  Bruno Haible  <bruno@clisp.org>
46977
46978         * tests/test-trunc2.c: New file.
46979         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
46980
46981         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
46982         * modules/trunc-tests: Update.
46983
46984 2007-10-12  Bruno Haible  <bruno@clisp.org>
46985
46986         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
46987         of 2.
46988         * tests/test-truncf2.c: New file.
46989         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
46990
46991         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
46992         * modules/truncf-tests: Update.
46993
46994 2007-10-11  Eric Blake  <ebb9@byu.net>
46995
46996         Don't claim strerror is broken on Interix.
46997         * doc/functions/strerror.texi (strerror): Known broken systems are
46998         now Solaris 8, and not Interix.
46999         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
47000         Interix on cross-compile.
47001         Reported by Martin Koeppe in
47002         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
47003
47004 2007-10-11  Bruno Haible  <bruno@clisp.org>
47005
47006         * modules/i-ring-tests: New file.
47007         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
47008         instead of assert.
47009
47010 2007-10-11  Bruno Haible  <bruno@clisp.org>
47011
47012         * modules/filenamecat-tests: New file.
47013         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
47014         * lib/filenamecat.c: Remove test code.
47015
47016 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
47017
47018         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
47019
47020         * lib/strerror.c: Include <string.h> always, to test interface,
47021         and to remove the need for the dummy.
47022         Include intprops.h to compute width instead of doing it ourselves
47023         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
47024         (strerror): Define it to return NULL if there's no system strerror.
47025         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
47026         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
47027         ancient pre-strerror Unix systems well any more.  Saying "unknown
47028         system error" is enough.
47029         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
47030         simpler strerror.c implementation.
47031         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
47032         Simplify the tests to reflect the simpler strerror implementation.
47033         * modules/strerror (Depends-on): Add intprops.
47034
47035 2007-10-09  Eric Blake  <ebb9@byu.net>
47036
47037         Silence test-fpending.
47038         * modules/fpending-tests (Files): Add wrapper script.
47039         * tests/test-fpending.sh: New file.
47040
47041 2007-10-09  Bruno Haible  <bruno@clisp.org>
47042
47043         * MODULES.html.sh (func_module): Don't create a hyperlink for
47044         function names like 'printf_frexp'.
47045         (Misc): Add crc, memxor.
47046         (Characteristics of floating types): New section.
47047         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
47048         isnanf-nolibm, signbit, trunc, truncf, truncl.
47049         (Enhancements for ISO C 99 functions): New subsection Input/output.
47050         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
47051         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
47052         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
47053         (Compatibility checks for POSIX:2001 functions): Add clock-time.
47054         (Enhancements for POSIX:2001 functions): Add chdir-long.
47055         (File system functions): Add areadlink, chdir-safer, read-file.
47056         Remove cycle-check.
47057         (File system as inode set): New section.
47058         (Date and time): Add gethrxtime.
47059         (Multithreading): Add openmp.
47060         (Internationalization functions): Add localename.
47061         (Unicode string functions): Add unistr/u*-mbsnlen.
47062         (Support for maintaining and releasing projects): Add git-version-gen.
47063         (Lone files): Remove directories.
47064
47065 2007-10-08  Ben Pfaff  <blp@gnu.org>
47066
47067         * lib/xmalloca.h: Fix typo in comment.
47068
47069 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
47070
47071         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
47072         when avoiding problems with integer overflow.  Use a portable test
47073         instead.
47074
47075 2007-10-08  Simon Josefsson  <simon@josefsson.org>
47076
47077         * modules/dummy (License): Change to LGPLv2+.
47078         * modules/float (License): Likewise
47079         * modules/realloc (License): Likewise
47080         * modules/stdlib (License): Likewise
47081
47082 2007-10-07  Bruno Haible  <bruno@clisp.org>
47083
47084         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
47085         * floor.c (TWO_MANT_DIG): Likewise.
47086         * ceil.c (TWO_MANT_DIG): Likewise.
47087         Reported by Ben Pfaff.
47088
47089 2007-10-07  Bruno Haible  <bruno@clisp.org>
47090
47091         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
47092         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
47093         * lib/frexp.c (FUNC): Likewise.
47094         * lib/printf-frexp.h (printf_frexp): Likewise.
47095         * lib/printf-frexpl.h (printf_frexpl): Likewise.
47096         * lib/printf-frexp.c (FUNC): Likewise.
47097         Suggested by Jim Meyering.
47098
47099 2007-10-07  Jim Meyering  <meyering@redhat.com>
47100
47101         Make xnanosleep's integer overflow test more robust.
47102         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
47103         so that gcc-4.3.0 doesn't optimize away this test for overflow.
47104
47105 2007-10-07  Bruno Haible  <bruno@clisp.org>
47106
47107         * NEWS: Mention the license change.
47108
47109         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
47110         abbreviations in the modules files.
47111
47112         Change copyright notice from GPLv2+ to GPLv3+.
47113         * README: Change copyright notice.
47114         * MODULES.html.sh: Likewise.
47115         * build-aux/bootstrap.conf: Likewise.
47116         * build-aux/config.libpath: Likewise.
47117         * build-aux/csharpcomp.sh.in: Likewise.
47118         * build-aux/csharpexec.sh.in: Likewise.
47119         * build-aux/install-reloc: Likewise.
47120         * build-aux/javacomp.sh.in: Likewise.
47121         * build-aux/javaexec.sh.in: Likewise.
47122         * build-aux/ldd.sh.in: Likewise.
47123         * build-aux/reloc-ldflags: Likewise.
47124         * build-aux/relocatable.sh.in: Likewise.
47125         * build-aux/x-to-1.in: Likewise.
47126         * check-module: Likewise.
47127         * config/srclistvars.sh: Likewise.
47128         * gnulib-tool: Likewise.
47129         * lib/acl-internal.h: Likewise.
47130         * lib/acl.c: Likewise.
47131         * lib/acl.h: Likewise.
47132         * lib/acl_entries.c: Likewise.
47133         * lib/areadlink-with-size.c: Likewise.
47134         * lib/areadlink.c: Likewise.
47135         * lib/areadlink.h: Likewise.
47136         * lib/argmatch.c: Likewise.
47137         * lib/argmatch.h: Likewise.
47138         * lib/argp-ba.c: Likewise.
47139         * lib/argp-eexst.c: Likewise.
47140         * lib/argp-fmtstream.c: Likewise.
47141         * lib/argp-fmtstream.h: Likewise.
47142         * lib/argp-fs-xinl.c: Likewise.
47143         * lib/argp-help.c: Likewise.
47144         * lib/argp-namefrob.h: Likewise.
47145         * lib/argp-parse.c: Likewise.
47146         * lib/argp-pin.c: Likewise.
47147         * lib/argp-pv.c: Likewise.
47148         * lib/argp-pvh.c: Likewise.
47149         * lib/argp-xinl.c: Likewise.
47150         * lib/argp.h: Likewise.
47151         * lib/at-func.c: Likewise.
47152         * lib/atanl.c: Likewise.
47153         * lib/backupfile.c: Likewise.
47154         * lib/backupfile.h: Likewise.
47155         * lib/basename.c: Likewise.
47156         * lib/binary-io.h: Likewise.
47157         * lib/byteswap.in.h: Likewise.
47158         * lib/c-stack.c: Likewise.
47159         * lib/c-stack.h: Likewise.
47160         * lib/c-strcasestr.c: Likewise.
47161         * lib/c-strcasestr.h: Likewise.
47162         * lib/c-strstr.c: Likewise.
47163         * lib/c-strstr.h: Likewise.
47164         * lib/c-strtod.c: Likewise.
47165         * lib/calloc.c: Likewise.
47166         * lib/canon-host.c: Likewise.
47167         * lib/canon-host.h: Likewise.
47168         * lib/canonicalize-lgpl.c: Likewise.
47169         * lib/canonicalize.c: Likewise.
47170         * lib/canonicalize.h: Likewise.
47171         * lib/ceil.c: Likewise.
47172         * lib/ceilf.c: Likewise.
47173         * lib/ceill.c: Likewise.
47174         * lib/chdir-long.c: Likewise.
47175         * lib/chdir-long.h: Likewise.
47176         * lib/chdir-safer.c: Likewise.
47177         * lib/chdir-safer.h: Likewise.
47178         * lib/chown.c: Likewise.
47179         * lib/classpath.c: Likewise.
47180         * lib/classpath.h: Likewise.
47181         * lib/clean-temp.c: Likewise.
47182         * lib/clean-temp.h: Likewise.
47183         * lib/cloexec.c: Likewise.
47184         * lib/close-stream.c: Likewise.
47185         * lib/closein.c: Likewise.
47186         * lib/closein.h: Likewise.
47187         * lib/closeout.c: Likewise.
47188         * lib/closeout.h: Likewise.
47189         * lib/concat-filename.c: Likewise.
47190         * lib/copy-file.c: Likewise.
47191         * lib/copy-file.h: Likewise.
47192         * lib/count-one-bits.h: Likewise.
47193         * lib/crc.c: Likewise.
47194         * lib/crc.h: Likewise.
47195         * lib/creat-safer.c: Likewise.
47196         * lib/csharpcomp.c: Likewise.
47197         * lib/csharpcomp.h: Likewise.
47198         * lib/csharpexec.c: Likewise.
47199         * lib/csharpexec.h: Likewise.
47200         * lib/cycle-check.c: Likewise.
47201         * lib/cycle-check.h: Likewise.
47202         * lib/diacrit.c: Likewise.
47203         * lib/diacrit.h: Likewise.
47204         * lib/diffseq.h: Likewise.
47205         * lib/dirchownmod.c: Likewise.
47206         * lib/dirent.in.h: Likewise.
47207         * lib/dirfd.c: Likewise.
47208         * lib/dirfd.h: Likewise.
47209         * lib/dirname.c: Likewise.
47210         * lib/dirname.h: Likewise.
47211         * lib/dummy.c: Likewise.
47212         * lib/dup-safer.c: Likewise.
47213         * lib/dup2.c: Likewise.
47214         * lib/eealloc.h: Likewise.
47215         * lib/error.c: Likewise.
47216         * lib/error.h: Likewise.
47217         * lib/euidaccess.c: Likewise.
47218         * lib/exclude.c: Likewise.
47219         * lib/exclude.h: Likewise.
47220         * lib/execute.c: Likewise.
47221         * lib/execute.h: Likewise.
47222         * lib/exitfail.c: Likewise.
47223         * lib/exitfail.h: Likewise.
47224         * lib/expl.c: Likewise.
47225         * lib/fatal-signal.c: Likewise.
47226         * lib/fatal-signal.h: Likewise.
47227         * lib/fbufmode.c: Likewise.
47228         * lib/fbufmode.h: Likewise.
47229         * lib/fchdir.c: Likewise.
47230         * lib/fchmodat.c: Likewise.
47231         * lib/fchownat.c: Likewise.
47232         * lib/fcntl--.h: Likewise.
47233         * lib/fcntl-safer.h: Likewise.
47234         * lib/fcntl.in.h: Likewise.
47235         * lib/fd-safer.c: Likewise.
47236         * lib/fflush.c: Likewise.
47237         * lib/file-has-acl.c: Likewise.
47238         * lib/file-set.c: Likewise.
47239         * lib/file-type.c: Likewise.
47240         * lib/file-type.h: Likewise.
47241         * lib/fileblocks.c: Likewise.
47242         * lib/filemode.c: Likewise.
47243         * lib/filemode.h: Likewise.
47244         * lib/filename.h: Likewise.
47245         * lib/filenamecat.c: Likewise.
47246         * lib/filenamecat.h: Likewise.
47247         * lib/findprog.c: Likewise.
47248         * lib/findprog.h: Likewise.
47249         * lib/float.in.h: Likewise.
47250         * lib/floor.c: Likewise.
47251         * lib/floorf.c: Likewise.
47252         * lib/floorl.c: Likewise.
47253         * lib/fopen-safer.c: Likewise.
47254         * lib/fopen.c: Likewise.
47255         * lib/fpending.c: Likewise.
47256         * lib/fpending.h: Likewise.
47257         * lib/fprintf.c: Likewise.
47258         * lib/fprintftime.h: Likewise.
47259         * lib/fpucw.h: Likewise.
47260         * lib/fpurge.c: Likewise.
47261         * lib/fpurge.h: Likewise.
47262         * lib/freadable.c: Likewise.
47263         * lib/freadable.h: Likewise.
47264         * lib/freadahead.c: Likewise.
47265         * lib/freadahead.h: Likewise.
47266         * lib/freading.c: Likewise.
47267         * lib/freading.h: Likewise.
47268         * lib/free.c: Likewise.
47269         * lib/freopen.c: Likewise.
47270         * lib/frexp.c: Likewise.
47271         * lib/frexpl.c: Likewise.
47272         * lib/fseek.c: Likewise.
47273         * lib/fseterr.c: Likewise.
47274         * lib/fseterr.h: Likewise.
47275         * lib/fstatat.c: Likewise.
47276         * lib/fstrcmp.c: Likewise.
47277         * lib/fstrcmp.h: Likewise.
47278         * lib/fsusage.c: Likewise.
47279         * lib/fsusage.h: Likewise.
47280         * lib/ftell.c: Likewise.
47281         * lib/ftello.c: Likewise.
47282         * lib/fts-cycle.c: Likewise.
47283         * lib/fts.c: Likewise.
47284         * lib/fts_.h: Likewise.
47285         * lib/full-read.c: Likewise.
47286         * lib/full-read.h: Likewise.
47287         * lib/full-write.c: Likewise.
47288         * lib/full-write.h: Likewise.
47289         * lib/fwritable.c: Likewise.
47290         * lib/fwritable.h: Likewise.
47291         * lib/fwriteerror.c: Likewise.
47292         * lib/fwriteerror.h: Likewise.
47293         * lib/fwriting.c: Likewise.
47294         * lib/fwriting.h: Likewise.
47295         * lib/gcd.c: Likewise.
47296         * lib/gcd.h: Likewise.
47297         * lib/getcwd.c: Likewise.
47298         * lib/getdate.h: Likewise.
47299         * lib/getdate.y: Likewise.
47300         * lib/getdomainname.c: Likewise.
47301         * lib/getdomainname.h: Likewise.
47302         * lib/getgroups.c: Likewise.
47303         * lib/gethostname.c: Likewise.
47304         * lib/gethrxtime.c: Likewise.
47305         * lib/gethrxtime.h: Likewise.
47306         * lib/getloadavg.c: Likewise.
47307         * lib/getndelim2.c: Likewise.
47308         * lib/getndelim2.h: Likewise.
47309         * lib/getnline.c: Likewise.
47310         * lib/getnline.h: Likewise.
47311         * lib/getopt.c: Likewise.
47312         * lib/getopt.in.h: Likewise.
47313         * lib/getopt1.c: Likewise.
47314         * lib/getopt_int.h: Likewise.
47315         * lib/getpagesize.h: Likewise.
47316         * lib/getsubopt.c: Likewise.
47317         * lib/gettime.c: Likewise.
47318         * lib/getugroups.c: Likewise.
47319         * lib/getugroups.h: Likewise.
47320         * lib/getusershell.c: Likewise.
47321         * lib/gl_anyavltree_list1.h: Likewise.
47322         * lib/gl_anyavltree_list2.h: Likewise.
47323         * lib/gl_anyhash_list1.h: Likewise.
47324         * lib/gl_anyhash_list2.h: Likewise.
47325         * lib/gl_anylinked_list1.h: Likewise.
47326         * lib/gl_anylinked_list2.h: Likewise.
47327         * lib/gl_anyrbtree_list1.h: Likewise.
47328         * lib/gl_anyrbtree_list2.h: Likewise.
47329         * lib/gl_anytree_list1.h: Likewise.
47330         * lib/gl_anytree_list2.h: Likewise.
47331         * lib/gl_anytree_oset.h: Likewise.
47332         * lib/gl_anytreehash_list1.h: Likewise.
47333         * lib/gl_anytreehash_list2.h: Likewise.
47334         * lib/gl_array_list.c: Likewise.
47335         * lib/gl_array_list.h: Likewise.
47336         * lib/gl_array_oset.c: Likewise.
47337         * lib/gl_array_oset.h: Likewise.
47338         * lib/gl_avltree_list.c: Likewise.
47339         * lib/gl_avltree_list.h: Likewise.
47340         * lib/gl_avltree_oset.c: Likewise.
47341         * lib/gl_avltree_oset.h: Likewise.
47342         * lib/gl_avltreehash_list.c: Likewise.
47343         * lib/gl_avltreehash_list.h: Likewise.
47344         * lib/gl_carray_list.c: Likewise.
47345         * lib/gl_carray_list.h: Likewise.
47346         * lib/gl_linked_list.c: Likewise.
47347         * lib/gl_linked_list.h: Likewise.
47348         * lib/gl_linkedhash_list.c: Likewise.
47349         * lib/gl_linkedhash_list.h: Likewise.
47350         * lib/gl_list.c: Likewise.
47351         * lib/gl_list.h: Likewise.
47352         * lib/gl_oset.c: Likewise.
47353         * lib/gl_oset.h: Likewise.
47354         * lib/gl_rbtree_list.c: Likewise.
47355         * lib/gl_rbtree_list.h: Likewise.
47356         * lib/gl_rbtree_oset.c: Likewise.
47357         * lib/gl_rbtree_oset.h: Likewise.
47358         * lib/gl_rbtreehash_list.c: Likewise.
47359         * lib/gl_rbtreehash_list.h: Likewise.
47360         * lib/gl_sublist.c: Likewise.
47361         * lib/gl_sublist.h: Likewise.
47362         * lib/group-member.c: Likewise.
47363         * lib/group-member.h: Likewise.
47364         * lib/hard-locale.c: Likewise.
47365         * lib/hard-locale.h: Likewise.
47366         * lib/hash-pjw.c: Likewise.
47367         * lib/hash-pjw.h: Likewise.
47368         * lib/hash-triple.c: Likewise.
47369         * lib/hash.c: Likewise.
47370         * lib/hash.h: Likewise.
47371         * lib/human.c: Likewise.
47372         * lib/human.h: Likewise.
47373         * lib/i-ring.c: Likewise.
47374         * lib/i-ring.h: Likewise.
47375         * lib/idcache.c: Likewise.
47376         * lib/imaxabs.c: Likewise.
47377         * lib/imaxdiv.c: Likewise.
47378         * lib/inet_pton.c: Likewise.
47379         * lib/inet_pton.h: Likewise.
47380         * lib/intprops.h: Likewise.
47381         * lib/inttostr.c: Likewise.
47382         * lib/inttostr.h: Likewise.
47383         * lib/inttypes.in.h: Likewise.
47384         * lib/isapipe.c: Likewise.
47385         * lib/isdir.c: Likewise.
47386         * lib/isnan.c: Likewise.
47387         * lib/isnan.h: Likewise.
47388         * lib/isnanf.c: Likewise.
47389         * lib/isnanf.h: Likewise.
47390         * lib/isnanl-nolibm.h: Likewise.
47391         * lib/isnanl.c: Likewise.
47392         * lib/isnanl.h: Likewise.
47393         * lib/javacomp.c: Likewise.
47394         * lib/javacomp.h: Likewise.
47395         * lib/javaexec.c: Likewise.
47396         * lib/javaexec.h: Likewise.
47397         * lib/javaversion.c: Likewise.
47398         * lib/javaversion.h: Likewise.
47399         * lib/javaversion.java: Likewise.
47400         * lib/lbrkprop.h: Likewise.
47401         * lib/lchmod.h: Likewise.
47402         * lib/lchown.c: Likewise.
47403         * lib/ldexpl.c: Likewise.
47404         * lib/linebreak.c: Likewise.
47405         * lib/linebreak.h: Likewise.
47406         * lib/linebuffer.c: Likewise.
47407         * lib/linebuffer.h: Likewise.
47408         * lib/locale.in.h: Likewise.
47409         * lib/logl.c: Likewise.
47410         * lib/long-options.c: Likewise.
47411         * lib/long-options.h: Likewise.
47412         * lib/lstat.c: Likewise.
47413         * lib/lstat.h: Likewise.
47414         * lib/math.in.h: Likewise.
47415         * lib/mbchar.c: Likewise.
47416         * lib/mbchar.h: Likewise.
47417         * lib/mbfile.h: Likewise.
47418         * lib/mbiter.h: Likewise.
47419         * lib/mbscasecmp.c: Likewise.
47420         * lib/mbscasestr.c: Likewise.
47421         * lib/mbschr.c: Likewise.
47422         * lib/mbscspn.c: Likewise.
47423         * lib/mbslen.c: Likewise.
47424         * lib/mbsncasecmp.c: Likewise.
47425         * lib/mbsnlen.c: Likewise.
47426         * lib/mbspbrk.c: Likewise.
47427         * lib/mbspcasecmp.c: Likewise.
47428         * lib/mbsrchr.c: Likewise.
47429         * lib/mbssep.c: Likewise.
47430         * lib/mbsspn.c: Likewise.
47431         * lib/mbsstr.c: Likewise.
47432         * lib/mbstok_r.c: Likewise.
47433         * lib/mbswidth.c: Likewise.
47434         * lib/mbswidth.h: Likewise.
47435         * lib/mbuiter.h: Likewise.
47436         * lib/memcasecmp.c: Likewise.
47437         * lib/memcasecmp.h: Likewise.
47438         * lib/memchr.c: Likewise.
47439         * lib/memcmp.c: Likewise.
47440         * lib/memcoll.c: Likewise.
47441         * lib/memcoll.h: Likewise.
47442         * lib/memcpy.c: Likewise.
47443         * lib/memrchr.c: Likewise.
47444         * lib/mkancesdirs.c: Likewise.
47445         * lib/mkdir-p.c: Likewise.
47446         * lib/mkdir-p.h: Likewise.
47447         * lib/mkdir.c: Likewise.
47448         * lib/mkdirat.c: Likewise.
47449         * lib/mkdtemp.c: Likewise.
47450         * lib/mkstemp-safer.c: Likewise.
47451         * lib/mkstemp.c: Likewise.
47452         * lib/modechange.c: Likewise.
47453         * lib/modechange.h: Likewise.
47454         * lib/mountlist.c: Likewise.
47455         * lib/mountlist.h: Likewise.
47456         * lib/mpsort.c: Likewise.
47457         * lib/nanosleep.c: Likewise.
47458         * lib/obstack.c: Likewise.
47459         * lib/obstack.h: Likewise.
47460         * lib/open-safer.c: Likewise.
47461         * lib/open.c: Likewise.
47462         * lib/openat-die.c: Likewise.
47463         * lib/openat-priv.h: Likewise.
47464         * lib/openat-proc.c: Likewise.
47465         * lib/openat.c: Likewise.
47466         * lib/openat.h: Likewise.
47467         * lib/pagealign_alloc.c: Likewise.
47468         * lib/pagealign_alloc.h: Likewise.
47469         * lib/physmem.c: Likewise.
47470         * lib/physmem.h: Likewise.
47471         * lib/pipe-safer.c: Likewise.
47472         * lib/pipe.c: Likewise.
47473         * lib/pipe.h: Likewise.
47474         * lib/posixtm.c: Likewise.
47475         * lib/posixtm.h: Likewise.
47476         * lib/posixver.c: Likewise.
47477         * lib/printf-frexp.c: Likewise.
47478         * lib/printf-frexp.h: Likewise.
47479         * lib/printf-frexpl.c: Likewise.
47480         * lib/printf-frexpl.h: Likewise.
47481         * lib/printf.c: Likewise.
47482         * lib/progname.c: Likewise.
47483         * lib/progname.h: Likewise.
47484         * lib/progreloc.c: Likewise.
47485         * lib/putenv.c: Likewise.
47486         * lib/quote.c: Likewise.
47487         * lib/quote.h: Likewise.
47488         * lib/quotearg.c: Likewise.
47489         * lib/quotearg.h: Likewise.
47490         * lib/raise.c: Likewise.
47491         * lib/readline.c: Likewise.
47492         * lib/readline.h: Likewise.
47493         * lib/readlink.c: Likewise.
47494         * lib/readtokens.c: Likewise.
47495         * lib/readtokens.h: Likewise.
47496         * lib/readtokens0.c: Likewise.
47497         * lib/readtokens0.h: Likewise.
47498         * lib/readutmp.c: Likewise.
47499         * lib/readutmp.h: Likewise.
47500         * lib/realloc.c: Likewise.
47501         * lib/relocwrapper.c: Likewise.
47502         * lib/rename-dest-slash.c: Likewise.
47503         * lib/rename.c: Likewise.
47504         * lib/rmdir.c: Likewise.
47505         * lib/rpmatch.c: Likewise.
47506         * lib/safe-read.c: Likewise.
47507         * lib/safe-read.h: Likewise.
47508         * lib/safe-write.c: Likewise.
47509         * lib/safe-write.h: Likewise.
47510         * lib/same-inode.h: Likewise.
47511         * lib/same.c: Likewise.
47512         * lib/same.h: Likewise.
47513         * lib/save-cwd.c: Likewise.
47514         * lib/save-cwd.h: Likewise.
47515         * lib/savedir.c: Likewise.
47516         * lib/savedir.h: Likewise.
47517         * lib/savewd.c: Likewise.
47518         * lib/savewd.h: Likewise.
47519         * lib/search.in.h: Likewise.
47520         * lib/setenv.c: Likewise.
47521         * lib/setenv.h: Likewise.
47522         * lib/settime.c: Likewise.
47523         * lib/sh-quote.c: Likewise.
47524         * lib/sh-quote.h: Likewise.
47525         * lib/sig2str.c: Likewise.
47526         * lib/sig2str.h: Likewise.
47527         * lib/signal.in.h: Likewise.
47528         * lib/signbitd.c: Likewise.
47529         * lib/signbitf.c: Likewise.
47530         * lib/signbitl.c: Likewise.
47531         * lib/sigprocmask.c: Likewise.
47532         * lib/sincosl.c: Likewise.
47533         * lib/sleep.c: Likewise.
47534         * lib/sprintf.c: Likewise.
47535         * lib/sqrtl.c: Likewise.
47536         * lib/stat-time.h: Likewise.
47537         * lib/stdio--.h: Likewise.
47538         * lib/stdio-safer.h: Likewise.
47539         * lib/stdlib--.h: Likewise.
47540         * lib/stdlib-safer.h: Likewise.
47541         * lib/stdlib.in.h: Likewise.
47542         * lib/stpcpy.c: Likewise.
47543         * lib/stpncpy.c: Likewise.
47544         * lib/strchrnul.c: Likewise.
47545         * lib/strcspn.c: Likewise.
47546         * lib/strerror.c: Likewise.
47547         * lib/strftime.c: Likewise.
47548         * lib/strftime.h: Likewise.
47549         * lib/striconveh.c: Likewise.
47550         * lib/striconveh.h: Likewise.
47551         * lib/striconveha.c: Likewise.
47552         * lib/striconveha.h: Likewise.
47553         * lib/stripslash.c: Likewise.
47554         * lib/strnlen1.c: Likewise.
47555         * lib/strnlen1.h: Likewise.
47556         * lib/strtod.c: Likewise.
47557         * lib/strtoimax.c: Likewise.
47558         * lib/strtok_r.c: Likewise.
47559         * lib/strtol.c: Likewise.
47560         * lib/strtoll.c: Likewise.
47561         * lib/strtoul.c: Likewise.
47562         * lib/strtoull.c: Likewise.
47563         * lib/sysexits.in.h: Likewise.
47564         * lib/tempname.c: Likewise.
47565         * lib/tempname.h: Likewise.
47566         * lib/timespec.h: Likewise.
47567         * lib/tls.c: Likewise.
47568         * lib/tls.h: Likewise.
47569         * lib/tmpdir.c: Likewise.
47570         * lib/tmpdir.h: Likewise.
47571         * lib/tmpfile-safer.c: Likewise.
47572         * lib/tmpfile.c: Likewise.
47573         * lib/trigl.c: Likewise.
47574         * lib/trigl.h: Likewise.
47575         * lib/trim.c: Likewise.
47576         * lib/trim.h: Likewise.
47577         * lib/trunc.c: Likewise.
47578         * lib/truncf.c: Likewise.
47579         * lib/truncl.c: Likewise.
47580         * lib/tsearch.c: Likewise.
47581         * lib/unicodeio.c: Likewise.
47582         * lib/unicodeio.h: Likewise.
47583         * lib/unistd--.h: Likewise.
47584         * lib/unistd-safer.h: Likewise.
47585         * lib/unistdio/ulc-fprintf.c: Likewise.
47586         * lib/unistdio/ulc-vfprintf.c: Likewise.
47587         * lib/unlinkdir.c: Likewise.
47588         * lib/unlinkdir.h: Likewise.
47589         * lib/unlocked-io.h: Likewise.
47590         * lib/unsetenv.c: Likewise.
47591         * lib/userspec.c: Likewise.
47592         * lib/utime.c: Likewise.
47593         * lib/utimecmp.c: Likewise.
47594         * lib/utimecmp.h: Likewise.
47595         * lib/utimens.c: Likewise.
47596         * lib/verify.h: Likewise.
47597         * lib/verror.c: Likewise.
47598         * lib/verror.h: Likewise.
47599         * lib/version-etc-fsf.c: Likewise.
47600         * lib/version-etc.c: Likewise.
47601         * lib/version-etc.h: Likewise.
47602         * lib/vfprintf.c: Likewise.
47603         * lib/vprintf.c: Likewise.
47604         * lib/vsprintf.c: Likewise.
47605         * lib/w32spawn.h: Likewise.
47606         * lib/wait-process.c: Likewise.
47607         * lib/wait-process.h: Likewise.
47608         * lib/wcwidth.c: Likewise.
47609         * lib/write-any-file.c: Likewise.
47610         * lib/xalloc-die.c: Likewise.
47611         * lib/xalloc.h: Likewise.
47612         * lib/xasprintf.c: Likewise.
47613         * lib/xgetcwd.c: Likewise.
47614         * lib/xgetcwd.h: Likewise.
47615         * lib/xgetdomainname.c: Likewise.
47616         * lib/xgetdomainname.h: Likewise.
47617         * lib/xgethostname.c: Likewise.
47618         * lib/xmalloc.c: Likewise.
47619         * lib/xmalloca.c: Likewise.
47620         * lib/xmalloca.h: Likewise.
47621         * lib/xmemcoll.c: Likewise.
47622         * lib/xnanosleep.c: Likewise.
47623         * lib/xreadlink.c: Likewise.
47624         * lib/xreadlink.h: Likewise.
47625         * lib/xsetenv.c: Likewise.
47626         * lib/xsetenv.h: Likewise.
47627         * lib/xstriconv.c: Likewise.
47628         * lib/xstriconv.h: Likewise.
47629         * lib/xstrndup.c: Likewise.
47630         * lib/xstrndup.h: Likewise.
47631         * lib/xstrtod.c: Likewise.
47632         * lib/xstrtod.h: Likewise.
47633         * lib/xstrtol-error.c: Likewise.
47634         * lib/xstrtol.c: Likewise.
47635         * lib/xstrtol.h: Likewise.
47636         * lib/xtime.h: Likewise.
47637         * lib/xvasprintf.c: Likewise.
47638         * lib/xvasprintf.h: Likewise.
47639         * lib/yesno.c: Likewise.
47640         * lib/yesno.h: Likewise.
47641         * posix-modules: Likewise.
47642         * tests/test-alloca-opt.c: Likewise.
47643         * tests/test-arcfour.c: Likewise.
47644         * tests/test-arctwo.c: Likewise.
47645         * tests/test-argmatch.c: Likewise.
47646         * tests/test-argp-2.sh: Likewise.
47647         * tests/test-argp.c: Likewise.
47648         * tests/test-arpa_inet.c: Likewise.
47649         * tests/test-array_list.c: Likewise.
47650         * tests/test-array_oset.c: Likewise.
47651         * tests/test-atexit.c: Likewise.
47652         * tests/test-avltree_list.c: Likewise.
47653         * tests/test-avltree_oset.c: Likewise.
47654         * tests/test-avltreehash_list.c: Likewise.
47655         * tests/test-base64.c: Likewise.
47656         * tests/test-binary-io.c: Likewise.
47657         * tests/test-byteswap.c: Likewise.
47658         * tests/test-c-ctype.c: Likewise.
47659         * tests/test-c-strcasecmp.c: Likewise.
47660         * tests/test-c-strcasestr.c: Likewise.
47661         * tests/test-c-strncasecmp.c: Likewise.
47662         * tests/test-c-strstr.c: Likewise.
47663         * tests/test-canonicalize-lgpl.c: Likewise.
47664         * tests/test-canonicalize.c: Likewise.
47665         * tests/test-carray_list.c: Likewise.
47666         * tests/test-ceilf.c: Likewise.
47667         * tests/test-ceill.c: Likewise.
47668         * tests/test-count-one-bits.c: Likewise.
47669         * tests/test-crc.c: Likewise.
47670         * tests/test-dirname.c: Likewise.
47671         * tests/test-fbufmode.c: Likewise.
47672         * tests/test-fcntl.c: Likewise.
47673         * tests/test-fflush.c: Likewise.
47674         * tests/test-floorf.c: Likewise.
47675         * tests/test-floorl.c: Likewise.
47676         * tests/test-fopen.c: Likewise.
47677         * tests/test-fprintf-posix.c: Likewise.
47678         * tests/test-fprintf-posix.h: Likewise.
47679         * tests/test-fpurge.c: Likewise.
47680         * tests/test-freadable.c: Likewise.
47681         * tests/test-freadahead.c: Likewise.
47682         * tests/test-freading.c: Likewise.
47683         * tests/test-freopen.c: Likewise.
47684         * tests/test-frexp.c: Likewise.
47685         * tests/test-frexpl.c: Likewise.
47686         * tests/test-fseek.c: Likewise.
47687         * tests/test-fseeko.c: Likewise.
47688         * tests/test-fseterr.c: Likewise.
47689         * tests/test-fstrcmp.c: Likewise.
47690         * tests/test-ftell.c: Likewise.
47691         * tests/test-ftello.c: Likewise.
47692         * tests/test-fwritable.c: Likewise.
47693         * tests/test-fwriting.c: Likewise.
47694         * tests/test-getaddrinfo.c: Likewise.
47695         * tests/test-getpass.c: Likewise.
47696         * tests/test-gettimeofday.c: Likewise.
47697         * tests/test-hmac-md5.c: Likewise.
47698         * tests/test-hmac-sha1.c: Likewise.
47699         * tests/test-iconv.c: Likewise.
47700         * tests/test-iconvme.c: Likewise.
47701         * tests/test-inttypes.c: Likewise.
47702         * tests/test-isnan.c: Likewise.
47703         * tests/test-isnanf.c: Likewise.
47704         * tests/test-isnanl-nolibm.c: Likewise.
47705         * tests/test-isnanl.c: Likewise.
47706         * tests/test-isnanl.h: Likewise.
47707         * tests/test-ldexpl.c: Likewise.
47708         * tests/test-linked_list.c: Likewise.
47709         * tests/test-linkedhash_list.c: Likewise.
47710         * tests/test-locale.c: Likewise.
47711         * tests/test-localename.c: Likewise.
47712         * tests/test-lock.c: Likewise.
47713         * tests/test-lseek.c: Likewise.
47714         * tests/test-malloca.c: Likewise.
47715         * tests/test-math.c: Likewise.
47716         * tests/test-mbscasecmp.c: Likewise.
47717         * tests/test-mbscasestr1.c: Likewise.
47718         * tests/test-mbscasestr2.c: Likewise.
47719         * tests/test-mbscasestr3.c: Likewise.
47720         * tests/test-mbscasestr4.c: Likewise.
47721         * tests/test-mbschr.c: Likewise.
47722         * tests/test-mbscspn.c: Likewise.
47723         * tests/test-mbsncasecmp.c: Likewise.
47724         * tests/test-mbspbrk.c: Likewise.
47725         * tests/test-mbspcasecmp.c: Likewise.
47726         * tests/test-mbsrchr.c: Likewise.
47727         * tests/test-mbsspn.c: Likewise.
47728         * tests/test-mbsstr1.c: Likewise.
47729         * tests/test-mbsstr2.c: Likewise.
47730         * tests/test-mbsstr3.c: Likewise.
47731         * tests/test-md5.c: Likewise.
47732         * tests/test-memmem.c: Likewise.
47733         * tests/test-netinet_in.c: Likewise.
47734         * tests/test-open.c: Likewise.
47735         * tests/test-printf-frexp.c: Likewise.
47736         * tests/test-printf-frexpl.c: Likewise.
47737         * tests/test-printf-posix.c: Likewise.
47738         * tests/test-printf-posix.h: Likewise.
47739         * tests/test-rbtree_list.c: Likewise.
47740         * tests/test-rbtree_oset.c: Likewise.
47741         * tests/test-rbtreehash_list.c: Likewise.
47742         * tests/test-read-file.c: Likewise.
47743         * tests/test-rijndael.c: Likewise.
47744         * tests/test-search.c: Likewise.
47745         * tests/test-signbit.c: Likewise.
47746         * tests/test-sleep.c: Likewise.
47747         * tests/test-snprintf-posix.c: Likewise.
47748         * tests/test-snprintf-posix.h: Likewise.
47749         * tests/test-snprintf.c: Likewise.
47750         * tests/test-sprintf-posix.c: Likewise.
47751         * tests/test-sprintf-posix.h: Likewise.
47752         * tests/test-stat-time.c: Likewise.
47753         * tests/test-stdbool.c: Likewise.
47754         * tests/test-stdint.c: Likewise.
47755         * tests/test-stdio.c: Likewise.
47756         * tests/test-stdlib.c: Likewise.
47757         * tests/test-stpncpy.c: Likewise.
47758         * tests/test-strcasestr.c: Likewise.
47759         * tests/test-striconv.c: Likewise.
47760         * tests/test-striconveh.c: Likewise.
47761         * tests/test-striconveha.c: Likewise.
47762         * tests/test-string.c: Likewise.
47763         * tests/test-sys_select.c: Likewise.
47764         * tests/test-sys_socket.c: Likewise.
47765         * tests/test-sys_stat.c: Likewise.
47766         * tests/test-sys_time.c: Likewise.
47767         * tests/test-sysexits.c: Likewise.
47768         * tests/test-time.c: Likewise.
47769         * tests/test-tls.c: Likewise.
47770         * tests/test-trunc.c: Likewise.
47771         * tests/test-truncf.c: Likewise.
47772         * tests/test-truncl.c: Likewise.
47773         * tests/test-unistd.c: Likewise.
47774         * tests/test-vasnprintf-posix.c: Likewise.
47775         * tests/test-vasnprintf-posix2.c: Likewise.
47776         * tests/test-vasnprintf.c: Likewise.
47777         * tests/test-vasprintf-posix.c: Likewise.
47778         * tests/test-vasprintf.c: Likewise.
47779         * tests/test-verify.c: Likewise.
47780         * tests/test-vfprintf-posix.c: Likewise.
47781         * tests/test-vprintf-posix.c: Likewise.
47782         * tests/test-vsnprintf-posix.c: Likewise.
47783         * tests/test-vsnprintf.c: Likewise.
47784         * tests/test-vsprintf-posix.c: Likewise.
47785         * tests/test-wchar.c: Likewise.
47786         * tests/test-wctype.c: Likewise.
47787         * tests/test-wcwidth.c: Likewise.
47788         * tests/test-xstrtol.c: Likewise.
47789         * tests/test-xvasprintf.c: Likewise.
47790         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
47791         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
47792         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
47793         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
47794         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
47795         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
47796         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
47797         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
47798         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
47799         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
47800         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
47801         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
47802         * tests/uniname/test-uninames.c: Likewise.
47803         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
47804         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
47805         * tests/unistdio/test-u16-printf1.h: Likewise.
47806         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
47807         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
47808         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
47809         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
47810         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
47811         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
47812         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
47813         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
47814         * tests/unistdio/test-u32-printf1.h: Likewise.
47815         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
47816         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
47817         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
47818         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
47819         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
47820         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
47821         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
47822         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
47823         * tests/unistdio/test-u8-printf1.h: Likewise.
47824         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
47825         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
47826         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
47827         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
47828         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
47829         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
47830         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
47831         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
47832         * tests/unistdio/test-ulc-printf1.h: Likewise.
47833         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
47834         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
47835         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
47836         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
47837         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
47838         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
47839         * tests/uniwidth/test-u16-strwidth.c: Likewise.
47840         * tests/uniwidth/test-u16-width.c: Likewise.
47841         * tests/uniwidth/test-u32-strwidth.c: Likewise.
47842         * tests/uniwidth/test-u32-width.c: Likewise.
47843         * tests/uniwidth/test-u8-strwidth.c: Likewise.
47844         * tests/uniwidth/test-u8-width.c: Likewise.
47845         * tests/uniwidth/test-uc_width.c: Likewise.
47846         * config/srclist-update: Likewise.
47847         (fixlicense): Update to GPLv3+.
47848
47849         Change copyright notice from LGPLv2.1+ to LGPLv3+.
47850         * tests/test-tsearch.c: Change copyright notice.
47851
47852         Change copyright notice from LGPLv2.0+ to LGPLv3+.
47853         * lib/c-strcaseeq.h: Change copyright notice.
47854         * lib/streq.h: Likewise.
47855         * lib/uniconv.h: Likewise.
47856         * lib/uniconv/u-conv-from-enc.h: Likewise.
47857         * lib/uniconv/u-conv-to-enc.h: Likewise.
47858         * lib/uniconv/u-strconv-from-enc.h: Likewise.
47859         * lib/uniconv/u-strconv-to-enc.h: Likewise.
47860         * lib/uniconv/u16-conv-from-enc.c: Likewise.
47861         * lib/uniconv/u16-conv-to-enc.c: Likewise.
47862         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
47863         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
47864         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
47865         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
47866         * lib/uniconv/u32-conv-from-enc.c: Likewise.
47867         * lib/uniconv/u32-conv-to-enc.c: Likewise.
47868         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
47869         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
47870         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
47871         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
47872         * lib/uniconv/u8-conv-from-enc.c: Likewise.
47873         * lib/uniconv/u8-conv-to-enc.c: Likewise.
47874         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
47875         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
47876         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
47877         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
47878         * lib/uniname.h: Likewise.
47879         * lib/uniname/uniname.c: Likewise.
47880         * lib/unistdio.h: Likewise.
47881         * lib/unistdio/u-asnprintf.h: Likewise.
47882         * lib/unistdio/u-asprintf.h: Likewise.
47883         * lib/unistdio/u-printf-args.c: Likewise.
47884         * lib/unistdio/u-printf-args.h: Likewise.
47885         * lib/unistdio/u-printf-parse.h: Likewise.
47886         * lib/unistdio/u-snprintf.h: Likewise.
47887         * lib/unistdio/u-sprintf.h: Likewise.
47888         * lib/unistdio/u-vasprintf.h: Likewise.
47889         * lib/unistdio/u-vsnprintf.h: Likewise.
47890         * lib/unistdio/u-vsprintf.h: Likewise.
47891         * lib/unistdio/u16-asnprintf.c: Likewise.
47892         * lib/unistdio/u16-asprintf.c: Likewise.
47893         * lib/unistdio/u16-printf-parse.c: Likewise.
47894         * lib/unistdio/u16-snprintf.c: Likewise.
47895         * lib/unistdio/u16-sprintf.c: Likewise.
47896         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
47897         * lib/unistdio/u16-u16-asprintf.c: Likewise.
47898         * lib/unistdio/u16-u16-snprintf.c: Likewise.
47899         * lib/unistdio/u16-u16-sprintf.c: Likewise.
47900         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
47901         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
47902         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
47903         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
47904         * lib/unistdio/u16-vasnprintf.c: Likewise.
47905         * lib/unistdio/u16-vasprintf.c: Likewise.
47906         * lib/unistdio/u16-vsnprintf.c: Likewise.
47907         * lib/unistdio/u16-vsprintf.c: Likewise.
47908         * lib/unistdio/u32-asnprintf.c: Likewise.
47909         * lib/unistdio/u32-asprintf.c: Likewise.
47910         * lib/unistdio/u32-printf-parse.c: Likewise.
47911         * lib/unistdio/u32-snprintf.c: Likewise.
47912         * lib/unistdio/u32-sprintf.c: Likewise.
47913         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
47914         * lib/unistdio/u32-u32-asprintf.c: Likewise.
47915         * lib/unistdio/u32-u32-snprintf.c: Likewise.
47916         * lib/unistdio/u32-u32-sprintf.c: Likewise.
47917         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
47918         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
47919         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
47920         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
47921         * lib/unistdio/u32-vasnprintf.c: Likewise.
47922         * lib/unistdio/u32-vasprintf.c: Likewise.
47923         * lib/unistdio/u32-vsnprintf.c: Likewise.
47924         * lib/unistdio/u32-vsprintf.c: Likewise.
47925         * lib/unistdio/u8-asnprintf.c: Likewise.
47926         * lib/unistdio/u8-asprintf.c: Likewise.
47927         * lib/unistdio/u8-printf-parse.c: Likewise.
47928         * lib/unistdio/u8-snprintf.c: Likewise.
47929         * lib/unistdio/u8-sprintf.c: Likewise.
47930         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
47931         * lib/unistdio/u8-u8-asprintf.c: Likewise.
47932         * lib/unistdio/u8-u8-snprintf.c: Likewise.
47933         * lib/unistdio/u8-u8-sprintf.c: Likewise.
47934         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
47935         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
47936         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
47937         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
47938         * lib/unistdio/u8-vasnprintf.c: Likewise.
47939         * lib/unistdio/u8-vasprintf.c: Likewise.
47940         * lib/unistdio/u8-vsnprintf.c: Likewise.
47941         * lib/unistdio/u8-vsprintf.c: Likewise.
47942         * lib/unistdio/ulc-asnprintf.c: Likewise.
47943         * lib/unistdio/ulc-asprintf.c: Likewise.
47944         * lib/unistdio/ulc-printf-parse.c: Likewise.
47945         * lib/unistdio/ulc-snprintf.c: Likewise.
47946         * lib/unistdio/ulc-sprintf.c: Likewise.
47947         * lib/unistdio/ulc-vasnprintf.c: Likewise.
47948         * lib/unistdio/ulc-vasprintf.c: Likewise.
47949         * lib/unistdio/ulc-vsnprintf.c: Likewise.
47950         * lib/unistdio/ulc-vsprintf.c: Likewise.
47951         * lib/unistr.h: Likewise.
47952         * lib/unistr/u-cpy-alloc.h: Likewise.
47953         * lib/unistr/u-cpy.h: Likewise.
47954         * lib/unistr/u-endswith.h: Likewise.
47955         * lib/unistr/u-move.h: Likewise.
47956         * lib/unistr/u-set.h: Likewise.
47957         * lib/unistr/u-startswith.h: Likewise.
47958         * lib/unistr/u-stpcpy.h: Likewise.
47959         * lib/unistr/u-stpncpy.h: Likewise.
47960         * lib/unistr/u-strcat.h: Likewise.
47961         * lib/unistr/u-strcpy.h: Likewise.
47962         * lib/unistr/u-strcspn.h: Likewise.
47963         * lib/unistr/u-strdup.h: Likewise.
47964         * lib/unistr/u-strlen.h: Likewise.
47965         * lib/unistr/u-strncat.h: Likewise.
47966         * lib/unistr/u-strncpy.h: Likewise.
47967         * lib/unistr/u-strnlen.h: Likewise.
47968         * lib/unistr/u-strpbrk.h: Likewise.
47969         * lib/unistr/u-strspn.h: Likewise.
47970         * lib/unistr/u-strstr.h: Likewise.
47971         * lib/unistr/u-strtok.h: Likewise.
47972         * lib/unistr/u16-check.c: Likewise.
47973         * lib/unistr/u16-chr.c: Likewise.
47974         * lib/unistr/u16-cmp.c: Likewise.
47975         * lib/unistr/u16-cpy-alloc.c: Likewise.
47976         * lib/unistr/u16-cpy.c: Likewise.
47977         * lib/unistr/u16-endswith.c: Likewise.
47978         * lib/unistr/u16-mblen.c: Likewise.
47979         * lib/unistr/u16-mbsnlen.c: Likewise.
47980         * lib/unistr/u16-mbtouc-aux.c: Likewise.
47981         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
47982         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
47983         * lib/unistr/u16-mbtouc.c: Likewise.
47984         * lib/unistr/u16-mbtoucr.c: Likewise.
47985         * lib/unistr/u16-move.c: Likewise.
47986         * lib/unistr/u16-next.c: Likewise.
47987         * lib/unistr/u16-prev.c: Likewise.
47988         * lib/unistr/u16-set.c: Likewise.
47989         * lib/unistr/u16-startswith.c: Likewise.
47990         * lib/unistr/u16-stpcpy.c: Likewise.
47991         * lib/unistr/u16-stpncpy.c: Likewise.
47992         * lib/unistr/u16-strcat.c: Likewise.
47993         * lib/unistr/u16-strchr.c: Likewise.
47994         * lib/unistr/u16-strcmp.c: Likewise.
47995         * lib/unistr/u16-strcpy.c: Likewise.
47996         * lib/unistr/u16-strcspn.c: Likewise.
47997         * lib/unistr/u16-strdup.c: Likewise.
47998         * lib/unistr/u16-strlen.c: Likewise.
47999         * lib/unistr/u16-strmblen.c: Likewise.
48000         * lib/unistr/u16-strmbtouc.c: Likewise.
48001         * lib/unistr/u16-strncat.c: Likewise.
48002         * lib/unistr/u16-strncmp.c: Likewise.
48003         * lib/unistr/u16-strncpy.c: Likewise.
48004         * lib/unistr/u16-strnlen.c: Likewise.
48005         * lib/unistr/u16-strpbrk.c: Likewise.
48006         * lib/unistr/u16-strrchr.c: Likewise.
48007         * lib/unistr/u16-strspn.c: Likewise.
48008         * lib/unistr/u16-strstr.c: Likewise.
48009         * lib/unistr/u16-strtok.c: Likewise.
48010         * lib/unistr/u16-to-u32.c: Likewise.
48011         * lib/unistr/u16-to-u8.c: Likewise.
48012         * lib/unistr/u16-uctomb-aux.c: Likewise.
48013         * lib/unistr/u16-uctomb.c: Likewise.
48014         * lib/unistr/u32-check.c: Likewise.
48015         * lib/unistr/u32-chr.c: Likewise.
48016         * lib/unistr/u32-cmp.c: Likewise.
48017         * lib/unistr/u32-cpy-alloc.c: Likewise.
48018         * lib/unistr/u32-cpy.c: Likewise.
48019         * lib/unistr/u32-endswith.c: Likewise.
48020         * lib/unistr/u32-mblen.c: Likewise.
48021         * lib/unistr/u32-mbsnlen.c: Likewise.
48022         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
48023         * lib/unistr/u32-mbtouc.c: Likewise.
48024         * lib/unistr/u32-mbtoucr.c: Likewise.
48025         * lib/unistr/u32-move.c: Likewise.
48026         * lib/unistr/u32-next.c: Likewise.
48027         * lib/unistr/u32-prev.c: Likewise.
48028         * lib/unistr/u32-set.c: Likewise.
48029         * lib/unistr/u32-startswith.c: Likewise.
48030         * lib/unistr/u32-stpcpy.c: Likewise.
48031         * lib/unistr/u32-stpncpy.c: Likewise.
48032         * lib/unistr/u32-strcat.c: Likewise.
48033         * lib/unistr/u32-strchr.c: Likewise.
48034         * lib/unistr/u32-strcmp.c: Likewise.
48035         * lib/unistr/u32-strcpy.c: Likewise.
48036         * lib/unistr/u32-strcspn.c: Likewise.
48037         * lib/unistr/u32-strdup.c: Likewise.
48038         * lib/unistr/u32-strlen.c: Likewise.
48039         * lib/unistr/u32-strmblen.c: Likewise.
48040         * lib/unistr/u32-strmbtouc.c: Likewise.
48041         * lib/unistr/u32-strncat.c: Likewise.
48042         * lib/unistr/u32-strncmp.c: Likewise.
48043         * lib/unistr/u32-strncpy.c: Likewise.
48044         * lib/unistr/u32-strnlen.c: Likewise.
48045         * lib/unistr/u32-strpbrk.c: Likewise.
48046         * lib/unistr/u32-strrchr.c: Likewise.
48047         * lib/unistr/u32-strspn.c: Likewise.
48048         * lib/unistr/u32-strstr.c: Likewise.
48049         * lib/unistr/u32-strtok.c: Likewise.
48050         * lib/unistr/u32-to-u16.c: Likewise.
48051         * lib/unistr/u32-to-u8.c: Likewise.
48052         * lib/unistr/u32-uctomb.c: Likewise.
48053         * lib/unistr/u8-check.c: Likewise.
48054         * lib/unistr/u8-chr.c: Likewise.
48055         * lib/unistr/u8-cmp.c: Likewise.
48056         * lib/unistr/u8-cpy-alloc.c: Likewise.
48057         * lib/unistr/u8-cpy.c: Likewise.
48058         * lib/unistr/u8-endswith.c: Likewise.
48059         * lib/unistr/u8-mblen.c: Likewise.
48060         * lib/unistr/u8-mbsnlen.c: Likewise.
48061         * lib/unistr/u8-mbtouc-aux.c: Likewise.
48062         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
48063         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
48064         * lib/unistr/u8-mbtouc.c: Likewise.
48065         * lib/unistr/u8-mbtoucr.c: Likewise.
48066         * lib/unistr/u8-move.c: Likewise.
48067         * lib/unistr/u8-next.c: Likewise.
48068         * lib/unistr/u8-prev.c: Likewise.
48069         * lib/unistr/u8-set.c: Likewise.
48070         * lib/unistr/u8-startswith.c: Likewise.
48071         * lib/unistr/u8-stpcpy.c: Likewise.
48072         * lib/unistr/u8-stpncpy.c: Likewise.
48073         * lib/unistr/u8-strcat.c: Likewise.
48074         * lib/unistr/u8-strchr.c: Likewise.
48075         * lib/unistr/u8-strcmp.c: Likewise.
48076         * lib/unistr/u8-strcpy.c: Likewise.
48077         * lib/unistr/u8-strcspn.c: Likewise.
48078         * lib/unistr/u8-strdup.c: Likewise.
48079         * lib/unistr/u8-strlen.c: Likewise.
48080         * lib/unistr/u8-strmblen.c: Likewise.
48081         * lib/unistr/u8-strmbtouc.c: Likewise.
48082         * lib/unistr/u8-strncat.c: Likewise.
48083         * lib/unistr/u8-strncmp.c: Likewise.
48084         * lib/unistr/u8-strncpy.c: Likewise.
48085         * lib/unistr/u8-strnlen.c: Likewise.
48086         * lib/unistr/u8-strpbrk.c: Likewise.
48087         * lib/unistr/u8-strrchr.c: Likewise.
48088         * lib/unistr/u8-strspn.c: Likewise.
48089         * lib/unistr/u8-strstr.c: Likewise.
48090         * lib/unistr/u8-strtok.c: Likewise.
48091         * lib/unistr/u8-to-u16.c: Likewise.
48092         * lib/unistr/u8-to-u32.c: Likewise.
48093         * lib/unistr/u8-uctomb-aux.c: Likewise.
48094         * lib/unistr/u8-uctomb.c: Likewise.
48095         * lib/unitypes.h: Likewise.
48096         * lib/uniwidth.h: Likewise.
48097         * lib/uniwidth/cjk.h: Likewise.
48098         * lib/uniwidth/u16-strwidth.c: Likewise.
48099         * lib/uniwidth/u16-width.c: Likewise.
48100         * lib/uniwidth/u32-strwidth.c: Likewise.
48101         * lib/uniwidth/u32-width.c: Likewise.
48102         * lib/uniwidth/u8-strwidth.c: Likewise.
48103         * lib/uniwidth/u8-width.c: Likewise.
48104         * lib/uniwidth/width.c: Likewise.
48105
48106 2007-10-07  Bruno Haible  <bruno@clisp.org>
48107
48108         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
48109         The file is still under LGPL (see modules/inttypes).
48110
48111 2007-10-06  Bruno Haible  <bruno@clisp.org>
48112
48113         * modules/trunc (Dependencies): Add 'extensions'.
48114         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
48115         Reported by Ben Pfaff <blp@gnu.org>.
48116
48117 2007-10-06  Bruno Haible  <bruno@clisp.org>
48118
48119         * modules/freopen-tests: New file.
48120         * tests/test-freopen.c: New file.
48121
48122         * modules/fopen-tests: New file.
48123         * tests/test-fopen.c: New file.
48124
48125         * modules/fopen: New file.
48126         * lib/fopen.c: New file.
48127         * m4/fopen.m4: New file.
48128         * modules/freopen: New file.
48129         * lib/freopen.c: New file.
48130         * m4/freopen.m4: New file.
48131         * lib/stdio.in.h (fopen, freopen): New declarations.
48132         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
48133         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
48134         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
48135         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
48136         * doc/functions/fopen.texi: Mention the 'fopen' module.
48137         * doc/functions/freopen.texi: Mention the 'freopen' module.
48138
48139 2007-10-06  Bruno Haible  <bruno@clisp.org>
48140
48141         * modules/open-tests: New file.
48142         * tests/test-open.c: New file.
48143
48144         * modules/open: New file.
48145         * lib/open.c: New file.
48146         * m4/open.m4: New file.
48147         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
48148         lib/open.c does.
48149         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
48150         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
48151         macros.
48152         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
48153         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
48154         REPLACE_OPEN.
48155         * doc/functions/open.texi: Mention the 'open' module.
48156
48157 2007-10-04  Bruno Haible  <bruno@clisp.org>
48158
48159         * modules/ceill-tests: New file.
48160         * tests/test-ceill.c: New file.
48161
48162         * modules/ceill: New file.
48163         * lib/ceill.c: Replace entire file.
48164         * m4/ceill.m4: New file.
48165         * lib/math.in.h (ceill): Replace declaration.
48166         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
48167         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
48168         * doc/functions/ceill.texi: Mention the 'ceill' module.
48169         * modules/mathl (Files): Remove lib/ceill.c.
48170         (Depends-on): Add ceill.
48171
48172 2007-10-04  Bruno Haible  <bruno@clisp.org>
48173
48174         * modules/ceilf-tests: New file.
48175         * tests/test-ceilf.c: New file.
48176
48177         * modules/ceilf: New file.
48178         * lib/ceil.c: New file.
48179         * lib/ceilf.c: New file.
48180         * m4/ceilf.m4: New file.
48181         * lib/math.in.h (ceilf): New declaration.
48182         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
48183         HAVE_DECL_CEILF.
48184         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
48185         HAVE_DECL_CEILF.
48186         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
48187
48188 2007-10-04  Bruno Haible  <bruno@clisp.org>
48189
48190         * modules/floorl-tests: New file.
48191         * tests/test-floorl.c: New file.
48192
48193         * modules/floorl: New file.
48194         * lib/floorl.c: Replace entire file.
48195         * m4/floorl.m4: New file.
48196         * lib/math.in.h (floorl): Replace declaration.
48197         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
48198         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
48199         * doc/functions/floorl.texi: Mention the 'floorl' module.
48200         * modules/mathl (Files): Remove lib/floorl.c.
48201         (Depends-on): Add floorl.
48202
48203 2007-10-04  Bruno Haible  <bruno@clisp.org>
48204
48205         * modules/floorf-tests: New file.
48206         * tests/test-floorf.c: New file.
48207
48208         * modules/floorf: New file.
48209         * lib/floor.c: New file.
48210         * lib/floorf.c: New file.
48211         * m4/floorf.m4: New file.
48212         * lib/math.in.h (floorf): New declaration.
48213         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
48214         HAVE_DECL_FLOORF.
48215         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
48216         HAVE_DECL_FLOORF.
48217         * doc/functions/floorf.texi: Mention the 'floorf' module.
48218
48219 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
48220             Bruno Haible  <bruno@clisp.org>
48221
48222         Advertise for the Git server instead of the CVS server.
48223         * doc/gnulib-intro.texi (Steady Development): Mention the Git
48224         repository instead of the CVS one.
48225         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
48226         about all VCS systems generically.
48227         * doc/gnulib.texi (Introduction): Capitalize `Git'.
48228
48229 2007-10-04  Bruno Haible  <bruno@clisp.org>
48230
48231         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
48232         means.
48233         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
48234
48235 2007-10-04  Bruno Haible  <bruno@clisp.org>
48236
48237         * modules/truncl-tests: New file.
48238         * tests/test-truncl.c: New file.
48239
48240         * modules/truncl: New file.
48241         * lib/truncl.c: New file.
48242         * m4/truncl.m4: New file.
48243         * lib/math.in.h (truncl): New declaration.
48244         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
48245         HAVE_DECL_TRUNCL.
48246         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
48247         HAVE_DECL_TRUNCL.
48248         * doc/functions/truncl.texi: Mention the 'truncl' module.
48249
48250 2007-10-04  Bruno Haible  <bruno@clisp.org>
48251
48252         * modules/truncf-tests: New file.
48253         * tests/test-truncf.c: New file.
48254
48255         * modules/truncf: New file.
48256         * lib/trunc.c: Make paramerizable through USE_* macros.
48257         * lib/truncf.c: New file.
48258         * m4/truncf.m4: New file.
48259         * lib/math.in.h (truncf): New declaration.
48260         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
48261         HAVE_DECL_TRUNCF.
48262         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
48263         HAVE_DECL_TRUNCF.
48264         * doc/functions/truncf.texi: Mention the 'truncf' module.
48265
48266 2007-10-03  Bruno Haible  <bruno@clisp.org>
48267
48268         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
48269         augmentation also for tests modules.
48270         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
48271         * modules/atexit-tests (Makefile.am): Likewise.
48272         * modules/binary-io-tests (Makefile.am): Likewise.
48273         * modules/c-strcase-tests (Makefile.am): Likewise.
48274         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
48275         * modules/canonicalize-tests (Makefile.am): Likewise.
48276         * modules/closein-tests (Makefile.am): Likewise.
48277         * modules/fprintf-posix-tests (Makefile.am): Likewise.
48278         * modules/freadahead-tests (Makefile.am): Likewise.
48279         * modules/fseek-tests (Makefile.am): Likewise.
48280         * modules/fseeko-tests (Makefile.am): Likewise.
48281         * modules/ftell-tests (Makefile.am): Likewise.
48282         * modules/ftello-tests (Makefile.am): Likewise.
48283         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
48284         * modules/isnanl-tests (Makefile.am): Likewise.
48285         * modules/lseek-tests (Makefile.am): Likewise.
48286         * modules/mbscasecmp-tests (Makefile.am): Likewise.
48287         * modules/mbscasestr-tests (Makefile.am): Likewise.
48288         * modules/mbschr-tests (Makefile.am): Likewise.
48289         * modules/mbscspn-tests (Makefile.am): Likewise.
48290         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
48291         * modules/mbspbrk-tests (Makefile.am): Likewise.
48292         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
48293         * modules/mbsrchr-tests (Makefile.am): Likewise.
48294         * modules/mbsspn-tests (Makefile.am): Likewise.
48295         * modules/mbsstr-tests (Makefile.am): Likewise.
48296         * modules/printf-posix-tests (Makefile.am): Likewise.
48297         * modules/snprintf-posix-tests (Makefile.am): Likewise.
48298         * modules/sprintf-posix-tests (Makefile.am): Likewise.
48299         * modules/tsearch-tests (Makefile.am): Likewise.
48300         * modules/uniname/uniname-tests (Makefile.am): Likewise.
48301         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
48302         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
48303         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
48304         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
48305         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
48306         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
48307         * modules/vprintf-posix-tests (Makefile.am): Likewise.
48308         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
48309         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
48310         * modules/xstrtoimax-tests (Makefile.am): Likewise.
48311         * modules/xstrtol-tests (Makefile.am): Likewise.
48312         * modules/xstrtoumax-tests (Makefile.am): Likewise.
48313         * modules/yesno-tests (Makefile.am): Likewise.
48314
48315 2007-10-03  Bruno Haible  <bruno@clisp.org>
48316
48317         * modules/trunc-tests: New file.
48318         * tests/test-trunc.c: New file.
48319
48320         * modules/trunc: New file.
48321         * lib/trunc.c: New file.
48322         * m4/trunc.m4: New file.
48323         * lib/math.in.h (trunc): New declaration.
48324         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
48325         HAVE_DECL_TRUNC.
48326         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
48327         HAVE_DECL_TRUNC.
48328         * doc/functions/trunc.texi: Mention the 'trunc' module.
48329
48330 2007-10-03  Bruno Haible  <bruno@clisp.org>
48331
48332         * tests/test-fpending.c: New file, mostly copied
48333         from coreutils/lib/t-fpending.c.
48334         * modules/fpending-tests: New file.
48335
48336 2007-10-03  Bruno Haible  <bruno@clisp.org>
48337
48338         Port the stdio extensions to QNX (untested).
48339         * lib/fseterr.c (fseterr): Add support for QNX.
48340         * lib/fbufmode.c (fbufmode): Likewise.
48341         * lib/freadable.c (freadable): Likewise.
48342         * lib/fwritable.c (fwritable): Likewise.
48343         * lib/freading.c (freading): Likewise.
48344         * lib/fwriting.c (fwriting): Likewise.
48345         * lib/freadahead.c (freadahed): Likewise.
48346         * lib/fpurge.c (fpurge): Likewise.
48347         * lib/fseeko.c (rpl_fseeko): Likewise.
48348
48349 2007-10-03  Bruno Haible  <bruno@clisp.org>
48350             Jim Meyering  <jim@meyering.net>
48351             Eric Blake  <ebb9@byu.net>
48352
48353         * doc/relocatable.texi: Use @command instead of @program.
48354
48355 2007-10-02  Jim Meyering  <jim@meyering.net>
48356
48357         Perform one more "_.h" -> ".in.h" substitution.
48358         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
48359         instead of unistd_.h here, too.
48360
48361 2007-10-01  Bruno Haible  <bruno@clisp.org>
48362
48363         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
48364         Needed for the alloca-opt module.
48365
48366 2007-09-30  Bruno Haible  <bruno@clisp.org>
48367
48368         * lib/alloca.in.h: Renamed from lib/alloca_.h.
48369         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
48370         alloca_.h.
48371         * lib/argz.in.h: Renamed from lib/argz_.h.
48372         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
48373         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
48374         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
48375         byteswap_.h.
48376         * lib/dirent.in.h: Renamed from lib/dirent_.h.
48377         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
48378         dirent_.h.
48379         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
48380         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
48381         fcntl_.h.
48382         * lib/float.in.h: Renamed from lib/float_.h.
48383         * modules/float (Files, Makefile.am): Use float.in.h instead of
48384         float_.h.
48385         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
48386         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
48387         fnmatch_.h.
48388         * lib/getopt.in.h: Renamed from lib/getopt_.h.
48389         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
48390         getopt_.h.
48391         * lib/glob.in.h: Renamed from lib/glob_.h.
48392         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
48393         * lib/iconv.in.h: Renamed from lib/iconv_.h.
48394         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
48395         iconv_.h.
48396         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
48397         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
48398         inttypes_.h.
48399         * lib/locale.in.h: Renamed from lib/locale_.h.
48400         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
48401         locale_.h.
48402         * lib/math.in.h: Renamed from lib/math_.h.
48403         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
48404         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
48405         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
48406         of netinet_in_.h. Add dependency.
48407         * lib/poll.in.h: Renamed from lib/poll_.h.
48408         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
48409         * lib/search.in.h: Renamed from lib/search_.h.
48410         * modules/search (Files, Makefile.am): Use search.in.h instead of
48411         search_.h.
48412         * lib/signal.in.h: Renamed from lib/signal_.h.
48413         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
48414         _signal.h.
48415         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
48416         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
48417         stdbool_.h.
48418         * lib/stdint.in.h: Renamed from lib/stdint_.h.
48419         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
48420         stdint_.h.
48421         * lib/stdio.in.h: Renamed from lib/stdio_.h.
48422         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
48423         stdio_.h.
48424         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
48425         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
48426         stdlib_.h.
48427         * lib/string.in.h: Renamed from lib/string_.h.
48428         * modules/string (Files, Makefile.am): Use string.in.h instead of
48429         string_.h.
48430         * doc/gnulib-tool.texi (Initial import): Update.
48431         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
48432         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
48433         of sys_select_.h. Add dependency.
48434         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
48435         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
48436         of sys_socket_.h.
48437         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
48438         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
48439         sys_stat_.h.
48440         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
48441         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
48442         sys_time_.h.
48443         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
48444         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
48445         sysexits_.h.
48446         * lib/time.in.h: Renamed from lib/time_.h.
48447         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
48448         * lib/unistd.in.h: Renamed from lib/unistd_.h.
48449         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
48450         unistd_.h.
48451         * lib/wchar.in.h: Renamed from lib/wchar_.h.
48452         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
48453         wchar_.h.
48454         * lib/wctype.in.h: Renamed from lib/wctype_.h.
48455         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
48456         wctype_.h.
48457         * build-aux/bootstrap (slurp): Update.
48458         * lib/.cppi-disable: Update.
48459
48460 2007-09-30  Bruno Haible  <bruno@clisp.org>
48461
48462         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
48463         Needed on BeOS.
48464
48465 2007-09-30  Bruno Haible  <bruno@clisp.org>
48466
48467         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
48468
48469 2007-09-29  Bruno Haible  <bruno@clisp.org>
48470
48471         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
48472
48473 2007-09-29  Bruno Haible  <bruno@clisp.org>
48474
48475         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
48476         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
48477         * build-aux/install-reloc: Compile also areadlink.c.
48478         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
48479
48480 2007-09-29  Bruno Haible  <bruno@clisp.org>
48481
48482         * gnulib-tool (func_emit_initmacro_done): Indentation.
48483
48484 2007-09-29  Bruno Haible  <bruno@clisp.org>
48485
48486         * README: Add CVS checkout update instructions.
48487         Info from Bob Proulx <bob@proulx.com>.
48488
48489 2007-09-28  Eric Blake  <ebb9@byu.net>
48490
48491         Provide move-if-change.
48492         * build-aux/move-if-change: New file, based on best practice
48493         rather than any canonical upstream location.
48494
48495 2007-09-28  Jim Meyering  <jim@meyering.net>
48496
48497         Fix canonicalize loop-detection corner case.
48498         Do not attempt to stat the symlink values stored via seen_triple.
48499         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
48500         on linux-2.6.18, (but not 2.6.22).
48501         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
48502         triple_compare.  The former compares dev,ino,filename, while the latter
48503         would actually stat dirname(filename) when dev and ino were equal.
48504         * lib/hash-triple.c: Install <string.h>.
48505         (STREQ): Define.
48506         (triple_compare_ino_str): New function.
48507         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
48508
48509 2007-09-28  Eric Blake  <ebb9@byu.net>
48510
48511         Enforce that AC_REPLACE_FUNCS files exist.
48512         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
48513         override check for typos.
48514
48515         Fix test-closein on Solaris 10.
48516         * tests/test-closein.c (main): Don't assume stdin can be inherited
48517         closed on all systems.
48518         * tests/test-closein.sh: Likewise.
48519         Reported by Piotr Tarnowski.
48520
48521 2007-09-28  Jim Meyering  <jim@meyering.net>
48522
48523         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
48524
48525 2007-09-27  Jim Meyering  <jim@meyering.net>
48526
48527         canonicalize: Avoid a false-positive cycle failure.
48528         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
48529         Sort.  Remove cycle-check.
48530         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
48531         not cycle-check.h.
48532         (seen_triple): New function.
48533         (canonicalize_filename_mode): Use it instead of cycle-check.
48534         * tests/test-canonicalize.c: Add a test for this bug.
48535         * tests/test-canonicalize.sh: Set up and run the test.
48536
48537         New module, file-set, from coreutils.
48538         * modules/file-set: Define it.
48539         * lib/file-set.c, lib/file-set.h: Implement.
48540
48541         New module, hash-triple, from coreutils.
48542         * modules/hash-triple: Define it.
48543         * lib/hash-triple.c, lib/hash-triple.h: Implement.
48544
48545 2007-09-25  Eric Blake  <ebb9@byu.net>
48546
48547         Fix strerror on Interix.
48548         * lib/string_.h (strerror): Declare replacement.
48549         * doc/functions/strerror.texi (strerror): Document the Interix
48550         shortcoming.
48551         * modules/string (Makefile.am): Support new hooks.
48552         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
48553         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
48554         gl_FUNC_STRERROR_SEPARATE.
48555         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
48556         * lib/strerror.c (rpl_strerror): Provide replacement.
48557         * modules/strerror (Depends-on): Add string.
48558         (configure.ac): Detect use of module.
48559         * tests/test-strerror.c: New file.
48560         * modules/strerror-tests: New test module.
48561         * modules/argp (Depends-on): Add strerror.
48562         * modules/error (Depends-on): Likewise.
48563         Reported by Martin Koeppe.
48564
48565 2007-09-24  Bruno Haible  <bruno@clisp.org>
48566
48567         * README: Update git instructions.
48568
48569 2007-09-24  Eric Blake  <ebb9@byu.net>
48570
48571         Revert fpending breakage from 2007-09-08.
48572         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
48573         __fpending.c.
48574
48575 2007-09-24  Jim Meyering  <jim@meyering.net>
48576
48577         filenamecat.c: Add a test.
48578         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
48579         showing how the function works when DIR is the empty string.
48580
48581 2007-09-21  Simon Josefsson  <simon@josefsson.org>
48582
48583         * tests/test-canonicalize.sh: Turn on executable bit.
48584
48585 2007-09-19  Eric Blake  <ebb9@byu.net>
48586
48587         * README: Update CVS instructions.
48588
48589 2007-09-18  Bruno Haible  <bruno@clisp.org>
48590
48591         * modules/areadlink: New file.
48592         * lib/areadlink.h (areadlink): New declaration.
48593         * lib/areadlink.c: New file, based on lib/xreadlink.c.
48594
48595 2007-09-17  Jim Meyering  <jim@meyering.net>
48596
48597         * lib/savewd.c (ESTALE) [!defined]: Define.
48598         Reported to be required on Interix by Martin Koeppe.
48599
48600 2007-09-17  Bruno Haible  <bruno@clisp.org>
48601
48602         * gnulib-tool (func_version): Use $version.
48603
48604 2007-09-16  Bruno Haible  <bruno@clisp.org>
48605
48606         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
48607         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
48608         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
48609         Reported by Greg Schafer <gschafer@zip.com.au>.
48610
48611 2007-09-15  Bruno Haible  <bruno@clisp.org>
48612
48613         * gnulib-tool (sed): Try a little harder to make bash understand the
48614         alias.
48615         Reported by Bruce Korb <bruce.korb@gmail.com>.
48616
48617 2007-09-13  Eric Blake  <ebb9@byu.net>
48618
48619         * ChangeLog: Remove conflict markers.
48620
48621 2007-09-13  Simon Josefsson  <simon@josefsson.org>
48622
48623         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
48624         Reported by Bruno Haible <bruno@clisp.org>.
48625
48626 2007-09-12  Bruno Haible  <bruno@clisp.org>
48627
48628         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
48629         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
48630         is not defined.
48631
48632 2007-09-12  Eric Blake  <ebb9@byu.net>
48633
48634         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
48635         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
48636         Autoconf definition.
48637         * modules/euidaccess (Depends-on): Add extensions, for
48638         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
48639         * modules/fnmatch (Depends-on): Likewise.
48640         * modules/getaddrinfo (Depends-on): Likewise.
48641         * modules/getdelim (Depends-on): Likewise.
48642         * modules/getline (Depends-on): Likewise.
48643         * modules/getsubopt (Depends-on): Likewise.
48644         * modules/gettext (Depends-on): Likewise.
48645         * modules/group-member (Depends-on): Likewise.
48646         * modules/mbchar (Depends-on): Likewise.
48647         * modules/memmem (Depends-on): Likewise.
48648         * modules/mempcpy (Depends-on): Likewise.
48649         * modules/memrchr (Depends-on): Likewise.
48650         * modules/pagealign_alloc (Depends-on): Likewise.
48651         * modules/readutmp (Depends-on): Likewise.
48652         * modules/stpcpy (Depends-on): Likewise.
48653         * modules/stpncpy (Depends-on): Likewise.
48654         * modules/strchrnul (Depends-on): Likewise.
48655         * modules/strndup (Depends-on): Likewise.
48656         * modules/strsep (Depends-on): Likewise.
48657         * modules/strverscmp (Depends-on): Likewise.
48658         * modules/vasprintf (Depends-on): Likewise.
48659         * modules/wcwidth (Depends-on): Likewise.
48660         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
48661         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
48662         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
48663         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
48664         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
48665         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
48666         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
48667         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
48668         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
48669         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
48670         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
48671         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
48672         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
48673         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
48674         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
48675         * m4/readutmp.m4 (gl_READUTMP): Likewise.
48676         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
48677         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
48678         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
48679         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
48680         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
48681         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
48682         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
48683         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
48684         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
48685         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
48686         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
48687         so that lock.m4 can be used in gettext without extensions module.
48688
48689 2007-09-11  Bruno Haible  <bruno@clisp.org>
48690
48691         * m4/isc-posix.m4: Remove file.
48692         Suggested by Eric Blake.
48693
48694 2007-09-11  Eric Blake  <ebb9@byu.net>
48695
48696         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
48697
48698 2007-09-10  Bruno Haible  <bruno@clisp.org>
48699
48700         * posix-modules: Fix typo in error message.
48701         Reported by Matt <mkraai@beckman.com>.
48702
48703 2007-09-09  Bruno Haible  <bruno@clisp.org>
48704
48705         * doc/functions/getdelim.texi: Update list of platforms lacking the
48706         function.
48707         * doc/functions/getline.texi: Likewise.
48708
48709 2007-09-09  Jim Meyering  <jim@meyering.net>
48710
48711         * lib/hash.c (hash_initialize): Detect calloc failure.
48712         Reported by Bruno Haible.
48713
48714 2007-09-09  Bruno Haible  <bruno@clisp.org>
48715
48716         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
48717         malloc or realloc fails.
48718
48719 2007-09-09  Bruno Haible  <bruno@clisp.org>
48720
48721         * modules/getcwd (Depends-on): Add malloc-posix.
48722         * modules/glob (Depends-on): Likewise.
48723         * modules/putenv (Depends-on): Likewise.
48724         * modules/strdup (Depends-on): Likewise.
48725         * modules/getdelim (Depends-on): Add realloc-posix.
48726         * modules/read-file (Depends-on): Likewise.
48727
48728 2007-09-09  Bruno Haible  <bruno@clisp.org>
48729
48730         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
48731         (gl_FUNC_MALLOC_POSIX): Require it.
48732         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
48733         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
48734         * modules/realloc (Files): Add m4/malloc.m4.
48735         * modules/calloc (Files): Likewise.
48736
48737 2007-09-09  Bruno Haible  <bruno@clisp.org>
48738
48739         * modules/malloc-posix: New file.
48740         * modules/malloc (Depends-on): Add malloc-posix.
48741         * lib/malloc.c: Include errno.h.
48742         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
48743         and a POSIX-compatible malloc into a single function. Set ENOMEM
48744         when returning NULL.
48745         * m4/malloc.m4: New file.
48746         * doc/functions/malloc.texi: Mention the malloc-posix module.
48747         * lib/stdlib_.h (malloc): New declaration.
48748         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
48749         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
48750         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
48751         and HAVE_MALLOC_POSIX.
48752
48753 2007-09-09  Bruno Haible  <bruno@clisp.org>
48754
48755         * modules/realloc-posix: New file.
48756         * modules/realloc (Depends-on): Add realloc-posix.
48757         * lib/realloc.c: Include errno.h.
48758         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
48759         and a POSIX-compatible realloc into a single function. Set ENOMEM
48760         when returning NULL.
48761         * m4/realloc.m4: New file.
48762         * doc/functions/realloc.texi: Mention the realloc-posix module.
48763         * lib/stdlib_.h (realloc): New declaration.
48764         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
48765         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
48766         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
48767         and HAVE_REALLOC_POSIX.
48768
48769 2007-09-09  Bruno Haible  <bruno@clisp.org>
48770
48771         * modules/calloc-posix: New file.
48772         * modules/calloc (Depends-on): Add calloc-posix.
48773         * lib/calloc.c: Include errno.h.
48774         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
48775         and a POSIX-compatible calloc into a single function. Set ENOMEM
48776         when returning NULL.
48777         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
48778         * doc/functions/calloc.texi: Mention the calloc-posix module.
48779         * lib/stdlib_.h (calloc): New declaration.
48780         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
48781         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
48782         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
48783         and HAVE_CALLOC_POSIX.
48784
48785 2007-09-09  Bruno Haible  <bruno@clisp.org>
48786
48787         Allow for modules to show an arbitrary notice.
48788         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
48789         * gnulib-tool: New option --extract-notice.
48790         (func_usage): Document it.
48791         (sed_extract_prog): Update.
48792         (func_get_notice): New function.
48793         (func_modules_notice): New function.
48794         (func_import, func_create_testdir): Invoke it.
48795         Suggested by Jim Meyering.
48796
48797 2007-09-09  Bruno Haible  <bruno@clisp.org>
48798
48799         * gnulib-tool: New options --verbose, --quiet.
48800         (func_usage): Document them.
48801         (verbose): New variable.
48802         (func_execute_command): New function.
48803         (func_import): Don't show the module list and the file list if
48804         $verbose < 0.
48805         (func_create_testdir): Likewise. Use func_execute_command.
48806         (func_create_megatestdir): Use func_execute_command.
48807
48808 2007-09-08  Bruno Haible  <bruno@clisp.org>
48809
48810         * gnulib-tool (func_import): Prefer rsync over wget when available,
48811         for fetching the PO files.
48812
48813 2007-09-08  Bruno Haible  <bruno@clisp.org>
48814
48815         * posix-modules: New file. Portions copied from gnulib-tool.
48816         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
48817
48818 2007-09-08  Jim Meyering  <jim@meyering.net>
48819
48820         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
48821         * lib/fpending.h: Rename from __fpending.h.
48822         * lib/fpending.c: Rename from __fpending.c.
48823         Include "fpending.h", not "__fpending.h".
48824         * lib/__fpending.h, lib/__fpending.c: Remove files.
48825         * modules/fpending (Files): Reflect new file names.
48826         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
48827
48828 2007-09-08  Bruno Haible  <bruno@clisp.org>
48829
48830         * m4/inttypes-h.m4: Remove stub file.
48831
48832 2007-09-07  Simon Josefsson  <simon@josefsson.org>
48833
48834         * doc/headers/stdint.texi: Discuss #include_next issue.
48835
48836 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
48837
48838         * build-aux/bootstrap: Remove obsolete comment about wget --help.
48839
48840 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
48841
48842         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
48843         in variable name.
48844
48845 2007-09-03  Jim Meyering  <jim@meyering.net>
48846
48847         New module: git-version-gen.
48848         * modules/git-version-gen: New file.
48849
48850         Import changes from coreutils for bootstrap script.
48851
48852         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
48853
48854         bootstrap: uses rsync to download the .po files
48855         * build-aux/bootstrap (po_download_command_format): New global.
48856         (download_po_files): Use rsync.
48857         (update_po_files): Don't remove .po files after download,
48858         so future rsync runs can take advantage of the copies.
48859
48860         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
48861
48862         Solve the unnecessary-.po-file-regeneration problem once and for all.
48863         * build-aux/bootstrap (download_po_files): New function, renamed from
48864         get_translations.  Now, downloads, but doesn't update LINGUAS.
48865         (update_po_files): New function.
48866
48867         bootstrap: Ignore more.
48868         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
48869         uniwidth to e.g., lib/.gitignore.
48870         (slurp): Handle the sys_stat_.h -> sys mapping, too.
48871
48872         * build-aux/bootstrap: New setting: vc_ignore.
48873         (insert_sorted_if_absent): Create $file if absent.
48874         Adapt to new, possibly empty, list: $vc_ignore.
48875
48876         bootstrap: generate more ignorable names
48877         * build-aux/bootstrap (slurp): When generating ignorable names,
48878         also map .sin to .sed, .gperf to .c, and .y to .c.
48879
48880 2007-09-03  Jim Meyering  <jim@meyering.net>
48881
48882         * build-aux/git-version-gen: New file, from coreutils.  For details, see
48883         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
48884
48885 2007-09-02  Bruno Haible  <bruno@clisp.org>
48886
48887         Fix mis-recognition of 'mcs' on QNX 6.
48888         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
48889         output contains the string "Mono".
48890         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
48891         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
48892
48893 2007-09-01  Bruno Haible  <bruno@clisp.org>
48894
48895         Fix collision between uniwidth/* and linebreak modules.
48896         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
48897         u32_width): Remove declarations.
48898         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
48899         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
48900         streq3, streq2, streq1, streq0): Remove functions.
48901         (STREQ): Remove macro.
48902         (is_cjk_encoding): Remove function.
48903         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
48904         (uc_width, u8_width, u16_width, u32_width): Remove functions.
48905         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
48906         * NEWS: Document the change.
48907
48908 2007-09-01  Bruno Haible  <bruno@clisp.org>
48909
48910         * lib/streq.h: Add double-inclusion guard.
48911
48912 2007-09-01  Karl Berry  <karl@gnu.org>
48913
48914         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
48915
48916 2007-08-28  Jim Meyering  <jim@meyering.net>
48917
48918         Rename mreadlink_with_size to areadlink_with_size.
48919         * NEWS: Document the change.
48920         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
48921         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
48922         * lib/mreadlink.h: Rename this to...
48923         * lib/areadlink.h: ...this.
48924         * modules/mreadlink-with-size: Rename this to...
48925         * modules/areadlink-with-size: ...this.
48926         * lib/canonicalize.c: Reflect the renaming.
48927         * modules/canonicalize: Likewise.
48928
48929 2007-08-26  Bruno Haible  <bruno@clisp.org>
48930
48931         * gnulib-tool (func_import): When deciding which files to remove,
48932         consider also dangling symbolic links.
48933         Reported by Eric Blake.
48934
48935 2007-08-26  Bruno Haible  <bruno@clisp.org>
48936
48937         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
48938
48939 2007-08-23  Simon Josefsson  <simon@josefsson.org>
48940
48941         * lib/readline.c: Don't include getline.h, the prototype is now
48942         found in stdio.h.
48943
48944 2007-08-23  Jim Meyering  <jim@meyering.net>
48945
48946         Getdelim touchup.
48947         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
48948         around the funlockfile call, since funlockfile never sets errno.
48949         Don't set errno upon failed realloc.
48950
48951 2007-08-22  Eric Blake  <ebb9@byu.net>
48952
48953         Getline touchups.
48954         * lib/getdelim.c (getdelim): Revert regression that required *n to
48955         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
48956         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
48957         getdelim, rather than whether implementation is missing.
48958         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
48959         * lib/stdio_.h (getline): Also declare if replacement is
48960         required.
48961         * doc/functions/getdelim.texi: New file.
48962         * doc/functions/getline.texi: Likewise.
48963         * doc/gnulib.texi (Function Substitutes): Add new files.
48964         Reported by Bruno Haible.
48965
48966 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
48967
48968         * users.txt: Add Guile.
48969
48970 2007-08-22  Eric Blake  <ebb9@byu.net>
48971
48972         * tests/test-getdelim.c (main): Use remove, not unlink.
48973         * tests/test-getline.c (main): Likewise.
48974
48975         Move getline and getdelim into stdio.h, per POSIX 200x.
48976         * modules/getline (Files): Remove getline.h.
48977         (Depends-on): Add stdio.
48978         (configure.ac): Add module indicator.
48979         * modules/getdelim (Files): Remove getdelim.h.
48980         (Depends-on): Add stdio.
48981         (configure.ac): Add module indicator.
48982         * modules/stdio (Makefile.am): Work with new indicators.
48983         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
48984         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
48985         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
48986         * lib/getdelim.h: Delete.
48987         * lib/getline.h: Delete.
48988         * lib/stdio_.h (getdelim, getline): Declare.
48989         * modules/getdelim-tests: New module.
48990         * modules/getline-tests: Likewise.
48991         * tests/test-getdelim.c: New file.
48992         * tests/test-getline.c: Likewise.
48993         * NEWS: Document the change.
48994         * lib/getline.c: Update choice of header.
48995         * lib/csharpcomp.c: Likewise.
48996         * lib/getpass.c: Likewise.
48997         * lib/javacomp.c: Likewise.
48998         * lib/javaversion.c: Likewise.
48999         * lib/yesno.c: Likewise.
49000         * lib/getdelim.c: Likewise.
49001         (getdelim): Set errno on failure, and avoid memory leak.
49002
49003 2007-08-19  Bruno Haible  <bruno@clisp.org>
49004
49005         * modules/closein (Depends-on): Add freadahead.
49006         * lib/closein.c: Include freadahead.h.
49007         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
49008         is zero.
49009
49010 2007-08-19  Bruno Haible  <bruno@clisp.org>
49011
49012         * modules/freadahead-tests: New file.
49013         * tests/test-freadahead.sh: New file.
49014         * tests/test-freadahead.c: New file.
49015
49016         * modules/freadahead: New file.
49017         * lib/freadahead.h: New file.
49018         * lib/freadahead.c: New file.
49019         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
49020         fbufmode, fpurge, freadable, fwritable.
49021
49022 2007-08-19  Eric Blake  <ebb9@byu.net>
49023
49024         Test yesno in combination with closein.
49025         * lib/yesno.c (yesno): Document use of stdin.
49026         * modules/yesno-tests (Files): New module.
49027         * tests/test-yesno.c (main): New file.
49028         * tests/test-yesno.sh: Likewise.
49029
49030 2007-08-19  Bruno Haible  <bruno@clisp.org>
49031
49032         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
49033         * lib/fseeko.c (rpl_fseeko): Likewise.
49034         * lib/fseterr.c (fseterr): Likewise.
49035
49036 2007-08-19  Bruno Haible  <bruno@clisp.org>
49037
49038         * tests/test-lseek.c (main): Disable a test for BeOS.
49039         * doc/functions/lseek.texi: Document the BeOS bug.
49040
49041 2007-08-19  Bruno Haible  <bruno@clisp.org>
49042             Eric Blake  <ebb9@byu.net>
49043
49044         * lib/lseek.c: Include <sys/stat.h>.
49045         (rpl_lseek): Add workaround code also for Unix platforms.
49046         Needed for BeOS.
49047         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
49048         * doc/functions/lseek.texi: Document BeOS definiency.
49049
49050 2007-08-18  Bruno Haible  <bruno@clisp.org>
49051
49052         * modules/fstrcmp-tests: New file.
49053         * tests/test-fstrcmp.c: New file.
49054
49055 2007-08-18  Bruno Haible  <bruno@clisp.org>
49056
49057         * modules/fstrcmp: New file, from GNU gettext with modifications.
49058         * lib/fstrcmp.h: New file, from GNU gettext.
49059         * lib/fstrcmp.c: New file, from GNU gettext.
49060         * MODULES.html.sh (String handling): Add fstrcmp.
49061
49062 2007-08-18  Bruno Haible  <bruno@clisp.org>
49063
49064         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
49065         'bool'.
49066         (diag, compareseq): Remove const from the ctxt argument.
49067         (USE_HEURISTIC): Undefine at the end.
49068
49069 2007-08-18  Jim Meyering  <jim@meyering.net>
49070
49071         New file: lib/idcache.h
49072         * NEWS: Mention the addition.
49073         * modules/idcache (Files): Add lib/idcache.h
49074         * lib/idcache.c: Include "idcache.h".
49075         Don't include <sys/types.h>.
49076         Add a FIXME comment.
49077         Move file-scoped "static" declarations to the top.
49078         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
49079
49080 2007-08-17  Bruno Haible  <bruno@clisp.org>
49081         and Paul Eggert  <eggert@cs.ucla.edu>
49082
49083         * MODULES.html.sh: Add diffseq.
49084         * modules/diffseq: New file.
49085         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
49086         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
49087
49088 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
49089
49090         Import changes from coreutils for bootstrap script.
49091
49092         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
49093
49094         * build-aux/bootstrap (slurp): Work even in environments where
49095         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
49096         current code does not slurp files whose names start with ".", and
49097         this looks like it might be a troublesome area.
49098
49099         2007-07-11  Jim Meyering  <jim@meyering.net>
49100
49101         If there's a GPL vN copyright comment, require that N == 3.
49102
49103         2007-07-08  Jim Meyering  <jim@meyering.net>
49104
49105         Run the coreutils-specific code only if tests/Makefile.am.in exists.
49106         * build-aux/bootstrap (mam_template): Move definition out of loop.
49107
49108         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
49109
49110         * build-aux/bootstrap (symlink_to_dir): Rename function from
49111         symlink_to_gnulib.  Add a directory parameter.  Update all
49112         callers.
49113         (cp_mark_as_generated): Also check for -- and link to -- files in
49114         gl/.
49115
49116         2007-07-08  Jim Meyering  <jim@meyering.net>
49117
49118         Adapt to deeper hierarchy in gnulib.
49119         * build-aux/bootstrap (symlink_to_dir): If the destination
49120         directory doesn't exist, create it. This is required at least for
49121         "lib/uniwidth/cjk.h".
49122
49123         2007-05-15  Jim Meyering  <jim@meyering.net>
49124
49125         * build-aux/bootstrap: Now that generated Makefile.am files
49126         are no longer under version control, they must be created at
49127         bootstrap time.
49128
49129 2007-08-14  Ben Pfaff  <blp@gnu.org>
49130
49131         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
49132
49133 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
49134
49135         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
49136         given the changes below.
49137         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
49138         even on hosts that have padding bits beyond the supported 64.
49139
49140 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
49141
49142         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
49143         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
49144         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
49145         depends on it.
49146         (xstrtol_error): Remove.
49147         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
49148         but with a different signature.
49149         (ATTRIBUTE_NORETURN, __attribute__): New macros.
49150         * lib/xstrtol-error.c: Include exitfail.h.
49151         (xstrtol_fatal): New function, with a different signature from the
49152         old xstrtol_error, so that the caller need not worry about passing
49153         in an exit status, or about storage management of the option argument.
49154         (xstrtol_error): Now a static function.  Redo signature to
49155         implement xstrtol_fatal.  Output the correct number of hyphens in
49156         front of the option so that the caller need not worry about
49157         storage management.
49158         (N_): New macro.
49159         (_): Remove; not used now.
49160         * modules/xstrtol: Depend on getopt.
49161         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
49162         of old STRTOL_FATAL_ERROR macro.
49163         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
49164         of test program.
49165         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
49166         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
49167
49168 2007-08-08  Eric Blake  <ebb9@byu.net>
49169
49170         * lib/xstrtol-error.c: Add missing include.
49171
49172         Move xstrtol messages into gnulib domain, when --pobase is used.
49173         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
49174         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
49175         * modules/xstrtol (Files): Distribute new file.
49176         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
49177         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
49178         * tests/test-xstrtol.c: ...into new file.
49179         * tests/test-xstrtoul.c: Also test xstrtoul.
49180         * tests/test-xstrtoimax.c: Also test xstrtoimax.
49181         * tests/test-xstrtoumax.c: Also test xstrtoumax.
49182         * tests/test-xstrtol.sh: Drive the tests.
49183         * tests/test-xstrtoimax.sh: Likewise.
49184         * tests/test-xstrtoumax.sh: Likewise.
49185         * modules/xstrtol-tests: New module.
49186         * modules/xstrtoimax-tests: Likewise.
49187         * modules/xstrtoumax-tests: Likewise.
49188
49189 2007-08-08  Jim Meyering  <jim@meyering.net>
49190
49191         New function: mfile_name_concat.
49192         * lib/filenamecat.c (mfile_name_concat): New function, just like
49193         file_name_concat, but return NULL upon failure rather than exiting
49194         with a diagnostic.
49195         * lib/filenamecat.h: Declare it.
49196
49197 2007-08-07  Bruno Haible  <bruno@clisp.org>
49198
49199         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
49200         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
49201         warning from gcc.
49202         Reported by Eric Blake.
49203
49204 2007-08-07  Simon Josefsson  <simon@josefsson.org>
49205
49206         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
49207         * modules/crypto/arcfour (License): Likewise.
49208         * modules/crypto/des-tests (License): Likewise.
49209         * modules/crypto/gc-arctwo-tests (License): Likewise.
49210         * modules/crypto/gc-des-tests (License): Likewise.
49211         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
49212         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
49213         * modules/crypto/gc-md2-tests (License): Likewise.
49214         * modules/crypto/gc-md4-tests (License): Likewise.
49215         * modules/crypto/gc-md5-tests (License): Likewise.
49216         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
49217         * modules/crypto/gc-rijndael-tests (License): Likewise.
49218         * modules/crypto/gc-sha1-tests (License): Likewise.
49219         * modules/crypto/gc-tests (License): Likewise.
49220         * modules/crypto/hmac-md5 (License): Likewise.
49221         * modules/crypto/hmac-sha1 (License): Likewise.
49222         * modules/crypto/md2-tests (License): Likewise.
49223         * modules/crypto/md4-tests (License): Likewise.
49224         * modules/crypto/md5 (License): Likewise.
49225         * modules/crypto/rijndael (License): Likewise.
49226         * modules/crypto/sha1 (License): Likewise.
49227         * modules/memxor (License): Likewise.
49228
49229 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
49230         and Bruno Haible  <bruno@clisp.org>
49231
49232         * NEWS: Describe interface changes to human, xstrtol.
49233         * lib/human.h: Include <xstrtol.h>.
49234         (human_options): Return enum strtol_error, not int.  Remove
49235         bool arg; take int * instead.
49236         * lib/human.c: Don't include "gettext.h".
49237         (_): Remove; no longer used.
49238         Don't include <xstrtol.h>, since human.h does it.
49239         (human_options): Adjust to abovementioned interface changes.
49240         Do not report error to stderr; that's now the caller's
49241         responsibility.
49242         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
49243         interface change.
49244         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
49245         Str, Argument_type_string.  All uses changed.  Put " argument"
49246         in diagnostics to make them clearer.  Change wording of suffix
49247         message for clarity.
49248         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
49249         Argument_type_string.
49250         (STRTOL_FATAL_WARN): Remove; no longer used.
49251         * modules/human (Depends-on): Remove gettext-h.
49252
49253 2007-08-06  Simon Josefsson  <simon@josefsson.org>
49254
49255         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
49256
49257 2007-07-31  Bruno Haible  <bruno@clisp.org>
49258
49259         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
49260         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
49261         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
49262
49263 2007-07-31  Bruno Haible  <bruno@clisp.org>
49264
49265         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
49266         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
49267
49268 2007-07-30  Bruno Haible  <bruno@clisp.org>
49269
49270         * modules/base64 (License): Use the synonymous term "LGPLv2+".
49271         * modules/c-ctype (License): Likewise.
49272         * modules/c-strcase (License): Likewise.
49273         * modules/check-version (License): Likewise.
49274         * modules/iconv (License): Likewise.
49275         * modules/iconv_open (License): Likewise.
49276         * modules/read-file (License): Likewise.
49277         * modules/striconv (License): Likewise.
49278         * modules/strverscmp (License): Likewise.
49279         * modules/vasprintf (License): Likewise.
49280         * modules/crypto/des (License): Likewise.
49281         * modules/crypto/gc (License): Likewise.
49282         * modules/crypto/gc-arcfour (License): Likewise.
49283         * modules/crypto/gc-arctwo (License): Likewise.
49284         * modules/crypto/gc-des (License): Likewise.
49285         * modules/crypto/gc-hmac-md5 (License): Likewise.
49286         * modules/crypto/gc-hmac-sha1 (License): Likewise.
49287         * modules/crypto/gc-md2 (License): Likewise.
49288         * modules/crypto/gc-md4 (License): Likewise.
49289         * modules/crypto/gc-md5 (License): Likewise.
49290         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
49291         * modules/crypto/gc-random (License): Likewise.
49292         * modules/crypto/gc-rijndael (License): Likewise.
49293         * modules/crypto/gc-sha1 (License): Likewise.
49294         * modules/crypto/md2 (License): Likewise.
49295         * modules/crypto/md4 (License): Likewise.
49296
49297 2007-07-30  Jim Meyering  <jim@meyering.net>
49298
49299         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
49300         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
49301         it has valid stat data.  This bug would cause du not to count the
49302         sizes of inaccessible directories.
49303         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
49304         in <http://bugzilla.redhat.com/250077>.
49305
49306 2007-07-25  Peter O'Gorman  <peter@pogma.com>
49307             Bruno Haible  <bruno@clisp.org>
49308
49309         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
49310         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
49311         #include_next, gives a diagnostic about it, but reports no error in
49312         the exit code.
49313         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
49314
49315 2007-07-24  Ben Pfaff  <blp@gnu.org>
49316
49317         Improve name: "count-one-bits" is better than "popcount".
49318         * MODULES.html.sh: Update name.
49319         * lib/popcount.h: Renamed lib/count-one-bits.h.
49320         (popcount): Renamed count_one_bits.
49321         (popcountl): Renamed count_one_bits_l.
49322         (popcountll): Renamed count_one_bits_ll.
49323         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
49324         * modules/popcount: Renamed module/count-one-bits.
49325         * modules/popcount-tests: Renamed module/count-one-bits-tests.
49326         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
49327
49328 2007-07-23  Ben Pfaff  <blp@gnu.org>
49329
49330         * lib/popcount.h (popcount32): Reduce size of constants, to allow
49331         better code generation, and add U to large constants to avoid
49332         warnings, in non-GCC case.
49333         Suggested by Bruno Haible.
49334
49335 2007-07-23  Ben Pfaff  <blp@gnu.org>
49336
49337         * lib/popcount.h: Use verify_true instead of if...abort.
49338         * modules/popcount: Depend on verify module.
49339         Suggested by Jim Meyering.
49340
49341 2007-07-23  Bruno Haible  <bruno@clisp.org>
49342
49343         * gnulib-tool (func_import): Create a .cvsignore file also when the
49344         directory is not yet in CVS but the toplevel directory is. When
49345         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
49346         Reported by Karl Berry.
49347
49348 2007-07-22  Ben Pfaff  <blp@gnu.org>
49349
49350         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
49351         case.
49352         Suggested by Eric Blake.
49353
49354 2007-07-22  Ben Pfaff  <blp@gnu.org>
49355
49356         New module: popcount.
49357         * MODULES.html.sh: Add popcount.
49358         * modules/popcount: New file.
49359         * modules/popcount-tests: New file.
49360         * tests/test-popcount.c: New file.
49361         * lib/popcount.h: New file.
49362         * m4/popcount.m4: New file.
49363
49364 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
49365
49366         * build-aux/announce-gen: Update to GPLv3.
49367
49368         * build-aux/config.guess: Update from config.
49369
49370 2007-07-21  Bruno Haible  <bruno@clisp.org>
49371
49372         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
49373         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
49374
49375 2007-07-20  Jim Meyering  <jim@meyering.net>
49376
49377         * check-module: Diagnose a self-dependency.
49378
49379 2007-07-19  Bruno Haible  <bruno@clisp.org>
49380
49381         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
49382         empty.
49383         Reported by Eric Blake.
49384
49385 2007-07-18  Bruno Haible  <bruno@clisp.org>
49386
49387         * gnulib-tool: New options --po-base, --po-domain.
49388         (func_usage): Document them.
49389         (pobase, po_domain): New variables.
49390         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
49391         DEFAULT_TEXT_DOMAIN.
49392         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
49393         (func_import): Consider pobase and po_domain. Create a po/ directory.
49394         (func_create_testdir): Set pobase and po_domain to empty.
49395         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
49396         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
49397
49398 2007-07-18  Bruno Haible  <bruno@clisp.org>
49399
49400         * gnulib-tool (func_get_automake_snippet): Synthesize also an
49401         EXTRA_DIST augmentation for files in build-aux/.
49402
49403 2007-07-16  Bruno Haible  <bruno@clisp.org>
49404
49405         * modules/lseek (License): Use the synonymous term "LGPLv2+".
49406         * modules/getdelim (License): Likewise.
49407
49408 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
49409
49410         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
49411         * modules/d-type (License): Likewise.
49412         * modules/extensions (License): Likewise.
49413         * modules/fnmatch (License): Likewise.
49414         * modules/fseeko (License): Likewise.
49415         * modules/getaddrinfo (License): Likewise.
49416         * modules/getline (License): Likewise.
49417         * modules/getlogin_r (License): Likewise.
49418         * modules/getpass (License): Likewise.
49419         * modules/gettimeofday (License): Likewise.
49420         * modules/glob (License): Likewise.
49421         * modules/inet_ntop (License): Likewise.
49422         * modules/malloc (License): Likewise.
49423         * modules/malloca (License): Likewise.
49424         * modules/memmem (License): Likewise.
49425         * modules/mempcpy (License): Likewise.
49426         * modules/memset (License): Likewise.
49427         * modules/minmax (License): Likewise.
49428         * modules/mktime (License): Likewise.
49429         * modules/netinet_in (License): Likewise.
49430         * modules/pathmax (License): Likewise.
49431         * modules/poll (License): Likewise.
49432         * modules/regex (License): Likewise.
49433         * modules/snprintf (License): Likewise.
49434         * modules/stdbool (License): Likewise.
49435         * modules/stdint (License): Likewise.
49436         * modules/stdio (License): Likewise.
49437         * modules/strcase (License): Likewise.
49438         * modules/strcasestr (License): Likewise.
49439         * modules/strdup (License): Likewise.
49440         * modules/string (License): Likewise.
49441         * modules/strndup (License): Likewise.
49442         * modules/strnlen (License): Likewise.
49443         * modules/strpbrk (License): Likewise.
49444         * modules/strptime (License): Likewise.
49445         * modules/strsep (License): Likewise.
49446         * modules/sys_select (License): Likewise.
49447         * modules/sys_socket (License): Likewise.
49448         * modules/sys_stat (License): Likewise.
49449         * modules/sys_time (License): Likewise.
49450         * modules/time (License): Likewise.
49451         * modules/time_r (License): Likewise.
49452         * modules/timegm (License): Likewise.
49453         * modules/unistd (License): Likewise.
49454         * modules/vsnprintf (License): Likewise.
49455         * modules/wctype (License): Likewise.
49456
49457 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49458
49459         * modules/argz (License): LGPLv2+.
49460
49461 2007-07-15  Karl Berry  <karl@gnu.org>
49462
49463         * doc/gnulib.texi: revise node structure per new fdl.texi.
49464
49465 2007-07-14  Bruno Haible  <bruno@clisp.org>
49466
49467         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
49468         the output file.
49469         * lib/uniname/uninames.h: Regenerated.
49470
49471 2007-07-14  Karl Berry  <karl@gnu.org>
49472
49473         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
49474         omitting sectioning and index commands.
49475
49476 2007-07-13  Bruno Haible  <bruno@clisp.org>
49477
49478         New gnulib-tool option --more-symlinks.
49479         * gnulib-tool (func_usage): Document --more-symlinks.
49480         (do_copyrights): New variable.
49481         Recognize option --more-symlinks.
49482         (func_import): Don't add a copyright notice transform to
49483         sed_transform_lib_file if do_copyrights is empty.
49484
49485 2007-07-13  Bruno Haible  <bruno@clisp.org>
49486
49487         * lib/vasnprintf.c (decimal_point_char): Define also if
49488         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
49489         && !NEED_PRINTF_DIRECTIVE_A.
49490         Reported by Clemens Koller <clemens.koller@anagramm.de> via
49491         Gary V. Vaughan <gary@gnu.org>.
49492
49493 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
49494
49495         * lib/inttypes_.h: Undo previous change, since it was fixed
49496         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
49497
49498 2007-07-13  Bruno Haible  <bruno@clisp.org>
49499
49500         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
49501         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
49502
49503 2007-07-13  Jim Meyering  <jim@meyering.net>
49504
49505         df: Don't fail for Tru64's "file-on-file mount".
49506         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
49507         so we fall through and use statfs instead.  Details here:
49508         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
49509         Reported by Albert Chin.
49510
49511 2007-07-13  Bruno Haible  <bruno@clisp.org>
49512
49513         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
49514         * modules/configmake (License): Likewise.
49515         * modules/gettext (License): Likewise.
49516         * modules/gettext-h (License): Likewise.
49517         * modules/include_next (License): Likewise.
49518         * modules/link-warning (License): Likewise.
49519         * modules/localcharset (License): Likewise.
49520         * modules/localename (License): Likewise.
49521         * modules/lock (License): Likewise.
49522         * modules/relocatable-lib-lgpl (License): Likewise.
49523         * modules/size_max (License): Likewise.
49524         * modules/vasnprintf (License): Likewise.
49525         * modules/wchar (License): Likewise.
49526         * modules/xsize (License): Likewise.
49527
49528 2007-07-13  Bruno Haible  <bruno@clisp.org>
49529
49530         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
49531         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
49532
49533 2007-07-12  Bruno Haible  <bruno@clisp.org>
49534
49535         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
49536         in the modules files.
49537
49538 2007-07-11  Karl Berry  <karl@gnu.org>
49539
49540         * MODULES.html.sh (func_module): use
49541          sed -e '\|^'"${includefile}"'$|d'
49542          instead of /.../d, to avoid errors on $includefile's containing /.
49543
49544 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
49545
49546         * gnulib-tool (func_import): Avoid duplication of --avoid
49547         statements
49548         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
49549         names to `_' in variable names.
49550
49551 2007-07-10  Eric Blake  <ebb9@byu.net>
49552
49553         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
49554         * NEWS: Document this change.
49555
49556 2007-07-08  Bruno Haible  <bruno@clisp.org>
49557
49558         Update to Unicode 5.0.
49559         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
49560         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
49561         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
49562         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
49563         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
49564         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
49565         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
49566         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
49567         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
49568         U+10A3F, U+1D242..U+1D244.
49569         (nonspacing_table_ind): Update.
49570         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
49571         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
49572
49573 2007-07-08  Bruno Haible  <bruno@clisp.org>
49574
49575         Update to Unicode 5.0.
49576         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
49577         code transform. Extend the name index field of unicode_name_to_code and
49578         unicode_code_to_name from 16 to 24 bits.
49579         * lib/uniname/uniname.c (unicode_character_name,
49580         unicode_name_character): Add the range 0x12xxx to the code transform.
49581         * lib/uniname/uninames.h: Regenerated.
49582         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
49583
49584 2007-07-07  Bruno Haible  <bruno@clisp.org>
49585
49586         * modules/wcwidth-tests: New file.
49587         * tests/test-wcwidth.c: New file.
49588
49589         Work around MacOS X wcwidth() bug.
49590         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
49591         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
49592         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
49593         original wcwidth in non-UTF-8 locales.
49594         * modules/wcwidth (Depends-on): Add localcharset, streq,
49595         uniwidth/width.
49596         * doc/functions/wcwidth.texi: Update.
49597
49598 2007-07-07  Bruno Haible  <bruno@clisp.org>
49599
49600         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
49601         (wcwidth): New declaration.
49602         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
49603         macros.
49604         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
49605         here. Prepare for creating <wchar.h> unconditionally.
49606         * modules/wchar (Depends-on): Add link-warning.
49607         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
49608         REPLACE_WCWIDTH, and GL_LINK_WARNING.
49609         * lib/wcwidth.h: Remove file.
49610         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
49611         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
49612         * modules/wcwidth (Files): Remove lib/wcwidth.h.
49613         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
49614         (Include): Replace wcwidth.h with <wchar.h>.
49615         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
49616         * lib/mbchar.h: Don't include wcwidth.h.
49617         * lib/mbswidth.c: Likewise.
49618         * NEWS: Mention the change.
49619
49620 2007-07-07  Bruno Haible  <bruno@clisp.org>
49621
49622         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
49623         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
49624         definition with an external declaration.
49625         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
49626         defined as a function. Remove AC_C_INLINE requirement.
49627         * modules/wcwidth (Files): Add lib/wcwidth.c.
49628         (Makefile.am): Remove redundant statement.
49629
49630 2007-07-07  Bruno Haible  <bruno@clisp.org>
49631
49632         * MODULES.html.sh (Unicode string functions): Add the new modules.
49633
49634         * tests/uniwidth/test-u32-strwidth.c: New file.
49635         * modules/uniwidth/u32-strwidth-tests: New file.
49636
49637         * lib/uniwidth/u32-strwidth.c: New file.
49638         * modules/uniwidth/u32-strwidth: New file.
49639
49640         * tests/uniwidth/test-u16-strwidth.c: New file.
49641         * modules/uniwidth/u16-strwidth-tests: New file.
49642
49643         * lib/uniwidth/u16-strwidth.c: New file.
49644         * modules/uniwidth/u16-strwidth: New file.
49645
49646         * tests/uniwidth/test-u8-strwidth.c: New file.
49647         * modules/uniwidth/u8-strwidth-tests: New file.
49648
49649         * lib/uniwidth/u8-strwidth.c: New file.
49650         * modules/uniwidth/u8-strwidth: New file.
49651
49652         * tests/uniwidth/test-u32-width.c: New file.
49653         * modules/uniwidth/u32-width-tests: New file.
49654
49655         * lib/uniwidth/u32-width.c: New file.
49656         * modules/uniwidth/u32-width: New file.
49657
49658         * tests/uniwidth/test-u16-width.c: New file.
49659         * modules/uniwidth/u16-width-tests: New file.
49660
49661         * lib/uniwidth/u16-width.c: New file.
49662         * modules/uniwidth/u16-width: New file.
49663
49664         * tests/uniwidth/test-u8-width.c: New file.
49665         * modules/uniwidth/u8-width-tests: New file.
49666
49667         * lib/uniwidth/u8-width.c: New file.
49668         * modules/uniwidth/u8-width: New file.
49669
49670         * tests/uniwidth/test-uc_width.c: New file.
49671         * modules/uniwidth/width-tests: New file.
49672
49673         * lib/uniwidth/width.c: New file, from GNU libiconv.
49674         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
49675         * modules/uniwidth/width: New file.
49676
49677         * lib/uniwidth.h: New file, from GNU libiconv.
49678         * modules/uniwidth/base: New file.
49679
49680 2007-07-07  Bruno Haible  <bruno@clisp.org>
49681
49682         * lib/uniname.h: New file, from GNU gettext.
49683         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
49684         * lib/uniname/uninames.h: New file, from GNU gettext.
49685         * lib/uniname/uniname.c: New file, from GNU gettext.
49686         * tests/uniname/test-uninames.sh: New file.
49687         * tests/uniname/test-uninames.c: New file, from GNU gettext.
49688         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
49689         * modules/uniname/base: New file.
49690         * modules/uniname/uniname: New file.
49691         * modules/uniname/uniname-tests: New file.
49692         * MODULES.html.sh (Unicode string functions): Add the new modules.
49693
49694 2007-07-06  Bruno Haible  <bruno@clisp.org>
49695
49696         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
49697
49698 2007-07-06  Bruno Haible  <bruno@clisp.org>
49699
49700         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
49701         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
49702         includes <cygwin/sys_time.h> which includes <sys/select.h> which
49703         include <sys/time.h>.
49704         Reported by Eric Blake.
49705
49706 2007-07-06  Eric Blake  <ebb9@byu.net>
49707
49708         Fix testing canonicalize on cygwin.
49709         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
49710         Revert patch from 2007-06-19.
49711         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
49712         canonicalize module is also in use.
49713         * tests/test-canonicalize.c: New file.
49714         * tests/test-canonicalize.sh: Likewise.
49715         * modules/canonicalize-tests: Likewise.
49716
49717 2007-07-06  Jim Meyering  <jim@meyering.net>
49718
49719         * lib/getugroups.c (getugroups): Detect getgrent failure.
49720         Adjust comment to reflect reality: this function may return -1.
49721
49722 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
49723
49724         * build-aux/bootstrap (TP_URL,get_translations): Update to use
49725         the new TP address.
49726         (usage): Fix typo
49727         (gnulib_mk): New variable.
49728
49729 2007-07-05  Jim Meyering  <jim@meyering.net>
49730
49731         Don't let endgrent clobber errno, no matter how improbable.
49732         * lib/getugroups.c (getugroups): Save and restore errno around
49733         endgrent call.
49734
49735         Close the group DB even when failing with 2^31 or more members.
49736         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
49737
49738 2007-07-04  Jim Meyering  <jim@meyering.net>
49739
49740         * lib/getugroups.h: New file.
49741         * lib/getugroups.c: Include "getugroups.h".
49742         Remove uses of "register" keyword.
49743         Move local variable, "cp", down into scope where used.
49744         Give "username" parameter the "const" attribute.
49745         * modules/getugroups (Files): Add lib/getugroups.h
49746
49747 2007-07-04  Karl Berry  <karl@gnu.org>
49748
49749         * MODULES.html.sh (func_all_modules): Complete rename of
49750         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
49751
49752 2007-07-02  Bruno Haible  <bruno@clisp.org>
49753
49754         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
49755         mode, when inttypes.h comes from gnulib.
49756         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
49757
49758 2007-07-02  Simon Josefsson  <simon@josefsson.org>
49759
49760         * NEWS: Mention lgpl module name change.
49761
49762         * modules/lgpl-2.1: Renamed from lgpl.
49763
49764         * NEWS: Mention gpl module name change.
49765
49766         * modules/gpl-3.0: New file, based on gpl-2.0.
49767
49768         * modules/gpl-2.0: Renamed from gpl.
49769
49770         * modules/gpl: Fix filename, doc/gpl.texi is now found at
49771         doc/gpl-2.0.texi.
49772
49773 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
49774
49775         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
49776         #define __STDC_LIMIT_MACROS temporarily while including
49777         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
49778         Problem reported by Joel E. Denny in
49779         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
49780
49781 2007-07-01  Bruno Haible  <bruno@clisp.org>
49782
49783         * lib/unistdio.h: New file.
49784         * lib/unistdio/u-asnprintf.h: New file.
49785         * lib/unistdio/u-asprintf.h: New file.
49786         * lib/unistdio/u-printf-args.c: New file.
49787         * lib/unistdio/u-printf-args.h: New file.
49788         * lib/unistdio/u-printf-parse.h: New file.
49789         * lib/unistdio/u-snprintf.h: New file.
49790         * lib/unistdio/u-sprintf.h: New file.
49791         * lib/unistdio/u-vasprintf.h: New file.
49792         * lib/unistdio/u-vsnprintf.h: New file.
49793         * lib/unistdio/u-vsprintf.h: New file.
49794         * lib/unistdio/ulc-asnprintf.c: New file.
49795         * lib/unistdio/ulc-asprintf.c: New file.
49796         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
49797         * lib/unistdio/ulc-printf-parse.c: New file.
49798         * lib/unistdio/ulc-snprintf.c: New file.
49799         * lib/unistdio/ulc-sprintf.c: New file.
49800         * lib/unistdio/ulc-vasnprintf.c: New file.
49801         * lib/unistdio/ulc-vasprintf.c: New file.
49802         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
49803         * lib/unistdio/ulc-vsnprintf.c: New file.
49804         * lib/unistdio/ulc-vsprintf.c: New file.
49805         * lib/unistdio/u8-asnprintf.c: New file.
49806         * lib/unistdio/u8-asprintf.c: New file.
49807         * lib/unistdio/u8-printf-parse.c: New file.
49808         * lib/unistdio/u8-snprintf.c: New file.
49809         * lib/unistdio/u8-sprintf.c: New file.
49810         * lib/unistdio/u8-vasnprintf.c: New file.
49811         * lib/unistdio/u8-vasprintf.c: New file.
49812         * lib/unistdio/u8-vsnprintf.c: New file.
49813         * lib/unistdio/u8-vsprintf.c: New file.
49814         * lib/unistdio/u8-u8-asnprintf.c: New file.
49815         * lib/unistdio/u8-u8-asprintf.c: New file.
49816         * lib/unistdio/u8-u8-snprintf.c: New file.
49817         * lib/unistdio/u8-u8-sprintf.c: New file.
49818         * lib/unistdio/u8-u8-vasnprintf.c: New file.
49819         * lib/unistdio/u8-u8-vasprintf.c: New file.
49820         * lib/unistdio/u8-u8-vsnprintf.c: New file.
49821         * lib/unistdio/u8-u8-vsprintf.c: New file.
49822         * lib/unistdio/u16-asnprintf.c: New file.
49823         * lib/unistdio/u16-asprintf.c: New file.
49824         * lib/unistdio/u16-printf-parse.c: New file.
49825         * lib/unistdio/u16-snprintf.c: New file.
49826         * lib/unistdio/u16-sprintf.c: New file.
49827         * lib/unistdio/u16-vasnprintf.c: New file.
49828         * lib/unistdio/u16-vasprintf.c: New file.
49829         * lib/unistdio/u16-vsnprintf.c: New file.
49830         * lib/unistdio/u16-vsprintf.c: New file.
49831         * lib/unistdio/u16-u16-asnprintf.c: New file.
49832         * lib/unistdio/u16-u16-asprintf.c: New file.
49833         * lib/unistdio/u16-u16-snprintf.c: New file.
49834         * lib/unistdio/u16-u16-sprintf.c: New file.
49835         * lib/unistdio/u16-u16-vasnprintf.c: New file.
49836         * lib/unistdio/u16-u16-vasprintf.c: New file.
49837         * lib/unistdio/u16-u16-vsnprintf.c: New file.
49838         * lib/unistdio/u16-u16-vsprintf.c: New file.
49839         * lib/unistdio/u32-asnprintf.c: New file.
49840         * lib/unistdio/u32-asprintf.c: New file.
49841         * lib/unistdio/u32-printf-parse.c: New file.
49842         * lib/unistdio/u32-snprintf.c: New file.
49843         * lib/unistdio/u32-sprintf.c: New file.
49844         * lib/unistdio/u32-vasnprintf.c: New file.
49845         * lib/unistdio/u32-vasprintf.c: New file.
49846         * lib/unistdio/u32-vsnprintf.c: New file.
49847         * lib/unistdio/u32-vsprintf.c: New file.
49848         * lib/unistdio/u32-u32-asnprintf.c: New file.
49849         * lib/unistdio/u32-u32-asprintf.c: New file.
49850         * lib/unistdio/u32-u32-snprintf.c: New file.
49851         * lib/unistdio/u32-u32-sprintf.c: New file.
49852         * lib/unistdio/u32-u32-vasnprintf.c: New file.
49853         * lib/unistdio/u32-u32-vasprintf.c: New file.
49854         * lib/unistdio/u32-u32-vsnprintf.c: New file.
49855         * lib/unistdio/u32-u32-vsprintf.c: New file.
49856         * tests/unistdio/test-ulc-asnprintf1.c: New file.
49857         * tests/unistdio/test-ulc-asnprintf1.h: New file.
49858         * tests/unistdio/test-ulc-printf1.h: New file.
49859         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
49860         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
49861         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
49862         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
49863         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
49864         * tests/unistdio/test-ulc-vasprintf1.c: New file.
49865         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
49866         * tests/unistdio/test-ulc-vsprintf1.c: New file.
49867         * tests/unistdio/test-u8-asnprintf1.c: New file.
49868         * tests/unistdio/test-u8-asnprintf1.h: New file.
49869         * tests/unistdio/test-u8-printf1.h: New file.
49870         * tests/unistdio/test-u8-vasnprintf1.c: New file.
49871         * tests/unistdio/test-u8-vasnprintf2.c: New file.
49872         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
49873         * tests/unistdio/test-u8-vasnprintf3.c: New file.
49874         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
49875         * tests/unistdio/test-u8-vasprintf1.c: New file.
49876         * tests/unistdio/test-u8-vsnprintf1.c: New file.
49877         * tests/unistdio/test-u8-vsprintf1.c: New file.
49878         * tests/unistdio/test-u16-asnprintf1.c: New file.
49879         * tests/unistdio/test-u16-asnprintf1.h: New file.
49880         * tests/unistdio/test-u16-printf1.h: New file.
49881         * tests/unistdio/test-u16-vasnprintf1.c: New file.
49882         * tests/unistdio/test-u16-vasnprintf2.c: New file.
49883         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
49884         * tests/unistdio/test-u16-vasnprintf3.c: New file.
49885         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
49886         * tests/unistdio/test-u16-vasprintf1.c: New file.
49887         * tests/unistdio/test-u16-vsnprintf1.c: New file.
49888         * tests/unistdio/test-u16-vsprintf1.c: New file.
49889         * tests/unistdio/test-u32-asnprintf1.c: New file.
49890         * tests/unistdio/test-u32-asnprintf1.h: New file.
49891         * tests/unistdio/test-u32-printf1.h: New file.
49892         * tests/unistdio/test-u32-vasnprintf1.c: New file.
49893         * tests/unistdio/test-u32-vasnprintf2.c: New file.
49894         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
49895         * tests/unistdio/test-u32-vasnprintf3.c: New file.
49896         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
49897         * tests/unistdio/test-u32-vasprintf1.c: New file.
49898         * tests/unistdio/test-u32-vsnprintf1.c: New file.
49899         * tests/unistdio/test-u32-vsprintf1.c: New file.
49900         * modules/unistdio/base: New file.
49901         * modules/unistdio/u-printf-args: New file.
49902         * modules/unistdio/ulc-asnprintf: New file.
49903         * modules/unistdio/ulc-asprintf: New file.
49904         * modules/unistdio/ulc-fprintf: New file.
49905         * modules/unistdio/ulc-printf-parse: New file.
49906         * modules/unistdio/ulc-snprintf: New file.
49907         * modules/unistdio/ulc-sprintf: New file.
49908         * modules/unistdio/ulc-vasnprintf: New file.
49909         * modules/unistdio/ulc-vasprintf: New file.
49910         * modules/unistdio/ulc-vfprintf: New file.
49911         * modules/unistdio/ulc-vsnprintf: New file.
49912         * modules/unistdio/ulc-vsprintf: New file.
49913         * modules/unistdio/u8-asnprintf: New file.
49914         * modules/unistdio/u8-asprintf: New file.
49915         * modules/unistdio/u8-printf-parse: New file.
49916         * modules/unistdio/u8-snprintf: New file.
49917         * modules/unistdio/u8-sprintf: New file.
49918         * modules/unistdio/u8-vasnprintf: New file.
49919         * modules/unistdio/u8-vasprintf: New file.
49920         * modules/unistdio/u8-vsnprintf: New file.
49921         * modules/unistdio/u8-vsprintf: New file.
49922         * modules/unistdio/u8-u8-asnprintf: New file.
49923         * modules/unistdio/u8-u8-asprintf: New file.
49924         * modules/unistdio/u8-u8-snprintf: New file.
49925         * modules/unistdio/u8-u8-sprintf: New file.
49926         * modules/unistdio/u8-u8-vasnprintf: New file.
49927         * modules/unistdio/u8-u8-vasprintf: New file.
49928         * modules/unistdio/u8-u8-vsnprintf: New file.
49929         * modules/unistdio/u8-u8-vsprintf: New file.
49930         * modules/unistdio/u16-asnprintf: New file.
49931         * modules/unistdio/u16-asprintf: New file.
49932         * modules/unistdio/u16-printf-parse: New file.
49933         * modules/unistdio/u16-snprintf: New file.
49934         * modules/unistdio/u16-sprintf: New file.
49935         * modules/unistdio/u16-vasnprintf: New file.
49936         * modules/unistdio/u16-vasprintf: New file.
49937         * modules/unistdio/u16-vsnprintf: New file.
49938         * modules/unistdio/u16-vsprintf: New file.
49939         * modules/unistdio/u16-u16-asnprintf: New file.
49940         * modules/unistdio/u16-u16-asprintf: New file.
49941         * modules/unistdio/u16-u16-snprintf: New file.
49942         * modules/unistdio/u16-u16-sprintf: New file.
49943         * modules/unistdio/u16-u16-vasnprintf: New file.
49944         * modules/unistdio/u16-u16-vasprintf: New file.
49945         * modules/unistdio/u16-u16-vsnprintf: New file.
49946         * modules/unistdio/u16-u16-vsprintf: New file.
49947         * modules/unistdio/u32-asnprintf: New file.
49948         * modules/unistdio/u32-asprintf: New file.
49949         * modules/unistdio/u32-printf-parse: New file.
49950         * modules/unistdio/u32-snprintf: New file.
49951         * modules/unistdio/u32-sprintf: New file.
49952         * modules/unistdio/u32-vasnprintf: New file.
49953         * modules/unistdio/u32-vasprintf: New file.
49954         * modules/unistdio/u32-vsnprintf: New file.
49955         * modules/unistdio/u32-vsprintf: New file.
49956         * modules/unistdio/u32-u32-asnprintf: New file.
49957         * modules/unistdio/u32-u32-asprintf: New file.
49958         * modules/unistdio/u32-u32-snprintf: New file.
49959         * modules/unistdio/u32-u32-sprintf: New file.
49960         * modules/unistdio/u32-u32-vasnprintf: New file.
49961         * modules/unistdio/u32-u32-vasprintf: New file.
49962         * modules/unistdio/u32-u32-vsnprintf: New file.
49963         * modules/unistdio/u32-u32-vsprintf: New file.
49964         * modules/unistdio/ulc-asnprintf-tests: New file.
49965         * modules/unistdio/ulc-vasnprintf-tests: New file.
49966         * modules/unistdio/ulc-vasprintf-tests: New file.
49967         * modules/unistdio/ulc-vsnprintf-tests: New file.
49968         * modules/unistdio/ulc-vsprintf-tests: New file.
49969         * modules/unistdio/u8-asnprintf-tests: New file.
49970         * modules/unistdio/u8-vasnprintf-tests: New file.
49971         * modules/unistdio/u8-vasprintf-tests: New file.
49972         * modules/unistdio/u8-vsnprintf-tests: New file.
49973         * modules/unistdio/u8-vsprintf-tests: New file.
49974         * modules/unistdio/u16-asnprintf-tests: New file.
49975         * modules/unistdio/u16-vasnprintf-tests: New file.
49976         * modules/unistdio/u16-vasprintf-tests: New file.
49977         * modules/unistdio/u16-vsnprintf-tests: New file.
49978         * modules/unistdio/u16-vsprintf-tests: New file.
49979         * modules/unistdio/u32-asnprintf-tests: New file.
49980         * modules/unistdio/u32-vasnprintf-tests: New file.
49981         * modules/unistdio/u32-vasprintf-tests: New file.
49982         * modules/unistdio/u32-vsnprintf-tests: New file.
49983         * modules/unistdio/u32-vsprintf-tests: New file.
49984         * MODULES.html.sh (Unicode string functions): Add the new modules.
49985
49986 2007-07-01  Bruno Haible  <bruno@clisp.org>
49987
49988         * lib/sprintf.c (sprintf): Limit the available length estimation,
49989         to avoid address wraparound.
49990         * lib/vsprintf.c (vsprintf): Likewise.
49991         * modules/sprintf-posix (Dependencies): Add stdint.
49992         * modules/vsprintf-posix (Dependencies): Likewise.
49993
49994 2007-07-01  Bruno Haible  <bruno@clisp.org>
49995
49996         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
49997         Windows PATH as well. Conservative double-quoting. Comments.
49998
49999 2007-07-01  Bruno Haible  <bruno@clisp.org>
50000             Eric Blake  <ebb9@byu.net>
50001             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50002
50003         * gnulib-tool (self_abspathname): Fix algorithm to cope with
50004         empty components in $PATH, denoting '.'.
50005
50006 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50007
50008         * gnulib-tool: Fix indentation.
50009         (func_create_megatestdir): Likewise.
50010         Report by Bruno Haible.
50011
50012 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50013
50014         Sync from Automake.
50015         * build-aux/gnupload: Fix shell portability issues with for loops.
50016         Report by Karl Berry.
50017
50018 2007-06-29  Simon Josefsson  <simon@josefsson.org>
50019
50020         * build-aux/maint.mk (POURL): Use translationproject.org.
50021
50022 2007-06-27  Simon Josefsson  <simon@josefsson.org>
50023             Bruno Haible  <bruno@clisp.org>
50024
50025         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
50026         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
50027         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
50028         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
50029         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
50030
50031 2007-06-27  Bruno Haible  <bruno@clisp.org>
50032
50033         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
50034         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
50035
50036 2007-06-26  Karl Berry  <karl@gnu.org>
50037
50038         * MODULES.html.sh: remove xreadlink-with-size.
50039
50040 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
50041
50042         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
50043         method that I hope also handles the double-include problem noted
50044         by Bruno Haible in
50045         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
50046
50047 2007-06-23  Bruno Haible  <bruno@clisp.org>
50048
50049         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
50050         Don't let the 'mostlyclean' target fail if the last subdirectory could
50051         not be removed.
50052         Reported by Karl Berry.
50053
50054 2007-06-23  Bruno Haible  <bruno@clisp.org>
50055
50056         * gnulib-tool (echo): Add a speedier workaround for ksh.
50057         * tests/test-echo.sh: Likewise.
50058
50059 2007-06-23  Bruno Haible  <bruno@clisp.org>
50060
50061         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
50062         * tests/test-echo.sh: Likewise.
50063
50064 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50065
50066         * gnulib-tool (IFS): Initialize early, so we don't set it to
50067         empty later.
50068         (self_abspathname): Rewrite algorithm to set it, reindent.
50069         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
50070         (func_create_megatestdir): Merge some sed scripts.
50071
50072 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
50073
50074         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
50075         exposed by Sun Studio 11 cc on Solaris 8.
50076
50077 2007-06-22  Bruno Haible  <bruno@clisp.org>
50078
50079         * gnulib-tool (echo): Ensure the echo primitive does not interpret
50080         backslashes.
50081         * tests/test-echo.sh: New file.
50082
50083 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50084
50085         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
50086         simplify `sed_replace_build_aux' scripts, they are portable but
50087         echoing them with `echo' is not.
50088         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
50089
50090 2007-06-21  Karl Berry  <karl@gnu.org>
50091
50092         * config/srclist.txt: guess we can't handle the licenses via
50093         srclist at the moment.
50094
50095 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
50096
50097         * MODULES.html.sh: Add include_next.
50098         * modules/include_next: New file.
50099
50100 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
50101
50102         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
50103         INCLUDE_NEXT.
50104         (gl_CHECK_NEXT_HEADERS): New macro.
50105         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
50106         the obsolescent gl_ABSOLUTE_HEADER.
50107         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
50108         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
50109         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
50110         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
50111         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
50112         * m4/math_h.m4 (gl_MATH_H): Likewise.
50113         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
50114         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
50115         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
50116         * m4/stdint.m4 (gl_STDINT_H): Likewise.
50117         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
50118         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
50119         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
50120         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
50121         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
50122         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
50123         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
50124         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
50125         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
50126         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
50127         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
50128         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
50129         * m4/inttypes.m4 (gl_INTTYPES_H): Define
50130         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
50131         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
50132         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
50133         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
50134         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
50135         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
50136         * lib/float_.h: Likewise.
50137         * lib/inttypes_.h: Likewise.
50138         * lib/math_.h: Likewise.
50139         * lib/search_.h: Likewise.
50140         * lib/signal_.h: Likewise.
50141         * lib/stdint_.h: Likewise.
50142         * lib/stdio_.h: Likewise.
50143         * lib/stdlib_.h: Likewise.
50144         * lib/string_.h: Likewise.
50145         * lib/sys_stat_.h: Likewise.
50146         * lib/sys_time_.h: Likewise.
50147         * lib/time_.h: Likewise.
50148         * lib/unistd_.h: Likewise.
50149         * lib/wchar_.h: Likewise.
50150         * lib/wctype_.h: Likewise.
50151         * lib/dirent_.h: Likewise.
50152         * lib/iconv_.h: Likewise.
50153         * lib/locale_.h: Likewise.
50154         * lib/netinet_in_.h: Likewise.
50155         * lib/sys_select_.h: Likewise.
50156         * lib/sys_socket_.h: Likewise.
50157         * lib/sysexits_.h: Likewise.
50158         * modules/fcntl (Depends-on): Depend on include_next, not
50159         absolute_header.
50160         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
50161         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
50162         * modules/fchdir: Likewise.
50163         * modules/float: Likewise.
50164         * modules/iconv_open: Likewise.
50165         * modules/inttypes: Likewise.
50166         * modules/locale: Likewise.
50167         * modules/math: Likewise.
50168         * modules/netinet_in: Likewise.
50169         * modules/search: Likewise.
50170         * modules/signal: Likewise.
50171         * modules/stdint: Likewise.
50172         * modules/stdio: Likewise.
50173         * modules/stdlib: Likewise.
50174         * modules/string: Likewise.
50175         * modules/sys_select: Likewise.
50176         * modules/sys_socket: Likewise.
50177         * modules/sys_stat: Likewise.
50178         * modules/sys_time: Likewise.
50179         * modules/sysexits: Likewise.
50180         * modules/time: Likewise.
50181         * modules/unistd: Likewise.
50182         * modules/wchar: Likewise.
50183         * modules/wctype: Likewise.
50184         * modules/sys_stat: Change maintainer to "all".
50185         * modules/unistd: Likewise.
50186
50187 2007-06-20  Karl Berry  <karl@gnu.org>
50188
50189         * config/srclist.txt: track www changes in license files.
50190
50191 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
50192
50193         * build-aux/bootstrap: Remove stray dot.
50194         Make sure build_aux settings are honored when linking
50195         gnulib_extra_files.
50196
50197 2007-06-19  Eric Blake  <ebb9@byu.net>
50198
50199         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
50200         Allow compilation on cygwin.
50201
50202 2007-06-19  Jim Meyering  <jim@meyering.net>
50203
50204         xreadlink-with-size: Remove module.  No longer used.
50205         Ex-callers now use xreadlink or mreadlink-with-size.
50206         * modules/xreadlink-with-size: Remove module.
50207         * lib/xreadlink-with-size.c: Remove file.
50208         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
50209         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
50210         just before the function definition *is* accurate.
50211
50212         Eliminate one way canonicalize_filename_mode could exit.
50213         * lib/canonicalize.c (canonicalize_filename_mode):
50214         Use mreadlink_with_size, not xreadlink_with_size.
50215
50216 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
50217
50218         Detect porting problems to FreeBSD/arm, which has time_t wider than
50219         long int.  Original problem reported for GNU diff by Xin Li in
50220         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
50221         * modules/getdate (Depends-on): Add intprops, verify.
50222         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
50223         is an integer type no wider than long int.
50224
50225 2007-06-18  Jim Meyering  <jim@meyering.net>
50226
50227         New module: mreadlink-with-size.
50228         * MODULES.html.sh: Add mreadlink-with-size.
50229         * modules/mreadlink-with-size: New module
50230         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
50231         not xreadlink-with-size.
50232         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
50233
50234 2007-06-16  Bruno Haible  <bruno@clisp.org>
50235
50236         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
50237         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
50238         Reported by Gary V. Vaughan <gary@gnu.org>.
50239
50240 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
50241
50242         Revamp lchown so that it lives in unistd.h where it belongs.
50243         * lib/lchown.h: Remove.
50244         * lib/dirchownmod.c: Don't include lib/lchown.h.
50245         * lib/fchownat.c: Likewise.
50246         * lib/openat.c: Likewise.
50247         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
50248         does not follow symlinks.
50249         (EOPNOTSUPP): Define if not defined.
50250         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
50251         is defined to 0.
50252         (lchown): New decl.
50253         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
50254         Do not check for lchown decl.
50255         Set REPLACE_LCHOWN.
50256         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
50257         REPLACE_LCHOWN.
50258         * modules/chown: Make it clear it follows symlinks.
50259         * modules/lchown: Make it clear it doesn't follow symlinks.
50260         (Files): Remove lib/lchown.h
50261         (Depends-on): Add unistd.
50262         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
50263         (Include): Include <unistd.h>, not "lchown.h".
50264         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
50265         REPLACE_LCHOWN.
50266
50267 2007-06-15  Jim Meyering  <jim@meyering.net>
50268
50269         Change license (GPL to LGPL) of fsusage and dependents.
50270         * modules/fsusage (License): Change to LGPL.
50271         * modules/full-read (License): Likewise.
50272         * modules/full-write (License): Likewise.
50273         * modules/safe-read (License): Likewise.
50274         * modules/safe-write (License): Likewise.
50275
50276 2007-06-14  Ben Pfaff  <blp@gnu.org>
50277
50278         Missing part of allocsa -> malloca transition.
50279         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
50280         gl_MALLOCA.
50281
50282 2007-06-12  Bruno Haible  <bruno@clisp.org>
50283
50284         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
50285         to ia64, x86_64, i386.
50286         Reported by Eric Blake.
50287
50288 2007-06-12  Bruno Haible  <bruno@clisp.org>
50289
50290         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
50291         cross-compiling to x86_64.
50292
50293 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
50294
50295         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
50296         glitch reported by Ralf Wildenhues in
50297         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
50298
50299         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
50300         Vin Shelton.
50301
50302 2007-06-11  Bruno Haible  <bruno@clisp.org>
50303
50304         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
50305         replacement string.
50306         Reported by Eric Blake.
50307
50308 2007-06-10  Bruno Haible  <bruno@clisp.org>
50309
50310         Prepare vasnprintf code for use with Unicode strings.
50311         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
50312         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
50313         TYPE_U32_STRING.
50314         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
50315         a_u32_string variants.
50316         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
50317         * lib/printf-args.c: Don't include config.h and the specification
50318         header if PRINTF_FETCHARGS is already defined.
50319         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
50320         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
50321         TYPE_U16_STRING, TYPE_U32_STRING.
50322         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
50323         u16_directive, u16_directives, u32_directive, u32_directives): New
50324         types.
50325         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
50326         New declarations.
50327         * lib/printf-parse.c: Don't include config.h and the specification
50328         header if PRINTF_PARSE is already defined. Eliminate the set of
50329         parameters for WIDE_CHAR_VERSION; the user of this file must provide
50330         them now. Include c-ctype.h.
50331         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
50332         directive and CHAR_T_ONLY_ASCII.
50333         * lib/vasnprintf.c: Don't include config.h and the specification header
50334         if VASNPRINTF is already defined.
50335         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
50336         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
50337         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
50338         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
50339         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
50340         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
50341         code accordingly.
50342         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
50343         pad_ourselves also in this case, with the 'c' and 's' directives, and
50344         with a different notion of "width".
50345         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
50346
50347 2007-06-10  Bruno Haible  <bruno@clisp.org>
50348
50349         * modules/unistr/u32-mbsnlen: New file.
50350         * lib/unistr/u32-mbsnlen.c: New file.
50351
50352         * modules/unistr/u16-mbsnlen: New file.
50353         * lib/unistr/u16-mbsnlen.c: New file.
50354
50355         * modules/unistr/u8-mbsnlen: New file.
50356         * lib/unistr/u8-mbsnlen.c: New file.
50357
50358         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
50359         declarations.
50360
50361 2007-06-10  Bruno Haible  <bruno@clisp.org>
50362
50363         * lib/string_.h (mbsnlen): New declaration.
50364         * lib/mbsnlen.c: New file.
50365         * m4/mbsnlen.m4: New file.
50366         * modules/mbsnlen: New file.
50367         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
50368         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
50369         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
50370
50371 2007-06-10  Bruno Haible  <bruno@clisp.org>
50372
50373         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
50374
50375 2007-06-10  Bruno Haible  <bruno@clisp.org>
50376
50377         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
50378         * lib/mbuiter.h: Likewise.
50379
50380 2007-06-10  Bruno Haible  <bruno@clisp.org>
50381
50382         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
50383         declaration.
50384
50385 2007-06-10  Karl Berry  <karl@gnu.org>
50386
50387         * config/srclist.txt: remove gettext entries, Bruno prefers
50388         to update individually.
50389
50390 2007-06-10  Bruno Haible  <bruno@clisp.org>
50391
50392         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
50393         'maxlen'. Ensure only length + width bytes are allocated, not
50394         length + 1 + width.
50395
50396 2007-06-09  Bruno Haible  <bruno@clisp.org>
50397
50398         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
50399         (CHAR_T): Remove macro.
50400         (VASNPRINTF): Update.
50401
50402 2007-06-09  Bruno Haible  <bruno@clisp.org>
50403
50404         * MODULES.html.sh (Unicode string functions): Add the new modules.
50405
50406         * modules/uniconv/u32-conv-to-enc: New file.
50407         * lib/uniconv/u32-conv-to-enc.c: New file.
50408         * modules/uniconv/u32-conv-to-enc-tests: New file.
50409         * tests/uniconv/test-u32-conv-to-enc.c: New file.
50410
50411         * modules/uniconv/u16-conv-to-enc: New file.
50412         * lib/uniconv/u16-conv-to-enc.c: New file.
50413         * lib/uniconv/u-conv-to-enc.h: New file.
50414         * modules/uniconv/u16-conv-to-enc-tests: New file.
50415         * tests/uniconv/test-u16-conv-to-enc.c: New file.
50416
50417         * modules/uniconv/u8-conv-to-enc: New file.
50418         * lib/uniconv/u8-conv-to-enc.c: New file.
50419         * modules/uniconv/u8-conv-to-enc-tests: New file.
50420         * tests/uniconv/test-u8-conv-to-enc.c: New file.
50421
50422         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
50423         u32_conv_to_encoding): New declarations.
50424
50425 2007-06-09  Bruno Haible  <bruno@clisp.org>
50426
50427         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
50428
50429 2007-06-09  Bruno Haible  <bruno@clisp.org>
50430
50431         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
50432         * modules/malloca: Renamed from modules/allocsa, updated.
50433         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
50434         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
50435         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
50436         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
50437         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
50438         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
50439         * modules/xmalloca: Renamed from modules/xallocsa, updated.
50440         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
50441         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
50442         * modules/c-strcasestr (Depends-on): Update.
50443         * lib/c-strcasestr.c: Update.
50444         * modules/c-strstr (Depends-on): Update.
50445         * lib/c-strstr.c: Update.
50446         * modules/canonicalize-lgpl (Depends-on): Update.
50447         * lib/canonicalize-lgpl.c: Update.
50448         * modules/clean-temp (Depends-on): Update.
50449         * lib/clean-temp.c: Update.
50450         * modules/csharpcomp (Depends-on): Update.
50451         * lib/csharpcomp.c: Update.
50452         * modules/csharpexec (Depends-on): Update.
50453         * lib/csharpexec.c: Update.
50454         * modules/javacomp (Depends-on): Update.
50455         * lib/javacomp.c: Update.
50456         * modules/javaexec (Depends-on): Update.
50457         * lib/javaexec.c: Update.
50458         * modules/mbscasestr (Depends-on): Update.
50459         * lib/mbscasestr.c: Update.
50460         * modules/mbsstr (Depends-on): Update.
50461         * lib/mbsstr.c: Update.
50462         * modules/setenv (Depends-on): Update.
50463         * lib/setenv.c: Update.
50464         * modules/strcasestr (Depends-on): Update.
50465         * lib/strcasestr.c: Update.
50466         * modules/striconveha (Depends-on): Update.
50467         * lib/striconveha.c: Update.
50468         * modules/relocatable-prog-wrapper (Files): Update.
50469         * lib/relocwrapper.c: Update.
50470         * build-aux/install-reloc: Update.
50471         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
50472
50473 2007-06-08  Bruno Haible  <bruno@clisp.org>
50474
50475         Port to uClibc.
50476         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
50477         * lib/fpurge.c (fpurge): Likewise.
50478         * lib/freading.c (freading): Likewise.
50479         * lib/fseeko.c (rpl_fseeko): Likewise.
50480         * lib/fseterr.c (fseterr): Likewise.
50481         * lib/fwriting.c (fwriting): Likewise.
50482         * tests/test-fflush.c (main): Avoid a failure on uClibc.
50483
50484 2007-06-08  Bruno Haible  <bruno@clisp.org>
50485
50486         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
50487         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
50488         * modules/gettext (Files): Add m4/intlmacosx.m4.
50489
50490 2007-06-07  Bruno Haible  <bruno@clisp.org>
50491
50492         * modules/localename-tests: New file.
50493         * tests/test-localename.c: New file.
50494
50495         New module 'localename'.
50496         * lib/localename.h: New file.
50497         * lib/localename.c: New file, from GNU gettext.
50498         * m4/localename.m4: New file.
50499         * modules/localename: New file.
50500
50501 2007-06-07  Bruno Haible  <bruno@clisp.org>
50502
50503         Work around the lack of <wchar.h> on some builds of uClibc.
50504         * doc/headers/wchar.texi: Update.
50505         * lib/wchar_.h: Include <wchar.h> only if it exists.
50506         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
50507         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
50508         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
50509         doesn't exist.
50510         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
50511         * modules/mbfile (Depends-on): Add wchar.
50512         * modules/mbiter (Depends-on): Likewise.
50513         * modules/mbuiter (Depends-on): Likewise.
50514         Reported by Simon Josefsson.
50515
50516 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
50517
50518         Work around problem reported by Steven M. Schweda in
50519         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
50520         Tru64 5.1B with the Compaq compiler environment installed declares
50521         an 'isblank' function but does not define it in the C library.
50522         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
50523         * lib/regex_internal.h (isblank): Likewise.
50524         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
50525         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
50526
50527 2007-06-05  Bruno Haible  <bruno@clisp.org>
50528
50529         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
50530         ia64.
50531         * modules/printf-safe: New file.
50532         * modules/fprintf-posix (Depends-on): Add printf-safe.
50533         * modules/printf-posix (Depends-on): Likewise.
50534         * modules/snprintf-posix (Depends-on): Likewise.
50535         * modules/sprintf-posix (Depends-on): Likewise.
50536         * modules/vasnprintf-posix (Depends-on): Likewise.
50537         * modules/vasprintf-posix (Depends-on): Likewise.
50538         * modules/vfprintf-posix (Depends-on): Likewise.
50539         * modules/vprintf-posix (Depends-on): Likewise.
50540         * modules/vsnprintf-posix (Depends-on): Likewise.
50541         * modules/vsprintf-posix (Depends-on): Likewise.
50542         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
50543         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
50544         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
50545         "no" on i386, x86_64, ia64.
50546         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
50547         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
50548         on i386, x86_64, ia64.
50549         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
50550         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
50551         on i386, x86_64, ia64.
50552         * tests/test-vasnprintf-posix.c: Include float.h.
50553         (LDBL80_WORDS): New macro.
50554         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
50555         on i386, x86_64, ia64.
50556         * tests/test-vasprintf-posix.c: Include float.h.
50557         (LDBL80_WORDS): New macro.
50558         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
50559         on i386, x86_64, ia64.
50560         * tests/test-snprintf-posix.c: Include float.h.
50561         * tests/test-sprintf-posix.c: Likewise.
50562         * tests/test-vsnprintf-posix.c: Likewise.
50563         * tests/test-vsprintf-posix.c: Likewise.
50564
50565 2007-06-05  Bruno Haible  <bruno@clisp.org>
50566
50567         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
50568         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
50569         non-IEEE numbers on i386, x86_64, ia64.
50570         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
50571         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
50572         * tests/test-isnanl.h: Include float.h.
50573         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
50574
50575 2007-06-05  Bruno Haible  <bruno@clisp.org>
50576
50577         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
50578         also the %a / %A. Handle the %a / %A code before this extra handling.
50579
50580 2007-06-05  Bruno Haible  <bruno@clisp.org>
50581
50582         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
50583         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
50584
50585 2007-06-05  Bruno Haible  <bruno@clisp.org>
50586
50587         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
50588         typo in variable name.
50589
50590 2007-06-05  Eric Blake  <ebb9@byu.net>
50591
50592         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
50593         Reported by Simon Josefsson.
50594
50595 2007-06-04  Bruno Haible  <bruno@clisp.org>
50596
50597         Avoid test failures on some PowerPC platforms.
50598         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
50599         Define differently for PowerPC.
50600         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
50601         Reported by Gary V. Vaughan <gary@gnu.org>.
50602
50603 2007-06-02  Bruno Haible  <bruno@clisp.org>
50604
50605         Fix test-stdint failure on FreeBSD/ia64.
50606         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
50607         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
50608         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
50609         * doc/headers/stdint.texi: Update.
50610
50611 2007-06-01  Bruno Haible  <bruno@clisp.org>
50612
50613         * tests/test-binary-io.c (main): Pass a third argument to open().
50614         Reported by Gary V. Vaughan <gary@gnu.org>.
50615
50616 2007-06-01  Bruno Haible  <bruno@clisp.org>
50617
50618         * doc/functions/frexpl.texi: Update for mingw.
50619
50620 2007-06-01  Bruno Haible  <bruno@clisp.org>
50621
50622         * tests/test-lseek.c (main): Disable test of errno for invalid third
50623         argument.
50624         * doc/functions/lseek.texi: Update.
50625         Reported by Gary V. Vaughan <gary@gnu.org>.
50626
50627 2007-05-28  Bruno Haible  <bruno@clisp.org>
50628
50629         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
50630
50631 2007-05-31  Eric Blake  <ebb9@byu.net>
50632
50633         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
50634         cross compiling.
50635
50636 2007-05-30  Eric Blake  <ebb9@byu.net>
50637         and Bruno Haible  <bruno@clisp.org>
50638
50639         Work around mingw test failures exposed by m4-1.4.9b.
50640         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
50641         * tests/test-unistd.c: Disable uid_t and git_t tests for the
50642         moment.
50643
50644 2007-05-30  Bruno Haible  <bruno@clisp.org>
50645
50646         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
50647         assuming that they are closed. Needed on HP-UX 11.
50648
50649 2007-05-29  Bruno Haible  <bruno@clisp.org>
50650
50651         Fix a problem with #include_next.
50652         * lib/dirent_.h: Split the double-inclusion guard.
50653         * lib/fcntl_.h: Likewise.
50654         * lib/float_.h: Likewise.
50655         * lib/iconv_.h: Likewise.
50656         * lib/inttypes_.h: Likewise.
50657         * lib/locale_.h: Likewise.
50658         * lib/math_.h: Likewise.
50659         * lib/netinet_in_.h: Likewise.
50660         * lib/search_.h: Likewise.
50661         * lib/signal_.h: Likewise.
50662         * lib/stdint_.h: Likewise.
50663         * lib/stdio_.h: Likewise.
50664         * lib/stdlib_.h: Likewise.
50665         * lib/string_.h: Likewise.
50666         * lib/sys_select_.h: Likewise.
50667         * lib/sys_socket_.h: Likewise.
50668         * lib/sys_stat_.h: Likewise.
50669         * lib/sys_time_.h: Likewise.
50670         * lib/sysexits_.h: Likewise.
50671         * lib/time_.h: Likewise.
50672         * lib/unistd_.h: Likewise.
50673         * lib/wchar_.h: Likewise.
50674         * lib/wctype_.h: Likewise.
50675
50676 2007-05-29  Bruno Haible  <bruno@clisp.org>
50677
50678         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
50679         for the moment.
50680
50681 2007-05-29  Bruno Haible  <bruno@clisp.org>
50682
50683         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
50684         invocation.
50685         Reported by Eric Blake.
50686
50687 2007-05-29  Bruno Haible  <bruno@clisp.org>
50688
50689         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
50690         compiling case.
50691
50692 2007-05-29  Eric Blake  <ebb9@byu.net>
50693             Bruno Haible  <bruno@clisp.org>
50694
50695         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
50696         cross compiles.
50697
50698 2007-05-28  Eric Blake  <ebb9@byu.net>
50699
50700         * modules/closein-tests (test_closein_LDADD): Support test on
50701         cygwin with libtool.
50702
50703 2007-05-28  Bruno Haible  <bruno@clisp.org>
50704
50705         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
50706         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
50707         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
50708         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
50709         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
50710         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
50711         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
50712         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
50713         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
50714
50715 2007-05-28  Eric Blake  <ebb9@byu.net>
50716
50717         Unconditionally include <config.h> in unit tests.
50718         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
50719         * tests/test-allocsa.c, tests/test-arcfour.c,
50720         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
50721         tests/test-array_list.c, tests/test-array_oset.c,
50722         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
50723         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
50724         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
50725         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
50726         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
50727         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
50728         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
50729         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
50730         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
50731         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
50732         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
50733         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
50734         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
50735         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
50736         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
50737         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
50738         test-md5.c, test-memmem.c, test-printf-posix.c,
50739         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
50740         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
50741         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
50742         test-strcasestr.c, test-striconv.c, test-striconveh.c,
50743         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
50744         test-vasnprintf-posix2.c, test-vasnprintf.c,
50745         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
50746         test-vfprintf-posix.c, test-vprintf-posix.c,
50747         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
50748         test-xvasprintf.c: Likewise.
50749
50750 2007-05-28  Bruno Haible  <bruno@clisp.org>
50751
50752         * gnulib-tool (func_import): Remember the --with-tests command-line
50753         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
50754         Reported by Eric Blake.
50755
50756 2007-05-28  Bruno Haible  <bruno@clisp.org>
50757
50758         * modules/ftell-tests: New file.
50759         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
50760         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
50761
50762         * lib/ftell.c: New file.
50763         * modules/ftell: New file.
50764         * m4/ftell.m4: New file.
50765         * doc/functions/ftell.texi: Update.
50766         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
50767         REPLACE_FTELL.
50768         * lib/stdio_.h (rpl_ftell): New declaration.
50769         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
50770         REPLACE_FTELL.
50771
50772 2007-05-28  Eric Blake  <ebb9@byu.net>
50773
50774         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
50775
50776 2007-05-28  Bruno Haible  <bruno@clisp.org>
50777
50778         * modules/fseek-tests: New file.
50779         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
50780         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
50781
50782         * lib/fseek.c: New file.
50783         * modules/fseek: New file.
50784         * m4/fseek.m4: New file.
50785         * doc/functions/fseek.texi: Update.
50786         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
50787         REPLACE_FSEEK.
50788         * lib/stdio_.h (rpl_fseek): New declaration.
50789         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
50790         REPLACE_FSEEK.
50791
50792 2007-05-28  Bruno Haible  <bruno@clisp.org>
50793
50794         * lib/stdio_.h (fflush): More comments.
50795
50796 2007-05-28  Bruno Haible  <bruno@clisp.org>
50797
50798         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
50799         runtime test.
50800
50801 2007-05-28  Eric Blake  <ebb9@byu.net>
50802
50803         Improve lseek module.
50804         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
50805         * lib/unistd_.h (lseek): Scale back link warning message.
50806         * tests/test-lseek.c: Beef up test.
50807         * tests/test-lseek.sh: Exercise more facets of lseek.
50808         Reported by Bruno Haible.
50809
50810 2007-05-28  Bruno Haible  <bruno@clisp.org>
50811
50812         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
50813         to define.
50814
50815 2007-05-27  Bruno Haible  <bruno@clisp.org>
50816
50817         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
50818
50819 2007-05-27  Bruno Haible  <bruno@clisp.org>
50820
50821         * modules/openmp: New file.
50822         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
50823         Noah Misch.
50824
50825 2007-05-26  Bruno Haible  <bruno@clisp.org>
50826
50827         * modules/chdir-long (Depends-on): Add fchdir.
50828         * modules/chdir-safer (Depends-on): Likewise.
50829         * modules/fts (Depends-on): Likewise.
50830         * modules/fts-lgpl (Depends-on): Likewise.
50831         * modules/openat (Depends-on): Likewise.
50832         * modules/savewd (Depends-on): Likewise.
50833
50834 2007-05-24  Eric Blake  <ebb9@byu.net>
50835
50836         Fix lseek on mingw.
50837         * modules/lseek: New module.
50838         * m4/lseek.m4: New file.
50839         * lib/lseek.c: New file.
50840         * modules/lseek-tests: New file.
50841         * tests/test-lseek.c: New file.
50842         * tests/test-lseek.sh: New file.
50843         * MODULES.html.sh: Document lseek module.
50844         * modules/fflush (Depends-on): Add lseek, fseeko.
50845         * modules/fseeko (Depends-on): Likewise.
50846         * modules/ftello (Depends-on): Likewise.
50847         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
50848         broken.
50849         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
50850         broken.
50851         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
50852         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
50853         * lib/ftello.c (rpl_ftello): Likewise.
50854         * tests/test-fseeko.c (main): Test this.
50855         * tests/test-fseeko.sh: Likewise.
50856         * tests/test-ftello.c (main): Likewise.
50857         * tests/test-ftello.sh: Likewise.
50858         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
50859         implies replacing fseek.
50860         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
50861         HAVE_FTELLO.
50862         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
50863         * modules/unistd (Makefile.am): Likewise.
50864         * lib/unistd_.h (lseek): Declare a replacement.
50865         * doc/functions/lseek.texi (lseek): Document this fix.
50866         * doc/functions/fseek.texi (fseek): Likewise.
50867         * doc/functions/ftell.texi (ftell): Likewise.
50868
50869 2007-05-24  Bruno Haible  <bruno@clisp.org>
50870
50871         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
50872         in the printed representation of a NaN.
50873         * tests/test-vasprintf-posix.c (test_function): Likewise.
50874         * tests/test-snprintf-posix.h (test_function): Likewise.
50875         * tests/test-sprintf-posix.h (test_function): Likewise.
50876         Reported by Eric Blake.
50877
50878 2007-05-23  Eric Blake  <ebb9@byu.net>
50879
50880         Fix fseeko/ftello on cygwin 1.5.24.
50881         * doc/functions/fseeko.texi (fseeko): Document the fix.
50882         * doc/functions/ftello.texi (ftello): Document the fix.
50883         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
50884         * doc/functions/stdout.text (stdout): New file.
50885         * doc/functions/stderr.text (stderr): New file.
50886         * doc/gnulib.texi (Function Substitutes): Use new files.
50887         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
50888         prior to 1.7.0.
50889         * tests/test-ftello.c (main): Likewise for ftello.
50890         * tests/test-fseeko.sh: New file.
50891         * tests/test-ftello.sh: New file.
50892         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
50893         with seekable stdin.
50894         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
50895         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
50896         (gl_REPLACE_FSEEKO): New macro.
50897         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
50898         * modules/fseeko (Files): Distribute fseeko.c.
50899         * modules/ftello (Files): Distribute ftello.c.
50900         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
50901         mode.
50902         * lib/ftello.c (rpl_ftello): New file.
50903         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
50904         fseeko, ftello.
50905         (gl_STDIN_LARGE_OFFSET): New macro.
50906         * modules/stdio (Makefile.am): Perform the replacement.
50907         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
50908
50909 2007-05-23  Bruno Haible  <bruno@clisp.org>
50910
50911         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
50912         GNULIB_POSIXCHECK is defined.
50913
50914 2007-05-21  Bruno Haible  <bruno@clisp.org>
50915
50916         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
50917         Check also the output for NaN arguments. When cross-compiling, guess
50918         no on IRIX.
50919         * lib/vasnprintf.c: Update comments.
50920         * tests/test-vasnprintf-posix.c (strisnan): New function.
50921         (test_function): Use it.
50922         * tests/test-vasprintf-posix.c (strisnan): New function.
50923         (test_function): Use it.
50924         * tests/test-snprintf-posix.h (strisnan): New function.
50925         (test_function): Use it.
50926         * tests/test-sprintf-posix.h (strisnan): New function.
50927         (test_function): Use it.
50928         Reported by Eric Blake.
50929
50930 2007-05-20  Bruno Haible  <bruno@clisp.org>
50931
50932         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
50933         numbers that fails on BeOS.
50934         * doc/functions/frexpl.texi: Update.
50935
50936 2007-05-20  Jim Meyering  <jim@meyering.net>
50937
50938         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
50939         forced upon us by glibc-2.6.
50940
50941 2007-05-20  Bruno Haible  <bruno@clisp.org>
50942
50943         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
50944         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
50945         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
50946         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
50947         NEED_PRINTF_INFINITE.
50948         (is_infinitel): New function.
50949         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
50950         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
50951         gl_PREREQ_VASNPRINTF_INFINITE.
50952         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
50953         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
50954         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
50955         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
50956         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
50957         gl_PREREQ_VASNPRINTF_INFINITE.
50958         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
50959         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
50960         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
50961         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
50962         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
50963         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
50964         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
50965         * doc/functions/fprintf.texi: Update.
50966         * doc/functions/printf.texi: Update.
50967         * doc/functions/snprintf.texi: Update.
50968         * doc/functions/sprintf.texi: Update.
50969         * doc/functions/vfprintf.texi: Update.
50970         * doc/functions/vprintf.texi: Update.
50971         * doc/functions/vsnprintf.texi: Update.
50972         * doc/functions/vsprintf.texi: Update.
50973
50974 2007-05-20  Bruno Haible  <bruno@clisp.org>
50975
50976         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
50977         was not found in libc.
50978         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
50979
50980 2007-05-20  Bruno Haible  <bruno@clisp.org>
50981
50982         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
50983         printed as "-nan" instead of "nan".
50984         * tests/test-vasprintf-posix.c (test_function): Likewise.
50985         * tests/test-snprintf-posix.h (test_function): Likewise.
50986         * tests/test-sprintf-posix.h (test_function): Likewise.
50987         Needed for HP-UX 11.
50988
50989 2007-05-20  Jim Meyering  <jim@meyering.net>
50990
50991         Fix buggy test for the fchownat-deref bug.
50992         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
50993         symlink required for the run-test.  Without it, this test would
50994         always declare that fchownat doesn't work, and client code would
50995         unnecessarily use the replacement function with fixed libc.
50996         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
50997         Reported by Greg Schafer.
50998
50999 2007-05-19  Bruno Haible  <bruno@clisp.org>
51000
51001         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
51002         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
51003         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
51004         Needed for IRIX 6.5 and Solaris 2.5.1.
51005
51006 2007-05-19  Bruno Haible  <bruno@clisp.org>
51007
51008         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
51009         (test_function): Skip tests involving -0.0 on platforms where
51010         -0.0 = 0.0.
51011         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
51012         (test_function): Skip tests involving -0.0 on platforms where
51013         -0.0 = 0.0.
51014         * tests/test-snprintf-posix.h (have_minus_zero): New function.
51015         (test_function): Skip tests involving -0.0 on platforms where
51016         -0.0 = 0.0.
51017         * tests/test-sprintf-posix.h (have_minus_zero): New function.
51018         (test_function): Skip tests involving -0.0 on platforms where
51019         -0.0 = 0.0.
51020         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
51021         tests.
51022         * tests/test-printf-posix.h (test_function): Likewise.
51023         * tests/test-printf-posix.output: Remove all -0.0 related results.
51024         Needed for IRIX 6.5.
51025
51026 2007-05-19  Bruno Haible  <bruno@clisp.org>
51027
51028         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
51029         printed as "nan0x7fffffff" instead of "nan".
51030         * tests/test-vasprintf-posix.c (test_function): Likewise.
51031         * tests/test-snprintf-posix.h (test_function): Likewise.
51032         * tests/test-sprintf-posix.h (test_function): Likewise.
51033         * tests/test-fprintf-posix.h (NaN): Remove macro.
51034         (test_function): Remove all NaN related tests.
51035         * tests/test-printf-posix.h (NaN): Remove macro.
51036         (test_function): Remove all NaN related tests.
51037         * tests/test-printf-posix.output: Remove all NaN related results.
51038         Needed for IRIX 6.5.
51039
51040 2007-05-19  Bruno Haible  <bruno@clisp.org>
51041
51042         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
51043         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
51044
51045 2007-05-19  Bruno Haible  <bruno@clisp.org>
51046
51047         * lib/float_.h: New file.
51048         * m4/float_h.m4: New file.
51049         * modules/float: New file.
51050         * modules/isnanl (Dependencies): Add float.
51051         * modules/isnanl-nolibm (Dependencies): Likewise.
51052         * modules/mathl (Dependencies): Likewise.
51053         * modules/printf-frexpl (Dependencies): Likewise.
51054         * modules/signbit (Dependencies): Likewise.
51055         * modules/vasnprintf (Dependencies): Likewise.
51056         * doc/headers/float.texi: Update.
51057
51058 2007-05-19  Jim Meyering  <jim@meyering.net>
51059
51060         * lib/utimens.c (gl_futimens): Rename from futimens,
51061         now that glibc-2.6 declares futimens.
51062         * lib/utimens.h: Likewise.
51063
51064 2007-05-19  Bruno Haible  <bruno@clisp.org>
51065
51066         Avoid test failures on mingw.
51067         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
51068         * tests/test-printf-posix.sh: Likewise.
51069         * tests/test-vfprintf-posix.sh: Likewise.
51070         * tests/test-vprintf-posix.sh: Likewise.
51071
51072 2007-05-19  Bruno Haible  <bruno@clisp.org>
51073
51074         Fix *printf result for NaN, Inf, -0.0 on mingw.
51075         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
51076         * lib/vasnprintf.c: Include math.h and isnan.h.
51077         (is_infinite_or_zero): New function.
51078         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
51079         values in the %f, %F, %e, %E, %g, %G directives.
51080         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
51081         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
51082         gl_PRINTF_INFINITE and test its result. Invoke
51083         gl_PREREQ_VASNPRINTF_INFINITE.
51084         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
51085         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
51086         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
51087         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
51088         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
51089         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
51090         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
51091         * doc/functions/fprintf.texi: Update.
51092         * doc/functions/printf.texi: Update.
51093         * doc/functions/snprintf.texi: Update.
51094         * doc/functions/sprintf.texi: Update.
51095         * doc/functions/vfprintf.texi: Update.
51096         * doc/functions/vprintf.texi: Update.
51097         * doc/functions/vsnprintf.texi: Update.
51098         * doc/functions/vsprintf.texi: Update.
51099
51100 2007-05-19  Bruno Haible  <bruno@clisp.org>
51101
51102         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
51103         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
51104         Instead of multiplying with 10^k, set extra_zeroes to k.
51105         (scale10_round_long_double): Remove function.
51106
51107 2007-05-18  Bruno Haible  <bruno@clisp.org>
51108
51109         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
51110         introduced on 2007-05-06.
51111
51112 2007-05-18  Bruno Haible  <bruno@clisp.org>
51113
51114         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
51115         %g directives.
51116         * tests/test-vasprintf-posix.c (test_function): Likewise.
51117         * tests/test-snprintf-posix.h (test_function): Likewise.
51118         * tests/test-sprintf-posix.h (test_function): Likewise.
51119
51120 2007-05-18  Bruno Haible  <bruno@clisp.org>
51121
51122         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
51123         (strmatch): New function.
51124         (test_function): Test the %f directive on numbers of various exponents.
51125         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
51126         (strmatch): New function.
51127         (test_function): Test the %f directive on numbers of various exponents.
51128         * tests/test-snprintf-posix.h (strmatch): New function.
51129         (test_function): Test the %f directive on numbers of various exponents.
51130         * tests/test-sprintf-posix.h (strmatch): New function.
51131         (test_function): Test the %f directive on numbers of various exponents.
51132         * tests/test-snprintf-posix.c (SIZEOF): New macro.
51133         * tests/test-sprintf-posix.c (SIZEOF): New macro.
51134         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
51135         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
51136
51137 2007-05-18  Bruno Haible  <bruno@clisp.org>
51138
51139         Add support for 'long double' number output.
51140         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
51141         * lib/vasnprintf.c: Include math.h and float+.h.
51142         (mp_limb_t): New type.
51143         (GMP_LIMB_BITS): New macro.
51144         (mp_twolimb_t): New type.
51145         (GMP_TWOLIMB_BITS): New macro.
51146         (mpn_t): New type.
51147         (multiply, divide, convert_to_decimal, decode_long_double,
51148         scale10_round_long_double, scale10_round_decimal_long_double,
51149         floorlog10l): New functions.
51150         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
51151         for the %f, %F, %e, %E, %g, %G directives.
51152         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
51153         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
51154         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
51155         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
51156         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
51157         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
51158         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
51159         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
51160         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
51161         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
51162         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
51163         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
51164         * modules/snprintf-posix (Depends-on): Likewise.
51165         * modules/sprintf-posix (Depends-on): Likewise.
51166         * modules/vasnprintf-posix (Depends-on): Likewise.
51167         * modules/vasprintf-posix (Depends-on): Likewise.
51168         * modules/vfprintf-posix (Depends-on): Likewise.
51169         * modules/vsnprintf-posix (Depends-on): Likewise.
51170         * modules/vsprintf-posix (Depends-on): Likewise.
51171         * modules/vasnprintf (Files): Add lib/float+.h.
51172         * doc/functions/fprintf.texi: Update.
51173         * doc/functions/printf.texi: Update.
51174         * doc/functions/snprintf.texi: Update.
51175         * doc/functions/sprintf.texi: Update.
51176         * doc/functions/vfprintf.texi: Update.
51177         * doc/functions/vprintf.texi: Update.
51178         * doc/functions/vsnprintf.texi: Update.
51179         * doc/functions/vsprintf.texi: Update.
51180
51181 2007-05-18  Bruno Haible  <bruno@clisp.org>
51182
51183         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
51184
51185 2007-05-18  Bruno Haible  <bruno@clisp.org>
51186
51187         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
51188         for printing 64-bit integers. Needed for mingw.
51189
51190 2007-05-18  Bruno Haible  <bruno@clisp.org>
51191
51192         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
51193         gl_FUNC_FREXPL_WORKS.
51194         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
51195
51196 2007-05-18  Bruno Haible  <bruno@clisp.org>
51197
51198         * modules/frexpl-nolibm-tests: New file.
51199
51200         * modules/frexpl-nolibm: New file.
51201         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
51202
51203 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
51204
51205         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
51206         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
51207         GCC 4.2, which otherwise issues a lot of warnings.
51208         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
51209         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
51210         Likewise.
51211         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
51212         * modules/iconv_open (iconv.h): Likewise.
51213         * modules/locale (locale.h): Likewise.
51214         * modules/netinet_in (netinet/in.h): Likewise.
51215         * modules/sys_select (sys_select.h): Likewise.
51216         * modules/sys_socket (sys/socket.h): Likewise.
51217         * modules/sys_stat (sys/stat.h): Likewise.
51218         * modules/sysexits (sysexits.h): Likewise.
51219         * modules/unistd (unistd.h): Likewise.
51220
51221 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51222
51223         * modules/closein-tests (Makefile.am): Distribute
51224         `test-closein.sh'.
51225
51226 2007-05-17  Bruno Haible  <bruno@clisp.org>
51227
51228         * tests/test-printf-posix.output: Renamed from
51229         tests/test-fprintf-posix.out.
51230         * modules/fprintf-posix-tests: Update.
51231         * modules/printf-posix-tests: Update.
51232         * modules/vfprintf-posix-tests: Update.
51233         * modules/vprintf-posix-tests: Update.
51234         * tests/test-fprintf-posix.sh: Update.
51235         * tests/test-printf-posix.sh: Update.
51236         * tests/test-vfprintf-posix.sh: Update.
51237         * tests/test-vprintf-posix.sh: Update.
51238         Reported by Ralf Wildenhues.
51239
51240 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
51241
51242         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
51243         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
51244         GCC 4.2, which otherwise issues a lot of warnings.
51245         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
51246         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
51247         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
51248         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
51249         it should no longer be needed.
51250         * lib/string_.h: Likewise.
51251         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
51252         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
51253         * modules/inttypes (inttypes.h): Likewise.
51254         * modules/math (math.h): Likewise.
51255         * modules/search (search.h): Likewise.
51256         * modules/signal (signal.h): Likewise.
51257         * modules/stdint (stdint.h): Likewise.
51258         * modules/stdio (stdio.h): Likewise.
51259         * modules/stdlib (stdlib.h): Likewise.
51260         * modules/string (string.h): Likewise.
51261         * modules/sys_time (sys/time.h): Likewise.
51262         * modules/time (time.h): Likewise.
51263         * modules/wchar (wchar.h): Likewise.
51264         * modules/wctype (wtype.h): Likewise.
51265
51266 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
51267
51268         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
51269
51270 2007-05-13  Bruno Haible  <bruno@clisp.org>
51271
51272         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
51273         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
51274         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
51275         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
51276         (gl_PREREQ_STRTOK_R): Don't require it here.
51277
51278 2007-05-13  Bruno Haible  <bruno@clisp.org>
51279
51280         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
51281         when used in C++ mode.
51282
51283 2007-05-12  Bruno Haible  <bruno@clisp.org>
51284
51285         * lib/linebuffer.h: Tweak doc.
51286         * lib/linebuffer.c: Likewise.
51287
51288 2007-05-12  James Youngman  <jay@gnu.org>
51289
51290         * lib/linebuffer.c (readlinebuffer_delim): New function,
51291         like readlinebuffer, but use a caller-specified delimiter.
51292         (readlinebuffer): Just call readlinebuffer_delim with '\n'
51293         as the delimiter.
51294         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
51295
51296 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
51297
51298         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
51299         * modules/openat (Files): Remove openat-die.c.
51300         (Depends-on): Add openat-die.
51301         * modules/openat-die: New module.
51302
51303 2007-05-06  Bruno Haible  <bruno@clisp.org>
51304
51305         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
51306         Update with info about Cygwin.
51307         * doc/functions/fprintf.texi: Update.
51308         * doc/functions/printf.texi: Update.
51309         * doc/functions/snprintf.texi: Update.
51310         * doc/functions/sprintf.texi: Update.
51311         * doc/functions/vfprintf.texi: Update.
51312         * doc/functions/vprintf.texi: Update.
51313         * doc/functions/vsnprintf.texi: Update.
51314         * doc/functions/vsprintf.texi: Update.
51315         Reported by Eric Blake.
51316
51317 2007-05-06  Bruno Haible  <bruno@clisp.org>
51318
51319         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
51320         padding ourselves for the floating-point directives.
51321         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
51322         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
51323         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
51324         gl_PRINTF_FLAG_ZERO and test its result. Invoke
51325         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
51326         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
51327         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
51328         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
51329         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
51330         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
51331         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
51332         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
51333         * tests/test-snprintf-posix.h (test_function): Also check the width
51334         and some flags in the %f directive.
51335         * tests/test-sprintf-posix.h (test_function): Likewise.
51336         * tests/test-vasnprintf-posix.c (test_function): Likewise.
51337         * tests/test-vasprintf-posix.c (test_function): Likewise.
51338         * doc/functions/fprintf.texi: Update.
51339         * doc/functions/printf.texi: Update.
51340         * doc/functions/snprintf.texi: Update.
51341         * doc/functions/sprintf.texi: Update.
51342         * doc/functions/vfprintf.texi: Update.
51343         * doc/functions/vprintf.texi: Update.
51344         * doc/functions/vsnprintf.texi: Update.
51345         * doc/functions/vsprintf.texi: Update.
51346
51347 2007-05-06  Bruno Haible  <bruno@clisp.org>
51348
51349         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
51350         pass the ' flag character to sprintf or snprintf.
51351         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
51352         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
51353         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
51354         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
51355         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
51356         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
51357         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
51358         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
51359         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
51360         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
51361         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
51362         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
51363         * tests/test-snprintf-posix.h (test_function): Also check the grouping
51364         flag.
51365         * tests/test-sprintf-posix.h (test_function): Likewise.
51366         * tests/test-vasnprintf-posix.c (test_function): Likewise.
51367         * tests/test-vasprintf-posix.c (test_function): Likewise.
51368         * doc/functions/fprintf.texi: Update.
51369         * doc/functions/printf.texi: Update.
51370         * doc/functions/snprintf.texi: Update.
51371         * doc/functions/sprintf.texi: Update.
51372         * doc/functions/vfprintf.texi: Update.
51373         * doc/functions/vprintf.texi: Update.
51374         * doc/functions/vsnprintf.texi: Update.
51375         * doc/functions/vsprintf.texi: Update.
51376
51377 2007-05-01  Bruno Haible  <bruno@clisp.org>
51378
51379         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
51380
51381 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
51382
51383         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
51384         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
51385
51386 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
51387
51388         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
51389         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
51390         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
51391
51392 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
51393
51394         * lib/argp-help.c (struct hol_entry): New member `ord'.
51395         (HOL_ENTRY_PTRCMP): Use ord for comparison
51396         (hol_sort): Initialize ord.
51397
51398 2007-05-01  Bruno Haible  <bruno@clisp.org>
51399
51400         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
51401         Reported by Eric Blake.
51402         * doc/gnulib.texi (Function Substitutes): Update.
51403
51404 2007-05-01  Bruno Haible  <bruno@clisp.org>
51405
51406         * doc/functions.texi: Remove file, now redundant through
51407         doc/functions/*.texi.
51408
51409 2007-05-01  Bruno Haible  <bruno@clisp.org>
51410
51411         * modules/argp (Depends-on): Add sleep.
51412
51413 2007-05-01  Bruno Haible  <bruno@clisp.org>
51414
51415         * modules/sleep-tests: New file.
51416         * tests/test-sleep.c: New file.
51417
51418         * modules/sleep: New file.
51419         * lib/sleep.c: New file.
51420         * m4/sleep.m4: New file.
51421         * lib/unistd_.h (sleep): New declaration.
51422         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
51423         HAVE_SLEEP.
51424         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
51425         * doc/functions/sleep.texi: Document the sleep module.
51426
51427 2007-05-01  Bruno Haible  <bruno@clisp.org>
51428
51429         * lib/sigprocmask.h: Remove file.
51430         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
51431         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
51432         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
51433         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
51434         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
51435         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
51436         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
51437         HAVE_SIGSET_T as a shell variable.
51438         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
51439         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
51440         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
51441         (Depends-on): Add signal. Remove verify.
51442         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
51443         (Include): Mention <signal.h> instead of sigprocmask.h.
51444         * NEWS: Mention the change.
51445         * lib/fatal-signal.c: Don't include sigprocmask.h.
51446
51447 2007-05-01  Bruno Haible  <bruno@clisp.org>
51448
51449         * modules/signal: New file.
51450         * lib/signal_.h: New file.
51451         * m4/signal_h.m4: New file.
51452
51453 2007-05-01  Bruno Haible  <bruno@clisp.org>
51454
51455         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
51456         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
51457         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
51458         HAVE_WCTYPE_CTMP_BUG into wctype.h.
51459
51460 2007-05-01  Bruno Haible  <bruno@clisp.org>
51461
51462         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
51463         configure time.
51464         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
51465         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
51466         * modules/sys_stat (Makefile.am): Substitute their values into
51467         sys/stat.h.
51468
51469 2007-05-01  Bruno Haible  <bruno@clisp.org>
51470
51471         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
51472         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
51473         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
51474
51475 2007-05-01  Bruno Haible  <bruno@clisp.org>
51476
51477         * doc/header/assert.texi: Undo last change: don't mention the gnulib
51478         'assert' module here.
51479
51480 2007-05-01  Bruno Haible  <bruno@clisp.org>
51481
51482         * doc/functions/*.texi: New files.
51483         * doc/functions/google-ranking.txt: New file.
51484         * doc/gnulib.texi (Function Substitutes): New chapter.
51485         (ctime, inet_ntoa): Remove sections.
51486         * doc/ctime.texi: Remove file.
51487         * doc/inet_ntoa.texi: Remove file.
51488         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
51489         dependencies.
51490         (%.info): New rule, specifying a --reference-limit.
51491
51492 2007-05-01  Bruno Haible  <bruno@clisp.org>
51493
51494         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
51495
51496 2007-05-01  Bruno Haible  <bruno@clisp.org>
51497
51498         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
51499         the portability of 'mkdir' to mingw systems.
51500
51501 2007-05-01  Bruno Haible  <bruno@clisp.org>
51502
51503         * doc/headers/google-ranking.txt: New file.
51504
51505 2007-04-30  Eric Blake  <ebb9@byu.net>
51506
51507         Prefer fseeko to fseek.
51508         * modules/getpass (Depends-on): Add fseeko.
51509         * lib/getpass.c (getpass): Use fseeko, not fseek.
51510
51511 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
51512
51513         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
51514         assumes the sorting is stable, while most qsort implementations
51515         are not.  Use argument addresses to ensure they never compare as
51516         equal.
51517
51518         * tests/test-argp-2.sh (usage-indent test): Fix output
51519         (func_compare): Restore diff options
51520         * tests/test-argp.c: Restore #include "progname.h"
51521
51522 2007-04-29  Bruno Haible  <bruno@clisp.org>
51523
51524         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
51525         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
51526         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
51527         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
51528         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
51529         (configure.ac): Define CHECK_SNPRINTF_POSIX.
51530         (TESTS, check_PROGRAMS): Add test-snprintf.
51531         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
51532         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
51533         (TESTS, check_PROGRAMS): Add test-vsnprintf.
51534         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
51535         assertions that fail on HP-UX, OSF/1, or IRIX.
51536         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
51537
51538 2007-04-29  Bruno Haible  <bruno@clisp.org>
51539
51540         * MODULES.html.sh (posix_functions): Remove 'contents'.
51541
51542 2007-04-29  Karl Berry  <karl@gnu.org>
51543
51544         * config/srclist.txt (gendocs_template_min): new entry.
51545
51546 2007-04-29  Bruno Haible  <bruno@clisp.org>
51547
51548         Work around fpurge bug on BSD systems.
51549         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
51550         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
51551         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
51552         fpurge to rpl_fpurge if the system already has this function.
51553         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
51554         the case where the system already has this function. Correct invariants
51555         on BSD systems.
51556         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
51557         BSD systems.
51558
51559 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
51560
51561         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
51562         proposed by Sven Verdoolaege.
51563
51564         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
51565         options.
51566         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
51567         (usage and help tests): Update
51568
51569 2007-04-29  Bruno Haible  <bruno@clisp.org>
51570
51571         * tests/test-fflush.c (main): Use a file of size 17, not 10.
51572         Print more information in case of failure. Disable a test on BeOS.
51573
51574 2007-04-29  Bruno Haible  <bruno@clisp.org>
51575
51576         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
51577         This helps debugging on systems on which no gdb is available.
51578
51579 2007-04-29  Bruno Haible  <bruno@clisp.org>
51580
51581         * lib/freading.h: Improve comments.
51582         * lib/fwriting.h: Likewise.
51583         * tests/test-freading.c (main): Don't check freading immediately after
51584         repositioning. Needed for glibc.
51585
51586 2007-04-29  Bruno Haible  <bruno@clisp.org>
51587
51588         * lib/freading.c (freading): Trivial simplification.
51589
51590 2007-04-28  Bruno Haible  <bruno@clisp.org>
51591
51592         * tests/test-fwriting.c (main): Also test the interaction between
51593         fflush and fwriting.
51594         * modules/fwriting-tests (Depends-on): Add fflush.
51595
51596         * tests/test-freading.c (main): Also test the interaction between
51597         fflush and freading.
51598         * modules/freading-tests (Depends-on): Add fflush.
51599
51600 2007-04-28  Bruno Haible  <bruno@clisp.org>
51601
51602         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
51603         fseeko and ftello.
51604         Suggested by Eric Blake.
51605
51606 2007-04-28  Jim Meyering  <jim@meyering.net>
51607
51608         Avoid false-negative in gl_STDINT_H's C99 conformance test.
51609         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
51610         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
51611
51612 2007-04-27  Eric Blake  <ebb9@byu.net>
51613
51614         * doc/headers/assert.texi (assert.h): Document assert module use.
51615
51616 2007-04-27  Bruno Haible  <bruno@clisp.org>
51617
51618         * doc/headers/*.texi: New files.
51619         * doc/gnulib.texi (Header File Substitutes): New chapter.
51620         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
51621         dependencies.
51622         (standards.info ,standards.html, standards.dvi): Update dependencies.
51623         (mostlyclean, clean): New targets.
51624
51625 2007-04-27  Bruno Haible  <bruno@clisp.org>
51626
51627         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
51628         * modules/sysexits (Files, Makefile.am): Update.
51629
51630         * lib/sys_socket_.h: Renamed from lib/socket_.h.
51631         * modules/sys_socket (Files, Makefile.am): Update.
51632
51633         * lib/sys_stat_.h: Renamed from lib/stat_.h.
51634         * modules/sys_stat (Files, Makefile.am): Update.
51635
51636 2007-04-27  Eric Blake  <ebb9@byu.net>
51637
51638         * lib/freading.h: Improve comments.
51639         * lib/fwriting.h: Likewise.
51640         * lib/fflush.c: Likewise.
51641
51642         Fix closein for mingw.
51643         * modules/closein-tests: Add tests for closein.
51644         * tests/test-closein.c: New file.
51645         * tests/test-closein.sh: Likewise.
51646         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
51647         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
51648
51649 2007-04-27  Bruno Haible  <bruno@clisp.org>
51650
51651         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
51652         version is < 6.
51653         * lib/math_.h [__DECC]: Likewise.
51654         * lib/stdio_.h [__DECC]: Likewise.
51655         * lib/stdlib_.h [__DECC]: Likewise.
51656         * lib/string_.h [__DECC]: Likewise.
51657         * lib/time_.h [__DECC]: Likewise.
51658         * lib/wchar_.h [__DECC]: Likewise.
51659         * lib/wctype_.h [__DECC]: Likewise.
51660
51661 2007-04-27  Bruno Haible  <bruno@clisp.org>
51662
51663         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
51664
51665 2007-04-27  Bruno Haible  <bruno@clisp.org>
51666
51667         * lib/fflush.c: Add comments.
51668         * modules/fpurge-tests (Depends-on): Add fflush.
51669         * modules/freadable-tests (Depends-on): Likewise.
51670         * modules/fwritable-tests (Depends-on): Likewise.
51671
51672 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
51673
51674         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
51675         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
51676         Report by Bruno Haible <bruno@clisp.org>.
51677
51678 2007-04-26  Eric Blake  <ebb9@byu.net>
51679
51680         Fix fflush on mingw.
51681         * modules/fflush (Depends-on): Add freading.
51682         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
51683         but unread data.
51684
51685 2007-04-26  Eric Blake  <ebb9@byu.net>
51686         and Bruno Haible  <bruno@clisp.org>
51687
51688         Implement freading and fwriting.
51689         * lib/freading.c: New file.
51690         * lib/freading.h: Likewise.
51691         * m4/freading.m4: Likewise.
51692         * modules/freading: Likewise.
51693         * modules/freading-tests: Likewise.
51694         * tests/test-freading.c: Likewise.
51695         * lib/fwriting.c: New file.
51696         * lib/fwriting.h: Likewise.
51697         * m4/fwriting.m4: Likewise.
51698         * modules/fwriting: Likewise.
51699         * modules/fwriting-tests: Likewise.
51700         * tests/test-fwriting.c: Likewise.
51701         * MODULES.html.sh (File stream based Input/Output): Mention them.
51702
51703 2007-04-26  Bruno Haible  <bruno@clisp.org>
51704
51705         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
51706         'long' when we assume it.
51707         Suggested by Eric Blake.
51708
51709 2007-04-26  Bruno Haible  <bruno@clisp.org>
51710
51711         Ensure fseeko, ftello are declared on glibc systems.
51712         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
51713         * modules/fseeko (configure.ac-early): Likewise.
51714         * modules/ftello (configure.ac-early): Likewise.
51715         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
51716         AC_FUNC_FSEEKO for this.
51717         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
51718         (gl_CHECK_FSEEKO): Remove macro.
51719
51720 2007-04-26  Bruno Haible  <bruno@clisp.org>
51721
51722         * tests/test-fflush.c (main): Also check the ftell result after
51723         fflush and fseek/fseeko.
51724         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
51725         file descriptor position cache in the stream.
51726         * lib/fseeko.c (rpl_fseeko): Likewise.
51727
51728 2007-04-26  Bruno Haible  <bruno@clisp.org>
51729
51730         * modules/fflush-tests (Depends-on): Add fseeko.
51731
51732 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
51733             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51734
51735         * lib/argz_.h: ensure error_t definition is obtained in same
51736         mechanism system argz.h would have.
51737         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
51738         argz facilities are known bad.  Err on the side of caution if
51739         cross-compiling.
51740
51741 2007-04-25  Eric Blake  <ebb9@byu.net>
51742
51743         * lib/fpurge.c (includes): Use stdlib.h for free.
51744         * tests/test-fflush.c (main): Also test fflush-fseeko.
51745
51746 2007-04-25  Bruno Haible  <bruno@clisp.org>
51747
51748         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
51749         * lib/fseeko.c: New file.
51750         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
51751         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
51752         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
51753         gl_FUNC_FSEEKO.
51754         (gl_FUNC_FSEEKO): Invoke it.
51755         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
51756         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
51757         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
51758
51759 2007-04-25  Bruno Haible  <bruno@clisp.org>
51760
51761         * modules/fflush (Depends-on): Add ftello.
51762
51763 2007-04-25  Bruno Haible  <bruno@clisp.org>
51764
51765         * modules/ftello-tests: New file.
51766         * tests/test-ftello.c: New file.
51767
51768         * modules/ftello: New file.
51769         * m4/ftello.m4: New file.
51770         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
51771         HAVE_FTELLO.
51772         * lib/stdio_.h (ftello): New declaration.
51773         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
51774         HAVE_FTELLO.
51775
51776 2007-04-25  Bruno Haible  <bruno@clisp.org>
51777
51778         * modules/fseeko-tests: New file.
51779         * tests/test-fseeko.c: New file.
51780
51781         * modules/fseeko: New file.
51782         * m4/fseeko.m4: New file.
51783         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
51784         HAVE_FSEEKO.
51785         * lib/stdio_.h (fseeko): New declaration.
51786         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
51787         HAVE_FSEEKO.
51788
51789 2007-04-25  Bruno Haible  <bruno@clisp.org>
51790
51791         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
51792
51793 2007-04-25  Bruno Haible  <bruno@clisp.org>
51794
51795         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
51796         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
51797         * tests/test-unistd.c: Likewise.
51798         * tests/test-fcntl.c: Likewise.
51799
51800 2007-04-23  Eric Blake  <ebb9@byu.net>
51801
51802         * lib/fflush.c: Fix missing include.
51803         Reported by Bruno Haible.
51804
51805 2007-04-23  Bruno Haible  <bruno@clisp.org>
51806
51807         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
51808         Reported by Eric Blake.
51809
51810 2007-04-23  Bruno Haible  <bruno@clisp.org>
51811
51812         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
51813
51814 2007-04-23  Bruno Haible  <bruno@clisp.org>
51815
51816         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
51817
51818 2007-04-23  Bruno Haible  <bruno@clisp.org>
51819
51820         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
51821         Needed on HP-UX 11.
51822
51823 2007-04-16  Eric Blake  <ebb9@byu.net>
51824
51825         Make fflush rely on fpurge.
51826         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
51827         open coding all variants.
51828         * modules/fflush (Depends-on): Add fpurge and unistd.
51829         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
51830         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
51831
51832         Fix --with-tests compilation on cygwin.
51833         * modules/argmatch-tests (Makefile.am): List gnulib library first
51834         in LDADD.
51835         * modules/argp-tests (Makefile.am): Likewise.
51836         * modules/array-list-tests (Makefile.am): Likewise.
51837         * modules/array-oset-tests (Makefile.am): Likewise.
51838         * modules/avltree-list-tests (Makefile.am): Likewise.
51839         * modules/avltree-oset-tests (Makefile.am): Likewise.
51840         * modules/avltreehash-list-tests (Makefile.am): Likewise.
51841         * modules/carray-list-tests (Makefile.am): Likewise.
51842         * modules/dirname-tests (Makefile.am): Likewise.
51843         * modules/frexp-tests (Makefile.am): Likewise.
51844         * modules/isnanl-tests (Makefile.am): Likewise.
51845         * modules/linked-list-tests (Makefile.am): Likewise.
51846         * modules/linkedhash-list-tests (Makefile.am): Likewise.
51847         * modules/lock-tests (Makefile.am): Likewise.
51848         * modules/rbtree-list-tests (Makefile.am): Likewise.
51849         * modules/rbtree-oset-tests (Makefile.am): Likewise.
51850         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
51851         * modules/tls-tests (Makefile.am): Likewise.
51852         * modules/tsearch-tests (Makefile.am): Likewise.
51853         * modules/xvasprintf-tests (Makefile.am): Likewise.
51854
51855         Fix fpurge for cygwin.
51856         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
51857         value.
51858         * modules/fpurge-tests (Depends-on): Clean up trash.
51859
51860 2007-04-16  Simon Josefsson  <simon@josefsson.org>
51861
51862         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
51863
51864         * m4/autobuild.m4: Re-indent.
51865
51866 2007-04-13  Bruno Haible  <bruno@clisp.org>
51867
51868         * modules/fpurge-tests: New file.
51869         * tests/test-fpurge.c: New file.
51870
51871         * modules/fpurge: New file.
51872         * lib/fpurge.h: New file.
51873         * lib/fpurge.c: New file.
51874         * m4/fpurge.m4: New file.
51875
51876 2007-04-13  Bruno Haible  <bruno@clisp.org>
51877
51878         * modules/fbufmode-tests: New file.
51879         * tests/test-fbufmode.c: New file.
51880
51881         * modules/fbufmode: New file.
51882         * lib/fbufmode.h: New file.
51883         * lib/fbufmode.c: New file.
51884         * m4/fbufmode.m4: New file.
51885
51886 2007-04-13  Bruno Haible  <bruno@clisp.org>
51887
51888         * modules/fwritable-tests: New file.
51889         * tests/test-fwritable.c: New file.
51890
51891         * modules/fwritable: New file.
51892         * lib/fwritable.h: New file.
51893         * lib/fwritable.c: New file.
51894         * m4/fwritable.m4: New file.
51895
51896 2007-04-13  Bruno Haible  <bruno@clisp.org>
51897
51898         * modules/freadable-tests: New file.
51899         * tests/test-freadable.c: New file.
51900
51901         * modules/freadable: New file.
51902         * lib/freadable.h: New file.
51903         * lib/freadable.c: New file.
51904         * m4/freadable.m4: New file.
51905
51906 2007-04-13  Bruno Haible  <bruno@clisp.org>
51907
51908         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
51909         MOSTLYCLEANFILES.
51910
51911 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
51912
51913         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
51914         gzip bootstrap.conf to avoid dragging in i18n machinery.
51915         (gnulib_tool_option): Use it.
51916
51917 2007-04-13  Bruno Haible  <bruno@clisp.org>
51918
51919         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
51920         %F directives.
51921         * tests/test-vasprintf-posix.c (test_function): Likewise.
51922         * tests/test-snprintf-posix.h (test_function): Likewise.
51923         * tests/test-sprintf-posix.h (test_function): Likewise.
51924         * tests/test-fprintf-posix.h (test_function): Likewise.
51925         * tests/test-printf-posix.h (test_function): Likewise.
51926         * tests/test-fprintf-posix.out: Likewise.
51927
51928 2007-04-13  Bruno Haible  <bruno@clisp.org>
51929
51930         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
51931         * modules/tls-tests (configure.ac): Likewise.
51932         Reported by Arto C. Nirkko <anirkko@insel.ch>.
51933
51934 2007-04-13  Bruno Haible  <bruno@clisp.org>
51935
51936         * lib/tls.c (glthread_tls_get): Fix return type.
51937         Patch by Arto C. Nirkko <anirkko@insel.ch>.
51938
51939 2007-04-12  Eric Blake  <ebb9@byu.net>
51940
51941         * modules/gettime (Depends-on): Remove gettime.
51942         Reported by Dmitry V. Levin.
51943
51944 2007-04-12  Bruno Haible  <bruno@clisp.org>
51945
51946         * modules/fflush (Include): Mention <stdio.h>.
51947         * modules/strtoimax (Include): Mention <inttypes.h>.
51948         * modules/strtoumax (Include): Likewise.
51949
51950 2007-04-12  Eric Blake  <ebb9@byu.net>
51951
51952         * .cvsignore: New file.
51953         * .gitignore: Likewise.
51954
51955 2007-04-12  Bruno Haible  <bruno@clisp.org>
51956
51957         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
51958         not before, since $(LDADD) often contains libgnu.a.
51959         * modules/striconv-tests (test_striconv_LDADD): Likewise.
51960         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
51961         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
51962         Needed on Cygwin.
51963
51964 2007-04-12  Eric Blake  <ebb9@byu.net>
51965
51966         Work around glibc's failure to flush stdin on fclose.
51967         * lib/closein.c (close_stdin): Flush stdin before closing.
51968
51969         Work around glibc's failure to reset seekable stdin on exit.
51970         * modules/closein: New module.
51971         * lib/closein.c: New file.
51972         * lib/closein.h: Likewise.
51973         * m4/closein.m4: Likewise.
51974         * MODULES.html.sh (File stream based Input/Output): Document it.
51975
51976 2007-04-12  Simon Josefsson  <simon@josefsson.org>
51977
51978         * gnulib-tool: Rename generated 'autobuild' script to
51979         'do-autobuild' in --create-megatestdir output.
51980
51981         * doc/gnulib.texi (Build robot for gnulib): Fix.
51982
51983 2007-04-12  Simon Josefsson  <simon@josefsson.org>
51984
51985         * modules/sysexits (Depends-on): Add absolute-header.
51986
51987 2007-04-12  Eric Blake  <ebb9@byu.net>
51988
51989         No need to preserve errno on success.
51990         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
51991         Reported by Bruno Haible.
51992
51993 2007-04-12  Simon Josefsson  <simon@josefsson.org>
51994
51995         * MODULES.html.sh (Support for maintaining and releasing
51996         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
51997
51998 2007-04-12  Simon Josefsson  <simon@josefsson.org>
51999
52000         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
52001
52002 2007-04-12  Simon Josefsson  <simon@josefsson.org>
52003
52004         * modules/autobuild: New module.
52005
52006         * m4/autobuild.m4: New file.
52007
52008 2007-04-11  Bruno Haible  <bruno@clisp.org>
52009
52010         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
52011         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
52012         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
52013         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
52014         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
52015         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
52016         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
52017         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
52018         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
52019         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
52020         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
52021         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
52022         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
52023         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
52024         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
52025         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
52026         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
52027         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
52028         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
52029         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
52030         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
52031         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
52032         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
52033         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
52034         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
52035         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
52036         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
52037         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
52038         Reported by Eric Blake.
52039
52040 2007-04-11  Bruno Haible  <bruno@clisp.org>
52041
52042         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
52043
52044 2007-04-10  Bruno Haible  <bruno@clisp.org>
52045
52046         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
52047         for NaN and Infinity. Needed on FreeBSD 6.1.
52048         * tests/test-vasnprintf-posix.c (test_function): Undo last change
52049         regarding results for "%010a" of Infinity and NaN.
52050         * tests/test-vasprintf-posix.c (test_function): Likewise.
52051         * tests/test-snprintf-posix.h (test_function): Likewise.
52052         * tests/test-sprintf-posix.h (test_function): Likewise.
52053         * tests/test-fprintf-posix.h (test_function): Likewise.
52054         * tests/test-printf-posix.h (test_function): Likewise.
52055         * tests/test-fprintf-posix.out: Likewise.
52056
52057 2007-04-10  Bruno Haible  <bruno@clisp.org>
52058
52059         * modules/locale-tests: New file.
52060         * tests/test-locale.c: New file.
52061
52062         * modules/locale: New file.
52063         * lib/locale_.h: New file.
52064         * m4/locale_h.m4: New file.
52065
52066 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
52067             Bruno Haible  <bruno@clisp.org>
52068
52069         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
52070         be determined, test for availability of the copysignf, copysign,
52071         copysignl functions.
52072         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
52073         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
52074         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
52075
52076 2007-04-09  Eric Blake  <ebb9@byu.net>
52077
52078         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
52079         * modules/stdio (Makefile.am): Support fflush.
52080         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
52081         * modules/fflush: New file.
52082         * lib/fflush.c: Likewise.
52083         * m4/fflush.m4: Likewise.
52084         * modules/fflush-tests: New test.
52085         * tests/test-fflush.c: Likewise.
52086         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
52087
52088 2007-04-06  Bruno Haible  <bruno@clisp.org>
52089
52090         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
52091         (VASNPRINTF): Use signbit for faster determination whether to print a
52092         minus sign.
52093         * modules/vasnprintf (Files): Remove lib/float+.h.
52094         * modules/fprintf-posix (Depends-on): Add signbit.
52095         * modules/snprintf-posix (Depends-on): Likewise.
52096         * modules/sprintf-posix (Depends-on): Likewise.
52097         * modules/vasnprintf-posix (Depends-on): Likewise.
52098         * modules/vasprintf-posix (Depends-on): Likewise.
52099         * modules/vfprintf-posix (Depends-on): Likewise.
52100         * modules/vsnprintf-posix (Depends-on): Likewise.
52101         * modules/vsprintf-posix (Depends-on): Likewise.
52102
52103 2007-04-06  Bruno Haible  <bruno@clisp.org>
52104
52105         * tests/test-frexp.c (main): Test also the sign bit of zero results.
52106         * tests/test-frexpl.c (main): Likewise.
52107         * tests/test-ldexpl.c (main): Likewise.
52108         * modules/frexp-tests (Depends-on): Add signbit.
52109         * modules/frexpl-tests (Depdends-on): Likewise.
52110         * modules/ldexpl-tests (Depdends-on): Likewise.
52111
52112 2007-04-06  Bruno Haible  <bruno@clisp.org>
52113
52114         * modules/signbit-tests: New file.
52115         * tests/test-signbit.c: New file.
52116
52117         * modules/signbit: New file.
52118         * lib/signbitf.c: New file.
52119         * lib/signbitd.c: New file.
52120         * lib/signbitl.c: New file.
52121         * m4/signbit.m4: New file.
52122         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
52123         (signbit): New macro.
52124         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
52125         REPLACE_SIGNBIT.
52126         * modules/math (Makefile.am): Substibute also GNULIB_SIGNBIT and
52127         REPLACE_FREXPL into math.h.
52128
52129 2007-04-06  Bruno Haible  <bruno@clisp.org>
52130
52131         * modules/isnanf-nolibm-tests: New file.
52132         * tests/test-isnanf.c: New file.
52133
52134         * modules/isnanf-nolibm: New file.
52135         * lib/isnanf.h: New file.
52136         * lib/isnanf.c: New file.
52137         * lib/isnan.c: Consider the USE_FLOAT macro.
52138         * m4/isnanf.m4: New file.
52139
52140 2007-04-06  Bruno Haible  <bruno@clisp.org>
52141
52142         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
52143         (Link): New section.
52144
52145         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
52146
52147 2007-04-06  Bruno Haible  <bruno@clisp.org>
52148
52149         Assume the 'long double' type.
52150         * m4/longdouble.m4: Remove file.
52151         * config/srclist.txt: Don't mention longdouble.m4.
52152         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
52153         * lib/float+.h: Likewise.
52154         * lib/frexp.c: Likewise.
52155         * lib/printf-args.h: Likewise.
52156         * lib/printf-args.c: Likewise.
52157         * lib/printf-frexp.c: Likewise.
52158         * lib/printf-parse.c: Likewise.
52159         * lib/vasnprintf.c: Likewise.
52160         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
52161         * m4/intl.m4: Likewise.
52162         * m4/isnanl.m4: Likewise.
52163         * m4/printf.m4: Likewise.
52164         * m4/printf-frexpl.m4: Likewise.
52165         * m4/vasnprintf.m4: Likewise.
52166         * modules/allocsa (Files): Remove m4/longdouble.m4.
52167         * modules/gettext (Files): Likewise.
52168         * modules/relocatable-prog-wrapper (Files): Likewise.
52169         * modules/vasnprintf (Files): Likewise.
52170         * modules/isnanl (Files): Likewise.
52171         (Include): Simplify.
52172         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
52173         (Include): Simplify.
52174         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
52175         (Include): Simplify.
52176         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
52177         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
52178         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
52179         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
52180         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
52181         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
52182         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
52183         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
52184         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
52185         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
52186         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
52187         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
52188         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
52189         * tests/test-isnanl.c: Likewise.
52190         * tests/test-snprintf-posix.h: Likewise.
52191         * tests/test-sprintf-posix.h: Likewise.
52192         * tests/test-vasnprintf-posix.c: Likewise.
52193         * tests/test-vasnprintf-posix2.c: Likewise.
52194         * tests/test-vasprintf-posix.c: Likewise.
52195
52196 2007-04-06  Bruno Haible  <bruno@clisp.org>
52197
52198         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
52199         * lib/math_.h [__DECC]: Include the overridden include file through
52200         #include_next, outside the double-inclusion guard.
52201         * lib/stdio_.h [__DECC]: Likewise.
52202         * lib/stdlib_.h [__DECC]: Likewise.
52203         * lib/string_.h [__DECC]: Likewise.
52204         * lib/time_.h [__DECC]: Likewise.
52205         * lib/wchar_.h [__DECC]: Likewise.
52206         * lib/wctype_.h [__DECC]: Likewise.
52207         * lib/inttypes_.h [__DECC]: Likewise.
52208         Reported by Albert Chin <china@thewrittenword.com> in
52209         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
52210
52211 2007-04-04  Eric Blake  <ebb9@byu.net>
52212
52213         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
52214         1.5.x.
52215
52216 2007-04-04  Bruno Haible  <bruno@clisp.org>
52217
52218         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
52219         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
52220
52221 2007-04-04  Bruno Haible  <bruno@clisp.org>
52222
52223         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
52224         results for "%010a" of Infinity and NaN.
52225         * tests/test-vasprintf-posix.c (test_function): Likewise.
52226         * tests/test-snprintf-posix.h (test_function): Likewise.
52227         * tests/test-sprintf-posix.h (test_function): Likewise.
52228         * tests/test-fprintf-posix.h (test_function): Remove these tests.
52229         * tests/test-printf-posix.h (test_function): Likewise.
52230         * tests/test-fprintf-posix.out: Update.
52231         Needed for FreeBSD 6.1.
52232
52233 2007-04-04  Bruno Haible  <bruno@clisp.org>
52234
52235         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
52236         directly used by the gnulib modules nor by gnulib-tool.
52237
52238 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
52239
52240         * DEPENDENCIES: Give overall description of version dependency
52241         desirability.  Use more-typical names for apps.
52242         Add shell, coreutils, diffutils, grep, tar, gzip.
52243
52244 2007-04-04  Simon Josefsson  <simon@josefsson.org>
52245
52246         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
52247
52248 2007-04-04  Karl Berry  <karl@gnu.org>
52249
52250         * MODULES.html.sh (func_module): missing '.
52251
52252 2007-04-03  Bruno Haible  <bruno@clisp.org>
52253
52254         * modules/argmatch-tests (Makefile.am): New variable
52255         test_argmatch_LDADD.
52256         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
52257         * modules/array-list-tests (Makefile.am): New variable
52258         test_array_list_LDADD.
52259         * modules/array-oset-tests (Makefile.am): New variable
52260         test_array_oset_LDADD.
52261         * modules/avltree-list-tests (Makefile.am): New variable
52262         test_avltree_list_LDADD.
52263         * modules/avltree-oset-tests (Makefile.am): New variable
52264         test_avltree_oset_LDADD.
52265         * modules/avltreehash-list-tests (Makefile.am): New variable
52266         test_avltreehash_list_LDADD.
52267         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
52268         test_canonicalize_lgpl_LDADD.
52269         * modules/carray-list-tests (Makefile.am): New variable
52270         test_carray_list_LDADD.
52271         * modules/dirname-tests (Makefile.am): New variable
52272         test_dirname_LDADD.
52273         * modules/linked-list-tests (Makefile.am): New variable
52274         test_linked_list_LDADD.
52275         * modules/linkedhash-list-tests (Makefile.am): New variable
52276         test_linkedhash_list_LDADD.
52277         * modules/rbtree-list-tests (Makefile.am): New variable
52278         test_rbtree_list_LDADD.
52279         * modules/rbtree-oset-tests (Makefile.am): New variable
52280         test_rbtree_oset_LDADD.
52281         * modules/rbtreehash-list-tests (Makefile.am): New variable
52282         test_rbtreehash_list_LDADD.
52283         * modules/xvasprintf-tests (Makefile.am): New variable
52284         test_xvasprintf_LDADD.
52285         Reported by Eric Blake.
52286
52287 2007-04-03  Eric Blake  <ebb9@byu.net>
52288
52289         * DEPENDENCIES: Weaken m4 requirements.
52290
52291 2007-04-03  Bruno Haible  <bruno@clisp.org>
52292
52293         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
52294         * modules/isnanl-tests (configure.ac): Likewise.
52295
52296 2007-04-03  Ben Pfaff  <blp@gnu.org>
52297
52298         * modules/iconv_open: Add $(srcdir)/ to source directory
52299         references in Makefile fragments that call gperf, to fix VPATH
52300         builds.
52301
52302 2007-04-03  Bruno Haible  <bruno@clisp.org>
52303
52304         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
52305         * lib/ldexpl.c: Undo last change.
52306
52307 2007-04-03  Bruno Haible  <bruno@clisp.org>
52308
52309         * modules/printf-frexpl (Depends-on): Undo last change.
52310         (Files): Add m4/ldexpl.m4.
52311
52312 2007-04-03  Bruno Haible  <bruno@clisp.org>
52313
52314         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
52315         * modules/isnanl (Link): New section.
52316
52317         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
52318         * modules/frexp (Link): New section.
52319
52320         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
52321         * modules/frexpl (Link): New section.
52322
52323         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
52324         * modules/ldexpl (Link): New section.
52325
52326 2007-04-03  Bruno Haible  <bruno@clisp.org>
52327
52328         * modules/TEMPLATE-EXTENDED: New file.
52329         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
52330
52331 2007-04-03  Bruno Haible  <bruno@clisp.org>
52332
52333         * DEPENDENCIES: New file.
52334         Suggested by Simon Josefsson.
52335
52336 2007-04-03  Bruno Haible  <bruno@clisp.org>
52337
52338         * doc/gnulib.texi: Escape @.
52339
52340 2007-04-03  James Youngman  <jay@gnu.org>
52341         and Paul Eggert  <eggert@cs.ucla.edu>
52342
52343         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
52344         birthtime on all systems that have birthtime, not just those which
52345         use st_birthtimensec rather than st_birthtim.  Putting zero in
52346         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
52347         that the birth time is not available for files on an NFS mount.
52348
52349 2007-04-03  Simon Josefsson  <simon@josefsson.org>
52350
52351         * modules/memxor: Move back from crypto/, suggested by Bruno.
52352         * modules/crypto/hmac-sha1: Fix memxor dependency.
52353
52354         * modules/crypto/gc: Moved from ../.
52355
52356 2007-04-02  Eric Blake  <ebb9@byu.net>
52357
52358         * lib/ldexpl.c (includes): Avoid libm.
52359
52360         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
52361
52362 2007-04-02  Bruno Haible  <bruno@clisp.org>
52363
52364         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
52365         on IRIX.
52366
52367 2007-04-02  Bruno Haible  <bruno@clisp.org>
52368
52369         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
52370         x86 or x86_64 platforms running MacOS X.
52371         Reported by Ryan Schmidt <@ryandesign.com>.
52372
52373 2007-04-02  Bruno Haible  <bruno@clisp.org>
52374
52375         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
52376         i386.
52377
52378 2007-04-01  Simon Josefsson  <simon@josefsson.org>
52379
52380         * modules/crypto/arcfour: Moved from ../.
52381         * modules/crypto/arcfour-tests: Moved from ../.
52382         * modules/crypto/arctwo: Moved from ../.
52383         * modules/crypto/arctwo-tests: Moved from ../.
52384         * modules/crypto/des: Moved from ../.
52385         * modules/crypto/des-tests: Moved from ../.
52386         * modules/crypto/gc-arcfour: Moved from ../.
52387         * modules/crypto/gc-arcfour-tests: Moved from ../.
52388         * modules/crypto/gc-arctwo: Moved from ../.
52389         * modules/crypto/gc-arctwo-tests: Moved from ../.
52390         * modules/crypto/gc-des: Moved from ../.
52391         * modules/crypto/gc-des-tests: Moved from ../.
52392         * modules/crypto/gc-hmac-md5: Moved from ../.
52393         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
52394         * modules/crypto/gc-hmac-sha1: Moved from ../.
52395         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
52396         * modules/crypto/gc-md2: Moved from ../.
52397         * modules/crypto/gc-md2-tests: Moved from ../.
52398         * modules/crypto/gc-md4: Moved from ../.
52399         * modules/crypto/gc-md4-tests: Moved from ../.
52400         * modules/crypto/gc-md5: Moved from ../.
52401         * modules/crypto/gc-md5-tests: Moved from ../.
52402         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
52403         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
52404         * modules/crypto/gc-random: Moved from ../.
52405         * modules/crypto/gc-rijndael: Moved from ../.
52406         * modules/crypto/gc-rijndael-tests: Moved from ../.
52407         * modules/crypto/gc-sha1: Moved from ../.
52408         * modules/crypto/gc-sha1-tests: Moved from ../.
52409         * modules/crypto/gc-tests: Moved from ../.
52410         * modules/crypto/hmac-md5: Moved from ../.
52411         * modules/crypto/hmac-md5-tests: Moved from ../.
52412         * modules/crypto/hmac-sha1: Moved from ../.
52413         * modules/crypto/hmac-sha1-tests: Moved from ../.
52414         * modules/crypto/md2: Moved from ../.
52415         * modules/crypto/md2-tests: Moved from ../.
52416         * modules/crypto/md4: Moved from ../.
52417         * modules/crypto/md4-tests: Moved from ../.
52418         * modules/crypto/md5: Moved from ../.
52419         * modules/crypto/md5-tests: Moved from ../.
52420         * modules/crypto/memxor: Moved from ../.
52421         * modules/crypto/rijndael: Moved from ../.
52422         * modules/crypto/rijndael-tests: Moved from ../.
52423         * modules/crypto/sha1: Moved from ../.
52424
52425 2007-03-30  James Youngman  <jay@gnu.org>
52426
52427         * tests/test-stat-time.c (prepare_test): use chmod() rather than
52428         rename() to change the ctime of a file (because ctime is unaffected
52429         by rename on jfs2 on AIX 5.1).
52430         (main): Start by doing cleanup, in case a previous run failed leaving
52431         test files behind.
52432
52433 2007-03-31  Bruno Haible  <bruno@clisp.org>
52434
52435         Support old proprietary implementations of iconv.
52436         * modules/iconv_open: New file.
52437         * lib/iconv_.h: New file.
52438         * m4/iconv_h.m4: New file.
52439         * lib/iconv_open.c: New file.
52440         * lib/iconv_open-aix.gperf: New file.
52441         * lib/iconv_open-hpux.gperf: New file.
52442         * lib/iconv_open-irix.gperf: New file.
52443         * lib/iconv_open-osf.gperf: New file.
52444         * m4/iconv_open.m4: New file.
52445         * modules/linebreak (Depends-on): Add iconv_open.
52446         * modules/striconv (Depends-on): Likewise.
52447         * modules/striconveh (Depends-on): Likewise.
52448         * modules/unicodeio (Depends-on): Likewise.
52449         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
52450         (iconv_t)(-1).
52451         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
52452         conversion if cd is (iconv_t)(-1).
52453         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
52454         is not possible.
52455
52456 2007-03-31  Bruno Haible  <bruno@clisp.org>
52457
52458         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
52459         work on Solaris either. Protect also second use of "autodetect_jp".
52460
52461 2007-03-31  Bruno Haible  <bruno@clisp.org>
52462
52463         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
52464         the function is not present.
52465
52466 2007-03-31  Bruno Haible  <bruno@clisp.org>
52467
52468         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
52469         the function is not present.
52470
52471 2007-03-31  Bruno Haible  <bruno@clisp.org>
52472
52473         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
52474         a bug in HP-UX iconv_open().
52475
52476 2007-03-31  Bruno Haible  <bruno@clisp.org>
52477
52478         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
52479         (Mathematics <math.h>): New section, add fpieee.
52480         (Input/output <stdio.h>): Add fseterr.
52481         (Mathematics <math.h>): New section, add printf-frexp.
52482         (Container data structures): Add sublist.
52483         (Core language properties): Add fpucw, inline.
52484         (Functions for greatest-width integer types <inttypes.h>): Add
52485         imaxabs, imaxdiv, inttypes.
52486         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
52487         isnanl-nolibm, ldexp.
52488         (Mathematics <math.h>): New section, add printf-frexpl.
52489         (Support for systems lacking POSIX:2001): Add fprintf-posix,
52490         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
52491         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
52492         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
52493         (Unicode string functions): Add unistr/u*-mbtoucr.
52494         (Java): Add javacomp-script, javaexec-script.
52495         (C#): Add csharpcomp-script, csharpexec-script.
52496         (Support for building libraries and executables): Add havelib,
52497         relocatable-*.
52498         (Support for maintaining and releasing projects): Renamed from
52499         'Support for maintaining and release projects'. Add announce-gen.
52500
52501 2007-03-31  Bruno Haible  <bruno@clisp.org>
52502
52503         * README: Talk primarily about git.
52504         (git and CVS): Renamed from CVS.
52505         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
52506         gnulib is available through git.
52507         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
52508
52509 2007-03-30  Bruno Haible  <bruno@clisp.org>
52510
52511         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
52512         * lib/poll_.h: Likewise.
52513         * lib/stat_.h: Likewise.
52514         * lib/sys_time_.h: Likewise.
52515         * lib/sysexit_.h: Likewise.
52516         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
52517         * lib/stdbool_.h: Likewise.
52518         * lib/byteswap_.h: Add double-inclusion guard.
52519
52520 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
52521
52522         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
52523
52524 2007-03-30  Karl Berry  <karl@gnu.org>
52525
52526         * config/srclist-update: double space after USA in the license
52527         substitution, since that's how it's usually (?) written.
52528
52529 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
52530
52531         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
52532         reported by Bruno Haible.
52533
52534 2007-03-29  Bruno Haible  <bruno@clisp.org>
52535
52536         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
52537         a bug in AIX iconv().
52538
52539 2007-03-29  Bruno Haible  <bruno@clisp.org>
52540
52541         * modules/ldexpl-tests: New file.
52542         * tests/test-ldexpl.c: New file.
52543
52544 2007-03-29  Bruno Haible  <bruno@clisp.org>
52545
52546         * lib/ldexpl.c: Include fpucw.h.
52547         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
52548         multiplication.
52549         * modules/ldexpl (Depends-on): Add fpucw.
52550
52551 2007-03-29  Bruno Haible  <bruno@clisp.org>
52552
52553         * modules/ldexpl: New file.
52554         * m4/ldexpl.m4: New file.
52555         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
52556         set.
52557         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
52558         REPLACE_LDEXPL.
52559         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
52560         REPLACE_LDEXPL.
52561         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
52562         gl_FUNC_LDEXPL_WORKS.
52563         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
52564         * modules/mathl (Files): Remove lib/ldexpl.c.
52565         (Depends-on): Add ldexpl.
52566
52567 2007-03-29  Bruno Haible  <bruno@clisp.org>
52568
52569         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
52570
52571 2007-03-29  Bruno Haible  <bruno@clisp.org>
52572
52573         * tests/test-striconveh.c (main): Don't assume that a direct conversion
52574         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
52575         and possibly also HP-UX.
52576         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
52577         work on AIX, IRIX, HP-UX, OSF/1.
52578         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
52579         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
52580         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
52581         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
52582         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
52583         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
52584
52585 2007-03-29  Bruno Haible  <bruno@clisp.org>
52586
52587         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
52588
52589 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
52590
52591         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
52592         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
52593
52594 2007-03-29  Eric Blake  <ebb9@byu.net>
52595
52596         * lib/acl-internal.h: Remove redundant include.
52597         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
52598         Cygwin when a file is locked.
52599
52600 2007-03-29  Bruno Haible  <bruno@clisp.org>
52601
52602         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
52603         file.
52604         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
52605
52606 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
52607
52608         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
52609         try to remove a parent directory if the child couldn't be removed
52610         (except for the first rmdir, which could fail because the child
52611         doesn't exist).  Problem reported by Jeff Blaine in
52612         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
52613
52614 2007-03-28  Bruno Haible  <bruno@clisp.org>
52615
52616         * lib/striconveh.c (utf8conv_carefully): New function.
52617         (mem_cd_iconveh_internal): Invoke it.
52618
52619 2007-03-28  Bruno Haible  <bruno@clisp.org>
52620
52621         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
52622         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
52623         input.
52624         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
52625         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
52626         unistr/u8-uctomb.
52627
52628 2007-03-28  Bruno Haible  <bruno@clisp.org>
52629
52630         * modules/unistr/u8-mbtoucr: New file.
52631         * lib/unistr/u8-mbtoucr.c: New file.
52632         * modules/unistr/u16-mbtoucr: New file.
52633         * lib/unistr/u16-mbtoucr.c: New file.
52634         * modules/unistr/u16-mbtoucr: New file.
52635         * lib/unistr/u16-mbtoucr.c: New file.
52636         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
52637
52638 2007-03-27  Simon Josefsson  <simon@josefsson.org>
52639             Bruno Haible  <bruno@clisp.org>
52640
52641         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
52642         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
52643         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
52644
52645         * m4/stdio_h.m4: Add stubs for vasprintf too.
52646
52647         * modules/stdio: Support vasprintf in sed command.
52648
52649         * modules/vasprintf: Depend on stdio for prototypes.  Remove
52650         vasprintf.h.  Add stdio module indicator.
52651
52652         * lib/stdio_.h: Declare asprintf and vasprintf, based on
52653         vasprintf.h.
52654
52655         * lib/vasprintf.h: File removed.
52656
52657         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
52658         * lib/vasprintf.c: Ditto.
52659         * lib/xvasprintf.c: Ditto.
52660         * tests/test-vasprintf-posix.c: Ditto.
52661         * tests/test-vasprintf.c: Ditto.
52662
52663 2007-03-27  Bruno Haible  <bruno@clisp.org>
52664
52665         Make vasnprintf multithread-safe.
52666         * lib/vasnprintf.c (decimal_point_char): New function.
52667         (VASNPRINTF): Use it.
52668         Suggested by Simon Josefsson.
52669
52670 2007-03-27  Eric Blake  <ebb9@byu.net>
52671
52672         Support sub-second birthtime on cygwin.
52673         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
52674         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
52675         (get_stat_birthtime): Also work with st_birthtim.
52676
52677 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
52678
52679         * lib/stat-time.h (USE_BIRTHTIME): Remove.
52680         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
52681         (get_stat_birthtime_ns): Do not try to use "spare" fields.
52682         (get_stat_birthtime_ns): Simplify compile-time tests.
52683         (get_stat_birthtime): Change the API to look like
52684         get_stat_mtime etc., except return a negative tv_nsec on error.
52685         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
52686         Don't check for "spare" fields.
52687         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
52688         or for struct stat.st_birthtime, as these tests aren't used.
52689         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
52690
52691 2007-03-27  Bruno Haible  <bruno@clisp.org>
52692
52693         * lib/stat-time.h: Include <sys/stat.h>.
52694
52695 2007-03-27  James Youngman  <jay@gnu.org>
52696
52697         * lib/stat-time.h (get_stat_birthtime): New function for
52698           retrieving st_birthtime as provided by UFS2 (hence *BSD).
52699         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
52700           and its variants.
52701         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
52702         * modules/stat-time-test: New file.
52703         * tests/test-stat-time.c: New test, devised by Bruno Haible.
52704
52705 2007-03-26  Bruno Haible  <bruno@clisp.org>
52706
52707         Better support of signalling NaNs.
52708         * lib/atanl.c: Include isnanl.h.
52709         (atanl): Perform test for NaN at the beginning of the function and
52710         through a call to isnanl.
52711         * lib/cosl.c: Include isnanl.h.
52712         (cosl): Perform test for NaN at the beginning of the function and
52713         through a call to isnanl.
52714         * lib/ldexpl.c: Include isnanl.h.
52715         (ldexpl): Perform test for NaN through a call to isnanl.
52716         * lib/logl.c: Include isnanl.h.
52717         (logl): Perform test for NaN at the beginning of the function and
52718         through a call to isnanl.
52719         * lib/sinl.c: Include isnanl.h.
52720         (sinl): Perform test for NaN at the beginning of the function and
52721         through a call to isnanl.
52722         * lib/sqrtl.c: Include isnanl.h.
52723         (sqrtl): Perform test for NaN at the beginning of the function and
52724         through a call to isnanl.
52725         * lib/tanl.c: Include isnanl.h.
52726         (tanl): Perform test for NaN at the beginning of the function and
52727         through a call to isnanl.
52728         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
52729         * modules/mathl (Depends-on): Add isnanl.
52730
52731 2007-03-26  Eric Blake  <ebb9@byu.net>
52732
52733         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
52734         regression in logic sense of previous patch.
52735
52736 2007-03-26  Bruno Haible  <bruno@clisp.org>
52737
52738         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
52739         unportable shell command "if ! ...".
52740         Reported by Ralf Wildenhues.
52741
52742 2007-03-25  Bruno Haible  <bruno@clisp.org>
52743
52744         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
52745         <sysexits.h> file, and only add EX_CONFIG.
52746         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
52747         absolute file name and whether it is sufficient. Substitute also
52748         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
52749         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
52750         ABSOLUTE_SYSEXITS_H into sysexits.h.
52751
52752 2007-03-25  Bruno Haible  <bruno@clisp.org>
52753
52754         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
52755         hints is NULL.
52756
52757 2007-03-25  Bruno Haible  <bruno@clisp.org>
52758
52759         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
52760         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
52761
52762 2007-03-25  Bruno Haible  <bruno@clisp.org>
52763
52764         * lib/vasnprintf.c: Include langinfo.h.
52765         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
52766         multithread-safe.
52767         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
52768         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
52769         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
52770         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
52771         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
52772         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
52773         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
52774         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
52775         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
52776         Reported by Simon Josefsson.
52777
52778 2007-03-25  Bruno Haible  <bruno@clisp.org>
52779
52780         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
52781         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
52782         * modules/vasnprintf (Depends-on): Add stdint.
52783
52784 2007-03-25  Bruno Haible  <bruno@clisp.org>
52785
52786         * modules/fpieee: New file.
52787         * m4/fpieee.m4: New file.
52788         * modules/isnan-nolibm (Depends-on): Add fpieee.
52789         * modules/isnanl-nolibm (Depends-on): Add fpieee.
52790         * modules/isnanl (Depends-on): Add fpieee.
52791
52792 2007-03-25  Bruno Haible  <bruno@clisp.org>
52793
52794         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
52795
52796 2007-03-25  Bruno Haible  <bruno@clisp.org>
52797
52798         Avoid test failures on IRIX 6.5.
52799         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
52800         (main): Use it.
52801         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
52802         macros.
52803         (main): Use them.
52804
52805 2007-03-25  Bruno Haible  <bruno@clisp.org>
52806
52807         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
52808         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
52809         exists but doesn't work.
52810         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
52811         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
52812         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
52813         * modules/math (Makefile.am): Substibute also REPLACE_FREXPL into
52814         math.h.
52815
52816 2007-03-25  Bruno Haible  <bruno@clisp.org>
52817
52818         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
52819         returns inf. Needed on IRIX 6.5.
52820
52821 2007-03-25  Bruno Haible  <bruno@clisp.org>
52822
52823         * tests/test-frexpl.c: Include isnanl-nolibm.h.
52824         (main): Use isnanl instead of x != x idiom.
52825         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
52826
52827         * tests/test-frexp.c: Include isnan.h.
52828         (main): Use isnan instead of x != x idiom.
52829         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
52830
52831 2007-03-25  Bruno Haible  <bruno@clisp.org>
52832
52833         * tests/test-frexp.c (NaN): New function/macro.
52834         (main): Use it instead of 0.0 / 0.0.
52835         * tests/test-isnan.c (NaN): New function/macro.
52836         (main): Use it instead of 0.0 / 0.0.
52837         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
52838         (test_function): Use it instead of 0.0 / 0.0.
52839         * tests/test-vasprintf-posix.c (NaN): New function/macro.
52840         (test_function): Use it instead of 0.0 / 0.0.
52841         * tests/test-snprintf-posix.h (NaN): New function/macro.
52842         (test_function): Use it instead of 0.0 / 0.0.
52843         * tests/test-sprintf-posix.h (NaN): New function/macro.
52844         (test_function): Use it instead of 0.0 / 0.0.
52845         * tests/test-fprintf-posix.h (NaN): New function/macro.
52846         (test_function): Use it instead of 0.0 / 0.0.
52847         * tests/test-printf-posix.h (NaN): New function/macro.
52848         (test_function): Use it instead of 0.0 / 0.0.
52849
52850         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
52851
52852 2007-03-25  Bruno Haible  <bruno@clisp.org>
52853
52854         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
52855
52856 2007-03-25  Bruno Haible  <bruno@clisp.org>
52857
52858         * lib/regexec.c (merge_state_with_log): Make static.
52859
52860 2007-03-25  Bruno Haible  <bruno@clisp.org>
52861
52862         * lib/trigl.c (kernel_rem_pio2): Make static.
52863
52864 2007-03-25  Bruno Haible  <bruno@clisp.org>
52865
52866         * lib/sincosl.c (sincosl_table): Make static.
52867
52868 2007-03-25  Bruno Haible  <bruno@clisp.org>
52869
52870         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
52871         if the compiler does not support C99.
52872
52873 2007-03-25  Bruno Haible  <bruno@clisp.org>
52874
52875         * modules/time (Makefile.am): Ensure all rule action lines start with a
52876         tab.
52877
52878 2007-03-24  Bruno Haible  <bruno@clisp.org>
52879
52880         * modules/tsearch-tests: New file.
52881         * tests/test-tsearch.sh: New file.
52882         * tests/test-tsearch.c: New file, mostly copied from glibc.
52883
52884         * modules/search-tests: New file.
52885         * tests/test-search.c: New file.
52886
52887         * modules/search: New file.
52888         * lib/search_.h: New file, incorporating lib/tsearch.h.
52889         * m4/search_h.m4: New file.
52890         * lib/tsearch.h: Remove file.
52891         * lib/tsearch.c: Include search.h instead of tsearch.h.
52892         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
52893         HAVE_TSEARCH.
52894         * modules/tsearch (Files): Remove lib/tsearch.h.
52895         (Depends-on): Add search.
52896         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
52897         (Include): Change tsearch.h into search.h.
52898
52899 2007-03-24  Bruno Haible  <bruno@clisp.org>
52900
52901         * modules/fpucw: New file.
52902         * lib/fpucw.h: New file.
52903         * lib/frexp.c: Include fpucw.h.
52904         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
52905         (FUNC): Use them.
52906         * lib/printf-frexp.c: Include fpucw.h.
52907         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
52908         (FUNC): Use them.
52909         * lib/vasnprintf.c: Include fpucw.h.
52910         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
52911         'long double' calculations.
52912         * tests/test-frexpl.c: Include fpucw.h.
52913         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
52914         * tests/test-printf-frexpl.c: Include fpucw.h.
52915         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
52916         * modules/frexpl (Depends-on): Add fpucw.
52917         * modules/printf-frexpl (Depends-on): Likewise.
52918         * modules/fprintf-posix (Depends-on): Likewise.
52919         * modules/snprintf-posix (Depends-on): Likewise.
52920         * modules/sprintf-posix (Depends-on): Likewise.
52921         * modules/vasnprintf-posix (Depends-on): Likewise.
52922         * modules/vasprintf-posix (Depends-on): Likewise.
52923         * modules/vfprintf-posix (Depends-on): Likewise.
52924         * modules/vsnprintf-posix (Depends-on): Likewise.
52925         * modules/vsprintf-posix (Depends-on): Likewise.
52926         * modules/frexpl-tests (Depends-on): Likewise.
52927         * modules/printf-frexpl-tests (Depends-on): Likewise.
52928
52929 2007-03-24  Bruno Haible  <bruno@clisp.org>
52930
52931         * lib/float+.h: New file.
52932         * lib/isnan.c: Include float+.h.
52933         (SIZE): New macro.
52934         (FUNC): Compare only SIZE bytes of the value.
52935         * lib/vasnprintf.c: Include float+.h.
52936         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
52937         SIZEOF_LDBL or SIZEOF_DBL bytes.
52938         * modules/isnan-nolibm (Files): Add lib/float+.h.
52939         * modules/isnanl-nolibm (Files): Add lib/float+.h.
52940         * modules/isnanl (Files): Add lib/float+.h.
52941         * modules/vasnprintf (Files): Add lib/float+.h.
52942
52943 2007-03-24  Bruno Haible  <bruno@clisp.org>
52944
52945         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
52946         include isnanl-nolibm.h.
52947
52948 2007-03-24  Bruno Haible  <bruno@clisp.org>
52949
52950         * tests/test-read-file.c (main): Don't produce spurious output for
52951         expected situations. Make the test fail if it encountered unexpected
52952         results.
52953
52954 2007-03-24  Bruno Haible  <bruno@clisp.org>
52955
52956         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
52957         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
52958
52959 2007-03-24  Bruno Haible  <bruno@clisp.org>
52960
52961         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
52962
52963 2007-03-24  Bruno Haible  <bruno@clisp.org>
52964
52965         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
52966         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
52967
52968         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
52969         * modules/utf8-ucs4: Turn into a symbolic link to module
52970         unistr/u8-mbtouc.
52971
52972         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
52973         utf8-ucs4-unsafe.
52974         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
52975         unistr/u8-mbtouc-unsafe.
52976
52977         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
52978         * modules/utf16-ucs4: Turn into a symbolic link to module
52979         unistr/u16-mbtouc.
52980
52981         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
52982         utf16-ucs4-unsafe.
52983         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
52984         unistr/u16-mbtouc-unsafe.
52985
52986         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
52987         * modules/ucs4-utf8: Turn into a symbolic link to module
52988         unistr/u8-ubtomb.
52989
52990         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
52991         * modules/ucs4-utf16: Turn into a symbolic link to module
52992         unistr/u16-ubtomb.
52993
52994 2007-03-24  Bruno Haible  <bruno@clisp.org>
52995
52996         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
52997         Enable the function only if HAVE_INLINE.
52998         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
52999         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
53000         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
53001         Enable the function only if HAVE_INLINE.
53002         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
53003         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
53004         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
53005         Enable the function only if HAVE_INLINE.
53006         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
53007         Enable the function only if HAVE_INLINE.
53008         * modules/utf8-ucs4: Update.
53009         * modules/utf8-ucs4-unsafe: Update.
53010         * modules/utf16-ucs4: Update.
53011         * modules/utf16-ucs4-unsafe: Update.
53012         * modules/ucs4-utf8: Update.
53013         * modules/ucs4-utf16: Update.
53014
53015 2007-03-24  Bruno Haible  <bruno@clisp.org>
53016
53017         * lib/utf8-ucs4.h: Remove file.
53018         * lib/utf8-ucs4-unsafe.h: Remove file.
53019         * lib/utf16-ucs4.h: Remove file.
53020         * lib/utf16-ucs4-unsafe.h: Remove file.
53021         * lib/ucs4-utf8.h: Remove file.
53022         * lib/ucs4-utf16.h: Remove file.
53023         * lib/unistr.h: Include their previous contents.
53024         * m4/utf-ucs4.m4: Remove file.
53025         * m4/ucs4-utf.m4: Remove file.
53026         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
53027         (Depends-on): Add unistr/base.
53028         (configure.ac): Remove gl_UTF_UCS4.
53029         (Makefile.am): Update.
53030         (Include): Change to unistr.h.
53031         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
53032         (Depends-on): Add unistr/base.
53033         (configure.ac): Remove gl_UTF_UCS4.
53034         (Makefile.am): Update.
53035         (Include): Change to unistr.h.
53036         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
53037         (Depends-on): Add unistr/base.
53038         (configure.ac): Remove gl_UTF_UCS4.
53039         (Makefile.am): Update.
53040         (Include): Change to unistr.h.
53041         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
53042         (Depends-on): Add unistr/base.
53043         (configure.ac): Remove gl_UTF_UCS4.
53044         (Makefile.am): Update.
53045         (Include): Change to unistr.h.
53046         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
53047         (Depends-on): Add unistr/base.
53048         (configure.ac): Remove gl_UCS4_UTF.
53049         (Makefile.am): Update.
53050         (Include): Change to unistr.h.
53051         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
53052         (Depends-on): Add unistr/base.
53053         (configure.ac): Remove gl_UCS4_UTF.
53054         (Makefile.am): Update.
53055         (Include): Change to unistr.h.
53056         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
53057         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
53058         utf8-ucs4-unsafe.h.
53059         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
53060         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
53061         utf16-ucs4-unsafe.h.
53062         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
53063         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
53064         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
53065         * lib/unistr/u8-strchr.c: Likewise.
53066         * lib/unistr/u8-strrchr.c: Likewise.
53067         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
53068         * lib/unistr/u16-strchr.c: Likewise.
53069         * lib/unistr/u16-strrchr.c: Likewise.
53070         * lib/striconveh.c: Update.
53071         * lib/linebreak.c: Update.
53072
53073 2007-03-24  Bruno Haible  <bruno@clisp.org>
53074
53075         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
53076         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
53077
53078 2007-03-22  Bruno Haible  <bruno@clisp.org>
53079
53080         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
53081
53082 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
53083
53084         * MODULES.html.sh (File system functions): New module write-any-file.
53085         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
53086         * m4/write-any-file.m4: New files.
53087
53088 2007-03-23  Eric Blake  <ebb9@byu.net>
53089
53090         * gnulib-tool: Rearrange space-tab sequences, since some editors
53091         like to eat them.
53092
53093 2007-03-23  Eric Blake  <ebb9@byu.net>
53094
53095         * lib/version-etc.c (version_etc_va): Update license wording to
53096         be more concise.  Recommended by Richard Stallman.
53097
53098 2007-03-22  Bruno Haible  <bruno@clisp.org>
53099
53100         * lib/poll.c (MSG_PEEK): New fallback definition.
53101
53102 2007-03-22  Bruno Haible  <bruno@clisp.org>
53103
53104         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
53105         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
53106         (main): Update.
53107         Fixes a compilation error on BeOS.
53108
53109 2007-03-22  Bruno Haible  <bruno@clisp.org>
53110
53111         * modules/frexpl-tests: New file.
53112         * tests/test-frexpl.c: New file.
53113
53114         * modules/frexpl: New file.
53115         * m4/frexpl.m4: New file.
53116         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
53117         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
53118         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
53119         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
53120         (Depends-on): Add frexpl. Remove isnanl-nolibm.
53121         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
53122
53123 2007-03-22  Bruno Haible  <bruno@clisp.org>
53124
53125         * lib/frexpl.c: Share code with lib/frexp.c.
53126         * modules/mathl (Files): Add lib/frexp.c.
53127         (Depends-on): Add isnanl-nolibm.
53128
53129 2007-03-22  Bruno Haible  <bruno@clisp.org>
53130
53131         * modules/printf-frexp (Files): Add m4/frexp.m4.
53132         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
53133         only if the found frexp function actually works.
53134
53135 2007-03-22  Bruno Haible  <bruno@clisp.org>
53136
53137         * lib/frexp.c: Remove older implementation that uses divisions.
53138
53139 2007-03-21  Bruno Haible  <bruno@clisp.org>
53140
53141         * modules/frexp-tests: New file.
53142         * tests/test-frexp.c: New file.
53143
53144         * modules/frexp: New file.
53145         * lib/frexp.c: New file.
53146         * m4/frexp.m4: New file.
53147         * lib/math_.h (frexp): New declaration.
53148         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
53149         REPLACE_FREXP.
53150         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
53151
53152 2007-03-21  Bruno Haible  <bruno@clisp.org>
53153
53154         * modules/isnanl-tests: New file.
53155         * tests/test-isnanl.c: New file.
53156
53157         * modules/isnanl: New file.
53158         * lib/isnanl.h: New file.
53159         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
53160         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
53161         gl_FUNC_ISNANL_WORKS.
53162         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
53163         New macros.
53164
53165 2007-03-21  Bruno Haible  <bruno@clisp.org>
53166
53167         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
53168         lib/isnanl.h.
53169         (Include): Update.
53170         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
53171         * lib/vasnprintf.c: Update.
53172         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
53173         tests/test-isnanl.h, remove tests/test-isnanl.c.
53174         (Makefile.am): Update.
53175         * tests/test-isnanl-nolibm.c: New file.
53176         * tests/test-isnanl.h: New file.
53177         * tests/test-isnanl.c: Remove file.
53178
53179 2007-03-21  Jim Meyering  <jim@meyering.net>
53180
53181         When trying to open ".", treat ESTALE like EACCES.
53182         * lib/savewd.c (savewd_save): Resort to forking not just upon
53183         failure with EACCES, but also when errno is ESTALE.
53184
53185 2007-03-20  Bruno Haible  <bruno@clisp.org>
53186
53187         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
53188         Needed on AIX 5.1. Reported by Matthew Woehlke.
53189
53190 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
53191
53192         Suggestions by Bruno Haible:
53193         * lib/acl-internal.h: Include "gettext.h" rather than rolling
53194         our own.
53195         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
53196         * modules/acl (Depends-on): Add gettext.
53197
53198 2007-03-19  Bruno Haible  <bruno@clisp.org>
53199
53200         * modules/iconvme: Remove file.
53201         * lib/iconvme.h: Remove file.
53202         * lib/iconvme.c: Remove file.
53203         * m4/iconvme.m4: Remove file.
53204
53205 2007-03-19  Bruno Haible  <bruno@clisp.org>
53206
53207         * doc/relocatable-maint.texi: Break long shell script line.
53208         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
53209
53210 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
53211
53212         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
53213         handle file_has_acl.
53214         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
53215         * lib/acl.c: Move header inclusions and related macro defns into
53216         lib/acl-internal.h.
53217         (S_ISLNK): Remove defn, since that's now done for us.
53218         (file_has_acl): Move to lib/file-has-acl.c.
53219         Call acl_trivial if available.  This is the crucial part of the fix.
53220         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
53221         shared within the library.  Rewrite a bit, partly to make it compatible
53222         with the GNU coding style.
53223         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
53224         Remove unnecessary double-quotes.
53225         Don't test for acl_to_text; the build will catch that.
53226         Replace acl_entries if it doesn't exist and it is needed.
53227         Check for -lsec and acl_trivial (as used on Solaris 10).
53228         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
53229         lib/file-has-acl.c.
53230         (Depends-on): Add sys_stat, for S_ISLNK.
53231
53232 2007-03-19  Ben Pfaff  <blp@gnu.org>
53233
53234         * doc/gnulib.texi: Fix typos.
53235         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
53236
53237 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
53238
53239         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
53240         If size is zero here, buf must be zero.
53241
53242 2007-03-19  Simon Josefsson  <simon@josefsson.org>
53243
53244         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
53245         <bruno@clisp.org>.
53246
53247 2007-03-18  Bruno Haible  <bruno@clisp.org>
53248
53249         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
53250         Suggested by Eric Blake.
53251
53252 2007-03-18  Ben Pfaff  <blp@gnu.org>
53253
53254         * doc/relocatable.texi: Recommend using as prefix a directory
53255         that does not exist and will never be created.  Based on
53256         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
53257         and others.
53258
53259 2007-03-17  Bruno Haible  <bruno@clisp.org>
53260
53261         * lib/fchownat.c: Include lchown.h.
53262
53263 2007-03-17  Bruno Haible  <bruno@clisp.org>
53264
53265         Fix endless loop when the given allocated size was > INT_MAX.
53266         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
53267         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
53268         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
53269         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
53270         * lib/sprintf.c (sprintf): Likewise.
53271
53272 2007-03-17  Bruno Haible  <bruno@clisp.org>
53273
53274         * tests/test-argp-2.sh (func_compare): Output a context diff.
53275
53276 2007-03-17  Bruno Haible  <bruno@clisp.org>
53277
53278         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
53279         locale's decimal-point character.
53280
53281 2007-03-17  Bruno Haible  <bruno@clisp.org>
53282
53283         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
53284         before comparing it. Needed because on some platforms (e.g. x86) a
53285         'long double' occupies less bytes than sizeof (long double).
53286
53287 2007-03-17  Bruno Haible  <bruno@clisp.org>
53288
53289         * tests/test-crc.c (main): Make printf statements 64-bit clean.
53290         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
53291         * tests/test-getaddrinfo.c (simple): Likewise.
53292         * tests/test-read-file.c (main): Likewise.
53293
53294 2007-03-17  Bruno Haible  <bruno@clisp.org>
53295
53296         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
53297
53298 2007-03-17  Bruno Haible  <bruno@clisp.org>
53299
53300         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
53301         unused variable.
53302
53303 2007-03-17  Bruno Haible  <bruno@clisp.org>
53304
53305         * tests/test-c-strcasecmp.c: Include c-strcase.h.
53306         * tests/test-c-strncasecmp.c: Likewise.
53307
53308 2007-03-17  Bruno Haible  <bruno@clisp.org>
53309
53310         * modules/stdlib (Depends-on): Add unistd.
53311         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
53312         Needed for MacOS X 10.3.
53313
53314 2007-03-17  Bruno Haible  <bruno@clisp.org>
53315
53316         * lib/unistr/u-strdup.h: Include <stdlib.h>.
53317
53318 2007-03-17  Bruno Haible  <bruno@clisp.org>
53319
53320         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
53321
53322 2007-03-17  Bruno Haible  <bruno@clisp.org>
53323
53324         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
53325         to reflect files copied from gnulib (with or without modifications).
53326         Suggested by Jim Meyering.
53327
53328 2007-03-17  Eric Blake  <ebb9@byu.net>
53329
53330         * NEWS: Document stdlib change from 2007-02-18.
53331
53332 2007-03-17  Jim Meyering  <jim@meyering.net>
53333
53334         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
53335         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
53336         someone uses a name containing shell meta-characters.
53337         Reported by Alfred M. Szmidt.
53338
53339         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
53340
53341 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
53342
53343         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
53344         and copy gettext configuration files only if configure.ac contains
53345         a use of AM_GNU_GETTEXT_VERSION.
53346
53347 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
53348
53349         * build-aux/bootstrap (gnulib_name): New variable.
53350         (gnulib_tool_options): Use it.
53351
53352 2007-03-13  Simon Josefsson  <simon@josefsson.org>
53353
53354         * tests/test-des.c: Use new namespace.
53355
53356 2007-03-15  Bruno Haible  <bruno@clisp.org>
53357
53358         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
53359         Reported by James Youngman <jay@gnu.org>.
53360
53361 2007-03-15  Bruno Haible  <bruno@clisp.org>
53362
53363         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
53364         declared prototype. Needed with cc on OSF/1 5.1.
53365
53366 2007-03-15  Bruno Haible  <bruno@clisp.org>
53367
53368         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
53369         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
53370         (struct gl_list_implementation): Add dispose_fn argument to the
53371         'create_empty', 'create' methods.
53372         (struct gl_list_impl_base): Add field 'dispose_fn'.
53373         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
53374         argument.
53375         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
53376         dispose_fn argument.
53377         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
53378         dispose_fn on the dropped values.
53379         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
53380         dispose_fn argument.
53381         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
53382         dropped values.
53383         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
53384         (gl_tree_remove_node): Call dispose_fn on the dropped value.
53385         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
53386         (gl_tree_remove_node): Call dispose_fn on the dropped value.
53387         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
53388         argument.
53389         (gl_tree_list_free): Call dispose_fn on the dropped values.
53390         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
53391         the dropped values.
53392         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
53393         Add dispose_fn argument.
53394         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
53395         Call dispose_fn on the dropped values.
53396         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
53397         Add dispose_fn argument.
53398         (gl_sublist_create): Initialize the 'dispose_fn' field.
53399         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
53400         * tests/test-array_list.c (main): Update.
53401         * tests/test-carray_list.c (main): Update.
53402         * tests/test-avltree_list.c (main): Update.
53403         * tests/test-rbtree_list.c (main): Update.
53404         * tests/test-avltreehash_list.c (main): Update.
53405         * tests/test-rbtreehash_list.c (main): Update.
53406         * tests/test-linked_list.c (main): Update.
53407         * tests/test-linkedhash_list.c (main): Update.
53408         * tests/test-array_oset.c (main): Update.
53409
53410 2007-03-15  Bruno Haible  <bruno@clisp.org>
53411
53412         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
53413         (gl_oset_create_empty): Add dispose_fn argument.
53414         (struct gl_oset_implementation): Add dispose_fn argument to
53415         'create_empty' method.
53416         (struct gl_oset_impl_base): Add dispose_fn field.
53417         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
53418         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
53419         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
53420         values.
53421         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
53422         (gl_tree_oset_free): Call dispose_fn on the dropped values.
53423         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
53424         dropped value.
53425         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
53426         dropped value.
53427         * tests/test-array_oset.c (main): Update.
53428         * tests/test-avltree_oset.c (main): Update.
53429         * tests/test-rbtree_oset.c (main): Update.
53430         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
53431
53432 2007-03-13  Bruno Haible  <bruno@clisp.org>
53433
53434         * tests/test-stdbool.c (i): Update after last patch.
53435
53436 2007-03-12  Bruno Haible  <bruno@clisp.org>
53437
53438         * lib/quotearg.c: Include <wctype.h> early, before the definition of
53439         the iswprint macro. Needed on Solaris 2.5.1.
53440
53441 2007-03-12  Bruno Haible  <bruno@clisp.org>
53442
53443         * tests/test-printf-frexp.c (main): Declare x as volatile.
53444
53445 2007-03-12  Simon Josefsson  <simon@josefsson.org>
53446
53447         * doc/gnulib.texi (Build robot for gnulib): New section.
53448
53449 2007-03-12  Jim Meyering  <jim@meyering.net>
53450
53451         * build-aux/bootstrap: New file.
53452         * build-aux/bootstrap.conf: New file, from coreutils.
53453
53454 2007-03-11  Bruno Haible  <bruno@clisp.org>
53455
53456         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
53457
53458 2007-03-12  Simon Josefsson  <simon@josefsson.org>
53459
53460         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
53461         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
53462         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
53463
53464 2007-03-11  Bruno Haible  <bruno@clisp.org>
53465
53466         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
53467         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
53468
53469 2007-03-11  Bruno Haible  <bruno@clisp.org>
53470
53471         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
53472         formula. Needed for SunPRO C 5.0.
53473
53474 2007-03-11  Bruno Haible  <bruno@clisp.org>
53475
53476         * modules/long-options (Depends-on): Add getopt.
53477
53478 2007-03-11  Bruno Haible  <bruno@clisp.org>
53479
53480         * modules/modechange (Depends-on): Add stdbool.
53481
53482 2007-03-11  Bruno Haible  <bruno@clisp.org>
53483
53484         * modules/i-ring (Depends-on): Add stdbool.
53485
53486 2007-03-11  Bruno Haible  <bruno@clisp.org>
53487
53488         * modules/gc-des (Depends-on): Add stdbool.
53489
53490 2007-03-11  Bruno Haible  <bruno@clisp.org>
53491
53492         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
53493
53494 2007-03-11  Bruno Haible  <bruno@clisp.org>
53495
53496         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
53497
53498 2007-03-11  Bruno Haible  <bruno@clisp.org>
53499
53500         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
53501
53502 2007-03-11  Bruno Haible  <bruno@clisp.org>
53503
53504         * lib/vasnprintf.c (sprintf): Undefine.
53505
53506 2007-03-11  Bruno Haible  <bruno@clisp.org>
53507
53508         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
53509         initializers in SunPRO C and Compaq C compilers.
53510
53511 2007-03-11  Bruno Haible  <bruno@clisp.org>
53512
53513         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
53514         decrementing code ANSI C compliant.
53515
53516 2007-03-11  Bruno Haible  <bruno@clisp.org>
53517
53518         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
53519         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
53520
53521 2007-03-11  Bruno Haible  <bruno@clisp.org>
53522
53523         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
53524         <stdbool.h> substitute doesn't pass.
53525
53526 2007-03-11  Bruno Haible  <bruno@clisp.org>
53527
53528         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
53529
53530 2007-03-11  Bruno Haible  <bruno@clisp.org>
53531
53532         * gnulib-tool (func_create_megatestdir): Create also an autobuild
53533         script, for submission to autobuild.josefsson.org.
53534
53535 2007-03-10  Bruno Haible  <bruno@clisp.org>
53536
53537         * modules/canonicalize-lgpl-tests: New file.
53538         * tests/test-canonicalize-lgpl.sh: New file.
53539         * tests/test-canonicalize-lgpl.c: New file.
53540
53541         * modules/c-strcase-tests: New file.
53542         * tests/test-c-strcase.sh: New file.
53543         * tests/test-c-strcasecmp.c: New file.
53544         * tests/test-c-strncasecmp.c: New file.
53545
53546         * modules/atexit-tests: New file.
53547         * tests/test-atexit.sh: New file.
53548         * tests/test-atexit.c: New file.
53549
53550 2007-03-10  Bruno Haible  <bruno@clisp.org>
53551
53552         * tests/test-binary-io.sh: Use temporary filenames that are not so
53553         likely to clash with those of other tests (in a parallel make).
53554         * tests/test-binary-io.c: Likewise.
53555
53556 2007-03-10  Bruno Haible  <bruno@clisp.org>
53557
53558         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
53559         fallback; use #error instead.
53560         Suggested by Simon Josefsson.
53561
53562 2007-03-10  Bruno Haible  <bruno@clisp.org>
53563
53564         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
53565         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
53566         first and the last.
53567
53568 2007-03-10  Bruno Haible  <bruno@clisp.org>
53569
53570         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
53571
53572 2007-03-10  Bruno Haible  <bruno@clisp.org>
53573
53574         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
53575         "make distcheck".
53576         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
53577         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
53578         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
53579
53580 2007-03-10  Bruno Haible  <bruno@clisp.org>
53581
53582         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
53583         variable.
53584         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
53585         variable.
53586
53587 2007-03-09  Eric Blake  <ebb9@byu.net>
53588         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
53589
53590         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
53591         types are not being provided by gnulib.
53592         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
53593         types are supported.
53594
53595 2007-03-10  Bruno Haible  <bruno@clisp.org>
53596
53597         * lib/stdio_.h (__attribute__): New macro.
53598         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
53599         vsprintf): Specify __attribute__ __format__ for GCC.
53600         Suggested by Eric Blake.
53601
53602 2007-03-09  Bruno Haible  <bruno@clisp.org>
53603
53604         * modules/printf-posix-tests: New file.
53605         * tests/test-printf-posix.sh: New file.
53606         * tests/test-printf-posix.c: New file.
53607
53608         * modules/printf-posix: New file.
53609         * lib/printf.c: New file.
53610         * m4/printf-posix-rpl.m4: New file.
53611         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
53612         REPLACE_PRINTF.
53613         * lib/stdio_.h (printf): New declaration.
53614         (format, __format__, ____printf____, ____scanf____, ____strftime____,
53615         ____strfmon____): New macros.
53616         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
53617         REPLACE_PRINTF.
53618
53619 2007-03-09  Bruno Haible  <bruno@clisp.org>
53620
53621         * tests/test-vasnprintf-posix2.sh: New file.
53622         * tests/test-vasnprintf-posix2.c: New file.
53623         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
53624         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
53625         (Makefile.am): Activate test-vasnprintf-posix2.sh.
53626
53627         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
53628         a locale dependent decimal point, rather than always '.'.
53629
53630 2007-03-09  Eric Blake  <ebb9@byu.net>
53631
53632         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
53633         spite of platforms like Tandem/NSK that define it to -1.
53634
53635 2007-03-08  Bruno Haible  <bruno@clisp.org>
53636
53637         * modules/vprintf-posix-tests: New file.
53638         * tests/test-vprintf-posix.sh: New file.
53639         * tests/test-vprintf-posix.c: New file.
53640         * tests/test-printf-posix.h: New file.
53641
53642         * modules/vprintf-posix: New file.
53643         * lib/vprintf.c: New file.
53644         * m4/vprintf-posix.m4: New file.
53645         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
53646         REPLACE_VPRINTF.
53647         * lib/stdio_.h (vprintf): New declaration.
53648         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
53649         REPLACE_VPRINTF.
53650
53651 2007-03-08  Bruno Haible  <bruno@clisp.org>
53652
53653         * modules/fprintf-posix-tests: New file.
53654         * tests/test-fprintf-posix.sh: New file.
53655         * tests/test-fprintf-posix.c: New file.
53656
53657         * modules/fprintf-posix: New file.
53658         * lib/fprintf.c: New file.
53659         * m4/fprintf-posix.m4: New file.
53660         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
53661         REPLACE_FPRINTF.
53662         * lib/stdio_.h (fprintf): New declaration.
53663         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
53664         REPLACE_FPRINTF.
53665
53666 2007-03-08  Bruno Haible  <bruno@clisp.org>
53667
53668         * modules/vfprintf-posix-tests: New file.
53669         * tests/test-vfprintf-posix.sh: New file.
53670         * tests/test-vfprintf-posix.c: New file.
53671         * tests/test-fprintf-posix.h: New file.
53672         * tests/test-fprintf-posix.out: New file.
53673
53674         * modules/vfprintf-posix: New file.
53675         * lib/vfprintf.c: New file.
53676         * m4/vfprintf-posix.m4: New file.
53677         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
53678         REPLACE_VFPRINTF.
53679         * lib/stdio_.h (vfprintf): New declaration.
53680         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
53681         REPLACE_VFPRINTF.
53682
53683 2007-03-08  Bruno Haible  <bruno@clisp.org>
53684
53685         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
53686
53687 2007-03-08  Bruno Haible  <bruno@clisp.org>
53688
53689         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
53690         instead of 'expr' invocations.
53691         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
53692         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
53693         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
53694         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
53695         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
53696         Suggested by Paul Eggert.
53697
53698 2007-03-08  Bruno Haible  <bruno@clisp.org>
53699
53700         * modules/fseterr-tests: New file.
53701         * tests/test-fseterr.c: New file.
53702
53703         * modules/fseterr: New file.
53704         * lib/fseterr.h: New file.
53705         * lib/fseterr.c: New file.
53706
53707 2007-03-08  Bruno Haible  <bruno@clisp.org>
53708
53709         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
53710         * lib/getopt_.h: Likewise.
53711         * lib/mbswidth.h: Likewise.
53712         * lib/setenv.h: Likewise.
53713         * lib/vasnprintf.h: Likewise.
53714         * lib/vasprintf.h: Likewise.
53715         * lib/verror.h: Likewise.
53716         * lib/xsetenv.h: Likewise.
53717         * lib/xvasprintf.h: Likewise.
53718
53719 2007-03-08  Jim Meyering  <jim@meyering.net>
53720
53721         * users.txt: Add parted.
53722
53723         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
53724
53725 2007-03-07  Bruno Haible  <bruno@clisp.org>
53726
53727         * m4/printf.m4: Make the shell script snippets copy&pastable.
53728
53729 2007-03-02  Bruno Haible  <bruno@clisp.org>
53730
53731         * lib/netinet_in_.h: New file.
53732         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
53733         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
53734         * modules/netinet_in (Files): Add lib/netinet_in_.h.
53735         (Depends-on): Add absolute-header.
53736         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
53737         into netinet/in.h.
53738
53739 2007-03-03  Bruno Haible  <bruno@clisp.org>
53740
53741         * lib/sys_select_.h: New file.
53742         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
53743         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
53744         * modules/sys_select (Files): Add lib/sys_select_.h.
53745         (Depends-on): Add absolute-header.
53746         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
53747         into sys/select.h.
53748
53749 2007-03-02  Bruno Haible  <bruno@clisp.org>
53750
53751         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
53752         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
53753         values.
53754         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
53755         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
53756         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
53757         * modules/sys_socket (Depends-on): Add absolute-header.
53758         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
53759         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
53760         (Include): Remove requirement of inclusion of <sys/types.h>.
53761
53762 2007-03-02  Bruno Haible  <bruno@clisp.org>
53763
53764         * lib/byteswap_.h (bswap_32): Fix formula.
53765
53766 2007-03-06  Bruno Haible  <bruno@clisp.org>
53767
53768         * modules/sprintf-posix-tests: New file.
53769         * tests/test-sprintf-posix.c: New file.
53770
53771         * modules/sprintf-posix: New file.
53772         * lib/sprintf.c: New file.
53773         * m4/sprintf-posix.m4: New file.
53774         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
53775         REPLACE_SPRINTF.
53776         * lib/stdio_.h (sprintf): New declaration.
53777         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
53778         REPLACE_SPRINTF.
53779
53780 2007-03-06  Bruno Haible  <bruno@clisp.org>
53781
53782         * modules/vsprintf-posix-tests: New file.
53783         * tests/test-vsprintf-posix.c: New file.
53784         * tests/test-sprintf-posix.h: New file.
53785
53786         * modules/vsprintf-posix: New file.
53787         * lib/vsprintf.c: New file.
53788         * m4/vsprintf-posix.m4: New file.
53789         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
53790         REPLACE_VSPRINTF.
53791         * lib/stdio_.h (vsprintf): New declaration.
53792         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
53793         REPLACE_VSPRINTF.
53794
53795 2007-03-06  Bruno Haible  <bruno@clisp.org>
53796
53797         * modules/vsnprintf (Depend-on): Remove minmax.
53798
53799 2007-03-06  Bruno Haible  <bruno@clisp.org>
53800
53801         * modules/snprintf-posix-tests: New file.
53802         * tests/test-snprintf-posix.c: New file.
53803
53804         * modules/snprintf-posix: New file.
53805         * m4/snprintf-posix.m4: New file.
53806         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
53807         gl_FUNC_SNPRINTF.
53808         (gl_FUNC_SNPRINTF): Invoke it.
53809         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
53810         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
53811         is set.
53812         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
53813
53814 2007-03-06  Bruno Haible  <bruno@clisp.org>
53815
53816         * modules/vsnprintf-posix-tests: New file.
53817         * tests/test-vsnprintf-posix.c: New file.
53818         * tests/test-snprintf-posix.h: New file.
53819
53820         * modules/vsnprintf-posix: New file.
53821         * m4/vsnprintf-posix.m4: New file.
53822         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
53823         gl_FUNC_VSNPRINTF.
53824         (gl_FUNC_VSNPRINTF): Invoke it.
53825         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
53826         * lib/stdio_.h (vsnprintf): Define as a replacement if
53827         REPLACE_VSNPRINTF is set.
53828         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
53829
53830 2007-03-06  Bruno Haible  <bruno@clisp.org>
53831
53832         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
53833         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
53834
53835 2007-03-06  Bruno Haible  <bruno@clisp.org>
53836
53837         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
53838         (asinl): Declare also if HAVE_DECL_ASINL is set.
53839         (atanl): Declare also if HAVE_DECL_ATANL is set.
53840         (ceill): Declare also if HAVE_DECL_CEILL is set.
53841         (cosl): Declare also if HAVE_DECL_COSL is set.
53842         (expl): Declare also if HAVE_DECL_EXPL is set.
53843         (floorl): Declare also if HAVE_DECL_FLOORL is set.
53844         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
53845         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
53846         (logl): Declare also if HAVE_DECL_LOGL is set.
53847         (sinl): Declare also if HAVE_DECL_SINL is set.
53848         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
53849         (tanl): Declare also if HAVE_DECL_TANL is set.
53850         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
53851         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
53852         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
53853         declaration of frexpl, ldexpl.
53854         * modules/printf-frexpl (Depends-on): Add math.
53855         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
53856
53857 2007-03-05  Bruno Haible  <bruno@clisp.org>
53858
53859         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
53860         frexpl and ldexpl are declared.
53861         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
53862
53863 2007-03-05  Bruno Haible  <bruno@clisp.org>
53864
53865         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
53866         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
53867
53868 2007-03-05  Bruno Haible  <bruno@clisp.org>
53869
53870         * lib/stdio_.h: Include <stddef.h>.
53871
53872 2007-03-05  Bruno Haible  <bruno@clisp.org>
53873
53874         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
53875
53876 2007-03-05  Bruno Haible  <bruno@clisp.org>
53877
53878         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
53879         NetBSD 4, from Ralf Wildenhues.
53880
53881 2007-03-04  Bruno Haible  <bruno@clisp.org>
53882
53883         * lib/vasprintf.h: Update #if logic for the case when the functions
53884         exist but are overridden.
53885
53886 2007-03-04  Bruno Haible  <bruno@clisp.org>
53887
53888         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
53889         implementations: glibc-2.4 and MacOS X 10.3.
53890         * tests/test-vasnprintf-posix.c (test_function): Test also the case
53891         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
53892         * tests/test-vasprintf-posix.c (test_function): Likewise.
53893
53894 2007-03-04  Bruno Haible  <bruno@clisp.org>
53895
53896         * modules/vasprintf-posix-tests: New file.
53897         * tests/test-vasprintf-posix.c: New file.
53898
53899         * modules/vasprintf-posix: New file.
53900         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
53901         defined.
53902         * m4/vasprintf-posix.m4: New file.
53903         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
53904         gl_FUNC_VASPRINTF.
53905         (gl_FUNC_VASPRINTF): Invoke it.
53906         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
53907         here.
53908         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
53909
53910 2007-03-04  Bruno Haible  <bruno@clisp.org>
53911
53912         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
53913         REPLACE_GETTIMEOFDAY.
53914         * modules/sys_time (Makefile.am): Likewise.
53915         * m4/sys_time_h.m4: Likewise.
53916         * m4/gettimeofday.m4: Likewise.
53917
53918 2007-03-04  Bruno Haible  <bruno@clisp.org>
53919
53920         * modules/vasnprintf-posix-tests: New file.
53921         * tests/test-vasnprintf-posix.c: New file.
53922
53923         * modules/vasnprintf-posix: New file.
53924         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
53925         printf-frexpl.h.
53926         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
53927         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
53928         REPLACE_VASNPRINTF is defined.
53929         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
53930         gl_FUNC_VASNPRINTF.
53931         (gl_FUNC_VASNPRINTF): Invoke it.
53932         * m4/vasnprintf-posix.m4: New file.
53933         * m4/printf.m4: New file.
53934
53935 2007-03-04  Bruno Haible  <bruno@clisp.org>
53936
53937         Compile progreloc.c only if --enable-relocatable is specified.
53938         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
53939         if --enable-relocatable was specified.
53940         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
53941         lib_SOURCES.
53942
53943 2007-03-04  Jim Meyering  <jim@meyering.net>
53944
53945         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
53946         Use it consistently, rather than enumerating errno constants.
53947
53948 2007-03-04  Bruno Haible  <bruno@clisp.org>
53949
53950         * modules/xvasprintf-tests: New file.
53951         * tests/test-xvasprintf.c: New file.
53952
53953         * modules/vasprintf-tests: New file.
53954         * tests/test-vasprintf.c: New file.
53955
53956         * modules/vasnprintf-tests: New file.
53957         * tests/test-vasnprintf.c: New file.
53958
53959         * modules/vsnprintf-tests: New file.
53960         * tests/test-vsnprintf.c: New file.
53961
53962         * modules/snprintf-tests: New file.
53963         * tests/test-snprintf.c: New file.
53964
53965 2007-03-04  Bruno Haible  <bruno@clisp.org>
53966
53967         Compile relocatable.c only if --enable-relocatable is specified.
53968         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
53969         gl_RELOCATABLE_LIBRARY.
53970         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
53971         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
53972         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
53973         gl_RELOCATABLE_LIBRARY.
53974         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
53975         (Makefile.am): Remove lib_SOURCES.
53976         * modules/relocatable-lib-lgpl (configure.ac): Invoke
53977         gl_RELOCATABLE_LIBRARY.
53978         (Makefile.am): Remove lib_SOURCES.
53979         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
53980         always.
53981         * modules/relocatable-prog-wrapper (configure.ac): Invoke
53982         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
53983
53984 2007-03-04  Bruno Haible  <bruno@clisp.org>
53985
53986         * modules/argmatch-tests: New file.
53987         * tests/test-argmatch.c: New file.
53988
53989         * tests/test-allocsa.c (main): Halve the number of loop runs.
53990
53991         * modules/alloca-opt-tests: New file.
53992         * tests/test-alloca-opt.c: New file.
53993
53994 2007-03-04  Jim Meyering  <jim@meyering.net>
53995
53996         Work around difference between Linux ACLs and Solaris 10 ZFS.
53997         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
53998         for EINVAL.
53999
54000 2007-03-03  Bruno Haible  <bruno@clisp.org>
54001
54002         * modules/relocatable-prog (Depends-on): Add back progreloc's
54003         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
54004
54005 2007-03-03  Bruno Haible  <bruno@clisp.org>
54006
54007         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
54008         * modules/relocatable-lib: New file.
54009
54010 2007-03-03  Bruno Haible  <bruno@clisp.org>
54011
54012         * modules/relocatable-prog: Renamed from modules/relocatable.
54013         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
54014
54015 2007-03-03  Bruno Haible  <bruno@clisp.org>
54016
54017         * modules/relocatable-script (Files): Add doc/relocatable.texi,
54018         m4/relocatable-lib.m4.
54019         (Depends-on): Remove 'relocatable'.
54020         (configure.ac): Add gl_RELOCATABLE_NOP.
54021
54022 2007-03-03  Bruno Haible  <bruno@clisp.org>
54023
54024         * modules/relocatable-prog-wrapper: New file.
54025         * modules/relocatable (Depends-on): Add it. Remove all other
54026         dependencies except progname.
54027         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
54028
54029         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
54030         (gl_FUNC_STRERROR): Nop.
54031         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
54032
54033         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
54034         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
54035
54036         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
54037         (gl_FUNC_READLINK): Update.
54038
54039         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
54040
54041 2007-03-03  Bruno Haible  <bruno@clisp.org>
54042
54043         * lib/xreadlink.c: Include <unistd.h> unconditionally.
54044         * modules/xreadlink (Depends-on): Add unistd.
54045         * modules/xreadlink-with-size (Depends-on): Likewise.
54046
54047 2007-03-03  Bruno Haible  <bruno@clisp.org>
54048
54049         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
54050         extracted from gt_FUNC_SETENV.
54051         (gt_FUNC_SETENV): Remove macro.
54052         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
54053         remove gt_FUNC_SETENV.
54054
54055 2007-03-03  Bruno Haible  <bruno@clisp.org>
54056
54057         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
54058         ENABLE_RELOCATABLE here.
54059         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
54060
54061 2007-03-03  Bruno Haible  <bruno@clisp.org>
54062
54063         * modules/rbtreehash-list-tests (Depends-on): Add progname.
54064         * tests/test-rbtreehash_list.c: Include progname.h.
54065         (main): Call set_program_name.
54066
54067         * modules/rbtree-oset-tests (Depends-on): Add progname.
54068         * tests/test-rbtree_oset.c: Include progname.h.
54069         (main): Call set_program_name.
54070
54071         * modules/rbtree-list-tests (Depends-on): Add progname.
54072         * tests/test-rbtree_list.c: Include progname.h.
54073         (main): Call set_program_name.
54074
54075         * modules/linked-list-tests (Depends-on): Add progname.
54076         * tests/test-linked_list.c: Include progname.h.
54077         (main): Call set_program_name.
54078
54079 2007-03-03  Bruno Haible  <bruno@clisp.org>
54080
54081         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
54082         All uses of __restrict changed to _Restrict_.
54083         * lib/glob_.h (__restrict): Remove macro.
54084
54085 2007-03-02  Bruno Haible  <bruno@clisp.org>
54086
54087         * modules/gettext (configure.ac): Require gettext infrastructure
54088         from version 0.16.1.
54089
54090 2007-03-02  Bruno Haible  <bruno@clisp.org>
54091
54092         * modules/linkedhash-list-tests (Depends-on): Add progname.
54093         * tests/test-linkedhash_list.c: Include progname.h.
54094         (main): Call set_program_name.
54095
54096         * modules/carray-list-tests (Depends-on): Add progname.
54097         * tests/test-carray_list.c: Include progname.h.
54098         (main): Call set_program_name.
54099
54100         * modules/avltreehash-list-tests (Depends-on): Add progname.
54101         * tests/test-avltreehash_list.c: Include progname.h.
54102         (main): Call set_program_name.
54103
54104         * modules/avltree-oset-tests (Depends-on): Add progname.
54105         * tests/test-avltree_oset.c: Include progname.h.
54106         (main): Call set_program_name.
54107
54108         * modules/avltree-list-tests (Depends-on): Add progname.
54109         * tests/test-avltree_list.c: Include progname.h.
54110         (main): Call set_program_name.
54111
54112         * modules/array-oset-tests (Depends-on): Add progname.
54113         * tests/test-array_oset.c: Include progname.h.
54114         (main): Call set_program_name.
54115
54116         * modules/array-list-tests (Depends-on): Add progname.
54117         * tests/test-array_list.c: Include progname.h.
54118         (main): Call set_program_name.
54119
54120         * modules/argp-tests (Depends-on): Add progname.
54121         * tests/test-argp.c: Include argp.h first. Include progname.h.
54122         (main): Call set_program_name.
54123
54124 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
54125
54126         * doc/gnulib-tool.texi (Initial import): Reword description of
54127         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
54128         limited effect even if defined after the first system include.
54129
54130 2007-03-01  Bruno Haible  <bruno@clisp.org>
54131
54132         * build-aux/config.libpath: Update to libtool-1.5.22.
54133         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
54134
54135 2007-03-01  Bruno Haible  <bruno@clisp.org>
54136
54137         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
54138         foo_CFLAGS.
54139         Reported by Ralf Wildenhues.
54140
54141 2007-03-01  Bruno Haible  <bruno@clisp.org>
54142
54143         * build-aux/install-reloc: Remove object files left over by some
54144         compilers.
54145         Reported by Ralf Wildenhues.
54146
54147 2007-03-01  Bruno Haible  <bruno@clisp.org>
54148
54149         * build-aux/install-reloc: Break long lines.
54150
54151 2007-03-01  Bruno Haible  <bruno@clisp.org>
54152
54153         * doc/relocatable.texi: Document that it may not work on OpenBSD.
54154         Reported by Ralf Wildenhues.
54155
54156 2007-03-01  Bruno Haible  <bruno@clisp.org>
54157
54158         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
54159         include ordering constraints.
54160
54161 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
54162
54163         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
54164         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
54165         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
54166         as another example.
54167         * lib/time_.h: Fix misspelling.
54168         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
54169         Require gl_HEADER_TIME_H_DEFAULTS.
54170         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
54171         * m4/time_r.m4 (gl_TIME_R): Likewise.
54172         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
54173
54174 2007-03-01  Bruno Haible  <bruno@clisp.org>
54175
54176         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
54177         * m4/utimens.m4 (gl_UTIMENS): Likewise.
54178
54179 2007-03-01  Jim Meyering  <jim@meyering.net>
54180
54181         * modules/xreadlink (Maintainer): Add my name.
54182         * modules/xreadlink-with-size (Depends-on): Alphabetize.
54183
54184 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
54185             Bruno Haible  <bruno@clisp.org>
54186
54187         * build-aux/install-reloc: Compile also c-ctype.c.
54188         * build-aux/relocatable.sh.in: New file.
54189         * doc/relocatable.texi: New file.
54190         * doc/relocatable-maint.texi: New file.
54191         * doc/gnulib.texi: Include relocatable-maint.texi.
54192         * lib/progreloc.c: Include unistd.h unconditionally.
54193         * lib/relocwrapper.c: Include unistd.h unconditionally.
54194         Include c-ctype.h.
54195         (add_dotbin): Use c_tolower.
54196         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
54197         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
54198         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
54199         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
54200         to m4/relocatable-lib.m4.
54201         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
54202         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
54203         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
54204         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
54205         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
54206         * modules/relocatable: New file.
54207         * modules/relocatable-lib: New file.
54208         * modules/relocatable-script: New file.
54209
54210 2007-02-28  Bruno Haible  <bruno@clisp.org>
54211
54212         Import --enable-relocatable infrastructure.
54213         * build-aux/config.libpath: New file, from GNU gettext.
54214         * build-aux/install-reloc: New file, from GNU gettext.
54215         * build-aux/reloc-ldflags: New file, from GNU gettext.
54216         * lib/relocatable.h: New file, from GNU gettext.
54217         * lib/relocatable.c: New file, from GNU gettext.
54218         * lib/relocwrapper.c: New file, from GNU gettext.
54219         * m4/relocatable.m4: New file, from GNU gettext.
54220
54221 2007-02-28  Bruno Haible  <bruno@clisp.org>
54222
54223         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
54224
54225         * modules/xreadlink: New file, from GNU gettext with modifications.
54226         * lib/xreadlink.c: New file, from GNU gettext.
54227         * lib/xreadlink.h: Add comments.
54228         (xreadlink): New declaration.
54229
54230         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
54231         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
54232         lib/xreadlink-with-size.c.
54233         (configure.ac): Remove gl_XREADLINK invocation.
54234         (Makefile.am): Augment lib_SOURCES.
54235         * m4/xreadlink.m4: Remove file.
54236         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
54237         (xreadlink_with_size): Renamed from xreadink.
54238         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
54239         * modules/canonicalize (Depends-on): Replace xreadlink with
54240         xreadlink-with-size.
54241         * lib/canonicalize.c (canonicalize_filename_mode): Update.
54242
54243 2007-02-25  Jim Meyering  <jim@meyering.net>
54244
54245         * build-aux/announce-gen: When complaining about excess arguments,
54246         list them.
54247
54248 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
54249
54250         * README: Document signed integer overflow situation more
54251         accurately.
54252
54253 2007-02-25  Bruno Haible  <bruno@clisp.org>
54254
54255         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
54256         'a' or 'A' conversion.
54257
54258 2007-02-25  Bruno Haible  <bruno@clisp.org>
54259
54260         * modules/filename: Renamed from modules/pathname.
54261         (Files): Replace lib/pathname.h with lib/filename.h. Replace
54262         lib/concatpath.c with lib/concat-filename.c.
54263         (Makefile.am): Update.
54264         (Include): Replace pathname.h with filename.h.
54265         * lib/filename.h: Renamed from lib/pathname.h.
54266         (concatenated_filename): Renamed from concatenated_pathname.
54267         * lib/concat-filename.c: Renamed from lib/concatpath.c.
54268         (concatenated_filename): Renamed from concatenated_pathname.
54269         * lib/findprog.c: Include filename.h instead of pathname.h.
54270         (find_in_path): Update.
54271         * lib/javacomp.c: Include filename.h instead of pathname.h.
54272         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
54273         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
54274         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
54275         is_oldgcj_14_13_usable, is_javac_usable): Update.
54276         * lib/javaexec.c: Include filename.h instead of pathname.h.
54277         (execute_java_class): Update.
54278         * modules/findprog: Update.
54279         * modules/javacomp: Update.
54280         * modules/javaexec: Update.
54281         * MODULES.html.sh (File system functions): Add 'filename', remove
54282         'pathname'.
54283
54284 2007-02-25  Bruno Haible  <bruno@clisp.org>
54285
54286         * modules/printf-frexpl-tests: New file.
54287         * tests/test-printf-frexpl.c: New file.
54288
54289         * modules/printf-frexpl: New file.
54290         * lib/printf-frexpl.h: New file.
54291         * lib/printf-frexpl.c: New file.
54292         * m4/printf-frexpl.m4: New file.
54293
54294 2007-02-25  Bruno Haible  <bruno@clisp.org>
54295
54296         * modules/printf-frexp-tests: New file.
54297         * tests/test-printf-frexp.c: New file.
54298
54299         * modules/printf-frexp: New file.
54300         * lib/printf-frexp.h: New file.
54301         * lib/printf-frexp.c: New file.
54302         * m4/printf-frexp.m4: New file.
54303
54304 2007-02-25  Bruno Haible  <bruno@clisp.org>
54305
54306         Assume automake >= 1.10 for the tests.
54307         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
54308         * modules/arctwo-tests: Likewise.
54309         * modules/argp-tests: Likewise.
54310         * modules/avltree-list-tests: Likewise.
54311         * modules/avltree-oset-tests: Likewise.
54312         * modules/avltreehash-list-tests: Likewise.
54313         * modules/carray-list-tests: Likewise.
54314         * modules/crc-tests: Likewise.
54315         * modules/des-tests: Likewise.
54316         * modules/gc-arcfour-tests: Likewise.
54317         * modules/gc-arctwo-tests: Likewise.
54318         * modules/gc-des-tests: Likewise.
54319         * modules/gc-hmac-md5-tests: Likewise.
54320         * modules/gc-hmac-sha1-tests: Likewise.
54321         * modules/gc-md2-tests: Likewise.
54322         * modules/gc-md4-tests: Likewise.
54323         * modules/gc-md5-tests: Likewise.
54324         * modules/gc-pbkdf2-sha1-tests: Likewise.
54325         * modules/gc-rijndael-tests: Likewise.
54326         * modules/gc-sha1-tests: Likewise.
54327         * modules/gc-tests: Likewise.
54328         * modules/getaddrinfo-tests: Likewise.
54329         * modules/hmac-md5-tests: Likewise.
54330         * modules/hmac-sha1-tests: Likewise.
54331         * modules/linked-list-tests: Likewise.
54332         * modules/linkedhash-list-tests: Likewise.
54333         * modules/lock-tests: Likewise.
54334         * modules/md2-tests: Likewise.
54335         * modules/md4-tests: Likewise.
54336         * modules/md5-tests: Likewise.
54337         * modules/rbtree-list-tests: Likewise.
54338         * modules/rbtree-oset-tests: Likewise.
54339         * modules/rbtreehash-list-tests: Likewise.
54340         * modules/read-file-tests: Likewise.
54341         * modules/rijndael-tests: Likewise.
54342         * modules/stdint-tests: Likewise.
54343         * modules/tls-tests: Likewise.
54344
54345 2007-02-24  Bruno Haible  <bruno@clisp.org>
54346
54347         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
54348         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
54349         function; instead check whether isnan with a double argument links.
54350         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
54351         function; instead check whether isnan with a 'long double' argument
54352         links.
54353         Reported by Eric Blake <ebb9@byu.net>.
54354
54355 2007-02-24  Bruno Haible  <bruno@clisp.org>
54356
54357         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
54358         defined.
54359         * lib/isnanl.c: Remove all code. Just include isnan.c.
54360         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
54361
54362 2007-02-25  Jim Meyering  <jim@meyering.net>
54363
54364         Avoid conflicting types for 'unsetenv' on FreeBSD.
54365         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
54366         conflicting with FreeBSD's (5.0 and 6.1) function declaration
54367         in stdlib.h.
54368
54369 2007-02-24  Bruno Haible  <bruno@clisp.org>
54370
54371         * modules/isnanl-nolibm-tests: New file.
54372         * tests/test-isnanl.c: New file.
54373
54374         * modules/isnanl-nolibm: New file.
54375         * lib/isnanl.h: New file.
54376         * lib/isnanl.c: New file.
54377         * m4/isnanl.m4: New file.
54378
54379 2007-02-24  Bruno Haible  <bruno@clisp.org>
54380
54381         * modules/isnan-nolibm-tests: New file.
54382         * tests/test-isnan.c: New file.
54383
54384         * modules/isnan-nolibm: New file.
54385         * lib/isnan.h: New file.
54386         * lib/isnan.c: New file.
54387         * m4/isnan.m4: New file.
54388
54389 2007-02-24  Bruno Haible  <bruno@clisp.org>
54390
54391         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
54392         assume that an exponent fits in 20 bits.
54393
54394 2007-02-24  Jim Meyering  <jim@meyering.net>
54395
54396         * m4/regex.m4: Update the description of the configure-time option,
54397         --without-included-regex, to state accurately what the defaults are,
54398         and perhaps to give people an idea why using this option is risky.
54399
54400 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
54401
54402         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
54403         loops on small arguments.  This attempts to avoid the problem
54404         Bruno Haible reported for AIX 4.3.2 in
54405         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
54406
54407 2007-02-23  Bruno Haible  <bruno@clisp.org>
54408
54409         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
54410         Needed for help2man.
54411
54412 2007-02-23  Karl Berry  <karl@gnu.org>
54413
54414         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
54415         exists, foo.h should be cvs-ignored, not committed.
54416
54417 2007-02-23  Eric Blake  <ebb9@byu.net>
54418
54419         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
54420         * lib/stat-time.h (includes): Likewise.
54421         * lib/utimecmp.c (includes): Likewise.
54422         * lib/utimens.h (includes): Likewise.
54423         * lib/getdate.y (includes): Also include "timespec.h" for use
54424         internal to the module.
54425         * modules/utimens (Depends-on): Revert yesterday's patch.
54426         * modules/nanosleep (Depends-on): Add missing dependency.
54427
54428 2007-02-22  Bruno Haible  <bruno@clisp.org>
54429
54430         * lib/glob.c: Don't include getlogin_r.h.
54431
54432 2007-02-22  Jim Meyering  <jim@meyering.net>
54433
54434         * modules/utimens (Depends-on): Add timespec, required for
54435         utimens.h's inclusion of timespec.h.
54436
54437 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
54438
54439         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
54440         long unreadable paths in GNU/Linux.  Problem reported by Andreas
54441         Schwab in
54442         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
54443         I'll try to think of a better way to fix the Solaris problem.
54444
54445         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
54446         like glibc; on Solaris 10, it fails with errno == EINVAL.
54447         POSIX says the behavior is unspecified if the first argument is NULL,
54448         so play it safe and never pass NULL to the system getcwd.
54449
54450 2007-02-21  Jim Meyering  <jim@meyering.net>
54451
54452         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
54453         of gettimeofday.  It would conflict with the one now always
54454         provided via sys_time_.h.  Reported by Matthew Woehlke, as
54455         an IRIX 6.5 build failure.
54456
54457 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
54458
54459         Minor fixups to port to Solaris 10 with Sun C 5.8.
54460         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
54461         * modules/getcwd (Depends-on): Add dirfd.
54462         * lib/putenv.c (putenv): #undef it.
54463         (rpl_putenv): New decl.
54464         (malloc, free): Include <stdlib.h> rather than prototyping separately.
54465
54466 2007-02-20  Bruno Haible  <bruno@clisp.org>
54467
54468         * modules/stdio-tests: New file.
54469         * tests/test-stdio.c: New file.
54470
54471         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
54472         (Depends-on): Add stdio.
54473         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
54474         (Include): Use <stdio.h> instead of vsnprintf.h.
54475         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
54476         HAVE_DECL_VSNPRINTF.
54477         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
54478
54479         * modules/snprintf (Files): Remove lib/snprintf.h.
54480         (Depends-on): Add stdio.
54481         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
54482         (Include): Use <stdio.h> instead of snprintf.h.
54483         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
54484         HAVE_DECL_SNPRINTF.
54485         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
54486         * lib/getaddrinfo.c: Likewise.
54487
54488         * modules/stdio: New file.
54489         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
54490         * lib/snprintf.h: Remove file.
54491         * lib/vsnprintf.h: Remove file.
54492         * lib/.cppi-disable: Remove snprintf.h.
54493         * m4/stdio_h.m4: New file.
54494         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
54495
54496 2007-02-20  Jim Meyering  <jim@meyering.net>
54497
54498         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
54499         used by e.g., mingw.  From Bruno Haible.
54500
54501 2007-02-19  Bruno Haible  <bruno@clisp.org>
54502
54503         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
54504         warnings.
54505         Reported by Ben Pfaff <blp@cs.stanford.edu>.
54506
54507 2007-02-19  Bruno Haible  <bruno@clisp.org>
54508
54509         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
54510         from mingw users.
54511
54512 2007-02-19  Bruno Haible  <bruno@clisp.org>
54513
54514         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
54515         warnings.
54516         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
54517
54518 2007-02-19  Jim Meyering  <jim@meyering.net>
54519
54520         Don't use FD after a successful "fdopendir (fd)".
54521         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
54522         Reset it by calling dirfd on the just-obtained DIR*.
54523
54524         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
54525         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
54526
54527 2007-02-18  Bruno Haible  <bruno@clisp.org>
54528
54529         * lib/readlink.c: Include <unistd.h>.
54530         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
54531         HAVE_READLINK.
54532         * modules/readlink (Depends-on): Add unistd.
54533         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
54534         (Include): Add <unistd.h>.
54535
54536         * lib/getlogin_r.h: Remove file.
54537         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
54538         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
54539         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
54540         HAVE_DECL_GETLOGIN_R.
54541         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
54542         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
54543         (Include): Use <unistd.h> instead of getlogin_r.h.
54544
54545         * lib/getcwd.h: Remove file.
54546         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
54547         * lib/xgetcwd.c: Likewise.
54548         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
54549         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
54550         * modules/getcwd (Files): Remove lib/getcwd.h.
54551         (Depends-on): Add unistd.
54552         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
54553         (Include): Use <unistd.h> instad of getcwd.h.
54554
54555         * lib/ftruncate.c: Include <unistd.h> first.
54556         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
54557         Set HAVE_FTRUNCATE.
54558         * modules/ftruncate (Depends-on): Add unistd.
54559         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
54560
54561         * lib/fchdir.c: Include <unistd.h> first.
54562         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
54563         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
54564         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
54565         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
54566         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
54567
54568         * lib/dup2.c: Include <unistd.h> first.
54569         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
54570         HAVE_DUP2.
54571         * modules/dup2 (Depends-on): Add unistd.
54572         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
54573
54574         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
54575         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
54576         REPLACE_CHOWN. Don't define chown as a macro here.
54577         * modules/chown (Depends-on): Add unistd.
54578         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
54579
54580         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
54581         Add definition for GL_LINK_WARNING.
54582         (chown, dup2): New declarations.
54583         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
54584         link warning.
54585         (ftruncate): New declaration.
54586         (getcwd): New declaration, taken from old getcwd.h.
54587         (getlogin_r): New declaration, taken from old getlogin_r.h.
54588         (readlink): New declaration.
54589         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
54590         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
54591         (gl_PREREQ_UNISTD): Remove macro.
54592         (gl_UNISTD_MODULE_INDICATOR): New macro.
54593         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
54594         many new variables. Don't set UNISTD_H.
54595         * modules/unistd (Description): Change.
54596         (Depends-on): Add link-warning.
54597         (configure.ac): Update.
54598         (Makefile.am): Create unistd.h always. Substitute many new variables
54599         into it.
54600
54601 2007-02-18  Bruno Haible  <bruno@clisp.org>
54602
54603         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
54604         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
54605         HAVE_GETSUBOPT.
54606         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
54607         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
54608         * lib/getsubopt.h: Remove file.
54609         * modules/getsubopt (Files): Remove lib/getsubopt.h.
54610         (Depends-on): Add stdlib.
54611         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
54612         (Includes): Use <stdlib.h> instead of getsubopt.h.
54613         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
54614         Set HAVE_GETSUBOPT.
54615         * lib/getsubopt.c: Don't include getsubopt.h.
54616
54617 2007-02-18  Bruno Haible  <bruno@clisp.org>
54618
54619         * modules/fchdir (Depends-on): Add dup2.
54620
54621 2007-02-18  Bruno Haible  <bruno@clisp.org>
54622
54623         * lib/stdlib_.h: Handle glibc's special invocation convention
54624         specially.
54625
54626 2007-02-18  Bruno Haible  <bruno@clisp.org>
54627
54628         * modules/stdlib-tests: New file.
54629         * tests/test-stdlib.c: New file.
54630
54631         * modules/mkstemp (Files): Remove lib/mkstemp.h.
54632         (Depends-on): Add stdlib.
54633         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
54634         (Includes): Use <stdlib.h> instead of mkstemp.h.
54635         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
54636         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
54637         * lib/mkstemp.c: Don't include mkstemp.h.
54638         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
54639         * lib/stdlib--.h: Don't include mkstemp.h.
54640
54641         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
54642         (Depends-on): Add stdlib.
54643         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
54644         (Includes): Use <stdlib.h> instead of mkdtemp.h.
54645         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
54646         HAVE_MKDTEMP.
54647         * lib/mkdtemp.c: Don't include mkdtemp.h.
54648         * lib/clean-temp.c: Don't include mkdtemp.h.
54649
54650         * modules/exit (Files): Remove lib/exit.h.
54651         (Depends-on): Add stdlib.
54652         (Makefile.am): Remove lib_SOURCES.
54653         (Include): Use <stdlib.h> instead of exit.h.
54654         * lib/argmatch.c: Don't include exit.h.
54655         * lib/execute.c: Likewise.
54656         * lib/pagealign_alloc.c: Likewise.
54657         * lib/pipe.c: Likewise.
54658         * lib/wait-process.c: Likewise.
54659         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
54660         * lib/exitfail.c: Likewise.
54661         * lib/savewd.c: Likewise.
54662         * lib/xsetenv.c: Likewise.
54663
54664         * modules/stdlib: New file.
54665         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
54666         and extra comments about mkstemp().
54667         * lib/exit.h: Remove file.
54668         * lib/mkdtemp.h: Remove file.
54669         * lib/mkstemp.h: Remove file.
54670         * m4/stdlib_h.m4: New file.
54671         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
54672
54673 2007-02-18  Bruno Haible  <bruno@clisp.org>
54674
54675         * modules/math-tests: New file.
54676         * tests/test-math.c: New file.
54677
54678         * modules/math: New file.
54679         * modules/mathl (Files): Remove lib/mathl.h.
54680         (Depends-on): Add math.
54681         (Makefile.am): Don't mention mathl.h.
54682         (Include): Use <math.h> instead of mathl.h.
54683         * lib/math_.h: New file.
54684         * lib/mathl.h: Remove file.
54685         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
54686         mathl.h.
54687         * lib/asinl.c: Likewise.
54688         * lib/atanl.c: Likewise.
54689         * lib/ceill.c: Likewise.
54690         * lib/cosl.c: Likewise.
54691         * lib/expl.c: Likewise.
54692         * lib/floorl.c: Likewise.
54693         * lib/frexpl.c: Likewise.
54694         * lib/ldexpl.c: Likewise.
54695         * lib/logl.c: Likewise.
54696         * lib/sincosl.c: Likewise.
54697         * lib/sinl.c: Likewise.
54698         * lib/sqrtl.c: Likewise.
54699         * lib/tanl.c: Likewise.
54700         * lib/trigl.c: Likewise.
54701         * m4/math_h.m4: New file.
54702         * MODULES.html.sh (Mathematics): Add math.
54703
54704 2007-02-17  Bruno Haible  <bruno@clisp.org>
54705
54706         * modules/wctype-tests: New file.
54707         * tests/test-wctype.c: New file.
54708
54709         * modules/wchar-tests: New file.
54710         * tests/test-wchar.c: New file.
54711
54712         * modules/unistd-tests: New file.
54713         * tests/test-unistd.c: New file.
54714
54715         * modules/time-tests: New file.
54716         * tests/test-time.c: New file.
54717
54718         * modules/sysexits-tests: New file.
54719         * tests/test-sysexits.c: New file.
54720
54721         * modules/sys_time-tests: New file.
54722         * tests/test-sys_time.c: New file.
54723
54724         * modules/sys_stat-tests: New file.
54725         * tests/test-sys_stat.c: New file.
54726
54727         * modules/sys_socket-tests: New file.
54728         * tests/test-sys_socket.c: New file.
54729
54730         * modules/sys_select-tests: New file.
54731         * tests/test-sys_select.c: New file.
54732
54733         * modules/string-tests: New file.
54734         * tests/test-string.c: New file.
54735
54736         * modules/stdbool-tests: New file.
54737         * tests/test-stdbool.c: New file.
54738
54739         * modules/netinet_in-tests: New file.
54740         * tests/test-netinet_in.c: New file.
54741
54742         * modules/inttypes-tests: New file.
54743         * tests/test-inttypes.c: New file.
54744
54745         * modules/fcntl-tests: New file.
54746         * tests/test-fcntl.c: New file.
54747
54748         * modules/byteswap-tests: New file.
54749         * tests/test-byteswap.c: New file.
54750
54751         * modules/arpa_inet-tests: New file.
54752         * tests/test-arpa_inet.c: New file.
54753
54754 2007-02-17  Bruno Haible  <bruno@clisp.org>
54755
54756         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
54757         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
54758         if the corresponding module is not enabled. Emit link warnings if
54759         the function is used nevertheless.
54760         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
54761         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
54762         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
54763         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
54764         * modules/inttypes (Depends-on): Add link-warning.
54765         (Makefile.am): Copy the contents of build-aux/link-warning.h into
54766         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
54767         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
54768         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
54769         * modules/imaxdiv (configure.ac): Likewise.
54770         * modules/strtoimax (configure.ac): Likewise.
54771         * modules/strtoumax (configure.ac): Likewise.
54772
54773 2007-02-17  Bruno Haible  <bruno@clisp.org>
54774
54775         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
54776         gl_STRING_MODULE_INDICATOR_DEFAULTS.
54777         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
54778         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
54779
54780 2007-02-17  Bruno Haible  <bruno@clisp.org>
54781
54782         * modules/link-warning: New file.
54783         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
54784         * lib/string_.h (GL_LINK_WARNING): Remove definition.
54785         * modules/string (Depends-on): Add link-warning.
54786         (Makefile.am): Copy the contents of build-aux/link-warning.h into
54787         string.h.
54788         * MODULES.html.sh (Support for building libraries and executables): Add
54789         link-warning.
54790
54791 2007-02-17  Bruno Haible  <bruno@clisp.org>
54792
54793         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
54794         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
54795         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
54796         long lines.
54797
54798 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
54799             Bruno Haible  <bruno@clisp.org>
54800
54801         * modules/tmpfile: New file.
54802         * lib/tmpfile.c: New file.
54803         * m4/tmpfile.m4: New file.
54804         * MODULES.html.sh (func_all_modules): New section "Input/output".
54805
54806 2007-02-15  Bruno Haible  <bruno@clisp.org>
54807
54808         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
54809         (supports_delete_on_close): New function.
54810         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
54811
54812 2007-02-14  Bruno Haible  <bruno@clisp.org>
54813
54814         * modules/mbspcasecmp-tests: New file.
54815         * tests/test-mbspcasecmp.sh: New file.
54816         * tests/test-mbspcasecmp.c: New file.
54817
54818         New module mbspcasecmp.
54819         * modules/mbspcasecmp: New file.
54820         * lib/mbspcasecmp.c: New file.
54821         * lib/string_.h (strncasecmp): Change warning message.
54822         (mbspcasecmp): New declaration.
54823         * m4/mbspcasecmp.m4: New file.
54824         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
54825         GNULIB_MBSPCASECMP.
54826         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
54827         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
54828
54829 2007-02-14  Bruno Haible  <bruno@clisp.org>
54830
54831         * modules/mbsncasecmp-tests: New file.
54832         * tests/test-mbsncasecmp.sh: New file.
54833         * tests/test-mbsncasecmp.c: New file.
54834
54835         New module mbsncasecmp.
54836         * modules/mbsncasecmp: New file.
54837         * lib/mbsncasecmp.c: New file.
54838         * lib/string_.h (mbsncasecmp): New declaration.
54839         * m4/mbsncasecmp.m4: New file.
54840         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
54841         GNULIB_MBSNCASECMP.
54842         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
54843         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
54844
54845 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
54846
54847         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
54848         Verify that it doesn't overlap with our flags.
54849         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
54850         do not have the desired effect in multibyte locales; instead, use
54851         mbscasecmp.
54852         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
54853         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
54854         we don't require GNU fnmatch ourselves (if our users require it, they
54855         should do so explicitly).
54856
54857         Fix regex code so it doesn't rely on strcasecmp.
54858         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
54859         Otherwise, include gnulib's langinfo.h.
54860         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
54861         undesirable behavior in non-C locales.  Instead, rely on localecharset.
54862         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
54863         * modules/regex (FILES): Remove m4/codeset.m4.
54864         (Depends-on): Add localcharset.  Remove strcase.
54865
54866 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54867
54868         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
54869         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
54870
54871 2007-02-13  Bruno Haible  <bruno@clisp.org>
54872
54873         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
54874         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
54875
54876 2007-02-12  Bruno Haible  <bruno@clisp.org>
54877
54878         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
54879         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
54880         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
54881         time warning rather than a link error.
54882
54883 2007-02-12  Bruno Haible  <bruno@clisp.org>
54884
54885         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
54886         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
54887         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
54888
54889 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
54890
54891         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
54892         args, not 2.
54893
54894 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
54895
54896         New module 'time', so that apps can include <time.h> as per
54897         POSIX and GNU instead of separate include files like time_r.h
54898         and timegm.h.  This implementation tries out a simpler approach
54899         for replacing decls in standard include files (as compared to
54900         the string module), somewhat as an experiment.
54901
54902         * config/srclist.txt: Comment out mktime.c for now.
54903         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
54904         since it doesn't apply any more.  Use generic wording instead.
54905         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
54906         'time'.
54907         * lib/time_.h, m4/time_h.m4, modules/time: New files.
54908         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
54909         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
54910         Don't include <sys/types.h>; no longer needed since we assume C89.
54911         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
54912         * lib/strftime.c: Likewise.
54913         * lib/time_r.c: Likewise.
54914         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
54915         * lib/nanosleep.c: Include <time.h> first, to check interface.
54916         * lib/strptime.c: Likewise.
54917         * lib/time_r.c: Likewise.
54918         * lib/timegm.c: Likewise.
54919         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
54920         needed.
54921         * lib/timegm.c: Don't include timegm.h; no longer needed.
54922         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
54923         time.h now handles any problems in that area.
54924         (struct timespec, nanosleep): Remove; time.h now arranges for these.
54925         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
54926         that time.h defines struct timespec.
54927         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
54928         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
54929         handles that.
54930         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
54931         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
54932         needed.  Set REPLACE_LOCALTIME.
54933         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
54934         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
54935         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
54936         nanosleep; time_h.m4 now does that.  Don't require
54937         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
54938         module handles this now.
54939         * modules/getdate (Depends-on): Remove timespec.  Add time.
54940         * modules/nanosleep (Depends-on): Likewise.
54941         * modules/stat-time (Depends-on): Likewise.
54942         * modules/nanosleep (Include): Include time.h, not timespec.h.
54943         * modules/strptime (Files): Remove lib/strptime.h.
54944         (Depends-on): Add extensions, time.
54945         (Include): Include time.h, not strptime.h.
54946         * modules/time_r (Files): Remove lib/time_r.h.
54947         (Depends-on): Add time.
54948         (Include): Include time.h, not time_r.h.
54949         * modules/timegm: Likewise.
54950         * modules/timespec (Description): Now does timespec-related decls
54951         of our own, instead of struct timespec itself.
54952         (Depends-on): Add time; remove extensions.
54953         (Maintainer): Add self.
54954         * modules/utimecmp (Depends-on): Add time; remove timespec.
54955         * modules/utimens (Depends-on): Likewise.
54956         * modules/xnanosleep (Depends-on): Likewise.
54957
54958 2007-02-11  Bruno Haible  <bruno@clisp.org>
54959
54960         * lib/c-strstr.c: Include allocsa.h.
54961         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
54962         * lib/c-strcasestr.c: Include allocsa.h.
54963         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
54964         * lib/strcasestr.c: Include allocsa.h.
54965         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
54966         * lib/mbsstr.c: Include allocsa.h.
54967         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
54968         allocsa/freesa instead of malloc/free.
54969         * lib/mbscasestr.c: Include allocsa.h.
54970         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
54971         allocsa/freesa instead of malloc/free.
54972         * modules/c-strstr (Depends-on): Add allocsa.
54973         * modules/c-strcasestr (Depends-on): Likewise.
54974         * modules/strcasestr (Depends-on): Likewise.
54975         * modules/mbsstr (Depends-on): Likewise.
54976         * modules/mbscasestr (Depends-on): Likewise.
54977
54978 2007-02-11  Bruno Haible  <bruno@clisp.org>
54979
54980         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
54981
54982         * modules/mbsspn-tests: New file.
54983         * tests/test-mbsspn.sh: New file.
54984         * tests/test-mbsspn.c: New file.
54985
54986 2007-02-11  Bruno Haible  <bruno@clisp.org>
54987
54988         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
54989
54990         * modules/mbspbrk-tests: New file.
54991         * tests/test-mbspbrk.sh: New file.
54992         * tests/test-mbspbrk.c: New file.
54993
54994 2007-02-11  Bruno Haible  <bruno@clisp.org>
54995
54996         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
54997         unneeded cast.
54998
54999         * modules/mbscspn-tests: New file.
55000         * tests/test-mbscspn.sh: New file.
55001         * tests/test-mbscspn.c: New file.
55002
55003 2007-02-11  Bruno Haible  <bruno@clisp.org>
55004
55005         * modules/mbscasecmp-tests: New file.
55006         * tests/test-mbscasecmp.sh: New file.
55007         * tests/test-mbscasecmp.c: New file.
55008
55009 2007-02-11  Bruno Haible  <bruno@clisp.org>
55010
55011         Ensure O(n) worst-case complexity of mbscasestr.
55012         * lib/mbscasestr.c: Include stdbool.h.
55013         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
55014         functions.
55015         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
55016         the bookkeeping indicates that it's worth it.
55017         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
55018
55019         * modules/mbscasestr-tests: New file.
55020         * tests/test-mbscasestr1.c: New file.
55021         * tests/test-mbscasestr2.sh: New file.
55022         * tests/test-mbscasestr2.c: New file.
55023         * tests/test-mbscasestr3.sh: New file.
55024         * tests/test-mbscasestr3.c: New file.
55025         * tests/test-mbscasestr4.sh: New file.
55026         * tests/test-mbscasestr4.c: New file.
55027         * m4/locale-tr.m4: New file.
55028
55029 2007-02-11  Bruno Haible  <bruno@clisp.org>
55030
55031         Ensure O(n) worst-case complexity of mbsstr.
55032         * lib/mbsstr.c: Include stdbool.h.
55033         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
55034         functions.
55035         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
55036         bookkeeping indicates that it's worth it.
55037         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
55038
55039         * modules/mbsstr-tests: New file.
55040         * tests/test-mbsstr1.c: New file.
55041         * tests/test-mbsstr2.sh: New file.
55042         * tests/test-mbsstr2.c: New file.
55043         * tests/test-mbsstr3.sh: New file.
55044         * tests/test-mbsstr3.c: New file.
55045         * m4/locale-fr.m4: New file.
55046
55047 2007-02-11  Bruno Haible  <bruno@clisp.org>
55048
55049         * lib/mbsrchr.c (mbsrchr): Fix bug.
55050
55051         * modules/mbsrchr-tests: New file.
55052         * tests/test-mbsrchr.sh: New file.
55053         * tests/test-mbsrchr.c: New file.
55054
55055 2007-02-11  Bruno Haible  <bruno@clisp.org>
55056
55057         * lib/mbschr.c (mbschr): Fix bug.
55058
55059         * modules/mbschr-tests: New file.
55060         * tests/test-mbschr.sh: New file.
55061         * tests/test-mbschr.c: New file.
55062         * m4/locale-zh.m4: New file.
55063
55064 2007-02-11  Bruno Haible  <bruno@clisp.org>
55065
55066         Support for copying multibyte string iterators.
55067         * lib/mbiter.h: Include <string.h>.
55068         (mbiter_multi_copy): New function.
55069         (mbi_copy): New macro.
55070         * lib/mbuiter.h: Include <string.h>.
55071         (mbuiter_multi_copy): New function.
55072         (mbui_copy): New macro.
55073
55074 2007-02-11  Bruno Haible  <bruno@clisp.org>
55075
55076         New module mbslen.
55077         * modules/mbslen: New file.
55078         * lib/mbslen.c: New file.
55079         * lib/string_.h (mbslen): New declaration.
55080         * m4/mbslen.m4: New file.
55081         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
55082         GNULIB_MBSLEN.
55083         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
55084         * MODULES.html.sh (Internationalization functions): Add mbslen.
55085
55086 2007-02-11  Bruno Haible  <bruno@clisp.org>
55087
55088         Ensure O(n) worst-case complexity of strcasestr substitute.
55089         * lib/strcasestr.c: Include stdbool.h.
55090         (knuth_morris_pratt): New function.
55091         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
55092         bookkeeping indicates that it's worth it.
55093         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
55094
55095         * modules/strcasestr-tests: New file.
55096         * tests/test-strcasestr.c: New file.
55097
55098 2007-02-11  Bruno Haible  <bruno@clisp.org>
55099
55100         Ensure O(n) worst-case complexity of c_strcasestr.
55101         * lib/c-strcasestr.c: Include stdbool.h, string.h.
55102         (knuth_morris_pratt): New function.
55103         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
55104         the bookkeeping indicates that it's worth it.
55105         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
55106
55107         * modules/c-strcasestr-tests: New file.
55108         * tests/test-c-strcasestr.c: New file.
55109
55110 2007-02-11  Bruno Haible  <bruno@clisp.org>
55111
55112         Ensure O(n) worst-case complexity of c_strstr.
55113         * lib/c-strstr.c: Include stdbool.h, string.h.
55114         (knuth_morris_pratt): New function.
55115         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
55116         bookkeeping indicates that it's worth it.
55117         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
55118
55119         * lib/c-strstr.c: Complete rewrite for maintainability.
55120
55121         * modules/c-strstr-tests: New file.
55122         * tests/test-c-strstr.c: New file.
55123
55124 2007-02-11  Bruno Haible  <bruno@clisp.org>
55125
55126         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
55127         5.2.1 and earlier, whereby \055 was treated just like the range
55128         delimiter '-'.
55129         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
55130
55131 2007-02-08  Bruno Haible  <bruno@clisp.org>
55132
55133         * modules/regex (Depends-on): Add stdbool.
55134         Reported by Dalibor Topic <robilad@kaffe.org>.
55135
55136 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
55137
55138         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
55139         Prefer returning from main to exiting from it.
55140         Remove unnecessary parens after sizeof.
55141
55142 2007-02-05  Bruno Haible  <bruno@clisp.org>
55143
55144         New module mbssep.
55145         * modules/mbssep: New file.
55146         * lib/mbssep.c: New file.
55147         * lib/string_.h (strsep): Add a conditional link warning.
55148         (mbssep): New declaration.
55149         * m4/mbssep.m4: New file.
55150         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
55151         GNULIB_MBSSEP.
55152         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
55153         * MODULES.html.sh (Internationalization functions): Add mbssep.
55154
55155 2007-02-05  Bruno Haible  <bruno@clisp.org>
55156
55157         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
55158         Optimize search in case of 1 delimiter.
55159
55160 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
55161
55162         * lib/acl.h: Include sys/types.h before sys/acl.h.
55163
55164 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
55165
55166         Merge upstream fix for glibc bugzilla #3957:
55167
55168         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
55169
55170         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
55171         bit for RE_HAT_LISTS_NOT_NEWLINE.
55172         (build_charclass_op): Remove bogus comment.
55173
55174 2007-02-05  Simon Josefsson  <simon@josefsson.org>
55175
55176         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
55177
55178 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
55179
55180         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
55181         * lib/memmem.c [!defined _LIBC]: Include config.h.
55182
55183 2007-02-04  Bruno Haible  <bruno@clisp.org>
55184
55185         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
55186         warning message.
55187
55188 2007-02-04  Bruno Haible  <bruno@clisp.org>
55189
55190         New module mbstok_r.
55191         * modules/mbstok_r: New file.
55192         * lib/mbstok_r.c: New file.
55193         * lib/string_.h (strtok_r): Change argument names to match the
55194         comments. Add a conditional link warning.
55195         (mbstok_r): New declaration.
55196         * m4/mbstok_r.m4: New file.
55197         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
55198         GNULIB_MBSTOK_R.
55199         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
55200         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
55201
55202 2007-02-04  Bruno Haible  <bruno@clisp.org>
55203
55204         New module mbsspn.
55205         * modules/mbsspn: New file.
55206         * lib/mbsspn.c: New file.
55207         * lib/string_.h (strspn): Add a conditional link warning.
55208         (mbsspn): New declaration.
55209         * m4/mbsspn.m4: New file.
55210         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
55211         GNULIB_MBSSPN.
55212         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
55213         * MODULES.html.sh (Internationalization functions): Add mbsspn.
55214
55215 2007-02-04  Bruno Haible  <bruno@clisp.org>
55216
55217         New module mbspbrk.
55218         * modules/mbspbrk: New file.
55219         * lib/mbspbrk.c: New file.
55220         * lib/string_.h (strpbrk): Add a conditional link warning.
55221         (mbspbrk): New declaration.
55222         * m4/mbspbrk.m4: New file.
55223         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
55224         GNULIB_MBSPBRK.
55225         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
55226         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
55227
55228 2007-02-04  Bruno Haible  <bruno@clisp.org>
55229
55230         New module mbscspn.
55231         * modules/mbscspn: New file.
55232         * lib/mbscspn.c: New file.
55233         * lib/string_.h (strcspn): Add a conditional link warning.
55234         (mbscspn): New declaration.
55235         * m4/mbscspn.m4: New file.
55236         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
55237         GNULIB_MBSCSPN.
55238         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
55239         * MODULES.html.sh (Internationalization functions): Add mbscspn.
55240
55241 2007-02-04  Bruno Haible  <bruno@clisp.org>
55242
55243         New module mbscasestr, reduced goal of strcasestr.
55244         * modules/mbscasestr: New file.
55245         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
55246         (mbscasestr): Renamed from strcasestr.
55247         * lib/strcasestr.c: Don't include mbuiter.h.
55248         (strcasestr): Remove support for multibyte locales.
55249         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
55250         Change the conditional link warning.
55251         (mbscasestr): New declaration.
55252         * m4/mbscasestr.m4: New file.
55253         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
55254         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
55255         REPLACE_STRCASESTR.
55256         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
55257         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
55258         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
55259         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
55260         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
55261         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
55262         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
55263         (Depends-on): Remove mbuiter.
55264         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
55265
55266 2007-02-04  Bruno Haible  <bruno@clisp.org>
55267
55268         Simplify handling of strncasecmp.
55269         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
55270         the conditional link warning.
55271         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
55272         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
55273         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
55274         * modules/strcase (configure.ac): Don't invoke
55275         gl_STRING_MODULE_INDICATOR.
55276         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
55277
55278 2007-02-04  Bruno Haible  <bruno@clisp.org>
55279
55280         New module mbscasecmp, reduced goal of strcasecmp.
55281         * modules/mbscasecmp: New file.
55282         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
55283         (mbscasecmp): Renamed from strcasecmp.
55284         * lib/strcasecmp.c: Don't include mbuiter.h.
55285         (strcasecmp): Remove support for multibyte locales.
55286         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
55287         Change the conditional link warning.
55288         (mbscasecmp): New declaration.
55289         * m4/mbscasecmp.m4: New file.
55290         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
55291         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
55292         REPLACE_STRCASECMP.
55293         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
55294         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
55295         GNULIB_MBSCASECMP.
55296         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
55297         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
55298         * modules/strcase (Files): Remove m4/mbrtowc.m4.
55299         (Depends-on): Remove mbuiter.
55300         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
55301
55302 2007-02-04  Bruno Haible  <bruno@clisp.org>
55303
55304         New module mbsstr. Remove module strstr.
55305         * modules/mbsstr: New file.
55306         * modules/strstr: Remove file.
55307         * lib/mbsstr.c: Renamed from lib/strstr.c.
55308         (mbsstr): Renamed from strstr.
55309         * lib/string_.h (strstr): Remove declaration. Change the conditional
55310         link warning.
55311         (mbsstr): New declaration.
55312         * m4/mbsstr.m4: New file.
55313         * m4/strstr.m4: Remove file.
55314         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
55315         REPLACE_STRSTR.
55316         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
55317         Don't initialize GNULIB_STRSTR.
55318         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
55319         substitute GNULIB_STRSTR and REPLACE_STRSTR.
55320         * MODULES.html.sh (Internationalization functions): Add mbsstr.
55321         (Support for systems lacking ANSI C 89): Remove strstr.
55322
55323 2007-02-04  Bruno Haible  <bruno@clisp.org>
55324
55325         New module mbsrchr.
55326         * modules/mbsrchr: New file.
55327         * lib/mbsrchr.c: New file.
55328         * lib/string_.h (strrchr): Add a conditional link warning.
55329         (mbsrchr): New declaration.
55330         * m4/mbsrchr.m4: New file.
55331         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
55332         GNULIB_MBSRCHR.
55333         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
55334         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
55335
55336 2007-02-04  Bruno Haible  <bruno@clisp.org>
55337
55338         New module mbschr.
55339         * modules/mbschr: New file.
55340         * lib/mbschr.c: New file.
55341         * lib/string_.h (strchr): Add a conditional link warning.
55342         (mbschr): New declaration.
55343         * m4/mbschr.m4: New file.
55344         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
55345         GNULIB_MBSCHR.
55346         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
55347         * MODULES.html.sh (Internationalization functions): Add mbschr.
55348
55349 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
55350
55351         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
55352
55353         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
55354
55355 2007-02-04  Bruno Haible  <bruno@clisp.org>
55356
55357         New module description section 'configure.ac-early'.
55358         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
55359         (func_get_autoconf_early_snippet): New function.
55360         (func_import, func_create_testdir): Use it. Remove special cases for
55361         modules 'extensions' and 'lock'.
55362         * modules/extensions (configure.ac-early): Require
55363         gl_USE_SYSTEM_EXTENSIONS.
55364         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
55365
55366 2007-02-04  Bruno Haible  <bruno@clisp.org>
55367
55368         Make use of gcj-4.3's -fsource and -ftarget option.
55369         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
55370         and if so try the options -fsource and -ftarget.
55371         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
55372         source_version, ftarget_option, target_version arguments.
55373         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
55374         (is_envjavac_oldgcj_14_14_usable): Renamed from
55375         is_envjavac_gcj_14_14_usable.
55376         (is_envjavac_oldgcj_14_13_usable): Renamed from
55377         is_envjavac_gcj_14_13_usable.
55378         (is_gcj_present): Update.
55379         (is_gcj_43, is_gcj43_usable): New functions.
55380         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
55381         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
55382         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
55383         try the options -fsource and -ftarget.
55384
55385 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
55386
55387         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
55388         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
55389         larger value.
55390
55391 2007-02-03  Jim Meyering  <jim@meyering.net>
55392
55393         Give tools a better chance to allocate space for very large buffers.
55394         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
55395
55396         Make pwd and readlink work also when run with an unreadable parent dir
55397         on systems with openat support.
55398         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
55399         provided getcwd function, even when we have openat support.
55400         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
55401
55402 2007-02-02  Bruno Haible  <bruno@clisp.org>
55403
55404         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
55405         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
55406         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
55407         portability problems if one of these functions is only used on specific
55408         platforms.
55409         Reported by Paul Eggert.
55410
55411 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
55412
55413         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
55414         is causing more trouble than it's curing.
55415         * lib/regex_internal.h (__mempcpy): Remove.
55416         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
55417         (and make the code a tad smaller to boot).
55418         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
55419
55420 2007-02-02  Jim Meyering  <jim@meyering.net>
55421
55422         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
55423         section, not in the Makefile.am: one.
55424
55425 2007-02-02  Eric Blake  <ebb9@byu.net>
55426
55427         * lib/strchrnul.c: Always include config.h first.
55428
55429         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
55430         gnulib strstr is not necessary here.
55431
55432 2007-02-02  Simon Josefsson  <simon@josefsson.org>
55433
55434         * m4/socklen.m4: Fix typo.
55435
55436 2007-02-02  Eric Blake  <ebb9@byu.net>
55437
55438         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
55439         * modules/netinet_in (Makefile.am): Likewise.
55440
55441 2007-02-01  Bruno Haible  <bruno@clisp.org>
55442
55443         * lib/string_.h (GL_LINK_WARNING): New macro.
55444         (strcasecmp, strstr, strcasestr): If provided by the system,
55445         conditionally define as a macro that leads to a warning instead of to
55446         an error.
55447         (strncasecmp): Conditionally define as a macro that leads to a warning.
55448
55449 2007-02-01  Karl Berry  <karl@gnu.org>
55450
55451         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
55452
55453 2007-02-01  Bruno Haible  <bruno@clisp.org>
55454
55455         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
55456         renamings.
55457
55458 2007-02-01  Eric Blake  <ebb9@byu.net>
55459
55460         * modules/regex (Depends-on): Revert dependence on mempcpy.
55461         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
55462         module's definition of mempcpy.
55463         Reported by Paul Eggert.
55464
55465 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
55466
55467         * lib/string_.h: If the gnulib module XYZ is not present, undefine
55468         the symbol XYZ before redefining it.  This fixes a problem with
55469         programs that don't use XYZ, when compiled on systems that define
55470         XYZ to something else.
55471
55472 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
55473
55474         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
55475         occurs when "mkdir -m foo" creates a setgid directory that is (1)
55476         writeable to group or other and (2) is intended to have a special
55477         mode bit that is set or cleared.  In such a case, the directory
55478         should be neither group- nor other-writeable until the special
55479         mode bits are right.
55480
55481 2007-01-31  Eric Blake  <ebb9@byu.net>
55482
55483         * modules/mountlist (Depends-on): Add strstr.
55484
55485         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
55486         bug.
55487         * modules/string (Makefile.am): Remove redundant replacement.
55488         * modules/regex (Depends-on): Add mempcpy.
55489
55490 2007-01-31  Bruno Haible  <bruno@clisp.org>
55491
55492         New module description field 'Link'.
55493         * gnulib-tool (func_usage): Document --extract-link-directive.
55494         (sed_extract_prog): Recognize 'Link' directive.
55495         (func_get_link_directive): New function.
55496         (func_import): Show summary of link directives.
55497         Handle --extract-link-directive option.
55498         * modules/acl (Link): New section.
55499         * modules/clock-time (Link): New section.
55500         * modules/euidaccess (Link): New section.
55501         * modules/gettext (Link): New section.
55502         * modules/iconv (Link): New section.
55503         * modules/lock (Link): New section.
55504         * modules/nanosleep (Link): New section.
55505         * modules/readline (Link): New section.
55506
55507 2007-01-27  Bruno Haible  <bruno@clisp.org>
55508
55509         Enforce the use of gnulib modules for unportable <string.h> functions.
55510         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
55511         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
55512         (gl_HEADER_STRING_H_BODY): Require it.
55513         * lib/string_.h: If the gnulib module XYZ is not present, redefine
55514         the symbol XYZ to one that gives a link error.
55515         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
55516         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
55517         * modules/mempcpy (configure.ac): Likewise.
55518         * modules/memrchr (configure.ac): Likewise.
55519         * modules/stpcpy (configure.ac): Likewise.
55520         * modules/stpncpy (configure.ac): Likewise.
55521         * modules/strcase (configure.ac): Likewise.
55522         * modules/strcasestr (configure.ac): Likewise.
55523         * modules/strchrnul (configure.ac): Likewise.
55524         * modules/strdup (configure.ac): Likewise.
55525         * modules/strndup (configure.ac): Likewise.
55526         * modules/strnlen (configure.ac): Likewise.
55527         * modules/strpbrk (configure.ac): Likewise.
55528         * modules/strsep (configure.ac): Likewise.
55529         * modules/strstr (configure.ac): Likewise.
55530         * modules/strtok_r (configure.ac): Likewise.
55531
55532 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
55533
55534         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
55535
55536 2007-01-30  Jim Meyering  <jim@meyering.net>
55537
55538         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
55539
55540 2007-01-29  Bruno Haible  <bruno@clisp.org>
55541
55542         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
55543         * lib/execute.c: Likewise.
55544         * lib/pipe.c: Likewise.
55545         * lib/printf-args.h: Likewise.
55546         * lib/printf-args.c: Likewise.
55547         * lib/printf-parse.c: Likewise.
55548         * lib/vasnprintf.c: Likewise.
55549
55550 2007-01-29  Eric Blake  <ebb9@byu.net>
55551
55552         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
55553         declaration.
55554
55555 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
55556
55557         * lib/strptime.h (strptime): Use 'restrict' for args where
55558         POSIX requires this.
55559         * lib/strptime.c (strptime): Likewise.
55560         Change license notice from LGPL to GPL, since gnulib-tool will
55561         change this as needed.
55562         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
55563         defined.
55564         Include "strptime.h" first, to check interface.
55565         Do not #undef _LIBC and _NL_CURRENT.
55566         Do not include <stdlib.h>; no longer needed.
55567         Include "time_r.h" and declare ptime_locale_status
55568         only if _LIBC is not defined.
55569         (__P): Remove unused macro.
55570         (match_string): Bring back glibc version, but use it only if _LIBC
55571         is defined.
55572         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
55573         Remove unnecessary assertion and abort() call.
55574         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
55575         * m4/strptime.m4: Fix serial number comment.
55576         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
55577         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
55578         (Depends-on): Add time_r.
55579
55580 2007-01-29  Bruno Haible  <bruno@clisp.org>
55581
55582         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
55583         strptime.
55584         * modules/strptime (Depends-on): Add stdbool.
55585         * lib/strptime.h: Include <time.h> always. Add comments.
55586
55587 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
55588
55589         * modules/strptime: New file.
55590         * lib/strptime.h: New file.
55591         * lib/strptime.c: New file.
55592         * m4/strptime.m4: New file.
55593
55594 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
55595
55596         * MODULES.html.sh: New module mpsort.
55597         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
55598
55599         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
55600         a circularity problem with HP-UX ia64 reported by Bob Proulx in
55601         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
55602         All uses changed.
55603         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
55604         All uses changed.
55605         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
55606         to _Restrict_.
55607         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
55608         the parameter matches the prototype.
55609
55610 2007-01-28  Jim Meyering  <jim@meyering.net>
55611
55612         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
55613         sys/time.h here, reverting that part of the previous patch:
55614         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
55615
55616 2007-01-28  Bruno Haible  <bruno@clisp.org>
55617
55618         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
55619         value of $(SYS_TIME_H).
55620         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
55621         remove it conditionally, too. [added by Jim Meyering]
55622         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
55623         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
55624         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
55625         GETTIMEOFDAY_REPLACEMENT to 1.
55626
55627 2007-01-28  Bruno Haible  <bruno@clisp.org>
55628
55629         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
55630         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
55631         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
55632         Set UNISTD_H instead of UNISTD_H2.
55633         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
55634
55635 2007-01-28  Bruno Haible  <bruno@clisp.org>
55636
55637         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
55638         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
55639
55640 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55641
55642         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
55643         (func_create_testdir): Ensure C locale for `grep' and `tr'
55644         character ranges.
55645         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
55646         ACLOCAL_AMFLAGS parsing state machine.
55647
55648 2007-01-27  Bruno Haible  <bruno@clisp.org>
55649
55650         * modules/unistr/base: Update.
55651
55652 2007-01-27  Bruno Haible  <bruno@clisp.org>
55653
55654         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
55655         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
55656         * modules/unistr/u32-mbtouc-unsafe: Renamed from
55657         modules/unistr/u32-mbtouc.
55658         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
55659         * lib/unistr.h: Update.
55660         * lib/linebreak.c: Update.
55661         * modules/unistr/u32-mbtouc: Renamed from
55662         modules/unistr/u32-mbtouc-safe.
55663         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
55664         * lib/unistr.h: Update.
55665         * lib/unistr/u32-to-u8.c: Update.
55666         * lib/unistr/u32-to-u16.c: Update.
55667
55668 2007-01-27  Bruno Haible  <bruno@clisp.org>
55669
55670         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
55671         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
55672         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
55673         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
55674         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
55675         * modules/unistr/u16-mbtouc-unsafe: Renamed from
55676         modules/unistr/u16-mbtouc.
55677         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
55678         * lib/unistr.h: Update.
55679         * lib/linebreak.c: Update.
55680         * modules/linebreak: Update.
55681         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
55682         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
55683         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
55684         * modules/unistr/u16-mbtouc: Renamed from
55685         modules/unistr/u16-mbtouc-safe.
55686         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
55687         * lib/unistr.h: Update.
55688         * lib/unistr/u16-to-u8.c: Update.
55689         * modules/unistr/u16-to-u8: Update.
55690         * lib/unistr/u16-to-u32.c: Update.
55691         * modules/unistr/u16-to-u32: Update.
55692
55693 2007-01-27  Bruno Haible  <bruno@clisp.org>
55694
55695         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
55696         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
55697         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
55698         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
55699         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
55700         * modules/unistr/u8-mbtouc-unsafe: Renamed from
55701         modules/unistr/u8-mbtouc.
55702         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
55703         * lib/unistr.h: Update.
55704         * lib/striconveh.c: Update.
55705         * modules/striconveh: Update.
55706         * lib/linebreak.c: Update.
55707         * modules/linebreak: Update.
55708         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
55709         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
55710         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
55711         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
55712         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
55713         * lib/unistr.h: Update.
55714         * lib/striconveh.c: Update.
55715         * modules/striconveh: Update.
55716         * lib/unistr/u8-to-u16.c: Update.
55717         * modules/unistr/u8-to-u16: Update.
55718         * lib/unistr/u8-to-u32.c: Update.
55719         * modules/unistr/u8-to-u32: Update.
55720
55721 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55722
55723         Sync from Libtool.
55724         * lib/argz.c: Do not include strings.h nor memory.h, include
55725         string.h unconditionally.  Patch by Simon Josefsson.
55726
55727 2007-01-27  Bruno Haible  <bruno@clisp.org>
55728
55729         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
55730         from gl_HEADER_STRING_H_BODY.
55731         (gl_HEADER_STRING_H_BODY): Require it.
55732         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
55733         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
55734         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
55735         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
55736         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
55737         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
55738         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
55739         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
55740         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
55741         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
55742         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
55743         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
55744         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
55745         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
55746         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
55747
55748 2007-01-27  Bruno Haible  <bruno@clisp.org>
55749
55750         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
55751         check_PROGRAMS into noinst_PROGRAMS.
55752         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
55753         check_PROGRAMS in this case.
55754         (func_import): Set for_test to false.
55755         (func_create_testdir): Set for_test to true.
55756
55757 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
55758             Bruno Haible  <bruno@clisp.org>
55759
55760         * modules/strcasestr (Files): Remove lib/strcasestr.h.
55761         (Depends-on): Add string.
55762         (Includes): Use <string.h> instead of strcasestr.h.
55763         * modules/string (Makefile.am): Also substitute the value of
55764         REPLACE_STRCASESTR.
55765         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
55766         assume strcasestr is declared in <string.h> not <strings.h>. Also
55767         set REPLACE_STRCASESTR.
55768         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
55769         REPLACE_STRCASESTR.
55770         * lib/strcasestr.h: Remove file.
55771         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
55772         * lib/string_.h (strcasestr): New declaration.
55773
55774 2007-01-27  Bruno Haible  <bruno@clisp.org>
55775
55776         * lib/string_.h: Use 'extern'.
55777
55778 2007-01-27  Jim Meyering  <jim@meyering.net>
55779
55780         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
55781         of set-but-not-used local, "q".
55782
55783         * lib/mempcpy.c: Include <config.h> before <string.h>.
55784         This fixes a compilation error on HP-UX, due to the system's
55785         "restrict"-using mempcpy prototype.
55786
55787 2007-01-26  Bruno Haible  <bruno@clisp.org>
55788
55789         Small optimization.
55790         * lib/javacomp.c: Include c-strstr.h.
55791          (is_envjavac_gcj): Use c_strstr instead of strstr.
55792         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
55793
55794 2007-01-26  Bruno Haible  <bruno@clisp.org>
55795
55796         * MODULES.html.sh (Unicode string functions): Add the new modules.
55797
55798         * modules/uniconv/u32-strconv-to-locale: New file.
55799         * lib/uniconv/u32-strconv-to-locale.c: New file.
55800
55801         * modules/uniconv/u16-strconv-to-locale: New file.
55802         * lib/uniconv/u16-strconv-to-locale.c: New file.
55803
55804         * modules/uniconv/u8-strconv-to-locale: New file.
55805         * lib/uniconv/u8-strconv-to-locale.c: New file.
55806
55807         * modules/uniconv/u32-strconv-from-locale: New file.
55808         * lib/uniconv/u32-strconv-from-locale.c: New file.
55809
55810         * modules/uniconv/u16-strconv-from-locale: New file.
55811         * lib/uniconv/u16-strconv-from-locale.c: New file.
55812
55813         * modules/uniconv/u8-strconv-from-locale: New file.
55814         * lib/uniconv/u8-strconv-from-locale.c: New file.
55815
55816         * modules/uniconv/u32-strconv-to-enc: New file.
55817         * lib/uniconv/u32-strconv-to-enc.c: New file.
55818         * modules/uniconv/u32-strconv-to-enc-tests: New file.
55819         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
55820
55821         * modules/uniconv/u16-strconv-to-enc: New file.
55822         * lib/uniconv/u16-strconv-to-enc.c: New file.
55823         * lib/uniconv/u-strconv-to-enc.h: New file.
55824         * modules/uniconv/u16-strconv-to-enc-tests: New file.
55825         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
55826
55827         * modules/uniconv/u8-strconv-to-enc: New file.
55828         * lib/uniconv/u8-strconv-to-enc.c: New file.
55829         * modules/uniconv/u8-strconv-to-enc-tests: New file.
55830         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
55831
55832         * modules/uniconv/u32-strconv-from-enc: New file.
55833         * lib/uniconv/u32-strconv-from-enc.c: New file.
55834         * modules/uniconv/u32-strconv-from-enc-tests: New file.
55835         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
55836
55837         * modules/uniconv/u16-strconv-from-enc: New file.
55838         * lib/uniconv/u16-strconv-from-enc.c: New file.
55839         * modules/uniconv/u16-strconv-from-enc-tests: New file.
55840         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
55841
55842         * modules/uniconv/u8-strconv-from-enc: New file.
55843         * lib/uniconv/u8-strconv-from-enc.c: New file.
55844         * lib/uniconv/u-strconv-from-enc.h: New file.
55845         * modules/uniconv/u8-strconv-from-enc-tests: New file.
55846         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
55847
55848         * modules/uniconv/u32-conv-from-enc: New file.
55849         * lib/uniconv/u32-conv-from-enc.c: New file.
55850         * modules/uniconv/u32-conv-from-enc-tests: New file.
55851         * tests/uniconv/test-u32-conv-from-enc.c: New file.
55852
55853         * modules/uniconv/u16-conv-from-enc: New file.
55854         * lib/uniconv/u16-conv-from-enc.c: New file.
55855         * lib/uniconv/u-conv-from-enc.h: New file.
55856         * modules/uniconv/u16-conv-from-enc-tests: New file.
55857         * tests/uniconv/test-u16-conv-from-enc.c: New file.
55858
55859         * modules/uniconv/u8-conv-from-enc: New file.
55860         * lib/uniconv/u8-conv-from-enc.c: New file.
55861         * modules/uniconv/u8-conv-from-enc-tests: New file.
55862         * tests/uniconv/test-u8-conv-from-enc.c: New file.
55863
55864         * modules/uniconv/base: New file.
55865         * lib/uniconv.h: New file.
55866
55867 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
55868
55869         * doc/gnulib-tool.texi (Initial import): Update to match current
55870         behavior with strdup module.
55871         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
55872         * lib/memmem.h: Remove; all uses removed.  This is now done
55873         by <string.h>.
55874         * lib/mempcpy.h: Likewise.
55875         * lib/memrchr.h: Likewise.
55876         * lib/stpcpy.h: Likewise.
55877         * lib/stpncpy.h: Likewise.
55878         * lib/strcase.h: Likewise.
55879         * lib/strchrnul.h: Likewise.
55880         * lib/strdup.h: Likewise.
55881         * lib/strndup.h: Likewise.
55882         * lib/strnlen.h: Likewise.
55883         * lib/strpbrk.h: Likewise.
55884         * lib/strsep.h: Likewise.
55885         * lib/strstr.h: Likewise.
55886         * lib/strtok_r.h: Likewise.
55887         * lib/string_.h: New file.
55888         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
55889         Rely on <string.h> instead.
55890         * lib/canon-host.c: Likewise.
55891         * lib/chdir-long.c: Likewise.
55892         * lib/concatpath.c: Likewise.
55893         * lib/exclude.c: Likewise.
55894         * lib/fchdir.c: Likewise.
55895         * lib/getaddrinfo.c: Likewise.
55896         * lib/getcwd.c: Likewise.
55897         * lib/getsubopt.c: Likewise.
55898         * lib/glob.c: Likewise.
55899         * lib/hard-locale.c: Likewise.
55900         * lib/iconvme.c: Likewise.
55901         * lib/javacomp.c: Likewise.
55902         * lib/mempcpy.c: Likewise.
55903         * lib/memrchr.c: Likewise.
55904         * lib/regex_internal.h: Likewise.
55905         * lib/stpncpy.c: Likewise.
55906         * lib/strcasecmp.c: Likewise.
55907         * lib/strchrnul.c: Likewise.
55908         * lib/strdup.c: Likewise.
55909         * lib/striconv.c: Likewise.
55910         * lib/striconveh.c: Likewise.
55911         * lib/striconveha.c: Likewise.
55912         * lib/strncasecmp.c: Likewise.
55913         * lib/strndup.c: Likewise.
55914         * lib/strnlen.c: Likewise.
55915         * lib/strsep.c: Likewise.
55916         * lib/strstr.c: Likewise.
55917         * lib/strtok_r.c: Likewise.
55918         * lib/userspec.c: Likewise.
55919         * lib/w32spawn.h: Likewise.
55920         * lib/xstrndup.c: Likewise.
55921         * lib/mountlist.c (strstr): Remove decl.
55922         * m4/string_h.m4: New file.
55923         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
55924         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
55925         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
55926         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
55927         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
55928         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
55929         Set REPLACE_STRCASECMP if necessary.
55930         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
55931         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
55932         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
55933         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
55934         HAVE_DECL_STRDUP if necessary.
55935         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
55936         since gl_FUNC_STRNDUP does that now.
55937         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
55938         Check for decl here...
55939         (gl_PREREQ_STRNLEN): ... not here.
55940         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
55941         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
55942         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
55943         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
55944         necessary.
55945         * modules/string: New file.
55946         * modules/memmem (Files): Remove special-purpose include file.
55947         (Depends-on): Add string.
55948         (Include): Include <string.h>, not the removed file.
55949         * modules/mempcpy: Likewise.
55950         * modules/memrchr: Likewise.
55951         * modules/stpcpy: Likewise.
55952         * modules/stpncpy: Likewise.
55953         * modules/strcase: Likewise.
55954         * modules/strchrnul: Likewise.
55955         * modules/strdup: Likewise.
55956         * modules/strndup: Likewise.
55957         * modules/strnlen: Likewise.
55958         * modules/strpbrk: Likewise.
55959         * modules/strsep: Likewise.
55960         * modules/strstr: Likewise.
55961         * modules/strtok_r: Likewise.
55962         * tests/test-dirname.c: Don't include "strdup.h", since
55963         <string.h> now suffices.
55964         * tests/test-memmem.c: Don't include "memmem.h", since
55965         <string.h> now suffices.
55966
55967 2007-01-25  Bruno Haible  <bruno@clisp.org>
55968
55969         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
55970         *resultp is 0.
55971
55972         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
55973         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
55974         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
55975         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
55976
55977         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
55978         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
55979         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
55980         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
55981         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
55982         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
55983
55984 2007-01-24  Bruno Haible  <bruno@clisp.org>
55985
55986         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
55987         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
55988         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
55989         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
55990         gl_FUNC_FTS_CORE.
55991         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
55992         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
55993         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
55994         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
55995         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
55996         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
55997         gl_FUNC_FCHOWNAT.
55998         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
55999         gl_FUNC_STRFTIME.
56000         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
56001         Reported by Ralf Wildenhues.
56002
56003 2007-01-24  Bruno Haible  <bruno@clisp.org>
56004
56005         Drop AC_REQUIRE calls that are redundant with the module dependencies.
56006         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
56007         gl_GETADDRINFO.
56008         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
56009         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
56010         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
56011
56012 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
56013
56014         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
56015         Don't use 'exit'; just return from 'main'.
56016         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
56017
56018         * lib/fnmatch_.h: Readjust white space and comments to match
56019         glibc, to avoid spurious diffs.
56020
56021 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
56022
56023         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
56024         2004-12-01 change by Jakub Jelinek, since this code won't compile
56025         if !LIBC.  Problem reported by Bob Proulx.
56026
56027 2007-01-23  Bruno Haible  <bruno@clisp.org>
56028
56029         * lib/striconveh.c: Include c-strcaseeq.h.
56030         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
56031         * modules/striconveh (Depends-on): Add c-strcaseeq.
56032
56033 2007-01-23  Bruno Haible  <bruno@clisp.org>
56034
56035         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
56036
56037         * modules/c-strcaseeq: New file.
56038         * lib/c-strcaseeq.h: New file.
56039
56040         * modules/streq: New file.
56041         * lib/streq.h: New file.
56042
56043 2007-01-23  Bruno Haible  <bruno@clisp.org>
56044
56045         * modules/striconveha-tests: New file.
56046         * tests/test-striconveha.c: New file.
56047
56048         * lib/striconveha.h: Include <stdbool.h>.
56049         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
56050         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
56051         (mem_iconveha_notranslit): Renamed from mem_iconveha.
56052         (mem_iconveha): New function.
56053         (str_iconveha_notranslit): Renamed from str_iconveha.
56054         (str_iconveha): New function.
56055         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
56056         c-strcase.
56057
56058 2007-01-23  Bruno Haible  <bruno@clisp.org>
56059
56060         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
56061         encodings without forgiving before trying any encoding with handler.
56062         (str_iconveha): Try all encodings without forgiving before trying any
56063         encoding with handler.
56064
56065 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
56066
56067         Import the following changes from libc.
56068
56069         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
56070
56071         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
56072
56073         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
56074
56075         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
56076         normal_bracket label.
56077
56078         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
56079
56080         [BZ #361]
56081         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
56082         to normal_bracket after fetching the next character.
56083
56084 2007-01-22  Bruno Haible  <bruno@clisp.org>
56085
56086         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
56087         argument.
56088         * lib/striconveh.c (iconv_carefully_1): New function.
56089         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
56090         argument.
56091         (str_cd_iconveh): Update.
56092         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
56093         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
56094         * tests/test-striconveh.c (MAGIC): New macro.
56095         (new_offsets): New function.
56096         (main): Test call with and without offsets.
56097
56098 2007-01-22  Bruno Haible  <bruno@clisp.org>
56099
56100         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
56101         * modules/sys_select (Makefile.am): Likewise.
56102         * modules/sys_socket (Makefile.am): Likewise.
56103         * modules/sys_time (Makefile.am): Likewise.
56104
56105 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
56106
56107         * modules/gettimeofday (License): Change from GPL to LGPL, since
56108         gettimeofday is a library function.
56109
56110 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56111
56112         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
56113
56114 2007-01-21  Bruno Haible  <bruno@clisp.org>
56115
56116         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
56117
56118 2007-01-21  Bruno Haible  <bruno@clisp.org>
56119
56120         * modules/striconveha: New file.
56121         * lib/striconveha.h: New file.
56122         * lib/striconveha.c: New file.
56123         * MODULES.html.sh (Internationalization functions): Add striconveha.
56124         * lib/striconv.c (str_iconv): Optimize the case of an empty input
56125         string.
56126         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
56127
56128 2007-01-21  Bruno Haible  <bruno@clisp.org>
56129
56130         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
56131         * lib/striconveh.c (str_iconveh): Likewise.
56132
56133 2007-01-21  Bruno Haible  <bruno@clisp.org>
56134
56135         * lib/striconveh.h (mem_iconveh): New declaration.
56136         * lib/striconveh.c (mem_iconveh): New function.
56137         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
56138
56139 2007-01-21  Bruno Haible  <bruno@clisp.org>
56140
56141         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
56142
56143         * lib/striconveh.h (mem_cd_iconveh): Change specification.
56144         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
56145         original result buffer.
56146         (str_cd_iconveh): Update.
56147         * tests/test-striconveh.c (main): Update.
56148
56149         * lib/striconv.h (mem_cd_iconv): Change specification.
56150         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
56151         result buffer.
56152         (str_cd_iconv): Update.
56153         * tests/test-striconv.c (main): Update.
56154
56155 2007-01-21  Bruno Haible  <bruno@clisp.org>
56156
56157         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
56158
56159 2007-01-20  Jim Meyering  <jim@meyering.net>
56160
56161         * lib/userspec.c (parse_with_separator): If a user or group string
56162         starts with "+", skip the corresponding name-to-ID look-up, since
56163         such a look-up must fail: user and group names may not include "+".
56164
56165 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
56166
56167         * lib/poll.c: Include sys/time.h and time.h unconditionally,
56168         since we now assume the sys_time module.
56169         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
56170         check for sys/time.h; no longer needed.
56171         * modules/poll (Depends-on): Depend on sys_time.
56172
56173 2007-01-18  Bruno Haible  <bruno@clisp.org>
56174
56175         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
56176         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
56177
56178         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
56179         gettimeofday.
56180
56181         * tests/test-gettimeofday.c: Include <time.h>.
56182         (dummy): Remove variable.
56183
56184         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
56185         gl_HEADER_SYS_TIME_H.
56186         (gl_HEADER_SYS_TIME_H): New macro.
56187
56188         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
56189         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
56190         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
56191         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
56192         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
56193         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
56194         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
56195         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
56196         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
56197         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
56198         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
56199
56200         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
56201         last change; it caused a compilation error when cross-compiling to
56202         Cygwin.
56203
56204 2007-01-18  Jim Meyering  <jim@meyering.net>
56205
56206         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
56207         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
56208         than the race-prone "test -d sys || mkdir sys".
56209         (configure.ac): Use AC_PROG_MKDIR_P.
56210         * modules/sys_select: Likewise.
56211         * modules/sys_socket: Likewise.
56212         * modules/sys_time: Likewise.
56213
56214 2007-01-18  Eric Blake  <ebb9@byu.net>
56215
56216         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
56217         replace gettimeofday.
56218         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
56219         name, to avoid infinite recursion.
56220
56221 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
56222
56223         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
56224         module sys_time.
56225         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
56226         assume timespec.h defines struct timeval.
56227         * lib/settime.c: Likewise.
56228         * lib/utimens.c: Likewise.
56229         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
56230         since we now assume the gettimeofday module.
56231         * lib/tempname.c (__gen_tempname): Likewise.
56232         * lib/gettimeofday.h: Remove.
56233         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
56234         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
56235         Include <time.h>, for 'time()'.
56236         (localtime_buffer_addr): Also use this workaround if
56237         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
56238         to simplify the uses.  All uses changed.
56239         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
56240         that #undef is inside {}, and 'const' follows type name consistently.
56241         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
56242         (gettimeofday): Do not use the maximum possible value for
56243         tv->tv_usec, since that might break usages other than ls.c.
56244         Instead, we'll leave ls.c alone.  This undoes today's patch
56245         by Bruno.  Add a compile-time warning for 1s-clock resolution;
56246         we've never observed the problem but might as well keep the
56247         canary.
56248         * lib/nanosleep.c: Include timespec.h first, for interface check.
56249         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
56250         now assume the sys_time module.
56251         * lib/tempname.c: Likewise.
56252         * lib/timespec.h: Likewise.
56253         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
56254         needed.
56255         * lib/strftime.c: Likewise.
56256         * lib/timespec.h: Likewise.
56257         * lib/posixtm.c: Include posixtm.h first, for interface check.
56258         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
56259         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
56260         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
56261         * lib/sys_time_.h: New file.
56262         * lib/timespec.h (struct timespec): Use long int, not long.
56263         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
56264         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
56265         Remove obsolescent call to AC_HEADER_TIME.
56266         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
56267         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
56268         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
56269         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
56270         Likewise.
56271         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
56272         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
56273         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
56274         into the sys_time module.  Check for gettimeofday just once.
56275         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
56276         for gettimeofday signature to just check the signature.  Merely
56277         compile it, since linking doesn't test signature.  Improve test for
56278         whether gettimeofday.o is actually needed.
56279         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
56280         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
56281         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
56282         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
56283         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
56284         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
56285         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
56286         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
56287         than worrying about sys/time.h.
56288         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
56289         Don't bother worrying about TIME_WITH_SYS_TIME.
56290         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
56291         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
56292         * m4/sys_time_h.m4: New file.
56293         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
56294         Don't include sys/time.h.  Return from main rather than exiting.
56295         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
56296         all uses changed.
56297         * modules/gethrxtime (Depends-on): Add sys_time.
56298         * modules/gettime (Depends-on): Likewise.
56299         * modules/gettimeofday (Depends-on): Likewise.
56300         * modules/nanosleep (Depends-on): Likewise.
56301         * modules/settime (Depends-on): Likewise.
56302         * modules/tempname (Depends-on): Likewise.
56303         * modules/utimens (Depends-on): Likewise.
56304         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
56305         (Include): Change back to <sys/time.h>.
56306         (Maintainer): Add self.
56307         * modules/sys_time: New file.
56308         * modules/tempname (Depends-on): Add gettimeofday.
56309         * tests/test-gettimeofday.c: Include <sys/time.h>
56310         rather than gettimeofday.h.
56311
56312 2007-01-17  Bruno Haible  <bruno@clisp.org>
56313
56314         * gnulib-tool (func_get_license): Revert last patch. Instead, let
56315         the license default to GPL.
56316         (func_create_testdir): Don't complain if a module is LGPL and its
56317         tests module depends on GPLed modules.
56318
56319 2007-01-17  Bruno Haible  <bruno@clisp.org>
56320
56321         * lib/gettimeofday.c (gettimeofday): Add code for the case
56322         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
56323         maximum possible value for tv->tv_usec, rather than the minimum one.
56324
56325 2005-10-08  Martin Lambers  <marlam@marlam.de>
56326 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
56327 2007-01-16  Bruno Haible  <bruno@clisp.org>
56328
56329         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
56330         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
56331         gl_FUNC_GETTIMEOFDAY.
56332         (Include): Add gettimeofday.h.
56333         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
56334         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
56335         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
56336         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
56337         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
56338         * lib/gettimeofday.h: New file.
56339         * lib/gettimeofday.c: Include <sys/timeb.h>.
56340         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
56341         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
56342         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
56343         fall back on time().
56344
56345         * tests/test-gettimeofday.c: New file.
56346         * modules/gettimeofday-tests: New file.
56347
56348 2007-01-16  Eric Blake  <ebb9@byu.net>
56349
56350         * modules/fnmatch (Depends-on): Depend on wchar.
56351         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
56352         * m4/fnmatch.m4: Likewise.
56353         * modules/mbchar (Makefile.am): Assume <wchar.h>.
56354         * m4/mbchar.m4: Likewise.
56355         * modules/mbswidth (Depends-on): Depend on wchar.
56356         * lib/mbswidth.c: Assume <wchar.h>.
56357         * m4/mbswidth.m4: Likewise.
56358         * modules/quotearg (Depends-on): Depend on wchar.
56359         * lib/quotearg.c: Assume <wchar.h>.
56360         * m4/quotearg.m4: Likewise.
56361         * modules/regex (Depends-on): Depend on wchar.
56362         * lib/regex_internal.h: Assume <wchar.h>.
56363         * m4/regex.m4: Likewise.
56364         * modules/stdint (Depends-on): Depend on wchar.
56365         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
56366         * m4/stdint.m4: Likewise.
56367         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
56368         * modules/strftime (Depends-on): Depend on wchar.
56369         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
56370         * modules/strtol (Depends-on): Depend on wchar.
56371         * lib/strtol.c: Assume <wchar.h>.
56372         * modules/wcwidth (Depends-on): Depend on wchar.
56373         * lib/wcwidth.h: Assume <wchar.h>.
56374         * m4/wcwidth.m4: Likewise.
56375
56376 2007-01-16  Bruno Haible  <bruno@clisp.org>
56377
56378         * modules/csharpexec-script: New, created from...
56379         * modules/csharpexec: ... this.
56380
56381 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
56382
56383         * modules/javaexec-script: New, created from...
56384         * modules/javaexec: ... this.
56385
56386 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56387
56388         * modules/poll (Dependencies): Add sys_select.
56389
56390 2007-01-15  Jim Meyering  <jim@meyering.net>
56391
56392         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
56393         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
56394         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
56395         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
56396
56397 2007-01-15  Bruno Haible  <bruno@clisp.org>
56398
56399         * modules/striconveh: New file.
56400         * lib/striconveh.h: New file.
56401         * lib/striconveh.c: New file.
56402         * MODULES.html.sh (Internationalization functions): Add striconveh.
56403
56404         * modules/striconveh-tests: New file.
56405         * tests/test-striconveh.c: New file.
56406
56407 2007-01-15  Bruno Haible  <bruno@clisp.org>
56408
56409         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
56410         not from GNU libiconv or GNU libc.
56411
56412 2007-01-15  Bruno Haible  <bruno@clisp.org>
56413
56414         * doc/gnulib-intro.texi (Copyright): Explain the different license
56415         terms for module descriptions, autoconf macros, tests, documentation.
56416
56417 2007-01-14  Bruno Haible  <bruno@clisp.org>
56418
56419         * modules/striconv-tests: New file.
56420         * tests/test-striconv.c: New file.
56421
56422 2007-01-14  Bruno Haible  <bruno@clisp.org>
56423
56424         * modules/iconv-tests: New file.
56425         * tests/test-iconv.c: New file.
56426
56427 2007-01-14  Bruno Haible  <bruno@clisp.org>
56428
56429         * gnulib-tool (func_get_license): For test modules, use the license of
56430         the main module.
56431
56432 2007-01-14  Bruno Haible  <bruno@clisp.org>
56433
56434         * modules/iconv (Include): Clarify that <iconv.h> can only be included
56435         if iconv is found to exist.
56436
56437 2007-01-14  Bruno Haible  <bruno@clisp.org>
56438
56439         * modules/c-ctype-tests: New file.
56440         * tests/test-c-ctype.c: New file.
56441
56442 2007-01-14  Bruno Haible  <bruno@clisp.org>
56443
56444         * modules/binary-io-tests: New file.
56445         * tests/test-binary-io.sh: New file.
56446         * tests/test-binary-io.c: New file.
56447
56448 2007-01-14  Bruno Haible  <bruno@clisp.org>
56449
56450         * modules/array-oset-tests: New file.
56451         * tests/test-array_oset.c: New file.
56452
56453 2007-01-14  Bruno Haible  <bruno@clisp.org>
56454
56455         * modules/array-list-tests: New file.
56456         * tests/test-array_list.c: New file.
56457
56458 2007-01-14  Bruno Haible  <bruno@clisp.org>
56459
56460         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
56461         and make.
56462         Reported by Simon Josefsson in
56463         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
56464
56465 2007-01-14  Bruno Haible  <bruno@clisp.org>
56466
56467         * modules/allocsa-tests: New file.
56468         * tests/test-allocsa.c: New file.
56469
56470 2007-01-14  Bruno Haible  <bruno@clisp.org>
56471
56472         * modules/fchdir (Depends-on): Add absolute-header.
56473         * modules/unistd (Depends-on): Likewise.
56474
56475 2006-12-30  Bruno Haible  <bruno@clisp.org>
56476
56477         * modules/fchdir: New file.
56478         * modules/unistd (Files): Add lib/unistd_.h.
56479         (Makefile.am): Generate unistd.h from unistd_.h.
56480         * lib/fchdir.c: New file.
56481         * lib/dirent_.h: New file.
56482         * lib/unistd_.h: New file.
56483         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
56484         * m4/fchdir.m4: New file.
56485         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
56486         (gl_HEADER_UNISTD): Invoke it.
56487         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
56488         function.
56489         * lib/backupfile.c (opendir, closedir): Undefine.
56490         * lib/chown.c (open, close): Undefine.
56491         * lib/clean-temp.c (open, close): Undefine.
56492         * lib/copy-file.c (open, close): Undefine.
56493         * lib/execute.c (open, close): Undefine.
56494         * lib/fsusage.c (open, close): Undefine.
56495         * lib/gc-gnulib.c (open, close): Undefine.
56496         * lib/getcwd.c (opendir, closedir): Undefine.
56497         * lib/glob.c (opendir, closedir): Undefine.
56498         * lib/javacomp.c (open, close): Undefine.
56499         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
56500         * lib/openat-proc.c (open, close): Undefine.
56501         * lib/pagealign_alloc.c (open, close): Undefine.
56502         * lib/pipe.c (open, close): Undefine.
56503         * lib/progreloc.c (open, close): Undefine.
56504         * lib/savedir.c (opendir, closedir): Undefine.
56505         * lib/utime.c (open, close): Undefine.
56506         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
56507
56508 2007-01-10  Bruno Haible  <bruno@clisp.org>
56509
56510         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
56511
56512 2007-01-12  Eric Blake  <ebb9@byu.net>
56513
56514         Provide a robust <wchar.h>.  Further simplifications are now
56515         possible in other modules, but not included here.
56516         * modules/wchar: New module.
56517         * m4/wchar.m4: New file.
56518         * lib/wchar_.h: Likewise.
56519         * modules/mbchar (Depends-on): Depend on wchar, as the first use
56520         of the new module.
56521         * MODULES.html.sh (Extended multibyte and wide character utilities):
56522         New section.
56523
56524 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
56525
56526         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
56527         to a reasonable default for memory allocation.
56528         (xreadlink): Don't allocate a huge buffer, to work around a buggy
56529         file system that reports garbage st_size values for symlinks.
56530         Problem reported by Liyang Hu.
56531
56532 2007-01-11  Simon Josefsson  <simon@josefsson.org>
56533
56534         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
56535         Emacs .#* auto-save files).
56536
56537 2007-01-11  Bruno Haible  <bruno@clisp.org>
56538
56539         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
56540         directory.
56541
56542 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
56543
56544         Use @...@ consistently in lib/wctype_.h.
56545         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
56546         on it being set to 1 or 0.
56547         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
56548         go back to AC_SUBSTing it.
56549         * modules/wctype (Makefile.am): Undo previous change.
56550
56551 2007-01-10  Eric Blake  <ebb9@byu.net>
56552
56553         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
56554         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
56555         * modules/wctype (Makefile.am): Likewise.
56556         Reported by Chris McGuire.
56557
56558 2007-01-10  Jim Meyering  <jim@meyering.net>
56559
56560         fts.c: a small readability/maintainability improvement
56561         * lib/fts.c (fts_read): Make this code slightly more readable and
56562         maintainable by hoisting the "sp->fts_cur = p" assignments to
56563         immediately follow the statements that set P.  Derived from
56564         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
56565
56566 2007-01-10  Eric Blake  <ebb9@byu.net>
56567
56568         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
56569         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
56570         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
56571         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
56572         Reported by Chris McGuire.
56573
56574 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56575
56576         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
56577         in sed script.
56578
56579 2007-01-09  Bruno Haible  <bruno@clisp.org>
56580
56581         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
56582         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
56583         variables.
56584         (func_module): Use them.
56585
56586 2007-01-09  Bruno Haible  <bruno@clisp.org>
56587
56588         * modules/unistr/base: New file.
56589         * lib/unistr.h: New file.
56590
56591         * modules/unistr/u8-to-u16: New file.
56592         * lib/unistr/u8-to-u16.c: New file.
56593
56594         * modules/unistr/u8-to-u32: New file.
56595         * lib/unistr/u8-to-u32.c: New file.
56596
56597         * modules/unistr/u16-to-u8: New file.
56598         * lib/unistr/u16-to-u8.c: New file.
56599
56600         * modules/unistr/u16-to-u32: New file.
56601         * lib/unistr/u16-to-u32.c: New file.
56602
56603         * modules/unistr/u32-to-u8: New file.
56604         * lib/unistr/u32-to-u8.c: New file.
56605
56606         * modules/unistr/u32-to-u16: New file.
56607         * lib/unistr/u32-to-u16.c: New file.
56608
56609         * modules/unistr/u8-check: New file.
56610         * modules/unistr/u16-check: New file.
56611         * modules/unistr/u32-check: New file.
56612         * lib/unistr/u8-check.c: New file.
56613         * lib/unistr/u16-check.c: New file.
56614         * lib/unistr/u32-check.c: New file.
56615
56616         * modules/unistr/u8-chr: New file.
56617         * modules/unistr/u16-chr: New file.
56618         * modules/unistr/u32-chr: New file.
56619         * lib/unistr/u8-chr.c: New file.
56620         * lib/unistr/u16-chr.c: New file.
56621         * lib/unistr/u32-chr.c: New file.
56622
56623         * modules/unistr/u8-cmp: New file.
56624         * modules/unistr/u16-cmp: New file.
56625         * modules/unistr/u32-cmp: New file.
56626         * lib/unistr/u8-cmp.c: New file.
56627         * lib/unistr/u16-cmp.c: New file.
56628         * lib/unistr/u32-cmp.c: New file.
56629
56630         * modules/unistr/u8-cpy: New file.
56631         * modules/unistr/u16-cpy: New file.
56632         * modules/unistr/u32-cpy: New file.
56633         * lib/unistr/u8-cpy.c: New file.
56634         * lib/unistr/u16-cpy.c: New file.
56635         * lib/unistr/u32-cpy.c: New file.
56636         * lib/unistr/u-cpy.h: New file.
56637
56638         * modules/unistr/u8-cpy-alloc: New file.
56639         * modules/unistr/u16-cpy-alloc: New file.
56640         * modules/unistr/u32-cpy-alloc: New file.
56641         * lib/unistr/u8-cpy-alloc.c: New file.
56642         * lib/unistr/u16-cpy-alloc.c: New file.
56643         * lib/unistr/u32-cpy-alloc.c: New file.
56644         * lib/unistr/u-cpy-alloc.h: New file.
56645
56646         * modules/unistr/u8-endswith: New file.
56647         * modules/unistr/u16-endswith: New file.
56648         * modules/unistr/u32-endswith: New file.
56649         * lib/unistr/u8-endswith.c: New file.
56650         * lib/unistr/u16-endswith.c: New file.
56651         * lib/unistr/u32-endswith.c: New file.
56652         * lib/unistr/u-endswith.h: New file.
56653
56654         * modules/unistr/u8-mblen: New file.
56655         * modules/unistr/u16-mblen: New file.
56656         * modules/unistr/u32-mblen: New file.
56657         * lib/unistr/u8-mblen.c: New file.
56658         * lib/unistr/u16-mblen.c: New file.
56659         * lib/unistr/u32-mblen.c: New file.
56660
56661         * modules/unistr/u8-mbtouc: New file.
56662         * modules/unistr/u16-mbtouc: New file.
56663         * modules/unistr/u32-mbtouc: New file.
56664         * lib/unistr/u8-mbtouc.c: New file.
56665         * lib/unistr/u16-mbtouc.c: New file.
56666         * lib/unistr/u32-mbtouc.c: New file.
56667
56668         * modules/unistr/u8-mbtouc-safe: New file.
56669         * modules/unistr/u16-mbtouc-safe: New file.
56670         * modules/unistr/u32-mbtouc-safe: New file.
56671         * lib/unistr/u8-mbtouc-safe.c: New file.
56672         * lib/unistr/u16-mbtouc-safe.c: New file.
56673         * lib/unistr/u32-mbtouc-safe.c: New file.
56674
56675         * modules/unistr/u8-move: New file.
56676         * modules/unistr/u16-move: New file.
56677         * modules/unistr/u32-move: New file.
56678         * lib/unistr/u8-move.c: New file.
56679         * lib/unistr/u16-move.c: New file.
56680         * lib/unistr/u32-move.c: New file.
56681         * lib/unistr/u-move.h: New file.
56682
56683         * modules/unistr/u8-next: New file.
56684         * modules/unistr/u16-next: New file.
56685         * modules/unistr/u32-next: New file.
56686         * lib/unistr/u8-next.c: New file.
56687         * lib/unistr/u16-next.c: New file.
56688         * lib/unistr/u32-next.c: New file.
56689
56690         * modules/unistr/u8-prev: New file.
56691         * modules/unistr/u16-prev: New file.
56692         * modules/unistr/u32-prev: New file.
56693         * lib/unistr/u8-prev.c: New file.
56694         * lib/unistr/u16-prev.c: New file.
56695         * lib/unistr/u32-prev.c: New file.
56696
56697         * modules/unistr/u8-set: New file.
56698         * modules/unistr/u16-set: New file.
56699         * modules/unistr/u32-set: New file.
56700         * lib/unistr/u8-set.c: New file.
56701         * lib/unistr/u16-set.c: New file.
56702         * lib/unistr/u32-set.c: New file.
56703         * lib/unistr/u-set.h: New file.
56704
56705         * modules/unistr/u8-startswith: New file.
56706         * modules/unistr/u16-startswith: New file.
56707         * modules/unistr/u32-startswith: New file.
56708         * lib/unistr/u8-startswith.c: New file.
56709         * lib/unistr/u16-startswith.c: New file.
56710         * lib/unistr/u32-startswith.c: New file.
56711         * lib/unistr/u-startswith.h: New file.
56712
56713         * modules/unistr/u8-stpcpy: New file.
56714         * modules/unistr/u16-stpcpy: New file.
56715         * modules/unistr/u32-stpcpy: New file.
56716         * lib/unistr/u8-stpcpy.c: New file.
56717         * lib/unistr/u16-stpcpy.c: New file.
56718         * lib/unistr/u32-stpcpy.c: New file.
56719         * lib/unistr/u-stpcpy.h: New file.
56720
56721         * modules/unistr/u8-stpncpy: New file.
56722         * modules/unistr/u16-stpncpy: New file.
56723         * modules/unistr/u32-stpncpy: New file.
56724         * lib/unistr/u8-stpncpy.c: New file.
56725         * lib/unistr/u16-stpncpy.c: New file.
56726         * lib/unistr/u32-stpncpy.c: New file.
56727         * lib/unistr/u-stpncpy.h: New file.
56728
56729         * modules/unistr/u8-strcat: New file.
56730         * modules/unistr/u16-strcat: New file.
56731         * modules/unistr/u32-strcat: New file.
56732         * lib/unistr/u8-strcat.c: New file.
56733         * lib/unistr/u16-strcat.c: New file.
56734         * lib/unistr/u32-strcat.c: New file.
56735         * lib/unistr/u-strcat.h: New file.
56736
56737         * modules/unistr/u8-strchr: New file.
56738         * modules/unistr/u16-strchr: New file.
56739         * modules/unistr/u32-strchr: New file.
56740         * lib/unistr/u8-strchr.c: New file.
56741         * lib/unistr/u16-strchr.c: New file.
56742         * lib/unistr/u32-strchr.c: New file.
56743
56744         * modules/unistr/u8-strcmp: New file.
56745         * modules/unistr/u16-strcmp: New file.
56746         * modules/unistr/u32-strcmp: New file.
56747         * lib/unistr/u8-strcmp.c: New file.
56748         * lib/unistr/u16-strcmp.c: New file.
56749         * lib/unistr/u32-strcmp.c: New file.
56750
56751         * modules/unistr/u8-strcpy: New file.
56752         * modules/unistr/u16-strcpy: New file.
56753         * modules/unistr/u32-strcpy: New file.
56754         * lib/unistr/u8-strcpy.c: New file.
56755         * lib/unistr/u16-strcpy.c: New file.
56756         * lib/unistr/u32-strcpy.c: New file.
56757         * lib/unistr/u-strcpy.h: New file.
56758
56759         * modules/unistr/u8-strcspn: New file.
56760         * modules/unistr/u16-strcspn: New file.
56761         * modules/unistr/u32-strcspn: New file.
56762         * lib/unistr/u8-strcspn.c: New file.
56763         * lib/unistr/u16-strcspn.c: New file.
56764         * lib/unistr/u32-strcspn.c: New file.
56765         * lib/unistr/u-strcspn.h: New file.
56766
56767         * modules/unistr/u8-strdup: New file.
56768         * modules/unistr/u16-strdup: New file.
56769         * modules/unistr/u32-strdup: New file.
56770         * lib/unistr/u8-strdup.c: New file.
56771         * lib/unistr/u16-strdup.c: New file.
56772         * lib/unistr/u32-strdup.c: New file.
56773         * lib/unistr/u-strdup.h: New file.
56774
56775         * modules/unistr/u8-strlen: New file.
56776         * modules/unistr/u16-strlen: New file.
56777         * modules/unistr/u32-strlen: New file.
56778         * lib/unistr/u8-strlen.c: New file.
56779         * lib/unistr/u16-strlen.c: New file.
56780         * lib/unistr/u32-strlen.c: New file.
56781         * lib/unistr/u-strlen.h: New file.
56782
56783         * modules/unistr/u8-strmblen: New file.
56784         * modules/unistr/u16-strmblen: New file.
56785         * modules/unistr/u32-strmblen: New file.
56786         * lib/unistr/u8-strmblen.c: New file.
56787         * lib/unistr/u16-strmblen.c: New file.
56788         * lib/unistr/u32-strmblen.c: New file.
56789
56790         * modules/unistr/u8-strmbtouc: New file.
56791         * modules/unistr/u16-strmbtouc: New file.
56792         * modules/unistr/u32-strmbtouc: New file.
56793         * lib/unistr/u8-strmbtouc.c: New file.
56794         * lib/unistr/u16-strmbtouc.c: New file.
56795         * lib/unistr/u32-strmbtouc.c: New file.
56796
56797         * modules/unistr/u8-strncat: New file.
56798         * modules/unistr/u16-strncat: New file.
56799         * modules/unistr/u32-strncat: New file.
56800         * lib/unistr/u8-strncat.c: New file.
56801         * lib/unistr/u16-strncat.c: New file.
56802         * lib/unistr/u32-strncat.c: New file.
56803         * lib/unistr/u-strncat.h: New file.
56804
56805         * modules/unistr/u8-strncmp: New file.
56806         * modules/unistr/u16-strncmp: New file.
56807         * modules/unistr/u32-strncmp: New file.
56808         * lib/unistr/u8-strncmp.c: New file.
56809         * lib/unistr/u16-strncmp.c: New file.
56810         * lib/unistr/u32-strncmp.c: New file.
56811
56812         * modules/unistr/u8-strncpy: New file.
56813         * modules/unistr/u16-strncpy: New file.
56814         * modules/unistr/u32-strncpy: New file.
56815         * lib/unistr/u8-strncpy.c: New file.
56816         * lib/unistr/u16-strncpy.c: New file.
56817         * lib/unistr/u32-strncpy.c: New file.
56818         * lib/unistr/u-strncpy.h: New file.
56819
56820         * modules/unistr/u8-strnlen: New file.
56821         * modules/unistr/u16-strnlen: New file.
56822         * modules/unistr/u32-strnlen: New file.
56823         * lib/unistr/u8-strnlen.c: New file.
56824         * lib/unistr/u16-strnlen.c: New file.
56825         * lib/unistr/u32-strnlen.c: New file.
56826         * lib/unistr/u-strnlen.h: New file.
56827
56828         * modules/unistr/u8-strpbrk: New file.
56829         * modules/unistr/u16-strpbrk: New file.
56830         * modules/unistr/u32-strpbrk: New file.
56831         * lib/unistr/u8-strpbrk.c: New file.
56832         * lib/unistr/u16-strpbrk.c: New file.
56833         * lib/unistr/u32-strpbrk.c: New file.
56834         * lib/unistr/u-strpbrk.h: New file.
56835
56836         * modules/unistr/u8-strrchr: New file.
56837         * modules/unistr/u16-strrchr: New file.
56838         * modules/unistr/u32-strrchr: New file.
56839         * lib/unistr/u8-strrchr.c: New file.
56840         * lib/unistr/u16-strrchr.c: New file.
56841         * lib/unistr/u32-strrchr.c: New file.
56842
56843         * modules/unistr/u8-strspn: New file.
56844         * modules/unistr/u16-strspn: New file.
56845         * modules/unistr/u32-strspn: New file.
56846         * lib/unistr/u8-strspn.c: New file.
56847         * lib/unistr/u16-strspn.c: New file.
56848         * lib/unistr/u32-strspn.c: New file.
56849         * lib/unistr/u-strspn.h: New file.
56850
56851         * modules/unistr/u8-strstr: New file.
56852         * modules/unistr/u16-strstr: New file.
56853         * modules/unistr/u32-strstr: New file.
56854         * lib/unistr/u8-strstr.c: New file.
56855         * lib/unistr/u16-strstr.c: New file.
56856         * lib/unistr/u32-strstr.c: New file.
56857         * lib/unistr/u-strstr.h: New file.
56858
56859         * modules/unistr/u8-strtok: New file.
56860         * modules/unistr/u16-strtok: New file.
56861         * modules/unistr/u32-strtok: New file.
56862         * lib/unistr/u8-strtok.c: New file.
56863         * lib/unistr/u16-strtok.c: New file.
56864         * lib/unistr/u32-strtok.c: New file.
56865         * lib/unistr/u-strtok.h: New file.
56866
56867         * modules/unistr/u8-uctomb: New file.
56868         * modules/unistr/u16-uctomb: New file.
56869         * modules/unistr/u32-uctomb: New file.
56870         * lib/unistr/u8-uctomb.c: New file.
56871         * lib/unistr/u16-uctomb.c: New file.
56872         * lib/unistr/u32-uctomb.c: New file.
56873
56874         * MODULES.html.sh (Unicode string functions): Add the new modules.
56875
56876 2007-01-08  Bruno Haible  <bruno@clisp.org>
56877
56878         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
56879         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
56880         subdirectories.
56881
56882 2007-01-08  Karl Berry  <karl@gnu.org>
56883
56884         * doc/error.texi: mention that main() fns must set program_name
56885         when progname is used.
56886
56887 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
56888
56889         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
56890         WCTYPE_H is empty, for the benefit of builds from non-distclean
56891         directories.  Problem reported by Eric Blake in
56892         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
56893
56894 2007-01-08  Bruno Haible  <bruno@clisp.org>
56895
56896         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
56897         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
56898         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
56899         PROVIDE_CANONICALIZE_FILENAME_MODE.
56900         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
56901
56902 2007-01-08  Bruno Haible  <bruno@clisp.org>
56903
56904         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
56905         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
56906         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
56907         * lib/fts.c: Likewise.
56908         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
56909
56910 2006-12-25  Bruno Haible  <bruno@clisp.org>
56911
56912         * modules/utf8-ucs4-safe: New file.
56913         * lib/utf8-ucs4-safe.h: New file.
56914         * lib/unistr/utf8-ucs4-safe.c: New file.
56915
56916         * modules/utf16-ucs4-safe: New file.
56917         * lib/utf16-ucs4-safe.h: New file.
56918         * lib/unistr/utf16-ucs4-safe.c: New file.
56919
56920         * MODULES.html.sh (Unicode string functions): Add the new modules.
56921
56922 2007-01-08  Bruno Haible  <bruno@clisp.org>
56923
56924         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
56925         (Depends-on): Add unitypes.
56926         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
56927         (u8_mbtouc_aux): Move out to separate file.
56928         (u8_mbtouc): Use ucs4_t, uint8_t types.
56929         * lib/unistr/utf8-ucs4.c: New file.
56930
56931         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
56932         (Depends-on): Add unitypes.
56933         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
56934         (u16_mbtouc_aux): Move out to separate file.
56935         (u16_mbtouc): Use ucs4_t, uint16_t types.
56936         * lib/unistr/utf16-ucs4.c: New file.
56937
56938         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
56939         (Depends-on): Add unitypes.
56940         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
56941         (u8_uctomb_aux): Move out to separate file.
56942         (u8_uctomb): Use ucs4_t, uint8_t types.
56943         * lib/unistr/ucs4-utf8.c: New file.
56944
56945         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
56946         (Depends-on): Add unitypes.
56947         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
56948         (u16_uctomb_aux): Move out to separate file.
56949         (u16_uctomb): Use ucs4_t, uint16_t types.
56950         * lib/unistr/ucs4-utf16.c: New file.
56951
56952 2006-12-25  Bruno Haible  <bruno@clisp.org>
56953
56954         * modules/unitypes: New file.
56955         * lib/unitypes.h: New file.
56956         * MODULES.html.sh (func_all_modules): New section "Unicode string
56957         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
56958         this section. Add unitypes.
56959
56960 2007-01-08  Bruno Haible  <bruno@clisp.org>
56961
56962         Avoid variable names that conflict with those from libtool.
56963         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
56964         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
56965         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
56966         library_names_spec to acl_library_names_spec, hardcode_* to
56967         acl_hardcode_*.
56968         Reported by Ralf Wildenhues.
56969
56970 2007-01-08  Bruno Haible  <bruno@clisp.org>
56971
56972         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
56973         definition.
56974         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
56975         definition.
56976         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
56977         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
56978         definition.
56979         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
56980         definition.
56981         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
56982         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
56983         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
56984         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
56985         definition.
56986         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
56987         definition.
56988         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
56989         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
56990         GC_USE_<algorithm>.
56991         * lib/gc-libgcrypt.c: Likewise.
56992         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
56993         * modules/gc-arctwo (configure.ac): Likewise.
56994         * modules/gc-des (configure.ac): Likewise.
56995         * modules/gc-hmac-md5 (configure.ac): Likewise.
56996         * modules/gc-hmac-sha1 (configure.ac): Likewise.
56997         * modules/gc-md2 (configure.ac): Likewise.
56998         * modules/gc-md4 (configure.ac): Likewise.
56999         * modules/gc-md5 (configure.ac): Likewise.
57000         * modules/gc-random (configure.ac): Likewise.
57001         * modules/gc-rijndael (configure.ac): Likewise.
57002         * modules/gc-sha1 (configure.ac): Likewise.
57003
57004 2007-01-08  Bruno Haible  <bruno@clisp.org>
57005
57006         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
57007         macro definition.
57008         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
57009         definition.
57010         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
57011         definition.
57012         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
57013         * modules/fcntl-safer (configure.ac): Likewise.
57014         * modules/fopen-safer (configure.ac): Likewise.
57015         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
57016         GNULIB_FWRITEERROR macro definition.
57017
57018 2007-01-08  Bruno Haible  <bruno@clisp.org>
57019
57020         * m4/gnulib-common.m4: New file.
57021         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
57022         (func_get_filelist): Add m4/gnulib-common.m4.
57023
57024 2007-01-08  Bruno Haible  <bruno@clisp.org>
57025
57026         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
57027         command.
57028
57029 2007-01-08  Jim Meyering  <jim@meyering.net>
57030
57031         Use a more robust test for a "can't happen" condition.
57032         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
57033         narrowed the st_size value.  Presuming the "can't happen" condition
57034         is true, that narrowing could conceivably convert an invalid st_size
57035         value into a valid one.  Instead, use a change based on Matthew
57036         Woehlke's original patch.
57037
57038         Slight readability improvement: use an assert-like macro
57039         in place of literal "abort ()" uses.
57040         * lib/fts.c (fts_assert): Define.
57041         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
57042         Use this macro instead of a bare 'abort'.
57043
57044 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
57045
57046         Don't worry about using IRIX 5.3's wctype.h broken definitions;
57047         simply work around them.
57048         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
57049         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
57050         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
57051         declaring.
57052         Don't bother to define as macros, since the standard doesn't require it.
57053         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
57054         longer worry about IRIX 5.3.
57055         (HAVE_WCTYPE_CTMP_BUG): Remove.
57056
57057 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
57058
57059         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
57060         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
57061         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
57062         Problems reported by Georg Schwarz for IRIX 5.3.
57063
57064         * gnulib-tool (autoconf_minversion): Take the maximum version number
57065         found, not the minimum.  Problem reported by James Youngman.
57066
57067 2007-01-03  Karl Berry  <karl@gnu.org>
57068
57069         * doc/error.texi: new file, explaining interaction with progname.
57070         * doc/gnulib.texi: include it.  Update copyright.
57071
57072 2007-01-03  Simon Josefsson  <simon@josefsson.org>
57073
57074         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
57075         AC_CANONICAL_HOST, to improve autobuild outputs.
57076
57077 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
57078             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
57079
57080         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
57081         sockets, server sockets, and other file descriptors.  Count errors
57082         to compute the return value.  Reorder the code a bit to be easier
57083         to follow.  Don't set event bits that were not requested (except
57084         POLLERR and POLLHUP).
57085
57086 2007-01-01  Bruno Haible  <bruno@clisp.org>
57087
57088         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
57089
57090 2007-01-03  Jim Meyering  <jim@meyering.net>
57091
57092         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
57093
57094 2007-01-02  Bruno Haible  <bruno@clisp.org>
57095
57096         * modules/settime (Include): Require timespec.h.
57097         * modules/nanosleep (Include): Likewise.
57098
57099 2007-01-01  Bruno Haible  <bruno@clisp.org>
57100
57101         * gnulib-tool (func_emit_copyright_notice): Bump year.
57102         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
57103
57104 2007-01-01  Bruno Haible  <bruno@clisp.org>
57105
57106         Improve support for OpenBSD.
57107         * build-aux/config.rpath (libname_spec): Export.
57108         (library_names_spec): New variable. Export.
57109         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
57110         library_names_spec from the config.rpath output. Locate shared library
57111         through the name pattern in library_names_spec.
57112
57113 2007-01-01  Eric Blake  <ebb9@byu.net>
57114
57115         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
57116
57117 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
57118
57119         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
57120         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
57121         assume the C locale, and avoid an "eval" that could cause trouble.
57122         Problem with SORT reported by Bob Proulx.
57123
57124         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
57125         Define.  Trivial patch from Henning Nielsen Lund, originally
57126         sent to bug-grep@gnu.org today.
57127
57128 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
57129
57130         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
57131         struct stat.  Problem reported by Henning Nielsen Lund.
57132         * lib/acl.c: Include acl.h first, to check interface.  Don't
57133         bother to include sys/types.h and sys/stat.h again.
57134
57135 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
57136
57137         Import the following change from libc; problem reported by
57138         Sven Verdoolaege.
57139
57140         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
57141
57142         [BZ #1373]
57143         * lib/argp.h: Remove __NTH for __argp_usage inline function.
57144
57145 2006-12-28  Jim Meyering  <jim@meyering.net>
57146
57147         * build-aux/announce-gen: Do not assume that the package
57148         builds any of tar.gz, tar.bz2, and .xdelta files.
57149         Suggestion from Simon Josefsson.
57150
57151 2006-12-28  Simon Josefsson  <simon@josefsson.org>
57152
57153         * modules/announce-gen: New file.
57154
57155 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
57156
57157         * lib/mbchar.h: Just include <wctype.h>; the wctype module
57158         handles its gotchas now.
57159         * lib/mbswidth.c: Likewise.
57160         * lib/wcwidth.h: Likewise.
57161         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
57162         and iswcntrl; the wctype module does this stuff now.
57163         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
57164         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
57165         * modules/mbchar (Depends-on): Add wctype.
57166         * modules/mbswidth (Depends-on): Likewise.
57167         * modules/wcwidth (Depends-on): Likewise.
57168
57169 2006-12-27  Eric Blake  <ebb9@byu.net>
57170
57171         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
57172         module uses more than what <wctype.h> is required to provide.
57173
57174 2006-12-26  Eric Blake  <ebb9@byu.net>
57175
57176         * gnulib-tool (sed_extract_prog): Avoid space-tab.
57177
57178 2006-12-26  Eric Blake  <ebb9@byu.net>
57179
57180         * modules/absolute-header: New module.
57181         * modules/fcntl (Depends-on): Depend on it.
57182         * modules/inttypes (Depends-on): Likewise.
57183         * modules/stdint (Depends-on): Likewise.
57184         * modules/sys_stat (Depends-on): Likewise.
57185         * modules/wctype (Depends-on): Likewise.
57186         * MODULES.html.sh (Support for building libraries and
57187         executables): Document it.
57188
57189 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
57190
57191         * gnulib-tool (SED): Remove, undoing previous change.
57192         The problem was that it broke coreutils on Solaris, because
57193         "sed --posix" leaked into a makefile.
57194         (sed): New alias, if 'alias' and GNU sed.
57195
57196 2006-12-24  Jim Meyering  <jim@meyering.net>
57197
57198         Work around an fchownat bug in glibc-2.4:
57199         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
57200         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
57201         in spite of the -P option.
57202         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
57203         New macros.
57204         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
57205         * modules/openat (Files): Add lib/fchownat.c.
57206         * lib/openat.c (fchownat): Don't define here.  Move to...
57207         * lib/fchownat.c: ...this new file.
57208
57209 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
57210
57211         Fix bug reported by Bruno Haible in
57212         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
57213         where quotearg.c didn't compile on Mac OS X 10.2 because it
57214         lacks <wchar.h> and wint_t.
57215         * lib/wctype_.h (__wctype_wint_t): New type.
57216         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
57217         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
57218         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
57219         Arg is now of type __wctype_wint_t, not wint_t.
57220         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
57221         substitute HAVE_WINT_T.
57222         * modules/wctype (Files): Add m4/wint_t.m4.
57223         (wctype.h): Substitute HAVE_WINT_T.
57224
57225 2006-12-23  Bruno Haible  <bruno@clisp.org>
57226
57227         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
57228
57229 2006-12-23  Bruno Haible  <bruno@clisp.org>
57230
57231         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
57232         S_ISLNK.
57233         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
57234         mingw.
57235
57236 2006-12-22  Bruno Haible  <bruno@clisp.org>
57237
57238         * lib/copy-file.c: Include acl.h.
57239         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
57240         Close the file descriptors only after being done with copy_acl.
57241         * modules/copy-file (Depends-on): Add acl.
57242
57243 2006-12-22  Bruno Haible  <bruno@clisp.org>
57244
57245         * gnulib-tool (SED): New variable.
57246         Use $SED instead of sed everywhere.
57247
57248 2006-12-22  Bruno Haible  <bruno@clisp.org>
57249
57250         * modules/no-c++: New file.
57251         * m4/no-c++.m4: New file.
57252         * MODULES.html.sh (Support for building libraries and executables):
57253         Add no-c++.
57254
57255 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
57256
57257         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
57258         Include <limits.h>, and use its INT_MAX to rewrite the
57259         j loop so that it does not overflow 'int'.  Problem reported by
57260         Ralf Wildenhues in
57261         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
57262         Play it safe by shifting left by 1 rather than multiplying by 2,
57263         as GCC is less likely to optimize this away when the value
57264         is signed (when it assumes overflow leads to undefined behavior).
57265         Also, don't assume time_t uses two's complement.
57266
57267 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
57268
57269         * MODULES.html.sh: New module wctype.
57270         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
57271         * lib/fnmatch.c: Don't bother to include <wchar.h> before
57272         <wctype.h>, since the new wctype module should fix this.
57273         * lib/quotearg.c: Include <wctype.h> unconditionally, since
57274         the wctype module should arrange for it.
57275         * lib/regex_internal.h: Likewise.
57276         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
57277         since the wctype module should handle this now.
57278         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
57279         * modules/fnmatch (Depends-on): Add wctype.
57280         * modules/quotearg (Depends-on): Likewise.
57281         * modules/regex (Depends-on): Likewise.
57282
57283 2006-12-19  Bruno Haible  <bruno@clisp.org>
57284
57285         * lib/strdup.h [C++]: Wrap definitions in extern "C".
57286         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
57287
57288 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57289
57290         * modules/savewd (Depends-on): Fix dependency on fcntl.
57291
57292 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
57293
57294         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
57295         conforms to C99, rather than relying on the user's environment
57296         setting of STDINT_H.
57297
57298 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
57299         and Eric Blake  <ebb9@byu.net>
57300
57301         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
57302         This is more consistent with the other defines here.
57303         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
57304         Port to z/OS.  Problem reported by Paul Gilmartin.
57305         Change local vars to use gl_ prefix rather than ac_.
57306         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
57307         with other defines.
57308         * modules/double-slash-root: New module.
57309         * modules/dirname (Files): Remove m4/double-slash-root.m4.
57310         (Depends-on): Add double-slash-root.
57311         * MODULES.html.sh (File system functions): Mention new module.
57312
57313 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
57314
57315         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
57316         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
57317         This is for the benefit of gzip, which doesn't do i18n.
57318
57319 2006-12-12  Jim Meyering  <jim@meyering.net>
57320
57321         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
57322         Reported by Andreas Schwab <schwab@suse.de>.
57323
57324 2006-12-12  Bruno Haible  <bruno@clisp.org>
57325
57326         Merge these changes.
57327         2006-09-05  Bruno Haible  <bruno@clisp.org>
57328         * lib/iconvme.c (iconv_string): No need to save and restore errno when
57329         iconv_alloc succeeded.
57330         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
57331         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
57332         test for " && dest " at the end - dest is always != NULL there. Call
57333         iconv with 4xNULL arguments initially, to reset the state. Call iconv
57334         with 2xNULL arguments, also to flush the state storage. Handle the
57335         IRIX iconv behaviour. Realloc the final result, to throw away unused
57336         memory.
57337
57338 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
57339
57340         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
57341         and fchmodat unconditionally, since glibc 2.4 has them.
57342         Problem reported by Arkadiusz Miskiewicz.
57343
57344 2006-12-10  Bruno Haible  <bruno@clisp.org>
57345
57346         * gnulib-tool (func_import): Show the include files only for those
57347         modules that are copied and specified.
57348         Reported by Karl Berry.
57349
57350 2006-12-08  Jim Meyering  <jim@meyering.net>
57351
57352         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
57353         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
57354
57355         * build-aux/announce-gen: Add two new options, both optional:
57356         --bootstrap-tools=TOOL_LIST
57357               a comma-separated list of tools, e.g.,
57358               autoconf,automake,bison,gnulib
57359         --gnulib-snapshot-date=DATE
57360               if gnulib is in the bootstrap tool list,
57361               then report this as the snapshot date.
57362               If not specified, use the current date/time.
57363               If you specify a date here, be sure it's UTC.
57364
57365 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57366
57367         * tests/test-argp-2.sh: Fix test to match actual output.
57368         (func_compare): Fix sed script to be portable.
57369
57370 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
57371
57372         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
57373         workaround for this case.  It is not autoconfigured now; offhand
57374         it's hard to see how to autoconfigure it.
57375
57376 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
57377
57378         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
57379         a directory that is about to be chowned.  Such a directory's
57380         initial file permissions should permit the owner only and this
57381         should not be changed until after the chown, since the group and
57382         other bits would be incorrect if they granted permission before
57383         the chown.
57384
57385         Fix porting problem for iswctype reported by Georg Schwarz in:
57386         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
57387         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
57388         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
57389         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
57390         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
57391
57392 2006-12-03  Jim Meyering  <jim@meyering.net>
57393
57394         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
57395         p->fts_statp may not yet be defined.
57396         (fts_read): Instead, set it in the caller, once p->fts_statp is
57397         sure to be defined, and corresponds to a top-level directory.
57398         This bug made du -x fail.  Here's the coreutils test case:
57399         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
57400         Reported by Mike Frysinger.
57401
57402 2006-12-01  Jim Meyering  <jim@meyering.net>
57403
57404         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
57405         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
57406         Reported by Simon Josefsson.
57407
57408 2006-11-30  Jim Meyering  <jim@meyering.net>
57409
57410         * m4/warning.m4: Use the all-permissive copyright notice
57411         recommended by RMS (rather than LGPL).
57412         * m4/vararrays.m4: Likewise.
57413         * m4/flexmember.m4: Likewise.
57414
57415 2006-11-29  Bruno Haible  <bruno@clisp.org>
57416
57417         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
57418         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
57419         using +=.
57420         Reported by Simon Josefsson <simon@josefsson.org>.
57421
57422 2006-11-28  James Youngman <jay@gnu.org>
57423
57424         * README: Advise users that they might find the bug-gnulib@gnu.org
57425         and autotools-announce@gnu.org mailing lists useful.
57426
57427 2006-11-28  Bruno Haible  <bruno@clisp.org>
57428
57429         * m4/ptrdiff_max.m4: Remove file.
57430
57431 2006-11-21  Bruno Haible  <bruno@clisp.org>
57432
57433         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
57434         _AC_COMPUTE_INT.
57435         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
57436         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
57437         _AC_COMPUTE_INT.
57438         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
57439         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
57440         _AC_COMPUTE_INT.
57441         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
57442
57443 2006-11-28  Jim Meyering  <jim@meyering.net>
57444
57445         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
57446         warning from "gcc -Wshadow" about shadowing the builtin.
57447
57448 2006-11-27  Bruno Haible  <bruno@clisp.org>
57449
57450         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
57451         _AC_COMPUTE_INT.
57452         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
57453
57454 2006-11-27  Bruno Haible  <bruno@clisp.org>
57455             Paul Eggert  <eggert@cs.ucla.edu>
57456
57457         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
57458
57459 2006-11-26  Bruno Haible  <bruno@clisp.org>
57460
57461         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
57462         noinst_LTLIBRARIES.
57463
57464 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
57465             Bruno Haible  <bruno@clisp.org>
57466
57467         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
57468         if compiling with "gcc -ansi".
57469
57470 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
57471
57472         Fix some incompatibilities with gcc -ansi -pedantic.
57473         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
57474         if compiling pedantically with GCC, unless it's C99 or later.
57475         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
57476         it mishandles gcc -ansi -pedantic as well.
57477         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
57478         if gcc -pedantic.
57479         * lib/regexec.c (check_node_accept_bytes): Don't use auto
57480         initializers for struct if -pedantic, unless it's C99 or later.
57481
57482 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
57483
57484         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
57485         Don't close an fd more than once. Identical atimes indicate
57486         success, not failure.
57487
57488 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
57489
57490         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
57491
57492 2006-11-23  Jim Meyering  <jim@meyering.net>
57493
57494         * build-aux/announce-gen: New file.  From coreutils.
57495
57496 2006-11-22  Jim Meyering  <jim@meyering.net>
57497
57498         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
57499         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
57500         (fts_read): Use a temporary to narrow the overused st_size member
57501         before using it in a switch statement.  Reported by Matthew Woehlke.
57502
57503         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
57504         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
57505
57506 2006-11-20  Bruno Haible  <bruno@clisp.org>
57507
57508         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
57509         changequote instead of pairs of brackets.
57510         Reported by Andreas Schwab <schwab@suse.de>.
57511
57512 2006-11-21  Jim Meyering  <jim@meyering.net>
57513
57514         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
57515         so as to remain compatible with older compilers.
57516         Patch from Michael Deutschmann.
57517
57518 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
57519
57520         * MODULES.html.sh (File system functions): Add openat.
57521
57522         * lib/openat.h (rpl_fstatat): New macro, if
57523         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
57524         (fstatat): Define to rpl_fstatat under the same conditions,
57525         unless COMPILING_FSTATAT.
57526         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
57527         seems to have the bug.
57528         * lib/fstatat.c: New file.
57529         * modules/openat (Files): Add it.
57530
57531 2006-11-20  Bruno Haible  <bruno@clisp.org>
57532
57533         * Makefile: New file.
57534
57535 2006-11-20  Jim Meyering  <jim@meyering.net>
57536
57537         The beginnings of syntax-related checks for gnulib.
57538         * lib/Makefile: New file.
57539         * lib/t-idcache: New script.  Ensure that the two halves of
57540         idcache.c stay in sync.
57541
57542         * lib/idcache.c: Adjust comments in user- and group- portions to
57543         be more accurate, and to be consistent with one another.
57544
57545 2006-11-20  Jim Meyering  <jim@meyering.net>
57546
57547         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
57548         continue using the flexible array member (thus, this module performs
57549         half as many malloc calls), with the addition that...
57550         (getgroup, getuser): Consistently record a non-match via an empty
57551         "name" string, and map an empty string match to a NULL return value.
57552         * modules/idcache (Depends-on): Re-add flexmember.
57553
57554         * lib/idcache.c (getuser): Remove all uses of the register keyword.
57555         (getuidbyname, getgroup, getgidbyname): Likewise.
57556
57557         Use cleaner syntax: NULL rather than 0.
57558         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
57559
57560 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
57561
57562         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
57563         It mishandled the case where the group was missing.
57564         Problem reported by Greg Schafer.
57565         * modules/idcache: Likewise.
57566
57567 2006-11-18  Jim Meyering  <jim@meyering.net>
57568
57569         * check-module (%exempt_header): Add exception for some
57570         conditionally-included headers.
57571
57572         * modules/i-ring (Depends-on): Add verify.
57573         (License): Change to LGPL.
57574
57575 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
57576
57577         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
57578         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
57579         and inttostr.h.  Use snprintf rather than uinttostr, so that
57580         LGPLed code doesn't depend on GPLed.
57581
57582 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
57583
57584         * modules/inline (License): Change from GPL to LGPL.
57585
57586 2006-11-17  Jim Meyering  <jim@meyering.net>
57587
57588         * modules/d-type (License): Switch to LGPL.
57589
57590 2006-11-15  Bruno Haible  <bruno@clisp.org>
57591
57592         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
57593
57594 2006-11-15  Eric Blake  <ebb9@byu.net>
57595
57596         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
57597         the module dependency.
57598
57599 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57600             Bruno Haible  <bruno@clisp.org>
57601
57602         * gnulib-tool (func_create_testdir): Add license consistency check.
57603
57604 2006-11-15  Eric Blake  <ebb9@byu.net>
57605
57606         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
57607         random "(cached)" in configure output.
57608
57609 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57610
57611         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
57612         test for conforming inttypes.h is both announced and cached.
57613
57614         * MODULES.html.sh (seen_modules, seen_files): New variables.
57615         (func_module): Rewrite to use a few less gnulib-tool and sed
57616         invocations.  Avoid a couple of quadratic algorithms for ...
57617         (missed_modules, missed_files): ... these, with ...
57618         (func_append, func_tmpdir): ... these new functions, from
57619         gnulib-tool.  Analogously, install traps for cleanup.
57620
57621         * tests/test-gc.c (main): Remove unused variables.
57622         * tests/test-read-file.c: Include stdlib.h, for 'free'.
57623
57624 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
57625
57626         * modules/inttostr (License): Change to LGPL.
57627
57628 2006-11-14  Eric Blake  <ebb9@byu.net>
57629
57630         * modules/tempname (License): Change to LGPL.
57631
57632 2006-11-14  Eric Blake  <ebb9@byu.net>
57633
57634         * doc/functions.texi (Function Portability): *printf functions on
57635         Cygwin now understand all POSIX size specifiers.
57636
57637 2006-11-14  Bruno Haible  <bruno@clisp.org>
57638
57639         * modules/c-ctype (License): Change to LGPL.
57640
57641 2006-11-12  Bruno Haible  <bruno@clisp.org>
57642
57643         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
57644         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
57645         for GNOME libraries, for which the include files are installed in
57646         subdirectories of $prefix/include.
57647
57648 2006-11-12  Bruno Haible  <bruno@clisp.org>
57649
57650         * m4/lib-link.m4: Require at least autoconf-2.54.
57651         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
57652         name to underscores for the --with option.
57653
57654 2006-11-13  Bruno Haible  <bruno@clisp.org>
57655
57656         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
57657         the tests directory.
57658         Reported by Ralf Wildenhues.
57659
57660 2006-11-13  Bruno Haible  <bruno@clisp.org>
57661
57662         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
57663         (func_emit_initmacro_end): Undo the override here.
57664         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
57665         Works around the famous automake error in coreutils.
57666
57667 2006-11-13  Eric Blake  <ebb9@byu.net>
57668
57669         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
57670         element, not its node.
57671
57672 2006-11-12  Bruno Haible  <bruno@clisp.org>
57673
57674         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
57675         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
57676
57677 2006-11-12  Bruno Haible  <bruno@clisp.org>
57678
57679         * gnulib-tool: New option --local-symlink.
57680         (func_usage): Document it.
57681         (lsymbolic): New variable.
57682         (func_import, func_create_testdir): If --symlink was not specified,
57683         test whether --local-symlink was specified and the file comes from
57684         the local_gnulib_dir.
57685
57686 2006-11-12  Bruno Haible  <bruno@clisp.org>
57687
57688         * gnulib-tool (func_ln): New function.
57689         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
57690
57691 2006-11-12  Bruno Haible  <bruno@clisp.org>
57692
57693         Finish support for source files in subdirectories.
57694         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
57695         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
57696         AUTOMAKE_OPTIONS.
57697         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
57698
57699 2006-11-12  Bruno Haible  <bruno@clisp.org>
57700
57701         * gnulib-tool (func_get_automake_snippet): Synthesize also an
57702         EXTRA_lib_SOURCES augmentation.
57703         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
57704
57705 2006-11-12  Jim Meyering  <jim@meyering.net>
57706
57707         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
57708         file descriptors.  This also averts a failure on systems with
57709         native openat support when a traversed directory lacks "x" access.
57710         * lib/fts_.h: Include "i-ring.h"
57711         (struct FTS) [fts_fd_ring]: New member.
57712         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
57713         (FCHDIR): Add parentheses.
57714         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
57715         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
57716         When descending, rather than simply closing the previous
57717         fts_cwd_fd value, push that file descriptor onto the ring.
57718         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
57719         (fts_open): Initialize the new fd_ring member.
57720         (fts_close): Clear the ring.
57721         (fts_safe_changedir): When possible, use our new fd_ring to skip
57722         the diropen and fstat and dev/ino comparison that would normally
57723         accompany a virtual `chdir ("..")'.
57724
57725         * modules/fts (Depends-on): Add i-ring.
57726         * modules/i-ring: New module.
57727         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
57728         * m4/i-ring.m4: New file.
57729
57730 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57731
57732         * gnulib-tool (func_create_testdir): Fix replacement of
57733         `build-aux' in configure.ac.  Run autotools in gltests
57734         subdirectory.
57735         (func_create_testdir, func_create_megatestdir, test): There is
57736         no need for '--force' in most autotool invocations in a new
57737         tree.  Actually fail the whole test if any of the tools, or the
57738         configure or make stages fail.
57739
57740         Sync from Automake.
57741         * build-aux/gnupload: Revert last change.  Add pointer to upload
57742         instructions of the GNU Maintenance Instructions.
57743         Suggestion by Karl Berry.
57744
57745 2006-11-10  Jim Meyering  <jim@meyering.net>
57746
57747         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
57748
57749 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
57750
57751         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
57752         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
57753         (bind_textdomain_codeset) [! ENABLE_NLS]:
57754         Evaluate all the arguments.  That way, callers get compatible behavior
57755         if the arguments have side effects.  Also, it avoids some GCC
57756         diagnostics in some cases; Joel E. Denny reported problems when Bison
57757         was configured with --enable-gcc-warnigs.
57758
57759 2006-11-10  Jim Meyering  <jim@meyering.net>
57760
57761         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
57762         relevant options in CFLAGS (like -O, -fno-inline) are taken into
57763         account.
57764
57765 2006-11-10  Jim Meyering  <jim@meyering.net>
57766
57767         * modules/inline: New file/module.
57768         * modules/xalloc (Files): Remove m4/inline.m4.
57769         (Depends-on): Add inline, instead.
57770         * modules/oset: Likewise.
57771         * modules/list: Likewise.
57772
57773 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
57774
57775         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
57776         Problem reported by Matthew Woehlke.
57777
57778 2006-11-09  Bruno Haible  <bruno@clisp.org>
57779
57780         * lib/tempname.c (gen_tempname): Remove variant that invokes
57781         __gen_tempname.
57782         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
57783         __gen_tempname.
57784
57785 2006-11-08  Bruno Haible  <bruno@clisp.org>
57786
57787         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
57788         to 'yes' instead of 'cross-compiling'.
57789
57790 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
57791
57792         * lib/quotearg.h (quotearg_free): New decl.
57793         * lib/quotearg.c (quotearg_free): New function.
57794         (slot0, nslots, slotvec0, slotvec):
57795         Now file-scope so that quotearg_free can get at them.
57796
57797 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57798
57799         Sync from Automake.
57800         * build-aux/gnupload: Add missing 'gnu' to example URL.
57801         Report by Karl Berry.
57802
57803 2006-11-08  Bruno Haible  <bruno@clisp.org>
57804
57805         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
57806         Suggested by Paul Eggert.
57807
57808 2006-11-08  Jim Meyering  <jim@meyering.net>
57809
57810         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
57811         It's already included if !_LIBC.
57812         (fts_safe_changedir): Add a comment.
57813
57814 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
57815
57816         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
57817         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
57818         Matthew Woehlke.
57819
57820         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
57821         definitions up, to avoid colliding with change below.
57822         (static_inline) [HAVE_INLINE]: New macro.
57823         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
57824         Provide extern decls when !HAVE_INLINE.  Do not define unless
57825         static_inline is defined, either by us or by xmalloc.c.  Use
57826         static_inline rather than static inline.
57827         (XCALLOC): Optimize sizeof(T) = 1 case.
57828         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
57829
57830 2006-11-07  Bruno Haible  <bruno@clisp.org>
57831
57832         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
57833         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
57834         AC_C_INLINE.
57835         * modules/xalloc (Files): Add m4/inline.m4.
57836
57837 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57838
57839         * README: Fix typo.
57840         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
57841         (Miscellanous Notes): ...from this.
57842
57843 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
57844
57845         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
57846         Mention that offsetof should be used instead of sizeof.
57847         From Bruno Haible.
57848
57849 2006-11-07  Bruno Haible  <bruno@clisp.org>
57850
57851         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
57852
57853 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
57854
57855         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
57856         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
57857         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
57858         (gl_tree_add_before, gl_tree_add_after):
57859         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
57860         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
57861         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
57862         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
57863         (gl_linked_add_after, gl_linked_add_at): Likewise.
57864         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
57865         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
57866         (gl_tree_add_before, gl_tree_add_after): Likewise.
57867         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
57868         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
57869         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
57870
57871 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57872
57873         * lib/gl_oset.h: Use C comment style, not C++ comment style.
57874
57875 2006-11-06  Bruno Haible  <bruno@clisp.org>
57876
57877         * m4/inline.m4: New file.
57878         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
57879         * modules/list (Files): Add m4/inline.m4.
57880         * modules/oset (Files): Likewise.
57881
57882 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
57883
57884         * lib/idcache.c: Include <stddef.h>, for offsetof.
57885         (struct userid.name): Change from char * to a flexible array member.
57886         All uses changed.
57887         * modules/idcache (Depends-on): Add flexmember.
57888
57889         * MODULES.html.sh (Core language properties): New module flexmember.
57890         * modules/flexmember, m4/flexmember.m4: New files.
57891
57892         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
57893         inline functions that are identical with the old xnmalloc_inline,
57894         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
57895         that we can avoid some unnecessary integer multiplications and
57896         divisions in the common case where the element size is known at
57897         compile time.
57898         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
57899         needed.
57900         (xnboundedmalloc): Remove.
57901         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
57902         arguments, for consistency with rest of this header.
57903         (xcharalloc): Rewrite using XNMALLOC.
57904         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
57905         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
57906         versions have been moved to lib/xalloc.h and renamed to be the
57907         non-*_inline versions.
57908         (xmalloc, xrealloc): Implement without reference to the xnmalloc
57909         and xnrealloc functions, since those functions are now inline and
57910         now call us.
57911         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
57912         renaming described above.
57913         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
57914         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
57915         captures the dependency in AC_C_INLINE.
57916
57917         New module canonicalize-lgpl, proposed by Charles Wilson in
57918         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
57919         with a few small changes afterwards.
57920         * MODULES.html.sh (File system functions): New module
57921         canonicalize-lgpl.
57922         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
57923         and canonicalize_file_name.
57924         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
57925         * modules/canonicalize-lgpl: New files.
57926
57927 2006-11-05  Bruno Haible  <bruno@clisp.org>
57928
57929         * gnulib-tool (func_import, func_create_testdir): Create directories
57930         also for files in subdirectories of lib/.
57931
57932 2006-11-05  Bruno Haible  <bruno@clisp.org>
57933
57934         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
57935         ANSI C compliant.
57936
57937 2006-11-03  Bruno Haible  <bruno@clisp.org>
57938
57939         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
57940         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
57941         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
57942         (xnboundedmalloc): New inline function.
57943         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
57944         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
57945         xmalloc.
57946         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
57947         xmalloc.
57948         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
57949         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
57950         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
57951         xmalloc.
57952         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
57953         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
57954         xmalloc.
57955         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
57956         gl_tree_add_after): Use XMALLOC instead of xmalloc.
57957         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
57958         xmalloc.
57959         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
57960         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
57961         gl_tree_add_after): Use XMALLOC instead of xmalloc.
57962         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
57963         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
57964         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
57965         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
57966
57967 2006-11-03  Bruno Haible  <bruno@clisp.org>
57968
57969         * lib/c-ctype.h [C++]: Define functions without name mangling.
57970         * lib/fwriteerror.h [C++]: Likewise.
57971         * lib/gcd.h [C++]: Likewise.
57972         * lib/linebreak.h [C++]: Likewise.
57973
57974 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
57975
57976         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
57977         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
57978         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
57979         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
57980         Check for functions and headers just once.
57981         Check for declaration of canonicalize_file_name.
57982         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
57983
57984 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
57985
57986         * gnulib-tool (func_import): Fix typo in actioncmd.
57987
57988 2006-11-02  Bruno Haible  <bruno@clisp.org>
57989
57990         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
57991         newline sequence in the Makefile.am snippet as a space, like "make"
57992         does.
57993         Reported by Roger Persson <perrog@gmail.com>.
57994
57995 2006-11-01  Bruno Haible  <bruno@clisp.org>
57996
57997         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
57998         already declared in <string.h>.
57999         * lib/strcase.h (strncasecmp): Don't declare it if yes.
58000
58001 2006-11-01  Bruno Haible  <bruno@clisp.org>
58002
58003         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
58004         * lib/strcase.h: Include <string.h>.
58005         (strcasecmp): Define to rpl_strcasecmp here.
58006
58007 2006-11-01  Bruno Haible  <bruno@clisp.org>
58008
58009         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
58010
58011 2006-11-01  Eric Blake  <ebb9@byu.net>
58012
58013         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
58014
58015         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
58016
58017 2006-10-29  Bruno Haible  <bruno@clisp.org>
58018
58019         Make it compile in C++ mode.
58020         * lib/full-write.c (full_rw): Add a cast.
58021
58022 2006-11-01  Bruno Haible  <bruno@clisp.org>
58023
58024         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
58025         be POSIX compliant.
58026         Reported by Roger Persson <perrog@gmail.com>.
58027
58028 2006-11-01  Eric Blake  <ebb9@byu.net>
58029
58030         * lib/getopt_.h: Fix comments.
58031
58032 2006-10-31  Eric Blake  <ebb9@byu.net>
58033
58034         * modules/tmpdir (Depends-on): Add sys_stat.
58035         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
58036         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
58037         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
58038         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
58039         tempname.
58040
58041 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
58042
58043         Avoid some C++ diagnostics reported by Bruno Haible.
58044         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
58045         xmalloc.
58046         (quotearg_alloc): Use xcharalloc rather than xmalloc.
58047         (struct slotvec): Move to top level.
58048         (quotearg_n_options): Rewrite to avoid xmalloc.
58049         * lib/xalloc.h (xcharalloc): New function.
58050         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
58051         [defined __cplusplus]: Add function template that provides result
58052         type propagation.  This part of the change is from Bruno Haible.
58053
58054 2006-10-29  Bruno Haible  <bruno@clisp.org>
58055
58056         Make it compile in C++ mode.
58057         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
58058         * lib/strnlen1.c (strnlen1): Cast memchr result.
58059         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
58060         * lib/clean-temp.c (string_equals, string_hash): Add casts.
58061         (create_temp_dir): Rename local variable 'template'.
58062         (compile_csharp_using_sscli): Add cast.
58063         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
58064         * lib/findprog.c (find_in_path): Likewise.
58065         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
58066         * lib/wait-process.c (register_slave_subprocess): Likewise.
58067
58068 2006-10-22  Bruno Haible  <bruno@clisp.org>
58069
58070         * modules/tsearch: New file.
58071         * lib/tsearch.h: New file.
58072         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
58073         * m4/tsearch.m4: New file.
58074         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
58075
58076 2006-10-29  Eric Blake  <ebb9@byu.net>
58077
58078         * lib/arcfour.c: Assume config.h.
58079         * lib/arctwo.c: Likewise.
58080         * lib/base64.c: Likewise.
58081         * lib/check-version.c: Likewise.
58082         * lib/crc.c: Likewise.
58083         * lib/des.c: Likewise.
58084         * lib/gc-gnulib.c: Likewise.
58085         * lib/gc-libgcrypt.c: Likewise.
58086         * lib/gc-pbkdf2-sha1.c: Likewise.
58087         * lib/getaddrinfo.c: Likewise.
58088         * lib/getdelim.c: Likewise.
58089         * lib/getline.c: Likewise.
58090         * lib/hmac-md5.c: Likewise.
58091         * lib/hmac-sha1.c: Likewise.
58092         * lib/iconvme.c: Likewise.
58093         * lib/md2.c: Likewise.
58094         * lib/md4.c: Likewise.
58095         * lib/memxor.c: Likewise.
58096         * lib/read-file.c: Likewise.
58097         * lib/readline.c: Likewise.
58098         * lib/rijndael-alg-fst.c: Likewise.
58099         * lib/rijndael-api-fst.c: Likewise.
58100         * lib/xgetdomainname.c: Likewise.
58101
58102 2006-10-28  Eric Blake  <ebb9@byu.net>
58103
58104         * lib/xstrndup.c: Assume config.h.
58105
58106 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
58107
58108         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
58109         stat-macros.h is now for our own macros, whereas stat_h is for
58110         macros in the <sys/stat.h> name space.
58111         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
58112         (STAT_MACROS_H): Remove.
58113         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
58114         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
58115         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
58116         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
58117         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
58118         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
58119         Move these macros to ...
58120         * lib/stat_.h: here.  Don't include stat-macros.h.
58121         * lib/canonicalize.c: Don't include stat-macros.h.
58122         * lib/chown.c: Likewise.
58123         * lib/euidaccess.c: Likewise.
58124         * lib/file-type.c: Likewise.
58125         * lib/filemode.c: Likewise.
58126         * lib/glob.c: Likewise.
58127         * lib/isapipe.c: Likewise.
58128         * lib/lchown.c: Likewise.
58129         * lib/lstat.c: Likewise.
58130         * lib/mkdir-p.c: Likewise.
58131         * lib/rmdir.c: Likewise.
58132         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
58133         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
58134         unless mkdir isn't declared, to speed up 'configure'.
58135         Always create sys/stat.h, since it's unlikely any real sys/stat.h
58136         would define all the S_* symbols.
58137         * modules/canonicalize (Depends-on):
58138         Depend on sys_stat, not stat-macros.
58139         * modules/chown: Likewise.
58140         * modules/euidaccess: Likewise.
58141         * modules/filemode: Likewise.
58142         * modules/file-type: Likewise.
58143         * modules/glob: Likewise.
58144         * modules/isapipe: Likewise.
58145         * modules/lchown: Likewise.
58146         * modules/lstat: Likewise.
58147         * modules/mkancesdirs: Likewise.
58148         * modules/rmdir: Likewise.
58149         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
58150         * modules/modechange: Likewise.
58151         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
58152         (configure.ac): Remove gl_STAT_MACROS.
58153         * modules/sys_stat (Depends-on): Remove stat-macros.
58154
58155 2006-10-27  Bruno Haible  <bruno@clisp.org>
58156
58157         * m4/signed.m4: Remove file.
58158         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
58159         invocation.
58160         * modules/vasnprintf (Files): Remove m4/signed.m4.
58161
58162 2006-10-27  Bruno Haible  <bruno@clisp.org>
58163
58164         Update to GNU gettext 0.16.
58165         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
58166         m4/inttypes-h.m4, m4/signed.m4.
58167         * m4/gettext.m4: Update to GNU gettext 0.16.
58168         * m4/intl.m4: New file, from GNU gettext.
58169         * m4/intldir.m4: New file, from GNU gettext.
58170         * config/srclist.txt: Update
58171
58172 2006-10-27  Eric Blake  <ebb9@byu.net>
58173
58174         * MODULES.html.sh: Document tempname.
58175         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
58176         dependencies.
58177         (Files): Move lib/tempname.c...
58178         * modules/tempname: ...to this new module.
58179         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
58180         (gl_PREREQ_TEMPNAME): Move...
58181         * m4/tempname.m4: ...to this new file.
58182         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
58183         * modules/sys_stat (Depends-on): Add stat-macros.
58184         * lib/stat_.h (includes): Pick up stat macros.
58185         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
58186         if stat macros are broken.
58187         * lib/tempname.c (includes): No need to include "stat-macros.h".
58188         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
58189         (direxists, __path_search) [!_LIBC]: Don't compile these in
58190         gnulib; the tmpdir module covers that.
58191         * lib/tempname.h: New file.
58192
58193 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
58194
58195         * COPYING: Explain how gnulib-tool converts licence headers.
58196         Almost all wording by Eric Blake.
58197
58198 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
58199
58200         * lib/mbchar.h (is_basic_table): Make read-only.
58201         * lib/mbchar.c (is_basic_table): Likewise.
58202         Reported by John Darrington.
58203
58204 2006-10-25  Bruno Haible  <bruno@clisp.org>
58205
58206         * lib/progname.h (set_program_name): Undefine before defining.
58207
58208 2006-10-25  Bruno Haible  <bruno@clisp.org>
58209
58210         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
58211         false for non-gcc C++ compilers.
58212         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
58213
58214 2006-10-24  Bruno Haible  <bruno@clisp.org>
58215
58216         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
58217         iconv implementations like Irix iconv.
58218
58219 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
58220
58221         * modules/vararrays: New file.
58222         * m4/vararrays.m4: New file, taken from diffutils.
58223         * MODULES.html.sh: New module vararrays.
58224
58225 2006-10-24  Karl Berry  <karl@gnu.org>
58226
58227         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
58228         Don't call GNU Unix.
58229
58230 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58231
58232         * users.txt: Add Libtool.
58233
58234         Sync from Libtool:
58235
58236         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
58237
58238         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
58239         to gnulib's policy of including config.h unconditionally.
58240
58241 2006-10-24  Bruno Haible  <bruno@clisp.org>
58242
58243         * modules/wcwidth (Files): Add m4/wint_t.m4.
58244         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
58245         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
58246
58247 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
58248
58249         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
58250         to pacify GCC with some -W flags enabled.  Problem reported by
58251         Bruno Haible.
58252
58253 2006-10-24  Jim Meyering  <jim@meyering.net>
58254
58255         * MODULES.html.sh: Remove uinttostr.  It's not a module.
58256         Reported by Karl Berry.
58257
58258 2006-10-23  Bruno Haible  <bruno@clisp.org>
58259
58260         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
58261
58262 2006-10-24  Bruno Haible  <bruno@clisp.org>
58263
58264         * lib/gl_list.h: Use C comment style, not C++ comment style.
58265
58266 2006-10-23  Eric Blake  <ebb9@byu.net>
58267
58268         * lib/getaddrinfo.c (includes): Add missing include.
58269
58270 2006-10-23  Bruno Haible  <bruno@clisp.org>
58271             Paul Eggert  <eggert@cs.ucla.edu>
58272
58273         Ability to rename obstack_free.
58274         * lib/obstack.h (__obstack_free): New macro. Declare instead of
58275         obstack_free.
58276         (obstack_free): Invoke the __obstack_free macro.
58277         * lib/obstack.c (obstack_free): Use __obstack_free macro.
58278
58279 2006-10-23  Bruno Haible  <bruno@clisp.org>
58280             Paul Eggert  <eggert@cs.ucla.edu>
58281
58282         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
58283         __argc, __argv from the declaration. (They are defined as macros on
58284         mingw.)
58285
58286 2006-10-22  Bruno Haible  <bruno@clisp.org>
58287
58288         * doc/gnulib-intro.texi: New file.
58289         * doc/gnulib.texi: Include it.
58290
58291 2006-10-21  Bruno Haible  <bruno@clisp.org>
58292
58293         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
58294         "Introduction", "Miscellanous Notes", "Particular Modules".
58295
58296 2006-10-21  Bruno Haible  <bruno@clisp.org>
58297
58298         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
58299         Change mostlyclean-local rule to avoid sh syntax error from bash
58300         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
58301
58302 2006-10-23  Jim Meyering  <jim@meyering.net>
58303
58304         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
58305         in place of snprintf.
58306
58307         * modules/inttostr (Files): Add lib/uinttostr.c.
58308         * lib/uinttostr.c (inttostr): New file/function.
58309         * lib/inttostr.h (uinttostr): Declare.
58310         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
58311         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
58312         Add uinttostr.
58313         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
58314
58315 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
58316
58317         * lib/canonicalize.c (ELOOP): Define if not already defined.
58318         Problem reported by Bruno Haible in
58319         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
58320
58321 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
58322
58323         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
58324         Problem reported by Perry Smith and Ville Laurikari.
58325
58326         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
58327         uses.
58328
58329 2006-10-19  Bruno Haible  <bruno@clisp.org>
58330
58331         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
58332         for mingw.
58333
58334 2006-10-19  Bruno Haible  <bruno@clisp.org>
58335
58336         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
58337         Needed for mingw.
58338
58339 2006-10-19  Bruno Haible  <bruno@clisp.org>
58340
58341         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
58342
58343 2006-10-19  Bruno Haible  <bruno@clisp.org>
58344
58345         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
58346         it.
58347
58348 2006-10-19  Bruno Haible  <bruno@clisp.org>
58349
58350         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
58351         invocation.
58352
58353 2006-10-19  Bruno Haible  <bruno@clisp.org>
58354
58355         * gnulib-tool (func_create_testdir): Don't include ftruncate and
58356         mountlist by default.
58357
58358 2006-10-16  Bruno Haible  <bruno@clisp.org>
58359
58360         * lib/c-strstr.c: Include c-strstr.h.
58361
58362 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
58363
58364         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
58365         in a slash.
58366
58367 2006-10-18  Bruno Haible  <bruno@clisp.org>
58368
58369         * lib/lock.h [C++]: Wrap definitions in extern "C".
58370
58371 2006-10-18  Bruno Haible  <bruno@clisp.org>
58372
58373         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
58374         gl_LIBOBJS list.
58375
58376 2006-10-18  Bruno Haible  <bruno@clisp.org>
58377
58378         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
58379
58380 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
58381
58382         * lib/xstrtol.h: Include gettext.h.
58383         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
58384         Problem reported by Eric Blake.
58385         * modules/xstrtol (Depends-on): Add gettext-h.
58386
58387 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
58388
58389         * lib/strftime.c (advance): New macro.
58390         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
58391         incomplete type, so you can't add 0 to it.  Problem and patch
58392         reported by Eelco Dolstra for dietlibc.
58393
58394 2006-10-18  Jim Meyering  <jim@meyering.net>
58395
58396         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
58397         type for a local, and rename it: s/up/user_proc/.
58398
58399 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
58400
58401         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
58402         READ_UTMP_USER_PROCESS.
58403         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
58404
58405 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
58406
58407         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
58408         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
58409
58410 2006-10-17  Eric Blake  <ebb9@byu.net>
58411
58412         * lib/sigprocmask.c (sigprocmask): Fix typo.
58413
58414         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
58415
58416         * modules/clean-temp (Makefile.am): Don't add to make output...
58417         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
58418         config.h.
58419
58420 2006-10-17  Bruno Haible  <bruno@clisp.org>
58421
58422         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
58423         differently if DEFAULT_TEXT_DOMAIN is set.
58424
58425 2006-10-16  Bruno Haible  <bruno@clisp.org>
58426
58427         * lib/clean-temp.c: Include fwriteerror.h.
58428
58429 2006-10-16  Bruno Haible  <bruno@clisp.org>
58430
58431         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
58432
58433 2006-10-16  Bruno Haible  <bruno@clisp.org>
58434
58435         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
58436         * lib/sigprocmask.h: Include <sys/types.h>.
58437         (sigset_t): Use the system's definition if present.
58438
58439 2006-10-17  Eric Blake  <ebb9@byu.net>
58440
58441         * lib/xvasprintf.c (includes): Assume config.h.
58442         * lib/xasprintf.c (includes): Likewise.
58443
58444 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
58445
58446         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
58447         at least as wide as intmax_t.
58448
58449 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
58450
58451         (Imported from Automake.)
58452         * build-aux/gnupload: Update to version 1.1 of directive file.
58453
58454 2006-10-16  Eric Blake  <ebb9@byu.net>
58455
58456         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
58457         match Automake 1.10a.
58458
58459 2006-10-14  Bruno Haible  <bruno@clisp.org>
58460
58461         * modules/sigprocmask: New file.
58462         * lib/sigprocmask.h: New file.
58463         * lib/sigprocmask.c: New file.
58464         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
58465         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
58466         request sigprocmask.o.
58467         (gl_PREREQ_SIGPROCMASK): New macro.
58468         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
58469         (Depends-on): Add sigprocmask.
58470         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
58471         gt_SIGNALBLOCKING. Test for 'raise' only once.
58472         * lib/fatal-signal.c: Include sigprocmask.h.
58473         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
58474         unblock_fatal_signals): Define always.
58475         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
58476         sigprocmask.
58477
58478 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
58479
58480         Sync from Automake.
58481         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
58482         which incorrectly sets the mode of an existing destination
58483         directory.  In some cases the unpatched install-sh could do the
58484         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
58485         system.  We hope this is rare in practice, but it's clearly worth
58486         fixing.  Problem reported by Alex Unleashed in
58487         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
58488         Also, don't bother to check for -m bugs unless we're using -m;
58489         suggested by Stepan Kasal.
58490
58491 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58492
58493         Sync from Automake.
58494         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
58495         `-c' flag, so they appear at the same position as in %FASTDEP%
58496         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
58497         which ignores unknown options only after the first non-option.
58498         Bug report against M4 by Nelson H. F. Beebe.
58499
58500 2006-10-13  Jim Meyering  <jim@meyering.net>
58501
58502         Fix a bug in yesterday's change.
58503         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
58504         p->fts_statp->st_dev would be used uninitialized.
58505         Ensures that we always call fts_stat on the very first entry.
58506         Miklos Szeredi reported that find -xdev stopped working.
58507
58508 2006-10-12  Bruno Haible  <bruno@clisp.org>
58509
58510         * gnulib-tool (func_get_automake_snippet): Append an automatically
58511         computed EXTRA_DIST augmentation.
58512         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
58513         * modules/alloca-opt (Makefile.am): Likewise.
58514         * modules/allocsa (Makefile.am): Likewise.
58515         * modules/arcfour (Makefile.am): Likewise.
58516         * modules/arctwo (Makefile.am): Likewise.
58517         * modules/argmatch (Makefile.am): Likewise.
58518         * modules/argz (Makefile.am): Likewise.
58519         * modules/atexit (Makefile.am): Likewise.
58520         * modules/backupfile (Makefile.am): Likewise.
58521         * modules/byteswap (Makefile.am): Likewise.
58522         * modules/c-strtod (Makefile.am): Likewise.
58523         * modules/c-strtold (Makefile.am): Likewise.
58524         * modules/calloc (Makefile.am): Likewise.
58525         * modules/canon-host (Makefile.am): Likewise.
58526         * modules/canonicalize (Makefile.am): Likewise.
58527         * modules/chdir-long (Makefile.am): Likewise.
58528         * modules/chdir-safer (Makefile.am): Likewise.
58529         * modules/check-version (Makefile.am): Likewise.
58530         * modules/chown (Makefile.am): Likewise.
58531         * modules/cloexec (Makefile.am): Likewise.
58532         * modules/close-stream (Makefile.am): Likewise.
58533         * modules/closeout (Makefile.am): Likewise.
58534         * modules/crc (Makefile.am): Likewise.
58535         * modules/csharpexec (Makefile.am): Likewise.
58536         * modules/cycle-check (Makefile.am): Likewise.
58537         * modules/des (Makefile.am): Likewise.
58538         * modules/dev-ino (Makefile.am): Likewise.
58539         * modules/dirfd (Makefile.am): Likewise.
58540         * modules/dirname (Makefile.am): Likewise.
58541         * modules/dup2 (Makefile.am): Likewise.
58542         * modules/eealloc (Makefile.am): Likewise.
58543         * modules/error (Makefile.am): Likewise.
58544         * modules/euidaccess (Makefile.am): Likewise.
58545         * modules/exclude (Makefile.am): Likewise.
58546         * modules/exitfail (Makefile.am): Likewise.
58547         * modules/fcntl-safer (Makefile.am): Likewise.
58548         * modules/fcntl (Makefile.am): Likewise.
58549         * modules/file-type (Makefile.am): Likewise.
58550         * modules/fileblocks (Makefile.am): Likewise.
58551         * modules/filemode (Makefile.am): Likewise.
58552         * modules/filenamecat (Makefile.am): Likewise.
58553         * modules/fnmatch (Makefile.am): Likewise.
58554         * modules/fopen-safer (Makefile.am): Likewise.
58555         * modules/fpending (Makefile.am): Likewise.
58556         * modules/fprintftime (Makefile.am): Likewise.
58557         * modules/free (Makefile.am): Likewise.
58558         * modules/fsusage (Makefile.am): Likewise.
58559         * modules/ftruncate (Makefile.am): Likewise.
58560         * modules/fts (Makefile.am): Likewise.
58561         * modules/gc-arcfour (Makefile.am): Likewise.
58562         * modules/gc-des (Makefile.am): Likewise.
58563         * modules/gc-hmac-md5 (Makefile.am): Likewise.
58564         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
58565         * modules/gc-md4 (Makefile.am): Likewise.
58566         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
58567         * modules/gc-sha1 (Makefile.am): Likewise.
58568         * modules/gc (Makefile.am): Likewise.
58569         * modules/getaddrinfo (Makefile.am): Likewise.
58570         * modules/getcwd (Makefile.am): Likewise.
58571         * modules/getdelim (Makefile.am): Likewise.
58572         * modules/getdomainname (Makefile.am): Likewise.
58573         * modules/getgroups (Makefile.am): Likewise.
58574         * modules/gethostname (Makefile.am): Likewise.
58575         * modules/gethrxtime (Makefile.am): Likewise.
58576         * modules/getline (Makefile.am): Likewise.
58577         * modules/getloadavg (Makefile.am): Likewise.
58578         * modules/getlogin_r (Makefile.am): Likewise.
58579         * modules/getndelim2 (Makefile.am): Likewise.
58580         * modules/getopt (Makefile.am): Likewise.
58581         * modules/getpagesize (Makefile.am): Likewise.
58582         * modules/getpass-gnu (Makefile.am): Likewise.
58583         * modules/getpass (Makefile.am): Likewise.
58584         * modules/getsubopt (Makefile.am): Likewise.
58585         * modules/gettime (Makefile.am): Likewise.
58586         * modules/gettimeofday (Makefile.am): Likewise.
58587         * modules/getugroups (Makefile.am): Likewise.
58588         * modules/getusershell (Makefile.am): Likewise.
58589         * modules/glob (Makefile.am): Likewise.
58590         * modules/group-member (Makefile.am): Likewise.
58591         * modules/hard-locale (Makefile.am): Likewise.
58592         * modules/hash (Makefile.am): Likewise.
58593         * modules/hmac-md5 (Makefile.am): Likewise.
58594         * modules/hmac-sha1 (Makefile.am): Likewise.
58595         * modules/human (Makefile.am): Likewise.
58596         * modules/idcache (Makefile.am): Likewise.
58597         * modules/imaxabs (Makefile.am): Likewise.
58598         * modules/imaxdiv (Makefile.am): Likewise.
58599         * modules/inet_ntop (Makefile.am): Likewise.
58600         * modules/inet_pton (Makefile.am): Likewise.
58601         * modules/intprops (Makefile.am): Likewise.
58602         * modules/inttostr (Makefile.am): Likewise.
58603         * modules/inttypes (Makefile.am): Likewise.
58604         * modules/isapipe (Makefile.am): Likewise.
58605         * modules/javaversion (Makefile.am): Likewise.
58606         * modules/lchmod (Makefile.am): Likewise.
58607         * modules/lchown (Makefile.am): Likewise.
58608         * modules/localcharset (Makefile.am): Likewise.
58609         * modules/long-options (Makefile.am): Likewise.
58610         * modules/lstat (Makefile.am): Likewise.
58611         * modules/malloc (Makefile.am): Likewise.
58612         * modules/mathl (Makefile.am): Likewise.
58613         * modules/mbchar (Makefile.am): Likewise.
58614         * modules/md2 (Makefile.am): Likewise.
58615         * modules/md4 (Makefile.am): Likewise.
58616         * modules/md5 (Makefile.am): Likewise.
58617         * modules/memcasecmp (Makefile.am): Likewise.
58618         * modules/memchr (Makefile.am): Likewise.
58619         * modules/memcmp (Makefile.am): Likewise.
58620         * modules/memcoll (Makefile.am): Likewise.
58621         * modules/memcpy (Makefile.am): Likewise.
58622         * modules/memmem (Makefile.am): Likewise.
58623         * modules/memmove (Makefile.am): Likewise.
58624         * modules/mempcpy (Makefile.am): Likewise.
58625         * modules/memrchr (Makefile.am): Likewise.
58626         * modules/memset (Makefile.am): Likewise.
58627         * modules/memxor (Makefile.am): Likewise.
58628         * modules/mkancesdirs (Makefile.am): Likewise.
58629         * modules/mkdir-p (Makefile.am): Likewise.
58630         * modules/mkdir (Makefile.am): Likewise.
58631         * modules/mkdtemp (Makefile.am): Likewise.
58632         * modules/mkstemp (Makefile.am): Likewise.
58633         * modules/mktime (Makefile.am): Likewise.
58634         * modules/modechange (Makefile.am): Likewise.
58635         * modules/mountlist (Makefile.am): Likewise.
58636         * modules/nanosleep (Makefile.am): Likewise.
58637         * modules/obstack (Makefile.am): Likewise.
58638         * modules/openat (Makefile.am): Likewise.
58639         * modules/pagealign_alloc (Makefile.am): Likewise.
58640         * modules/pathmax (Makefile.am): Likewise.
58641         * modules/physmem (Makefile.am): Likewise.
58642         * modules/poll (Makefile.am): Likewise.
58643         * modules/posixtm (Makefile.am): Likewise.
58644         * modules/posixver (Makefile.am): Likewise.
58645         * modules/putenv (Makefile.am): Likewise.
58646         * modules/quote (Makefile.am): Likewise.
58647         * modules/quotearg (Makefile.am): Likewise.
58648         * modules/raise (Makefile.am): Likewise.
58649         * modules/read-file (Makefile.am): Likewise.
58650         * modules/readline (Makefile.am): Likewise.
58651         * modules/readlink (Makefile.am): Likewise.
58652         * modules/readtokens (Makefile.am): Likewise.
58653         * modules/readutmp (Makefile.am): Likewise.
58654         * modules/realloc (Makefile.am): Likewise.
58655         * modules/regex (Makefile.am): Likewise.
58656         * modules/rename-dest-slash (Makefile.am): Likewise.
58657         * modules/rename (Makefile.am): Likewise.
58658         * modules/rijndael (Makefile.am): Likewise.
58659         * modules/rmdir (Makefile.am): Likewise.
58660         * modules/rpmatch (Makefile.am): Likewise.
58661         * modules/safe-read (Makefile.am): Likewise.
58662         * modules/safe-write (Makefile.am): Likewise.
58663         * modules/same-inode (Makefile.am): Likewise.
58664         * modules/same (Makefile.am): Likewise.
58665         * modules/save-cwd (Makefile.am): Likewise.
58666         * modules/savedir (Makefile.am): Likewise.
58667         * modules/setenv (Makefile.am): Likewise.
58668         * modules/settime (Makefile.am): Likewise.
58669         * modules/sha1 (Makefile.am): Likewise.
58670         * modules/sig2str (Makefile.am): Likewise.
58671         * modules/snprintf (Makefile.am): Likewise.
58672         * modules/stat-macros (Makefile.am): Likewise.
58673         * modules/stat-time (Makefile.am): Likewise.
58674         * modules/stdbool (Makefile.am): Likewise.
58675         * modules/stdint (Makefile.am): Likewise.
58676         * modules/stdlib-safer (Makefile.am): Likewise.
58677         * modules/stpcpy (Makefile.am): Likewise.
58678         * modules/stpncpy (Makefile.am): Likewise.
58679         * modules/strcase (Makefile.am): Likewise.
58680         * modules/strcasestr (Makefile.am): Likewise.
58681         * modules/strchrnul (Makefile.am): Likewise.
58682         * modules/strcspn (Makefile.am): Likewise.
58683         * modules/strdup (Makefile.am): Likewise.
58684         * modules/strerror (Makefile.am): Likewise.
58685         * modules/strftime (Makefile.am): Likewise.
58686         * modules/strndup (Makefile.am): Likewise.
58687         * modules/strnlen (Makefile.am): Likewise.
58688         * modules/strpbrk (Makefile.am): Likewise.
58689         * modules/strsep (Makefile.am): Likewise.
58690         * modules/strstr (Makefile.am): Likewise.
58691         * modules/strtod (Makefile.am): Likewise.
58692         * modules/strtoimax (Makefile.am): Likewise.
58693         * modules/strtok_r (Makefile.am): Likewise.
58694         * modules/strtol (Makefile.am): Likewise.
58695         * modules/strtoll (Makefile.am): Likewise.
58696         * modules/strtoul (Makefile.am): Likewise.
58697         * modules/strtoull (Makefile.am): Likewise.
58698         * modules/strtoumax (Makefile.am): Likewise.
58699         * modules/strverscmp (Makefile.am): Likewise.
58700         * modules/sys_socket (Makefile.am): Likewise.
58701         * modules/sys_stat (Makefile.am): Likewise.
58702         * modules/sysexits (Makefile.am): Likewise.
58703         * modules/time_r (Makefile.am): Likewise.
58704         * modules/timegm (Makefile.am): Likewise.
58705         * modules/timespec (Makefile.am): Likewise.
58706         * modules/tmpfile-safer (Makefile.am): Likewise.
58707         * modules/trim (Makefile.am): Likewise.
58708         * modules/unistd-safer (Makefile.am): Likewise.
58709         * modules/unlinkdir (Makefile.am): Likewise.
58710         * modules/unlocked-io (Makefile.am): Likewise.
58711         * modules/userspec (Makefile.am): Likewise.
58712         * modules/utime (Makefile.am): Likewise.
58713         * modules/utimecmp (Makefile.am): Likewise.
58714         * modules/utimens (Makefile.am): Likewise.
58715         * modules/vasnprintf (Makefile.am): Likewise.
58716         * modules/vasprintf (Makefile.am): Likewise.
58717         * modules/vsnprintf (Makefile.am): Likewise.
58718         * modules/xalloc (Makefile.am): Likewise.
58719         * modules/xgetcwd (Makefile.am): Likewise.
58720         * modules/xnanosleep (Makefile.am): Likewise.
58721         * modules/xreadlink (Makefile.am): Likewise.
58722         * modules/xstrtod (Makefile.am): Likewise.
58723         * modules/xstrtol (Makefile.am): Likewise.
58724         * modules/xstrtold (Makefile.am): Likewise.
58725         * modules/yesno (Makefile.am): Likewise.
58726         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
58727
58728 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
58729
58730         * modules/error (Makefile.am): Distribute files through
58731         EXTRA_DIST, not lib_SOURCES.
58732
58733 2006-10-12  Eric Blake  <ebb9@byu.net>
58734
58735         * modules/error (Makefile.am): Distribute files in /lib.
58736         * modules/obstack (Makefile.am): Likewise.
58737
58738 2006-10-12  Bruno Haible  <bruno@clisp.org>
58739
58740         * modules/acl (Makefile.am): Distribute all files in lib/ through
58741         EXTRA_DIST.
58742         * modules/arcfour (Makefile.am): Likewise.
58743         * modules/arctwo (Makefile.am): Likewise.
58744         * modules/argmatch (Makefile.am): Likewise.
58745         * modules/argz (Makefile.am): Likewise.
58746         * modules/atexit (Makefile.am): Likewise.
58747         * modules/backupfile (Makefile.am): Likewise.
58748         * modules/c-strtod (Makefile.am): Likewise.
58749         * modules/c-strtold (Makefile.am): Likewise.
58750         * modules/calloc (Makefile.am): Likewise.
58751         * modules/canon-host (Makefile.am): Likewise.
58752         * modules/canonicalize (Makefile.am): Likewise.
58753         * modules/chdir-long (Makefile.am): Likewise.
58754         * modules/chdir-safer (Makefile.am): Likewise.
58755         * modules/check-version (Makefile.am): Likewise.
58756         * modules/chown (Makefile.am): Likewise.
58757         * modules/cloexec (Makefile.am): Likewise.
58758         * modules/close-stream (Makefile.am): Likewise.
58759         * modules/closeout (Makefile.am): Likewise.
58760         * modules/crc (Makefile.am): Likewise.
58761         * modules/cycle-check (Makefile.am): Likewise.
58762         * modules/des (Makefile.am): Likewise.
58763         * modules/dirfd (Makefile.am): Likewise.
58764         * modules/dirname (Makefile.am): Likewise.
58765         * modules/dup2 (Makefile.am): Likewise.
58766         * modules/euidaccess (Makefile.am): Likewise.
58767         * modules/exclude (Makefile.am): Likewise.
58768         * modules/exitfail (Makefile.am): Likewise.
58769         * modules/fcntl-safer (Makefile.am): Likewise.
58770         * modules/file-type (Makefile.am): Likewise.
58771         * modules/fileblocks (Makefile.am): Likewise.
58772         * modules/filemode (Makefile.am): Likewise.
58773         * modules/filenamecat (Makefile.am): Likewise.
58774         * modules/fnmatch (Makefile.am): Likewise.
58775         * modules/fopen-safer (Makefile.am): Likewise.
58776         * modules/fpending (Makefile.am): Likewise.
58777         * modules/fprintftime (Makefile.am): Likewise.
58778         * modules/free (Makefile.am): Likewise.
58779         * modules/fsusage (Makefile.am): Likewise.
58780         * modules/ftruncate (Makefile.am): Likewise.
58781         * modules/fts (Makefile.am): Likewise.
58782         * modules/gc (Makefile.am): Likewise.
58783         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
58784         * modules/getaddrinfo (Makefile.am): Likewise.
58785         * modules/getcwd (Makefile.am): Likewise.
58786         * modules/getdelim (Makefile.am): Likewise.
58787         * modules/getdomainname (Makefile.am): Likewise.
58788         * modules/getgroups (Makefile.am): Likewise.
58789         * modules/gethostname (Makefile.am): Likewise.
58790         * modules/gethrxtime (Makefile.am): Likewise.
58791         * modules/getline (Makefile.am): Likewise.
58792         * modules/getloadavg (Makefile.am): Likewise.
58793         * modules/getlogin_r (Makefile.am): Likewise.
58794         * modules/getopt (Makefile.am): Likewise.
58795         * modules/getpass (Makefile.am): Likewise.
58796         * modules/getpass-gnu (Makefile.am): Likewise.
58797         * modules/getsubopt (Makefile.am): Likewise.
58798         * modules/gettime (Makefile.am): Likewise.
58799         * modules/gettimeofday (Makefile.am): Likewise.
58800         * modules/getugroups (Makefile.am): Likewise.
58801         * modules/getusershell (Makefile.am): Likewise.
58802         * modules/glob (Makefile.am): Likewise.
58803         * modules/group-member (Makefile.am): Likewise.
58804         * modules/hard-locale (Makefile.am): Likewise.
58805         * modules/hash (Makefile.am): Likewise.
58806         * modules/hmac-md5 (Makefile.am): Likewise.
58807         * modules/hmac-sha1 (Makefile.am): Likewise.
58808         * modules/human (Makefile.am): Likewise.
58809         * modules/idcache (Makefile.am): Likewise.
58810         * modules/imaxabs (Makefile.am): Likewise.
58811         * modules/imaxdiv (Makefile.am): Likewise.
58812         * modules/inet_ntop (Makefile.am): Likewise.
58813         * modules/inet_pton (Makefile.am): Likewise.
58814         * modules/inttostr (Makefile.am): Likewise.
58815         * modules/isapipe (Makefile.am): Likewise.
58816         * modules/lchown (Makefile.am): Likewise.
58817         * modules/long-options (Makefile.am): Likewise.
58818         * modules/lstat (Makefile.am): Likewise.
58819         * modules/malloc (Makefile.am): Likewise.
58820         * modules/mathl (Makefile.am): Likewise.
58821         * modules/mbchar (Makefile.am): Likewise.
58822         * modules/md2 (Makefile.am): Likewise.
58823         * modules/md4 (Makefile.am): Likewise.
58824         * modules/md5 (Makefile.am): Likewise.
58825         * modules/memcasecmp (Makefile.am): Likewise.
58826         * modules/memchr (Makefile.am): Likewise.
58827         * modules/memcmp (Makefile.am): Likewise.
58828         * modules/memcoll (Makefile.am): Likewise.
58829         * modules/memcpy (Makefile.am): Likewise.
58830         * modules/memmem (Makefile.am): Likewise.
58831         * modules/memmove (Makefile.am): Likewise.
58832         * modules/mempcpy (Makefile.am): Likewise.
58833         * modules/memrchr (Makefile.am): Likewise.
58834         * modules/memset (Makefile.am): Likewise.
58835         * modules/memxor (Makefile.am): Likewise.
58836         * modules/mkancesdirs (Makefile.am): Likewise.
58837         * modules/mkdir (Makefile.am): Likewise.
58838         * modules/mkdir-p (Makefile.am): Likewise.
58839         * modules/mkdtemp (Makefile.am): Likewise.
58840         * modules/mkstemp (Makefile.am): Likewise.
58841         * modules/mktime (Makefile.am): Likewise.
58842         * modules/modechange (Makefile.am): Likewise.
58843         * modules/mountlist (Makefile.am): Likewise.
58844         * modules/nanosleep (Makefile.am): Likewise.
58845         * modules/openat (Makefile.am): Likewise.
58846         * modules/pagealign_alloc (Makefile.am): Likewise.
58847         * modules/physmem (Makefile.am): Likewise.
58848         * modules/poll (Makefile.am): Likewise.
58849         * modules/posixtm (Makefile.am): Likewise.
58850         * modules/posixver (Makefile.am): Likewise.
58851         * modules/putenv (Makefile.am): Likewise.
58852         * modules/quote (Makefile.am): Likewise.
58853         * modules/quotearg (Makefile.am): Likewise.
58854         * modules/raise (Makefile.am): Likewise.
58855         * modules/read-file (Makefile.am): Likewise.
58856         * modules/readline (Makefile.am): Likewise.
58857         * modules/readlink (Makefile.am): Likewise.
58858         * modules/readtokens (Makefile.am): Likewise.
58859         * modules/readutmp (Makefile.am): Likewise.
58860         * modules/realloc (Makefile.am): Likewise.
58861         * modules/regex (Makefile.am): Likewise.
58862         * modules/rename (Makefile.am): Likewise.
58863         * modules/rename-dest-slash (Makefile.am): Likewise.
58864         * modules/rijndael (Makefile.am): Likewise.
58865         * modules/rmdir (Makefile.am): Likewise.
58866         * modules/rpmatch (Makefile.am): Likewise.
58867         * modules/safe-read (Makefile.am): Likewise.
58868         * modules/safe-write (Makefile.am): Likewise.
58869         * modules/same (Makefile.am): Likewise.
58870         * modules/save-cwd (Makefile.am): Likewise.
58871         * modules/savedir (Makefile.am): Likewise.
58872         * modules/setenv (Makefile.am): Likewise.
58873         * modules/settime (Makefile.am): Likewise.
58874         * modules/sha1 (Makefile.am): Likewise.
58875         * modules/sig2str (Makefile.am): Likewise.
58876         * modules/snprintf (Makefile.am): Likewise.
58877         * modules/stdlib-safer (Makefile.am): Likewise.
58878         * modules/stpcpy (Makefile.am): Likewise.
58879         * modules/stpncpy (Makefile.am): Likewise.
58880         * modules/strcase (Makefile.am): Likewise.
58881         * modules/strcasestr (Makefile.am): Likewise.
58882         * modules/strchrnul (Makefile.am): Likewise.
58883         * modules/strcspn (Makefile.am): Likewise.
58884         * modules/strdup (Makefile.am): Likewise.
58885         * modules/strerror (Makefile.am): Likewise.
58886         * modules/strftime (Makefile.am): Likewise.
58887         * modules/strndup (Makefile.am): Likewise.
58888         * modules/strnlen (Makefile.am): Likewise.
58889         * modules/strpbrk (Makefile.am): Likewise.
58890         * modules/strsep (Makefile.am): Likewise.
58891         * modules/strstr (Makefile.am): Likewise.
58892         * modules/strtod (Makefile.am): Likewise.
58893         * modules/strtoimax (Makefile.am): Likewise.
58894         * modules/strtok_r (Makefile.am): Likewise.
58895         * modules/strtol (Makefile.am): Likewise.
58896         * modules/strtoll (Makefile.am): Likewise.
58897         * modules/strtoul (Makefile.am): Likewise.
58898         * modules/strtoull (Makefile.am): Likewise.
58899         * modules/strtoumax (Makefile.am): Likewise.
58900         * modules/strverscmp (Makefile.am): Likewise.
58901         * modules/time_r (Makefile.am): Likewise.
58902         * modules/timegm (Makefile.am): Likewise.
58903         * modules/tmpfile-safer (Makefile.am): Likewise.
58904         * modules/unistd-safer (Makefile.am): Likewise.
58905         * modules/unlinkdir (Makefile.am): Likewise.
58906         * modules/userspec (Makefile.am): Likewise.
58907         * modules/utime (Makefile.am): Likewise.
58908         * modules/utimecmp (Makefile.am): Likewise.
58909         * modules/utimens (Makefile.am): Likewise.
58910         * modules/vasnprintf (Makefile.am): Likewise.
58911         * modules/vasprintf (Makefile.am): Likewise.
58912         * modules/vsnprintf (Makefile.am): Likewise.
58913         * modules/xalloc (Makefile.am): Likewise.
58914         * modules/xgetcwd (Makefile.am): Likewise.
58915         * modules/xnanosleep (Makefile.am): Likewise.
58916         * modules/xreadlink (Makefile.am): Likewise.
58917         * modules/xstrtod (Makefile.am): Likewise.
58918         * modules/xstrtol (Makefile.am): Likewise.
58919         * modules/xstrtold (Makefile.am): Likewise.
58920         * modules/yesno (Makefile.am): Likewise.
58921
58922 2006-10-12  Jim Meyering  <jim@meyering.net>
58923
58924         * m4/getloadavg.m4: Revert the change below.
58925
58926         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
58927         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
58928         fail with a symlink, which is what coreutils' ./bootstrap now
58929         creates by default.
58930
58931 2006-10-12  Bruno Haible  <bruno@clisp.org>
58932
58933         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
58934         mingw.
58935         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
58936         MSVC and mingw explicitly.
58937
58938 2006-10-11  Simon Josefsson  <jas@extundo.com>
58939             Bruno Haible  <bruno@clisp.org>
58940
58941         Add support for multiple gnulib-tool invocations in the scope of a
58942         single configure.ac file.
58943         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
58944         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
58945         with the same contents as the _LIBADD variable.
58946         (func_emit_initmacro_start, func_emit_initmacro_end,
58947         func_emit_initmacro_done): New functions.
58948         (func_import, func_create_testdir): Invoke them. Allow the identifiers
58949         gl_LIBOBJS and gl_LTLIBOBJS.
58950
58951 2006-10-11  Bruno Haible  <bruno@clisp.org>
58952
58953         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
58954         (func_create_testdir): Don't create po/Makefile.am, don't invoke
58955         autoreconf. Instead, invoke autopoint explicitly but move back the
58956         *.m4 files from gnulib.
58957
58958 2006-10-11  Bruno Haible  <bruno@clisp.org>
58959
58960         * gnulib-tool (func_usage): Make module names after --create-testdir
58961         optional.
58962         (func_create_testdir): If no module was specified, use nearly all
58963         modules.
58964
58965 2006-10-12  Jim Meyering  <jim@meyering.net>
58966
58967         Big performance improvement for fts-based tools that use FTS_NOSTAT.
58968         Avoid spurious inode-mismatch problems on non-POSIX file systems.
58969         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
58970         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
58971         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
58972         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
58973         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
58974         (fts_set_stat_required): New function.
58975         (fts_open): Defer the calls to fts_stat, if possible or requested.
58976         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
58977         into fts_stat itself.
58978         (fts_read): Perform any required (deferred) fts_stat call.
58979         (fts_build): Likewise, for the directory we're about to open and read.
58980         In the readdir loop, carefully decide whether each entry will require
58981         an eventual call to fts_stat, using dirent.d_type info if available.
58982         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
58983         a command line argument into this function.  Update all callers.
58984         Map a return value of FTS_DOT to FTS_D for a command line argument.
58985         * modules/fts (Depends-on): Add d-type.  Alphabetize.
58986         Thanks to Miklos Szeredi for his tenacity and for the initial
58987         bug report about "find" failing on a FUSE-based file system.
58988
58989         * lib/fts.c (fts_open): Use consistent indentation.
58990
58991 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
58992
58993         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
58994         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
58995         reported by Jim Meyering.  All uses of cache variables renamed
58996         to match Autoconf's.
58997         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
58998         the other one.
58999
59000         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
59001         Fix misspelling in diagnostic.
59002
59003 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
59004
59005         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
59006         defined.  Problem reported by Matthew Woehlke.
59007
59008         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
59009         Add support for Tandem NonStop R series.
59010         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
59011         Use new macro.
59012
59013         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
59014         (has_trailing_slash): Omit size arg; all callers changed.
59015         Omit 'inline', since it doesn't help performance and we'd
59016         need to configure it.
59017         Don't count //, ///, etc. as having a trailing slash.
59018         As a side effect, this removes a C99ism reported by Matthew Woehlke.
59019         (rpl_rename_dest_slash): On failure, use rename's errno rather
59020         than (in some cases) an incorrect or junk errno.
59021         Simplify code by removing need to compute length; this does
59022         cause it to make two passes instead of one over the file name,
59023         but it's worth it.
59024
59025         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
59026         change, since Autoconf's version may no longer be appropriate now
59027         that we are using CVS Autoconf's version.  Add support for Tandem.
59028
59029 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
59030             Bruno Haible  <bruno@clisp.org>
59031
59032         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
59033         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
59034         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
59035         gl_AC_TYPE_LONG_LONG.
59036
59037         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
59038         instead of HAVE_LONG_LONG.
59039         * lib/printf-args.c (printf_fetchargs): Likewise.
59040         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
59041         * lib/vasnprintf.c (VASNPRINTF): Likewise.
59042         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
59043         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
59044         gl_AC_TYPE_LONG_LONG.
59045
59046 2006-10-11  Bruno Haible  <bruno@clisp.org>
59047
59048         * m4/longlong.m4: Add comments.
59049         * m4/ulonglong.m4: Likewise.
59050
59051 2006-10-10  Bruno Haible  <bruno@clisp.org>
59052
59053         Make it possible to #define stpcpy, strdup to aliases.
59054         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
59055         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
59056
59057 2006-10-10  Bruno Haible  <bruno@clisp.org>
59058
59059         Make it possible to #define gcd to an alias.
59060         * lib/gcd.c: Include config.h.
59061
59062 2006-10-10  Bruno Haible  <bruno@clisp.org>
59063
59064         Make it possible to #define c_isascii to an alias.
59065         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
59066         defined. Undefine the macros before defining them, to avoid gcc
59067         warnings.
59068         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
59069         define NO_C_CTYPE_MACROS early.
59070
59071 2006-10-10  Bruno Haible  <bruno@clisp.org>
59072
59073         Make it possible to #define set_program_name to an alias.
59074         * lib/progname.c: Don't undefine set_program_name; instead, undefine
59075         ENABLE_RELOCATABLE early.
59076
59077 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
59078
59079         Port to Tandem NSK OSS, which has 64-bit signed int but at most
59080         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
59081         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
59082         More generally, don't assume that 64-bit signed int is available
59083         if unsigned int is, and vice versa.
59084         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
59085         unsigned symbols, not on their signed counterparts.
59086         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
59087         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
59088         (UINT64_C, UINTMAX_C):
59089         Likewise.
59090         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
59091         unsigned counterparts.
59092         (Have_long_long, Unsigned): New macros.
59093         (Int): Renamed from INT.
59094         (strtoimax): Use the new macros.
59095         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
59096         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
59097         * modules/inttypes (inttypes.h): Substitute
59098         HAVE_UNSIGNED_LONG_LONG_INT.
59099         * modules/stdint (stdint.h): Likewise.
59100         (Files): Add m4/ulonglong.m4.
59101
59102 2006-10-10  Bruno Haible  <bruno@clisp.org>
59103
59104         Fix a gcc -Wshadow warning.
59105         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
59106         to 'bucket'.
59107         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
59108         gl_linked_indexof_from_to): Likewise.
59109         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
59110         Likewise.
59111         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
59112         Likewise.
59113         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
59114         Reported by Eric Blake.
59115
59116 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
59117
59118         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
59119         for NetBSD.  Problem reported by Bruno Haible.
59120
59121 2006-10-09  Jim Meyering  <jim@meyering.net>
59122
59123         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
59124         Patch from Bruno Haible.
59125
59126 2006-10-09  Jim Meyering  <jim@meyering.net>
59127
59128         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
59129         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
59130         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
59131
59132 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
59133
59134         Don't include <config.h> twice; this doesn't work in some cases,
59135         e.g., when config.h has "#define intmax_t long long int" and
59136         we include <config.h>, <inttypes.h>, <config.h> in that order.
59137         Problem reported by Matthew Woehlke in:
59138         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
59139         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
59140         * lib/fts-cycle.c: Don't include config.h.
59141         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
59142         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
59143         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
59144         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
59145         inttypes.h.
59146         * lib/xstrtoumax.c: Likewise.
59147         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
59148         __strtol and the like, so that this module is more like its siblings.
59149         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
59150         Remove; no longer needed now that we assume gnulib inttypes.h.
59151
59152 2006-10-08  Bruno Haible  <bruno@clisp.org>
59153
59154         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
59155         option.
59156
59157 2006-10-07  Jim Meyering  <jim@meyering.net>
59158
59159         * modules/inttypes (inttypes.h): Revert what seems to have been
59160         an inadvertent part of today's change: use "|", not "/" in the
59161         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
59162
59163 2006-10-07  Bruno Haible  <bruno@clisp.org>
59164
59165         * modules/sublist: New file.
59166
59167 2006-10-07  Bruno Haible  <bruno@clisp.org>
59168
59169         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
59170         * modules/argz (argz.h): Likewise.
59171         * modules/arpa_inet (arpa/inet.h): Likewise.
59172         * modules/byteswap (byteswap.h): Likewise.
59173         * modules/configmake (configmake.h): Likewise.
59174         * modules/fcntl (fcntl.h): Likewise.
59175         * modules/fnmatch (fnmatch.h): Likewise.
59176         * modules/getopt (getopt.h): Likewise.
59177         * modules/glob (glob.h): Likewise.
59178         * modules/inttypes (inttypes.h): Likewise.
59179         * modules/netinet_in (netinet/in.h): Likewise.
59180         * modules/poll (poll.h): Likewise.
59181         * modules/stdbool (stdbool.h): Likewise.
59182         * modules/stdint (stdint.h): Likewise.
59183         * modules/sys_select (sys/select.h): Likewise.
59184         * modules/sys_socket (sys/socket.h): Likewise.
59185         * modules/sys_stat (sys/stat.h): Likewise.
59186         * modules/sysexits (sysexits.h): Likewise.
59187         * modules/unistd (unistd.h): Likewise.
59188         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
59189         Add a "DO NOT EDIT" comment to the generated file.
59190         (func_import): Likewise for gnulib-comp.m4.
59191
59192 2006-10-07  Bruno Haible  <bruno@clisp.org>
59193
59194         * lib/gl_sublist.h: New file.
59195         * lib/gl_sublist.c: New file.
59196
59197 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
59198
59199         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
59200         name (relative to the original working directory) and the file
59201         name component (relative to the temporary working directory).  All
59202         callers changed.
59203         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
59204         * lib/mkdir-p.c (make_dir_parents): Likewise.
59205         * lib/mkdir-p.h (make_dir_parents): Likewise.
59206
59207 2006-10-06  Eric Blake  <ebb9@byu.net>
59208
59209         Define several macros for use by the clean-temp module.
59210         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
59211         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
59212         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
59213
59214         * lib/clean-temp.h (close_stream_temp): New declaration.
59215         * lib/clean-temp.c (includes): Pull in headers according to what
59216         other modules are in use.
59217         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
59218
59219 2006-10-06  Bruno Haible  <bruno@clisp.org>
59220
59221         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
59222         instead of fopen, fwriteerror.
59223
59224 2006-10-06  Bruno Haible  <bruno@clisp.org>
59225
59226         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
59227         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
59228         int.
59229         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
59230         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
59231         Return an error indicator.
59232         Suggested by Eric Blake.
59233
59234 2006-10-06  Bruno Haible  <bruno@clisp.org>
59235
59236         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
59237         Reported by Eric Blake.
59238
59239 2006-10-06  Bruno Haible  <bruno@clisp.org>
59240
59241         * modules/closeout (Description): Mention stderr too.
59242
59243 2006-10-06  Bruno Haible  <bruno@clisp.org>
59244         and Paul Eggert  <eggert@cs.ucla.edu>
59245
59246         * lib/closeout.c (close_stdout): Also close stderr.
59247         * lib/closeout.h: Update comment.
59248
59249 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
59250
59251         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
59252         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
59253         * lib/dirchownmod.c: Include lchown.h.
59254         * lib/lchown.c: Don't include files that lchown.h now includes.
59255         Don't declare chown, since lchown.h now does that.
59256         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
59257         (lchown): Define to rpl_chown if lchown is declared but
59258         does not exist.  Declare using a prototype if lchown is not
59259         declared.  Add a copyright notice.
59260         * lib/mkstemp.h: Include <unistd.h>.
59261         * lib/openat.c: Include lchown.h.
59262
59263         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
59264         we now test for that separately.
59265         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
59266         rather than O_NOFOLLOW, when testing whether it's possible to
59267         avoid a race condition reliably.
59268         * lib/savewd.c (savewd_chdir): Likewise.
59269
59270         Remove macros that are no longer needed now that stdint.h is
59271         reliable.
59272         * lib/fsusage.c (UINTMAX_MAX): Remove.
59273         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
59274         * lib/utimecmp.c (SIZE_MAX): Remove.
59275
59276         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
59277
59278         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
59279         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
59280         O_NOATIME works.
59281
59282 2006-10-05  Bruno Haible  <bruno@clisp.org>
59283
59284         * lib/gl_list.h (gl_sortedlist_search_from_to,
59285         gl_sortedlist_indexof_from_to): New declarations.
59286         (gl_list_implementation): New fields sortedlist_search_from_to,
59287         sortedlist_indexof_from_to.
59288         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
59289         inline functions.
59290         * lib/gl_list.c (gl_sortedlist_search_from_to,
59291         gl_sortedlist_indexof_from_to): New functions.
59292         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
59293         function.
59294         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
59295         (gl_array_sortedlist_search_from_to): New function.
59296         (gl_array_list_implementation): Update.
59297         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
59298         function.
59299         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
59300         (gl_carray_sortedlist_search_from_to): New function.
59301         (gl_carray_list_implementation): Update.
59302         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
59303         gl_linked_sortedlist_indexof_from_to): New functions.
59304         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
59305         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
59306         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
59307         gl_tree_sortedlist_indexof_from_to): New functions.
59308         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
59309         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
59310         Update.
59311         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
59312         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
59313         Update.
59314
59315 2006-10-05  Bruno Haible  <bruno@clisp.org>
59316
59317         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
59318         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
59319         (struct gl_list_implementation): Add fields search_from_to,
59320         indexof_from_to. Remove fields search, indexof.
59321         (gl_list_search): Use the search_from_to method.
59322         (gl_list_search_from, gl_list_search_from_to): New functions.
59323         (gl_list_indexof): Use the indexof_from_to method.
59324         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
59325         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
59326         (gl_list_search_from, gl_list_search_from_to): New functions.
59327         (gl_list_indexof): Use the indexof_from_to method.
59328         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
59329         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
59330         gl_array_indexof. Add start_index, end_index arguments.
59331         (gl_array_search_from_to): Renamed from gl_array_search. Add
59332         start_index, end_index arguments.
59333         (gl_array_remove, gl_array_list_implementation): Update.
59334         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
59335         gl_carray_indexof. Add start_index, end_index arguments.
59336         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
59337         start_index, end_index arguments.
59338         (gl_carray_remove, gl_carray_list_implementation): Update.
59339         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
59340         gl_linked_search. Add start_index, end_index arguments.
59341         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
59342         start_index, end_index arguments.
59343         (gl_linked_remove): Update.
59344         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
59345         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
59346         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
59347         field to 'size_t'.
59348         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
59349         gl_tree_search. Add start_index, end_index arguments.
59350         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
59351         start_index, end_index arguments.
59352         (gl_tree_remove): Update.
59353         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
59354         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
59355         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
59356         function.
59357         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
59358         gl_tree_search. Add start_index, end_index arguments.
59359         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
59360         start_index, end_index arguments.
59361         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
59362         Update.
59363         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
59364
59365 2006-10-05  Bruno Haible  <bruno@clisp.org>
59366
59367         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
59368
59369         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
59370         fwriteerror_temp): New declarations.
59371         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
59372         (descriptors): New variable.
59373         (cleanup): First, close the descriptors.
59374         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
59375         fclose_temp, fwriteerror_temp): New functions.
59376
59377 2006-10-04  Jim Meyering  <jim@meyering.net>
59378
59379         * lib/fts.c (fts_open): Tiny comment change.
59380
59381 2006-10-04  Bruno Haible  <bruno@clisp.org>
59382
59383         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
59384         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
59385         gl_LOCK_BODY.
59386         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
59387         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
59388         gl_LOCK_EARLY_BODY.
59389         (gl_LOCK): Require gl_LOCK_BODY.
59390
59391 2006-10-04  Bruno Haible  <bruno@clisp.org>
59392
59393         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
59394         (gl_oset_search_atleast): New declaration.
59395         (struct gl_oset_implementation): Add field 'search_atleast'.
59396         (gl_oset_search_atleast): New inline function.
59397         * lib/gl_oset.c (gl_oset_search_atleast): New function.
59398         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
59399         (gl_array_oset_implementation): Update.
59400         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
59401         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
59402         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
59403
59404 2006-10-04  Bruno Haible  <bruno@clisp.org>
59405
59406         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
59407
59408 2006-10-03  Bruno Haible  <bruno@clisp.org>
59409
59410         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
59411         from gl_avltreehash_list_implementation.
59412
59413 2006-10-03  Bruno Haible  <bruno@clisp.org>
59414
59415         * lib/gl_oset.c (gl_oset_add): Fix return type.
59416
59417 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
59418
59419         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
59420
59421 2006-10-02  Eric Blake  <ebb9@byu.net>
59422
59423         * modules/strnlen (Depends-on): Add extensions.
59424
59425 2006-10-02  Eric Blake  <ebb9@byu.net>
59426
59427         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
59428         definition in 2.60+.
59429
59430 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
59431
59432         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
59433         checks.
59434
59435 2006-10-02  Bruno Haible  <bruno@clisp.org>
59436
59437         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
59438         to the AUTOMAKE_OPTIONS.
59439         Reported by Jim Meyering.
59440
59441 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
59442
59443         Work around bug in Solaris 10 /proc file system:
59444         /proc/self/fd/NNN/.. isn't the parent directory of
59445         the directory whose file descriptor is NNN.  This needs to
59446         be worked around at run time, not compile time, since a
59447         program might be built on Solaris 8, where things work, and
59448         run on Solaris 10.
59449         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
59450         to use the following interface instead:
59451         (OPENAT_BUFFER_SIZE): New macro.
59452         (openat_proc_name): New function.
59453         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
59454         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
59455         Likewise.
59456         * lib/openat-proc.c: New file.
59457         * modules/openat (Files): Add lib/openat-proc.c.
59458         (Depends-on): Add same-inode, stdbool.
59459         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
59460
59461 2006-09-29  Bruno Haible  <bruno@clisp.org>
59462
59463         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
59464         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
59465         argument. Set stdout_closed before testing for ferror, not after.
59466         (fwriteerror, fwriteerror_no_ebadf): New functions.
59467
59468 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59469
59470         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
59471
59472 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
59473
59474         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
59475         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
59476
59477 2006-09-28  Jim Meyering  <jim@meyering.net>
59478
59479         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
59480         Include <unistd.h>.
59481
59482 2006-09-28  Bruno Haible  <bruno@clisp.org>
59483
59484         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
59485         * modules/linkedhash-list (Depends-on): Likewise.
59486         * modules/rbtreehash-list (Depends-on): Likewise.
59487
59488 2006-09-28  Bruno Haible  <bruno@clisp.org>
59489
59490         * lib/strndup.h: Simplify the redefinition of strndup.
59491         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
59492         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
59493
59494 2006-09-28  Bruno Haible  <bruno@clisp.org>
59495
59496         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
59497         * lib/gl_linkedhash_list.c: Likewise.
59498         * lib/gl_rbtreehash_list.c: Likewise.
59499
59500 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
59501
59502         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
59503         getaddrinfo.
59504
59505         * lib/__fpending.h: Don't include <stdio_ext.h> unless
59506         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
59507         it causes <stdio_ext.h> to cause a compile-time error.
59508         Problem reported by Nelson H. F. Beebe.
59509         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
59510         of HAVE_DECL___PENDING.
59511
59512         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
59513         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
59514         declaration.
59515
59516 2006-09-27  Jim Meyering  <jim@meyering.net>
59517
59518         This file could end up with a definition for a function
59519         named __strndup, rather than rpl_strndup on a system with
59520         incomplete weak_alias support.
59521         * lib/strndup.c (strndup): Rename from __strndup.
59522         Remove #defines that used to map __strndup to strndup.
59523         Don't use K&R prototypes.
59524         Remove LIBC-related code, since this file is not sync'd with glibc.
59525         * lib/strndup.h: Revamp, accordingly.
59526         * m4/strndup.m4: Modernize.
59527
59528 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
59529
59530         * modules/savewd (Depends-on): Add 'raise'.
59531         * lib/savewd.c: Include <signal.h>, for 'raise'.
59532
59533 2006-09-26  Jim Meyering  <jim@meyering.net>
59534
59535         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
59536         when we detect Darwin 8.7.0's acl_get_file bug.
59537         Rearrange to perform the new (below) run-test while $LIBS
59538         contains any acl-related library.  Set USE_ACL at the end.
59539         (gl_ACL_GET_FILE): New function.
59540
59541 2006-09-26  Eric Blake  <ebb9@byu.net>
59542
59543         * lib/verror.c: Include <config.h> unconditionally.
59544
59545 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
59546
59547         * modules/clock-time (Maintainer): Add self.
59548         * modules/getlogin_r (Depends-on): Add extensions.
59549
59550 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59551
59552         * modules/clock-time: New module.
59553         * modules/nanosleep (Depends-on): Add clock-time.
59554         * modules/gethrxtime (Depends-on): Likewise.
59555         * modules/gettime (Depends-on): Likewise.
59556         * modules/settime (Depends-on): Likewise.
59557
59558         * modules/fts-lgpl: Depend on openat.
59559         * modules/mkancesdirs: Depend on savewd.
59560         * modules/mkdir-p: Likewise.
59561
59562 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59563
59564         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
59565
59566         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
59567         `gl_have_arbitrary_file_name_length_limit' to
59568         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
59569         actually works between configure runs.
59570
59571 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59572             Bruno Haible  <bruno@clisp.org>
59573
59574         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
59575
59576 2006-09-25  Jim Meyering  <jim@meyering.net>
59577
59578         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
59579         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
59580
59581 2006-09-25  Eric Blake  <ebb9@byu.net>
59582
59583         * gnulib-tool (func_import, func_create_testdir): Fix typos in
59584         exec's in 2006-09-18 patch when shuffling fds.
59585
59586 2006-09-25  Bruno Haible  <bruno@clisp.org>
59587
59588         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
59589         Reported by Jim Meyering.
59590
59591 2006-09-24  Jim Meyering  <jim@meyering.net>
59592
59593         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
59594         compare a pointer against a literal "0".  That caused failures with
59595         at least HP-UX's hpcc.
59596
59597 2006-09-22  Simon Josefsson  <jas@extundo.com>
59598
59599         * modules/gc-sha1:
59600         * modules/gc-md4:
59601         * modules/gc-hmac-sha1:
59602         * modules/gc-hmac-md5:
59603         * modules/gc-des:
59604         * modules/gc-arcfour: Distribute more files.
59605
59606 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59607
59608         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
59609         (gl_linked_iterator_from_to): Initialize struct completely.
59610         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
59611         (gl_tree_iterator_from_to): Likewise
59612         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
59613         * lib/gl_array_list.c [lint] (gl_array_iterator)
59614         (gl_array_iterator_from_to): Likewise.
59615         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
59616         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
59617         (gl_carray_iterator_from_to): Likewise.
59618
59619         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
59620         * lib/md4.c (md4_process_block): Remove unused variable.
59621         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
59622         parentheses for clarity.
59623
59624 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59625
59626         * modules/bison-i18n (Depends-on): Add gettext.
59627
59628 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59629
59630         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
59631         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
59632         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
59633         also add missing comma that caused broken test.
59634         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
59635         stdlib.h, for `abort'.
59636         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
59637         variables.
59638         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
59639         include unistd.h if present, for `rmdir'.
59640         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
59641         variables.
59642         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
59643         in the process include standard headers for prototypes.
59644         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
59645         gets declared on GNU/Linux.
59646         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
59647         unistd.h, for `rmdir'.
59648         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
59649
59650         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
59651         always true.
59652         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
59653
59654         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
59655
59656 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59657
59658         * gnulib-tool (func_version): Create output all at once.  This
59659         may help avoid triggering unnecessary SIGPIPEs, and at any
59660         rate it doesn't hurt.
59661
59662 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59663             Bruno Haible  <bruno@clisp.org>
59664
59665         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
59666         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
59667         * m4/signed.m4 (bh_C_SIGNED): Likewise.
59668
59669         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
59670         (gl_FUNC_VASPRINTF): Invoke it.
59671
59672 2006-09-22  Bruno Haible  <bruno@clisp.org>
59673
59674         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
59675         getloadavg.c as first argument.
59676
59677 2006-09-22  Bruno Haible  <bruno@clisp.org>
59678
59679         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
59680         at the beginning of the gl_INIT macro.
59681         * modules/getloadavg (configure.ac): Pass $gl_source_base to
59682         gl_GETLOADAVG.
59683
59684 2006-09-22  Bruno Haible  <bruno@clisp.org>
59685
59686         * gnulib-tool (func_create_megatestdir): Don't include the config-h
59687         module.
59688         Suggested by Ralf Wildenhues.
59689
59690 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
59691
59692         Import this patch from libc:
59693
59694         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
59695
59696         * lib/regex_internal.c (re_string_reconstruct): Handle
59697         offset < pstr->valid_raw_len && pstr->offsets_needed case.
59698         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
59699         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
59700         re_string_context_at.
59701
59702         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
59703         now requires it.
59704         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
59705         gl_REGEX now does it for us.
59706         (gl_REGEX): Add test taken from
59707         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
59708
59709         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
59710         Check that large offsets work.  Modernize Autoconf usages.
59711         Prefer "yes" to mean a good thing rather than a bad.
59712         Don't put "#define mkstemp" in config.h, as this might interfere
59713         with standard system headers that "#define mkstemp mkstemp64".
59714
59715         * modules/mkstemp (Depends-on): Add extensions, so that
59716         mkstemp is visible on some platforms.
59717         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
59718         (Include): Change to "mkstemp.h" from <stdlib.h>.
59719         (Files): Add mkstemp.h.
59720
59721         * lib/mkstemp.h: New file, since some standard headers
59722         #define mkstemp.
59723         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
59724         Include "mkstemp.h".
59725         Make the _LIBC code resemble glibc original more,
59726         e.g., use K&R style.
59727         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
59728         (mkstemp): Remove, since mkstemp.h does this for us.
59729         * lib/stdlib--.h: Include mkstemp.h.
59730
59731         Import this patch from libc:
59732
59733         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
59734
59735         * lib/tempname.c (__gen_tempname): Change attempts_min
59736         into a macro.  Use preprocessor to decide how to initialize
59737         attempts [Coverity CID 67].
59738
59739 2006-09-20  Bruno Haible  <bruno@clisp.org>
59740
59741         * lib/mkdtemp.c: Import from libc.
59742         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
59743                 * sysdeps/posix/tempname.c (__gen_tempname): Change
59744                 attempts_min into a macro.  Use preprocessor to decide how to
59745                 initialize attempts [Coverity CID 67].
59746         2001-11-27  Paul Eggert  <eggert@twinsun.com>
59747                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
59748                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
59749
59750 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59751
59752         * gnulib-tool (func_exit): New function, to allow to pass the
59753         exit status portably through the trap.  Use everywhere.
59754         (--help, --version): Signal a write error.
59755         (trap): catch SIGPIPE, for write errors.
59756         Exit at the end of the trap, with the correct exit status.
59757
59758 2006-09-19  Karl Berry  <karl@gnu.org>
59759
59760         * doc/gnulib.texi: note about the license texinfo files.
59761
59762 2006-09-19  Eric Blake  <ebb9@byu.net>
59763
59764         * gnulib-tool: Avoid space-tab.
59765
59766 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
59767
59768         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
59769         that prevented coreutils 6.1 from building.  Problem reported
59770         by Petter Reinholdtsen.
59771
59772 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
59773
59774         * gnulib-tool (avoidlist): Fix typo that broke options like
59775         --avoid=lock that are used by coreutils bootstrap.
59776
59777 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
59778
59779         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
59780         more systematically.
59781
59782 2006-09-18  Jim Meyering  <jim@meyering.net>
59783
59784         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
59785
59786 2006-09-18  Bruno Haible  <bruno@clisp.org>
59787
59788         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
59789
59790 2006-09-18  Bruno Haible  <bruno@clisp.org>
59791
59792         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
59793         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
59794         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
59795         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
59796         * m4/gettext.m4: Require autoconf >= 2.52.
59797         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
59798         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
59799         of gl_cv_header_inttypes_h.
59800
59801 2006-09-18  Bruno Haible  <bruno@clisp.org>
59802
59803         * lib/javaversion.c: Include configmake.h.
59804
59805 2006-09-18  Bruno Haible  <bruno@clisp.org>
59806
59807         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
59808         avoid that the while loops be executed in a subshell.
59809
59810 2006-09-18  Bruno Haible  <bruno@clisp.org>
59811
59812         * MODULES.html.sh (func_module): Break long lines.
59813         Suggested by Bruce Korb <bkorb@gnu.org>.
59814
59815 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59816
59817         Speed up by a factor of 1.12.
59818         * gnulib-tool (nl): New variable.
59819         (func_import): Rewrite include directive extraction to only read each
59820         directive once.
59821
59822 2006-09-17  Bruno Haible  <bruno@clisp.org>
59823
59824         * modules/javaversion (Makefile.am): Remove DEFS setting.
59825         (Depends-on): Add configmake, for PKGDATADIR definition.
59826
59827 2006-09-17  Bruno Haible  <bruno@clisp.org>
59828
59829         * gnulib-tool (func_create_testdir): Rewrite all files at once.
59830
59831 2006-09-17  Bruno Haible  <bruno@clisp.org>
59832
59833         * gnulib-tool (func_append): New function, stolen from libtool.m4.
59834         (func_modules_transitive_closure, func_modules_add_dummy,
59835         func_modules_to_filelist, func_import, func_create_testdir,
59836         func_create_megatestdir, ...): Use it wherever possible.
59837         Suggested by Ralf Wildenhues.
59838
59839 2006-09-16  Karl Berry  <karl@gnu.org>
59840
59841         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
59842         to avoid sectioning errors.
59843         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
59844         [ifinfo]: blank line after @center-ed titles.
59845         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
59846         Spell FSF address consistently with others.
59847         (These changes approved by rms.)
59848
59849 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59850
59851         Speed up by a factor of 1.61.
59852         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
59853         already checked module names again.
59854
59855 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59856
59857         Speed up by a factor of 1.13.
59858         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
59859         for new_files, and the input to func_add_or_update.
59860
59861 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59862
59863         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
59864         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
59865
59866 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
59867
59868         * modules/mkancesdirs (Depends-on): Add fcntl.
59869         * modules/savewd: New file.
59870         * MODULES.html.sh (File system functions): Add savewd.
59871
59872         * modules/configmake (Makefile.am): Add support for the
59873         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
59874
59875 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
59876
59877         * m4/savewd.m4: New file.
59878
59879 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
59880
59881         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
59882         (dirchownmod): New arg FD.  All callers changed.
59883         Use FD rather than opening the directory ourself, as opening is
59884         now the caller's responsibility.
59885         * lib/dirchownmod.h: Likewise.
59886         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
59887         hosts that require <sys/types.h> before <sys/stat.h>.  Include
59888         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
59889         (test_dir): Remove.
59890         (mkancesdirs): Return length of prefix of FILE that has already
59891         been made, or -2 if there is a child doing the work.  Redo
59892         algorithm so that it is O(N) rather than O(N**2).  Optimize away
59893         ".", and treat ".." specially since it might stray back into
59894         already-created areas.  Use a subprocess if necessary.  New arg
59895         WD; all users changed.  MAKE_DIR function should now return 1
59896         if it creates a directory that is not readable.  Return -2 if
59897         a child process is spun off.
59898         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
59899         Adjust signature to match code.
59900         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
59901         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
59902         all users changed.
59903         * lib/savewd.c, lib/savewd.h: New files.
59904
59905 2006-09-15  Jim Meyering  <jim@meyering.net>
59906
59907         * modules/rename-dest-slash: New module.
59908         * MODULES.html.sh (posix_compat): Add it here.
59909
59910         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
59911
59912 2006-09-15  Jim Meyering  <jim@meyering.net>
59913
59914         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
59915         file.
59916
59917         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
59918
59919 2006-09-15  Jim Meyering  <jim@meyering.net>
59920
59921         * lib/rename-dest-slash.c (has_trailing_slash): Use
59922         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
59923         (rpl_rename_dest_slash): Perform the cheaper trailing slash
59924         test before testing whether SRC is a directory.
59925         Suggestions from Bruno Haible.
59926
59927         Avoid a warning about an unused variable.
59928         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
59929         into the #ifdef block where it's used.
59930
59931         * lib/rename-dest-slash.c: New file.
59932
59933 2006-09-14  Bruno Haible  <bruno@clisp.org>
59934
59935         * lib/allocsa.c: Include <config.h> unconditionally.
59936         * lib/asnprintf.c: Likewise.
59937         * lib/asprintf.c: Likewise.
59938         * lib/c-strcasecmp.c: Likewise.
59939         * lib/c-strcasestr.c: Likewise.
59940         * lib/c-strncasecmp.c: Likewise.
59941         * lib/c-strstr.c: Likewise.
59942         * lib/classpath.c: Likewise.
59943         * lib/clean-temp.c: Likewise.
59944         * lib/concatpath.c: Likewise.
59945         * lib/copy-file.c: Likewise.
59946         * lib/csharpcomp.c: Likewise.
59947         * lib/csharpexec.c: Likewise.
59948         * lib/execute.c: Likewise.
59949         * lib/fatal-signal.c: Likewise.
59950         * lib/findprog.c: Likewise.
59951         * lib/fwriteerror.c: Likewise.
59952         * lib/gl_array_list.c: Likewise.
59953         * lib/gl_array_oset.c: Likewise.
59954         * lib/gl_avltree_list.c: Likewise.
59955         * lib/gl_avltree_oset.c: Likewise.
59956         * lib/gl_avltreehash_list.c: Likewise.
59957         * lib/gl_carray_list.c: Likewise.
59958         * lib/gl_linked_list.c: Likewise.
59959         * lib/gl_linkedhash_list.c: Likewise.
59960         * lib/gl_list.c: Likewise.
59961         * lib/gl_oset.c: Likewise.
59962         * lib/gl_rbtree_list.c: Likewise.
59963         * lib/gl_rbtree_oset.c: Likewise.
59964         * lib/gl_rbtreehash_list.c: Likewise.
59965         * lib/imaxabs.c: Likewise.
59966         * lib/imaxdiv.c: Likewise.
59967         * lib/javacomp.c: Likewise.
59968         * lib/javaexec.c: Likewise.
59969         * lib/javaversion.c: Likewise.
59970         * lib/linebreak.c: Likewise.
59971         * lib/localcharset.c: Likewise.
59972         * lib/lock.c: Likewise.
59973         * lib/mbchar.c: Likewise.
59974         * lib/mbswidth.c: Likewise.
59975         * lib/mkdtemp.c: Likewise.
59976         * lib/pipe.c: Likewise.
59977         * lib/printf-args.c: Likewise.
59978         * lib/printf-parse.c: Likewise.
59979         * lib/progname.c: Likewise.
59980         * lib/progreloc.c: Likewise.
59981         * lib/readlink.c: Likewise.
59982         * lib/sh-quote.c: Likewise.
59983         * lib/stpcpy.c: Likewise.
59984         * lib/stpncpy.c: Likewise.
59985         * lib/strcasecmp.c: Likewise.
59986         * lib/strcasestr.c: Likewise.
59987         * lib/strcspn.c: Likewise.
59988         * lib/striconv.c: Likewise.
59989         * lib/strncasecmp.c: Likewise.
59990         * lib/strnlen1.c: Likewise.
59991         * lib/strstr.c: Likewise.
59992         * lib/strtok_r.c: Likewise.
59993         * lib/tls.c: Likewise.
59994         * lib/tmpdir.c: Likewise.
59995         * lib/unicodeio.c: Likewise.
59996         * lib/unsetenv.c: Likewise.
59997         * lib/vasnprintf.c: Likewise.
59998         * lib/vasprintf.c: Likewise.
59999         * lib/wait-process.c: Likewise.
60000         * lib/xallocsa.c: Likewise.
60001         * lib/xsetenv.c: Likewise.
60002         * lib/xstriconv.c: Likewise.
60003
60004 2006-09-13  Simon Josefsson  <jas@extundo.com>
60005
60006         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
60007         that internally, suggested by Ralf Wildenhues
60008         <Ralf.Wildenhues@gmx.de>.
60009
60010 2006-09-13  Simon Josefsson  <jas@extundo.com>
60011
60012         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
60013         @LIBOBJS@.
60014         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
60015
60016 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
60017
60018         * lib/_fpending.c: Include <config.h> unconditionally, since we no
60019         longer worry about uses that don't define HAVE_CONFIG_H.
60020         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
60021         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
60022         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
60023         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
60024         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
60025         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
60026         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
60027         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
60028         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
60029         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
60030         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
60031         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
60032         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
60033         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
60034         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
60035         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
60036         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
60037         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
60038         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
60039         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
60040         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
60041         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
60042         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
60043         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
60044         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
60045         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
60046         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
60047         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
60048         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
60049         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
60050         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
60051         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
60052         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
60053         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
60054         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
60055         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
60056         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
60057         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
60058         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
60059         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
60060         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
60061         Likewise.
60062
60063 2006-09-13  Eric Blake  <ebb9@byu.net>
60064
60065         * lib/getopt.c: Fix typo in last commit.
60066
60067 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
60068
60069         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
60070         dgettext.
60071
60072 2006-09-12  Jim Meyering  <jim@meyering.net>
60073
60074         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
60075         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
60076         Reported by Nelson H. F. Beebe.
60077
60078 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
60079
60080         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
60081         program_invocation_name and program_invocation_short_name are
60082         initialized.
60083         * lib/argp-namefrob.h: Move declarations of program_invocation_name
60084         and program_invocation_short_name to argp.h, so they are visible
60085         to user programs.
60086         * lib/argp.h: Likewise
60087
60088 2006-09-10  Bruno Haible  <bruno@clisp.org>
60089
60090         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
60091         m4/inttypes_h.m4, m4/uintmax_t.m4.
60092
60093 2006-09-10  Bruno Haible  <bruno@clisp.org>
60094
60095         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
60096         gl_AC_TYPE_UINTMAX_T.
60097
60098 2006-09-10  Bruno Haible  <bruno@clisp.org>
60099
60100         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
60101
60102 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
60103
60104         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
60105         convention.  Text proposed by Bruno Haible.
60106         (struct argp_option): Document the use of N_() wrappers.
60107
60108         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
60109         '\v', and translate the two parts separately, instead of feeding
60110         the whole string to gettext.  This allows to exclude
60111         '\v' from the strings visible to the translator by writing doc
60112         strings as N_("..") "\v" N_("..").
60113
60114 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
60115
60116         * config/srclist.txt: Undo latest change; the bug was fixed.
60117
60118 2006-09-09  Bruno Haible  <bruno@clisp.org>
60119
60120         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
60121         assignments if building a library without libtool.
60122         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
60123         in func_emit_lib_Makefile_am.
60124         (func_import): When building a static library libfoo.a, arrange to
60125         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
60126         (func_create_testdir): Likewise.
60127         * modules/gc (configure.ac, Makefile.am): If building statically,
60128         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
60129         * modules/iconvme (configure.ac, Makefile.am): Likewise.
60130         * modules/striconv (configure.ac, Makefile.am): Likewise.
60131         Based on a suggestion by Ralf Wildenhues.
60132
60133 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
60134
60135         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
60136         Check for unistd.h too, since Autoconf doesn't assume POSIX.
60137         Also:
60138
60139         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
60140         Add year_2050_test to catch glibc bug 2821
60141         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
60142
60143         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
60144         Prefer #ifdef to #if.
60145
60146         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
60147         Return from 'main' instead of calling 'exit'.
60148
60149 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
60150
60151         * lib/mktime.c (guess_time_tm): Fix bug where mktime
60152         returned the maximum time_t value rather than (time_t) -1.
60153         Problem originally reported by William Bardwell
60154         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
60155
60156         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
60157         Moved to here ...
60158         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
60159         ... from here.
60160
60161 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
60162
60163         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
60164         2821 is fixed.
60165
60166 2006-09-08  Jim Meyering  <jim@meyering.net>
60167
60168         Don't make generated files read-only.  That would bother too many
60169         people.  However, do retain the ability to work when targets are
60170         read-only: remove the destination and temporary files before writing
60171         them (when generated via sed or echo), or by using the -f option for
60172         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
60173         * modules/alloca-opt, modules/argz, modules/arpa_inet:
60174         * modules/byteswap, modules/configmake, modules/fcntl:
60175         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
60176         * modules/localcharset, modules/netinet_in, modules/poll:
60177         * modules/stdbool, modules/stdint, modules/sys_select:
60178         * modules/sys_socket, modules/sys_stat, modules/sysexits:
60179
60180 2006-09-08  Jim Meyering  <jim@meyering.net>
60181
60182         Avoid new build failure on FreeBSD 6.0.
60183         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
60184         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
60185         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
60186
60187 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60188
60189         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
60190
60191 2006-09-07  Jim Meyering  <jim@meyering.net>
60192
60193         Fix global typo in last change: use chmod u-w, not chmod u-x.
60194         Spotted by Paul Eggert and Bruce Korb.
60195         * modules/alloca-opt, modules/argz, modules/arpa_inet:
60196         * modules/byteswap, modules/configmake, modules/fcntl:
60197         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
60198         * modules/localcharset, modules/netinet_in, modules/poll:
60199         * modules/stdbool, modules/stdint, modules/sys_select:
60200         * modules/sys_socket, modules/sys_stat, modules/sysexits:
60201
60202 2006-09-06  Jim Meyering  <jim@meyering.net>
60203
60204         Make generated files be read-only.
60205         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
60206         Ensure that each generated file is now read-only.
60207         * modules/argz: Likewise.
60208         * modules/arpa_inet: Likewise.
60209         * modules/byteswap: Likewise.
60210         * modules/configmake: Likewise.
60211         * modules/fcntl: Likewise.
60212         * modules/fnmatch: Likewise.
60213         * modules/getopt: Likewise.
60214         * modules/glob: Likewise.
60215         * modules/inttypes: Likewise.
60216         * modules/netinet_in: Likewise.
60217         * modules/poll: Likewise.
60218         * modules/stdbool: Likewise.
60219         * modules/stdint: Likewise.
60220         * modules/sys_select: Likewise.
60221         * modules/sys_socket: Likewise.
60222         * modules/sys_stat: Likewise.
60223         * modules/sysexits: Likewise.
60224         * modules/localcharset: Same as above, but continue using temporary
60225         file named "t-$@" (why different?) rather than the "$@-t" used
60226         everywhere else.
60227
60228         * modules/sysexits (Makefile.am): Replace literal occurrences
60229         of "sysexit.h" more readable, and more consistent, "$@".
60230
60231 2006-09-06  Bruno Haible  <bruno@clisp.org>
60232
60233         * modules/striconv: New file.
60234         * modules/xstriconv: New file.
60235         * MODULES.html.sh (Internationalization functions): Add striconv,
60236         xstriconv.
60237
60238 2006-09-06  Bruno Haible  <bruno@clisp.org>
60239
60240         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
60241         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
60242         not using libtool correctly.
60243
60244 2006-09-06  Bruno Haible  <bruno@clisp.org>
60245
60246         * lib/striconv.h: New file.
60247         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
60248         iconvstring.c.
60249         * lib/xstriconv.h: New file.
60250         * lib/xstriconv.c: New file.
60251
60252 2006-09-06  Bruno Haible  <bruno@clisp.org>
60253
60254         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
60255         lib_..._LDFLAGS.
60256
60257 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60258
60259         * lib/argz_.h: Sync from Libtool.
60260
60261         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
60262                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
60263
60264         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
60265
60266 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
60267
60268         * modules/trim: New file.
60269
60270 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
60271
60272         * lib/trim.h: New file.
60273         * lib/trim.c: New file.
60274
60275 2006-09-05  Bruno Haible  <bruno@clisp.org>
60276
60277         * MODULES.html.sh (String handling): Add trim.
60278
60279 2006-09-04  Karl Berry  <karl@gnu.org>
60280
60281         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
60282         until next release.
60283
60284 2006-09-03  Bruno Haible  <bruno@clisp.org>
60285
60286         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
60287         correctly.
60288
60289 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
60290
60291         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
60292         not gl_GETLOADAVG.  Omit unneeded semicolons.
60293         Problems reported by Ralf Wildenhues in
60294         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
60295         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
60296         at the end, which is the usual gnulib style.
60297
60298         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
60299         of doing all the work ourselves.
60300         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
60301         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
60302
60303 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
60304
60305         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
60306         Problem reported by Ralf Wildenhues in
60307         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
60308
60309         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
60310         HAVE_STRUCT_STATFS_F_FSTYPENAME.
60311
60312 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
60313
60314         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
60315         yesterday's patch by changing test -n to test -z.
60316
60317 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
60318
60319         * modules/getloadavg (Files): Add m4/getloadavg.m4.
60320         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
60321         the former is now obsolescent.
60322
60323         * modules/chdir-long (Depends-on): Add fcntl.
60324
60325 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
60326
60327         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
60328         obsolescent, and programs should use gnulib instead.
60329         * m4/getloadavg.m4: New file, with contents taken from Autoconf
60330         but with prefixes changed.
60331
60332 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
60333
60334         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
60335         or stdbool.h, because they might not exist while configuring.
60336
60337         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
60338         Don't include unistd.h or limits.h; not needed, since chdir-long.h
60339         does that for us.
60340         (O_DIRECTORY): Remove.
60341
60342 2006-08-31  Eric Blake  <ebb9@byu.net>
60343
60344         * gnulib-tool: Don't let emacs change spaces to TAB.
60345
60346 2006-08-31  Bruno Haible  <bruno@clisp.org>
60347
60348         * gnulib-tool: When calling func_import more than once, do it in a
60349         subshell.
60350         Reported by Eric Blake <ebb9@byu.net>.
60351
60352 2006-08-31  Bruno Haible  <bruno@clisp.org>
60353
60354         * gnulib-tool (nl): Remove variable.
60355         (sed_transform_lib_file): Use more robust test for config-h module.
60356         (func_import): Fix typo in 2006-08-25 patch.
60357
60358 2006-08-31  Bruno Haible  <bruno@clisp.org>
60359
60360         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
60361         specified, augment Makefile.am variables instead of assigning them.
60362
60363 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
60364
60365         Work around a bug in both the Linux and SunOS 64-bit kernels:
60366         nanosleep mishandles sleeps for longer than 2**31 seconds.
60367         Problem reported by Frank v Waveren in
60368         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
60369         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
60370         Check for nanosleep bug.
60371         (LIB_NANOSLEEP): Append clock_gettime library if needed.
60372
60373 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
60374
60375         Work around a bug in both the Linux and SunOS 64-bit kernels:
60376         nanosleep mishandles sleeps for longer than 2**31 seconds.
60377         Problem reported by Frank v Waveren in
60378         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
60379         * lib/nanosleep.c (BILLION): New constant.
60380         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
60381         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
60382         implementation.
60383
60384 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
60385
60386         * modules/nanosleep (Depends-on): Add gettime.
60387
60388 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
60389         and Simon Josefsson  <jas@extundo.com>
60390         and Oskar Liljeblad  <oskar@osk.mine.nu>
60391
60392         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
60393         * gnulib-tool (func_import): New license type 'unmodifiable license
60394         text'.
60395         * modules/fdl: Use it.  Longer description.
60396         * module/gpl, module/lgpl: New files.
60397
60398 2006-08-30  Jim Meyering  <jim@meyering.net>
60399
60400         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
60401         shadowing the parameter.
60402
60403 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60404
60405         Sync from Libtool:
60406
60407         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60408
60409         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
60410         sharing with gnulib.  Report by Eric Blake.
60411
60412 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
60413
60414         * modules/isapipe: New file.
60415         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
60416
60417 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
60418
60419         * modules/configmake (Makefile.am): Add a comment, and omit
60420         the CONFIGMAKE_ prefix from generated macro names.  Suggested
60421         by Bruno Haible.
60422
60423 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
60424
60425         * m4/isapipe.m4: New file.
60426
60427 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
60428
60429         * lib/isapipe.c, lib/isapipe.h: New files.
60430
60431 2006-08-29  Jim Meyering  <jim@meyering.net>
60432
60433         * modules/configmake (Makefile.am): Make configmake.h depend on
60434         Makefile.  Otherwise, a stale configmake.h could hang around.
60435
60436 2006-08-29  Eric Blake  <ebb9@byu.net>
60437
60438         * lib/error.c (error_at_line, print_errno_message): Match libc, after
60439         resolution of upstream bug 3044.
60440
60441 2006-08-29  Bruno Haible  <bruno@clisp.org>
60442
60443         * modules/localcharset (Depends-on): Add configmake.
60444         (Makefile.am): Remove setting of LIBDIR through DEFS.
60445
60446 2006-08-29  Bruno Haible  <bruno@clisp.org>
60447
60448         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
60449         defined.
60450
60451 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
60452
60453         * modules/fcntl: New file.
60454         * modules/chdir-safer (Depends-on): Add fcntl.
60455         * modules/fts: Likewise.
60456         * modules/mkdir-p: Likewise.
60457
60458         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
60459         This undoes the most recent change, since we're now addressing the
60460         problem in a different way.
60461
60462         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
60463         into output, since the output might be called Makefile.am even
60464         if $makefile_name is something different.
60465         (func_import): Use $makefile_am rather than
60466         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
60467         empty.
60468
60469         * modules/inttypes (Files): Add m4/inttypes-h.m4.
60470
60471 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
60472
60473         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
60474         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
60475         recent change to stdint.m4, since we're now addressing the problem in a
60476         different way.
60477
60478 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
60479
60480         * m4/fcntl_h.m4: New file.
60481
60482 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
60483
60484         * lib/fcntl_.h: New file.
60485         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
60486         the fcntl module.
60487         * lib/dirchownmod.c: Likewise.
60488         * lib/fts.c: Likewise.
60489
60490         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
60491         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
60492         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
60493         just before including <inttypes.h>, to avoid circular inclusion.
60494
60495 2006-08-28  Jim Meyering  <jim@meyering.net>
60496
60497         * doc/visibility.texi: Actually read and correct the grammar of the
60498         sentence affected by yesterday's change.
60499
60500 2006-08-28  Eric Blake  <ebb9@byu.net>
60501
60502         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
60503         needs wrapper.
60504
60505 2006-08-28  Eric Blake  <ebb9@byu.net>
60506
60507         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
60508
60509 2006-08-28  Eric Blake  <ebb9@byu.net>
60510
60511         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
60512
60513 2006-08-28  Bruno Haible  <bruno@clisp.org>
60514
60515         * modules/c-strstr: New file, from GNU gettext.
60516         * MODULES.html.sh (String handling): Add c-strstr.
60517
60518 2006-08-28  Bruno Haible  <bruno@clisp.org>
60519
60520         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
60521         macros.
60522         Reported by Eric Blake.
60523
60524 2006-08-28  Bruno Haible  <bruno@clisp.org>
60525
60526         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
60527         (VASNPRINTF): Return a string of length > INT_MAX without failing.
60528         * lib/vasprintf.c: Include errno.h, limits.h.
60529         (EOVERFLOW): New fallback definition.
60530         (vasprintf): Test here whether the string length is > INT_MAX.
60531         * lib/vsnprintf.c: Include errno.h, limits.h.
60532         (EOVERFLOW): New fallback definition.
60533         (vsnprintf): Fix bug when generated string was too long for the buffer.
60534         Test here whether the string length is > INT_MAX.
60535
60536 2006-08-28  Bruno Haible  <bruno@clisp.org>
60537
60538         * lib/inttypes_.h (SCNX*): Remove definitions.
60539         Reported by Eric Blake.
60540
60541 2006-08-28  Bruno Haible  <bruno@clisp.org>
60542
60543         * lib/c-strstr.h: New file, from GNU gettext.
60544         * lib/c-strstr.c: New file, from GNU gettext.
60545
60546 2006-08-28  Bruno Haible  <bruno@clisp.org>
60547
60548         * gnulib-tool: Reorder some statements.
60549
60550 2006-08-28  Bruno Haible  <bruno@clisp.org>
60551
60552         * gnulib-tool: New option --makefile-name.
60553         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
60554         $makefile_name.
60555         (func_import): Write $makefile_name to the cache file, and read it from
60556         there unless explicitly specified. Use $makefile_name as file name
60557         instead of Makefile.am. Adjust the recommendations accordingly.
60558
60559 2006-08-28  Bruno Haible  <bruno@clisp.org>
60560
60561         * gnulib-tool (func_verify_module): Check against misapplying patch.
60562
60563 2006-08-28  Bruno Haible  <bruno@clisp.org>
60564
60565         * gnulib-tool (func_relativize, func_relconcat): New functions.
60566         Give an error if --local-dir is given with --update.
60567         Remove trailing slashes from $local_gnulib_dir.
60568         (func_import): Store the relativized $local_gnulib_dir in
60569         gnulib-cache.m4, and read it from there if not specified explicitly.
60570
60571 2006-08-28  Bruno Haible  <bruno@clisp.org>
60572
60573         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
60574         is the current directory. Respect also $local_gnulib_dir.
60575
60576 2006-08-28  Bruno Haible  <bruno@clisp.org>
60577             Simon Josefsson  <jas@extundo.com>
60578
60579         BeOS portability.
60580         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
60581
60582 2006-08-27  Jim Meyering  <jim@meyering.net>
60583
60584         * doc/visibility.texi: Remove duplicate word: "pointer".
60585
60586 2006-08-26  Bruno Haible  <bruno@clisp.org>
60587
60588         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
60589         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
60590         (Makefile.am): Create inttypes.h from inttypes_.h.
60591         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
60592
60593         * modules/imaxabs: New file.
60594
60595         * modules/imaxdiv: New file.
60596
60597 2006-08-26  Bruno Haible  <bruno@clisp.org>
60598
60599         * m4/inttypes.m4: New file.
60600         * m4/_inttypes_h.m4: Remove file.
60601         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
60602         PRI_MACROS_BROKEN.
60603         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
60604
60605         * m4/imaxabs.m4: New file.
60606
60607         * m4/imaxdiv.m4: New file.
60608
60609 2006-08-26  Bruno Haible  <bruno@clisp.org>
60610
60611         * lib/inttypes_.h: New file.
60612         * lib/inttypes.h: Remove file.
60613         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
60614
60615         * lib/imaxabs.c: New file.
60616
60617         * lib/imaxdiv.c: New file.
60618
60619 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
60620
60621         New config-h module, so that "make" output needn't be cluttered
60622         by -DHAVE_CONFIG_H.
60623         * MODULES.html.sh (Support for building libraries and executables):
60624         Add config-h.
60625         * modules/config-h: New file.
60626         * gnulib-tool (nl, sed_transform_lib_file): New vars.
60627         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
60628         the config-h module is used.
60629
60630         New configmake module, so that "make" output needn't be cluttered
60631         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
60632         * MODULES.html.sh (Support for building libraries and executables):
60633         Add configmake.
60634         * modules/configmake: New file.
60635
60636 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
60637
60638         * m4/config-h.m4: New file.
60639
60640 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
60641
60642         * config/srclist.txt: Add elisp-comp.
60643
60644 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
60645
60646         * MODULES.html.sh (Support for building libraries and executables):
60647         Add elisp-comp.
60648         * build-aux/elisp-comp: New file.
60649         * modules/elisp-comp: New file.
60650
60651 2006-08-24  Bruno Haible  <bruno@clisp.org>
60652
60653         * gnulib-tool (func_create_testdir): Use non-default values of
60654         sourcebase and m4base.
60655
60656 2006-08-24  Bruno Haible  <bruno@clisp.org>
60657
60658         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
60659         HTML structure.
60660
60661 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
60662
60663         * modules/openat (Depends-on): Add lchown.
60664
60665 2006-08-23  Bruno Haible  <bruno@clisp.org>
60666
60667         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
60668         of gl_LOCK_EARLY instead of gl_LOCK.
60669
60670 2006-08-23  Bruno Haible  <bruno@clisp.org>
60671
60672         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
60673         on OSF/1 to no.
60674         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
60675
60676 2006-08-23  Bruno Haible  <bruno@clisp.org>
60677
60678         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
60679         as unusable.
60680
60681         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
60682         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
60683         (gl_LOCK): New macro.
60684
60685 2006-08-22  Simon Josefsson  <jas@extundo.com>
60686
60687         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
60688         to md5 module.
60689
60690 2006-08-22  Simon Josefsson  <jas@extundo.com>
60691
60692         * MODULES.html.sh: Add "Support for maintaining and release
60693         projects".
60694
60695         * build-aux/gnupload: New file, from coreutils.
60696
60697 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
60698
60699         Avoid the need for AC_LIBSOURCES in m4 macros.
60700         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
60701         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
60702         * modules/check-version (EXTRA_DIST): Add check-version.h.
60703         * modules/crc (EXTRA_DIST): Add crc.h.
60704         * modules/des (EXTRA_DIST): Add des.h.
60705         * modules/gc (EXTRA_DIST): Add gc.h.
60706         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
60707         * modules/getline (EXTRA_DIST): Add getline.h.
60708         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
60709         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
60710         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
60711         * modules/md2 (EXTRA_DIST): Add md2.h.
60712         * modules/md4 (EXTRA_DIST): Add md4.h.
60713         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
60714         * modules/read-file (EXTRA_DIST): Add read-file.h.
60715         * modules/readline (EXTRA_DIST): Add readline.h.
60716         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
60717         rijndael-api-fst.h.
60718
60719 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
60720
60721         * m4/rijndael.m4 (gl_ARCFOUR):
60722         * m4/arctwo.m4 (gl_ARCTWO):
60723         * m4/check-version.m4 (gl_CHECK_VERSION):
60724         * m4/crc.m4 (gl_CRC):
60725         * m4/des.m4 (gl_DES):
60726         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
60727         * m4/gc.m4 (gl_GC):
60728         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
60729         * m4/getline.m4 (gl_FUNC_GETLINE):
60730         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
60731         * m4/hmac-md5.m4 (gl_HMAC_MD5):
60732         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
60733         * m4/md2.m4 (gl_MD2):
60734         * m4/md4.m4 (gl_MD4):
60735         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
60736         * m4/read-file.m4 (gl_FUNC_READ_FILE):
60737         * m4/readline.m4 (gl_FUNC_READLINE):
60738         * m4/rijndael.m4 (gl_RIJNDAEL):
60739         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
60740         to get the necessary .h files and whatnot.
60741
60742 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
60743
60744         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
60745         gnulib rather than the other way around.
60746         * config/srclistvars.sh (COREUTILS): Remove.
60747
60748 2006-08-22  Jim Meyering  <jim@meyering.net>
60749
60750         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
60751
60752         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
60753
60754 2006-08-22  Eric Blake  <ebb9@byu.net>
60755
60756         * modules/regexprops-generic: New file.
60757         * MODULES.html.sh (Support for building documentation): List it.
60758
60759 2006-08-22  Eric Blake  <ebb9@byu.net>
60760
60761         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
60762         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
60763         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
60764         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
60765
60766 2006-08-22  Bruno Haible  <bruno@clisp.org>
60767
60768         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
60769         and lib_LTLIBRARIES like the other lib_* variables.
60770
60771 2006-08-22  Bruno Haible  <bruno@clisp.org>
60772
60773         * build-aux/x-to-1.in: New file, from GNU gettext.
60774
60775 2006-08-22  Bruno Haible  <bruno@clisp.org>
60776
60777         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
60778         <utmpx.h> exists.
60779
60780 2006-08-22  Bruno Haible  <bruno@clisp.org>
60781
60782         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
60783         <utmpx.h> exists.
60784
60785 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
60786
60787         BeOS portability.
60788         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
60789         exist.
60790         Problem reported by Bruno Haible.
60791
60792 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
60793
60794         Avoid the need for AC_LIBSOURCES in m4 macros.
60795         * modules/acl (EXTRA_DIST): Add acl.h.
60796         * modules/argmatch (Files): Add m4/argmatch.m4.
60797         (configure.ac): Add gl_ARGMATCH.
60798         (EXTRA_DIST): Renamed from lib_SOURCES, for
60799         consistency with the other modules.  Remove argmatch.c.
60800         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
60801         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
60802         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
60803         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
60804         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
60805         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
60806         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
60807         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
60808         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
60809         * modules/closeout (EXTRA_DIST): Add closeout.h.
60810         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
60811         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
60812         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
60813         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
60814         dirname.h; remove basename.c and stripslash.c.
60815         * modules/exclude (EXTRA_DIST): Add exclude.h.
60816         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
60817         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
60818         * modules/file-type (EXTRA_DIST): Add file-type.h.
60819         * modules/filemode (EXTRA_DIST): Add filemode.h.
60820         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
60821         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
60822         * modules/fpending (EXTRA_DIST): Add __fpending.h.
60823         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
60824         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
60825         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
60826         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
60827         * modules/getdate (EXTRA_DIST): Add getdate.c.
60828         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
60829         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
60830         * modules/getpass (EXTRA_DIST): Add getpass.h.
60831         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
60832         * modules/group-member (EXTRA_DIST): Add group-member.h.
60833         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
60834         * modules/hash (EXTRA_DIST): Add hash.h.
60835         * modules/human (EXTRA_DIST): Add human.h.
60836         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
60837         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
60838         * modules/lchown (EXTRA_DIST): Add lchown.h.
60839         * modules/long-options (EXTRA_DIST): Add long-options.h.
60840         * modules/lstat (EXTRA_DIST): Add lstat.h.
60841         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
60842         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
60843         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
60844         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
60845         * modules/memxor (EXTRA_DIST): Add memxor.h.
60846         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
60847         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
60848         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
60849         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
60850         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
60851         * modules/physmem (EXTRA_DIST): Add physmem.h.
60852         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
60853         * modules/posixver (EXTRA_DIST): Add posixver.h.
60854         * modules/quote (EXTRA_DIST): Add quote.h.
60855         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
60856         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
60857         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
60858         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
60859         regex_internal.h regexec.c.
60860         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
60861         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
60862         * modules/same (EXTRA_DIST): Add same.h.
60863         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
60864         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
60865         * modules/savedir (EXTRA_DIST): Add savedir.h.
60866         * modules/sha1 (EXTRA_DIST): Add sha1.h.
60867         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
60868         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
60869         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
60870         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
60871         * modules/strdup (EXTRA_DIST): Add strdup.h.
60872         * modules/strftime (EXTRA_DIST): Add strftime.h.
60873         * modules/strndup (EXTRA_DIST): Add strndup.h.
60874         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
60875         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
60876         * modules/time_r (EXTRA_DIST): Add time_r.h.
60877         * modules/timespec (EXTRA_DIST): Add timespec.h.
60878         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
60879         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
60880         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
60881         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
60882         * modules/userspec (EXTRA_DIST): Add userspec.h.
60883         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
60884         * modules/utimens (EXTRA_DIST): Add utimens.h.
60885         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
60886         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
60887         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
60888         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
60889         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
60890         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
60891         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
60892         * modules/yesno (EXTRA_DIST): Add yesno.h.
60893
60894 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
60895
60896         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
60897
60898         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
60899         * m4/dev-ino.m4, same-inode.m4: Remove.
60900
60901         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
60902         * m4/acl.m4 (AC_FUNC_ACL):
60903         * m4/backupfile.m4 (gl_BACKUPFILE):
60904         * m4/c-strtod.m4 (gl_C99_STRTOLD):
60905         * m4/canon-host.m4 (gl_CANON_HOST):
60906         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
60907         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
60908         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
60909         * m4/cloexec.m4 (gl_CLOEXEC):
60910         * m4/close-stream.m4 (gl_CLOSE_STREAM):
60911         * m4/closeout.m4 (gl_CLOSEOUT):
60912         * m4/dirfd.m4 (gl_FUNC_DIRFD):
60913         * m4/dirname.m4 (gl_DIRNAME):
60914         * m4/exclude.m4 (gl_EXCLUDE):
60915         * m4/exitfail.m4 (gl_EXITFAIL):
60916         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
60917         * m4/file-type.m4 (gl_FILE_TYPE):
60918         * m4/filemode.m4 (gl_FILEMODE):
60919         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
60920         * m4/fpending.m4 (gl_FUNC_FPENDING):
60921         * m4/fprintftime.m4 (gl_FPRINTFTIME):
60922         * m4/fts.m4 (gl_FUNC_FTS):
60923         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
60924         * m4/getdate.m4 (gl_GETDATE):
60925         * m4/gethrxtime.m4 (gl_GETHRXTIME):
60926         * m4/getpagesize.m4 (gl_GETPAGESIZE):
60927         * m4/getpass.m4 (gl_FUNC_GETPASS):
60928         * m4/gettime.m4 (gl_GETTIME):
60929         * m4/getugroups.m4 (gl_GETUGROUPS):
60930         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
60931         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
60932         * m4/hard-locale.m4 (gl_HARD_LOCALE):
60933         * m4/hash.m4 (gl_HASH):
60934         * m4/idcache.m4 (gl_IDCACHE):
60935         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
60936         * m4/lchown.m4 (gl_FUNC_LCHOWN):
60937         * m4/long-options.m4 (gl_LONG_OPTIONS):
60938         * m4/lstat.m4 (gl_FUNC_LSTAT):
60939         * m4/md5.m4 (gl_MD5):
60940         * m4/memcasecmp.m4 (gl_MEMCASECMP):
60941         * m4/memcoll.m4 (gl_MEMCOLL):
60942         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
60943         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
60944         * m4/memxor.m4 (gl_MEMXOR):
60945         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
60946         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
60947         * m4/modechange.m4 (gl_MODECHANGE):
60948         * m4/mountlist.m4 (gl_MOUNTLIST):
60949         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
60950         * m4/openat.m4 (gl_FUNC_OPENAT):
60951         * m4/pathmax.m4 (gl_PATHMAX):
60952         * m4/physmem.m4 (gl_PHYSMEM):
60953         * m4/posixtm.m4 (gl_POSIXTM):
60954         * m4/posixver.m4 (gl_POSIXVER):
60955         * m4/quote.m4 (gl_QUOTE):
60956         * m4/quotearg.m4 (gl_QUOTEARG):
60957         * m4/readtokens.m4 (gl_READTOKENS):
60958         * m4/readutmp.m4 (gl_READUTMP):
60959         * m4/regex.m4 (gl_REGEX):
60960         * m4/safe-read.m4 (gl_SAFE_READ):
60961         * m4/safe-write.m4 (gl_SAFE_WRITE):
60962         * m4/same.m4 (gl_SAME):
60963         * m4/save-cwd.m4 (gl_SAVE_CWD):
60964         * m4/savedir.m4 (gl_SAVEDIR):
60965         * m4/settime.m4 (gl_SETTIME):
60966         * m4/sha1.m4 (gl_SHA1):
60967         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
60968         * m4/stat-macros.m4 (gl_STAT_MACROS):
60969         * m4/stat-time.m4 (gl_STAT_TIME):
60970         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
60971         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
60972         * m4/strdup.m4 (gl_FUNC_STRDUP):
60973         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
60974         * m4/strndup.m4 (gl_FUNC_STRNDUP):
60975         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
60976         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
60977         * m4/time_r.m4 (gl_TIME_R):
60978         * m4/timespec.m4 (gl_TIMESPEC):
60979         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
60980         * m4/unlinkdir.m4 (gl_UNLINKDIR):
60981         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
60982         * m4/userspec.m4 (gl_USERSPEC):
60983         * m4/utimecmp.m4 (gl_UTIMECMP):
60984         * m4/utimens.m4 (gl_UTIMENS):
60985         * m4/xalloc.m4 (gl_XALLOC):
60986         * m4/xgetcwd.m4 (gl_XGETCWD):
60987         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
60988         * m4/xreadlink.m4 (gl_XREADLINK):
60989         * m4/xstrtod.m4 (gl_XSTRTOD):
60990         * m4/yesno.m4 (gl_YESNO):
60991         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
60992         to get the necessary .h files and whatnot.
60993
60994 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
60995             Bruno Haible  <bruno@clisp.org>
60996
60997         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
60998         /bin/sh understanding of '!' conditional negation.
60999
61000 2006-08-21  Jim Meyering  <jim@meyering.net>
61001
61002         * modules/openat (Depends-on): Really alphabetize.
61003
61004         * modules/acl (Depends-on): Add error and quote.
61005
61006         * check-module (find_included_lib_files): Add at-func.c to the
61007         ok-to-include-more-than-once white list.
61008
61009         * modules/openat (Depends-on): Add lstat.  Alphabetize.
61010
61011 2006-08-21  Bruno Haible  <bruno@clisp.org>
61012
61013         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
61014         Emit a pkgdata_DATA variable only if some snippets add contents to it.
61015         Reported by Martin Lambers <marlam@marlam.de>.
61016
61017 2006-08-21  Bruno Haible  <bruno@clisp.org>
61018
61019         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
61020         specify an installation location, don't emit a noinst_LIBRARIES or
61021         noinst_LTLIBRARIES assignment.
61022
61023 2006-08-21  Bruno Haible  <bruno@clisp.org>
61024
61025         BeOS portability.
61026         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
61027         BeOS has mbrtowc() but no <wctype.h>.
61028
61029 2006-08-21  Bruno Haible  <bruno@clisp.org>
61030
61031         BeOS portability.
61032         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
61033         exist.
61034
61035 2006-08-21  Bruno Haible  <bruno@clisp.org>
61036
61037         BeOS portability.
61038         * lib/mbchar.h: Include <wctype.h> only if it exists.
61039
61040 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
61041
61042         Remove files that are no longer needed by their respective modules.
61043         * m4/obstack.m4: Remove.
61044         * m4/strerror_r.m4: Remove.
61045         * m4/uint32_t.m4: Remove.
61046         * m4/uintptr_t.m4: Remove.
61047         * m4/ullong_max.m4: Remove.
61048         * m4/xstrtoimax.m4: Remove.
61049         * m4/xstrtoumax.m4: Remove.
61050
61051         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
61052         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
61053         dependencies now capture this.
61054
61055         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
61056         Do not use AC_LIBSOURCES, since gnulib modules now do this.
61057         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
61058         * m4/human.m4 (gl_HUMAN): Likewise.
61059         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
61060         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
61061
61062         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
61063
61064         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
61065         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
61066         stdint.
61067         * m4/human.m4 (gl_HUMAN): Likewise.
61068         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
61069         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
61070         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
61071         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
61072         * m4/xstrtol (gl_XSTRTOL): Likewise.
61073
61074         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
61075         AC_TYPE_LONG_LONG_INT.
61076         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
61077         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
61078         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
61079         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
61080
61081         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
61082         on stdbool.
61083
61084         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
61085         (gl_PREREQ_XSTRTOUL): Remove.
61086
61087         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
61088
61089         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
61090         mode.
61091
61092 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
61093
61094         Add and change modules to make it easier for coreutils to use
61095         gnulib-tool.
61096         * modules/backupfile (Files): Remove m4/d-ino.m4.
61097         (Depends-on): Add d-ino.
61098         * modules/cycle-check (Depends-on): Add stdint.
61099         (lib_SOURCES): Add cycle-check.h.
61100         * modules/d-ino: New module.
61101         * modules/d-type: New module.
61102         * modules/error (Files): Remove m4/strerror_r.m4.
61103         * modules/filemode (Files): Add m4/st_dm_mode.m4.
61104         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
61105         m4/inttypes_h.m4, m4/uintmax_t.m4.
61106         (Depends-on): Add stdint.
61107         (lib_SOURCES): Add fsusage.h.
61108         * modules/getcwd (Files): Remove d-ino.m4.
61109         (Depends-on): Add d-ino.
61110         * modules/getndelim2 (Depends-on): Add stdint.
61111         * modules/glob (Files): Remove m4/d-type.m4.
61112         (Depends-on): Add d-type.
61113         * modules/host-os: New module.
61114         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
61115         m4/inttypes_h.m4, m4/uintmax_t.m4.
61116         * Depends-on: Add stdint.
61117         (lib_SOURCES): Add human.h.
61118         * modules/inttostr (Files): Remove m4/intmax_t.m4,
61119         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
61120         m4/uintmax_t.m4, m4/ulonglong.m4.
61121         (Depends-on): Add stdint.
61122         (EXTRA_DIST): Add inttostr.h.
61123         * modules/lchmod: New module.
61124         * modules/link-follow: New module.
61125         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
61126         (Depends-on): Add lchmod.
61127         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
61128         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
61129         (Depends-on): Add stdint.
61130         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
61131         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
61132         (Depends-on): Add stdint.
61133         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
61134         * modules/perl: New module.
61135         * modules/regex (Depends-on): Add stdint.
61136         * modules/rmdir-errno: New module.
61137         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
61138         m4/intmax_t.m4.
61139         (Depends-on): Add stdint.
61140         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
61141         m4/uintmax_t.m4.
61142         (Depends-on): Add stdint.
61143         * modules/unlink-busy: New module.
61144         * modules/utimecmp (Depends-on): Add stdint.
61145         * modules/uptime: New module.
61146         * modules/winsz-ioctl: New module.
61147         * modules/winsz-termios: New module.
61148         * modules/xnanosleep (Depends-on): Add nanosleep.
61149         * modules/ullong_max: Remove.
61150         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
61151         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
61152         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
61153         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
61154         (Depends-on): Add inttypes.
61155         (lib_SOURCES): Add xstrtol.h.
61156         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
61157         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
61158         * MODULES.html.sh: Move 'assert' into the assert section.
61159         Move 'dummy' into the linking section.
61160         Remove ullong_max.
61161         Add section for compatibility checks for POSIX:2001 functions,
61162         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
61163         winsz-ioctl, and winsz-termios into it.
61164         Add lchmod.
61165         Add top-level Misc section and put host-os, perl, and uptime
61166         into it.
61167
61168 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
61169
61170         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
61171         now assume the stdint module.  Do not include inttypes.h.
61172         * lib/fsusage.h: Likewise.
61173         * lib/getndelim2.c: Likewise.
61174         * lib/human.h: Likewise.
61175         * lib/inttostr.h: Likewise.
61176         * lib/obstack.c: Likewise.
61177         * lib/regex_internal.h: Likewise.
61178         * lib/tempname.c: Likewise.
61179         * lib/utimecmp.c: Likewise.
61180         * lib/xstrtol.h: Likewise.
61181
61182         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
61183
61184         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
61185         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
61186         * lib/xtime.h: Likewise.
61187
61188 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
61189
61190         * modules/openat (Files): Add lib/fchmodat.c.
61191         Fixes problem reported by Jay Youngman.
61192
61193 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
61194
61195         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
61196         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
61197
61198 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
61199             Bruno Haible  <bruno@clisp.org>
61200
61201         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
61202         and is a script that invokes bison. Tighten the code. Add comments.
61203
61204 2006-08-18  Jim Meyering  <jim@meyering.net>
61205
61206         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
61207         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
61208         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
61209         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
61210
61211 2006-08-18  Bruno Haible  <bruno@clisp.org>
61212
61213         * modules/bison-i18n: New file.
61214         * MODULES.html.sh (Internationalization functions): Add it.
61215
61216 2006-08-18  Bruno Haible  <bruno@clisp.org>
61217
61218         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
61219         sys/statvfs.h. When getmntinfo was found, check its declaration and
61220         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
61221
61222 2006-08-18  Bruno Haible  <bruno@clisp.org>
61223
61224         * m4/bison-i18n.m4: New file, from bison.
61225
61226 2006-08-18  Bruno Haible  <bruno@clisp.org>
61227
61228         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
61229         (ME_DUMMY): Treat "kernfs" as a dummy.
61230         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
61231
61232 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
61233
61234         Update from coreutils.
61235
61236         2006-08-15  Jim Meyering  <jim@meyering.net>
61237
61238         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
61239
61240         2006-01-17  Jim Meyering  <jim@meyering.net>
61241
61242         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
61243
61244         2006-01-11  Jim Meyering  <jim@meyering.net>
61245
61246         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
61247         Check for the lchmod function.
61248
61249 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
61250
61251         Update from coreutils.
61252
61253         * lib/__fpending.h: Add copyright notice.
61254         * lib/fprintftime.h: Likewise.
61255         * lib/savedir.c: Use (C) in copyright notice.
61256         * lib/savedir.h: Likewise.
61257
61258         2006-08-15  Jim Meyering  <jim@meyering.net>
61259
61260         * lib/at-func.c: New file, with the logic of all emulated at-functions.
61261         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
61262         in support of the EXPECTED_ERRNO macro.
61263         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
61264         definitions.  Instead, define the appropriate symbols and include
61265         "at-func.c".
61266         * lib/mkdirat.c (mkdirat): Likewise.
61267         * lib/fchmodat.c (fchmodat): Likewise.
61268         (ENOSYS): Remove definition.
61269         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
61270         it.  Don't include "unistd--.h" -- it wasn't ever used.
61271
61272         2006-01-17  Jim Meyering  <jim@meyering.net>
61273
61274         Rewrite fts.c not to change the current working directory,
61275         by using openat, fstatat, fdopendir, etc..
61276
61277         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
61278         (HAVE_OPENAT_SUPPORT): Define.
61279         [_LIBC] (fchdir): Don't undef or define; no longer used.
61280         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
61281         Now, this `function' always succeeds, and consumes its file descriptor
61282         parameter -- so callers must not close such FDs.  Update callers.
61283         (diropen_fd, opendirat, cwd_advance_fd): New functions.
61284         (diropen): Add parameter, SP.  Adjust all callers.
61285         Implement using diropen_fd, rather than open.
61286         (fts_open): Initialize new member, fts_cwd_fd.
61287         Remove fts_rft-setting code.
61288         (fts_close): Close fts_cwd_fd, if necessary.
61289         (__opendir2): Define in terms of opendir or opendirat,
61290         depending on whether the FST_NOCHDIR flag is set.
61291         (fts_build): Since fts_safe_changedir consumes its FD, and since
61292         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
61293         and close the dup'd file descriptor upon failure.
61294         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
61295         (fts_safe_changedir): Tweak semantics to reflect that this function
61296         now calls cwd_advance_fd and hence consumes its FD argument.
61297         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
61298         [struct FTS] (fts_rft): Remove now-unused member.
61299         [struct FTS] (fts_cycle.state): Improve comment.
61300
61301         * lib/openat.c (openat_needs_fchdir): New function.
61302         * lib/openat.h (openat_needs_fchdir): Declare it.
61303
61304 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
61305
61306         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
61307         Problem and fix reported by Pádraig Brady in
61308         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
61309
61310 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
61311
61312         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
61313
61314 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
61315
61316         * lib/memcoll.c (memcoll): Optimize for the common case where the
61317         arguments are bytewise equal.
61318
61319 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
61320
61321         * doc/regexprops-generic.texi: Add a copyright notice.
61322
61323 2006-08-15  Bruno Haible  <bruno@clisp.org>
61324
61325         * modules/tmpdir (License): Change to LGPL.
61326
61327 2006-08-15  Bruno Haible  <bruno@clisp.org>
61328
61329         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
61330         module.
61331
61332 2006-08-14  Simon Josefsson  <jas@extundo.com>
61333
61334         * config/srclist.txt: Add gnupload.
61335
61336 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
61337
61338         Change copyright notice from LGPL 2 to GPL 2, since that's the
61339         standard form used in the gnulib repository.
61340         * tests/test-lock.c: Likewise.
61341         * tests/test-stdint.c: Likewise.
61342         * tests/test-tls.c: Likewise.
61343
61344         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
61345         prelude-manager.  User shorter URLs for GNU projects, without '?'.
61346         Add copyright notice.
61347
61348         * check-module: Add copyright notice.  Output a copyright
61349         notice if "--version" is specified.
61350         * modules/COPYING: New file.
61351         * tests/test-getaddrinfo.c: Add copyright notice.
61352         * tests/test-verify.c: Likewise.
61353
61354 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
61355
61356         Change copyright notice from LGPL 2 to GPL 2, since that's the
61357         standard form used in the gnulib repository.
61358         * lib/lock.c: LGPL -> GPL.
61359         * lib/lock.h: Likewise.
61360         * lib/strnlen1.c: Likewise.
61361         * lib/strnlen1.h: Likewise.
61362         * lib/tls.c: Likewise.
61363         * lib/tls.h: Likewise.
61364         * lib/tmpdir.c: Likewise.
61365
61366         * lib/TODO: Remove; this belongs only in coreutils.
61367
61368 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
61369
61370         Add copyright notices to long-enough files that lack them, since
61371         otherwise the files aren't clearly free.  Use the same notice that
61372         getdate.texi already uses.
61373         * doc/alloca-opt.texi: Add copyright notice.
61374         * doc/alloca.texi: Likewise.
61375         * doc/ctime.texi: Likewise.
61376         * doc/functions.texi: Likewise.
61377         * doc/gcd.texi: Likewise.
61378         * doc/gnulib-tool.texi: Likewise.
61379         * doc/inet_ntoa.texi: Likewise.
61380         * doc/visibility.texi: Likewise.
61381
61382         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
61383         * doc/quote.texi: Add copyright notice.
61384
61385         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
61386         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
61387         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
61388         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
61389         is now obsolete, and give a pointer to the Sun list.
61390         Add copyright notice.
61391
61392 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
61393
61394         * config/srclistvars.sh: Add copyright notice.
61395
61396 2006-08-14  Eric Blake  <ebb9@byu.net>
61397
61398         Import the following change from libc:
61399
61400         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
61401
61402         Upstream bug 2997.
61403         * lib/misc/error.c: Add space between program name and message if file
61404         name is missing.
61405
61406 2006-08-12  Karl Berry  <karl@gnu.org>
61407
61408         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
61409         remove, these originate in gnulib now.
61410
61411 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61412
61413         * doc/Makefile (standards.info standards.html standards.dvi):
61414         Also depend on make-stds.texi.
61415
61416 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
61417
61418         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
61419         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
61420
61421         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
61422         in wchar_t.  Problem reported by Eric Blake.
61423
61424         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
61425         LEN is smaller than SIZE.  Suggested by Bruno Haible.
61426         Also, help the compiler to keep LEN in a register.
61427
61428 2006-08-11  Eric Blake  <ebb9@byu.net>
61429
61430         * users.txt: Sort.  Add tar.
61431
61432 2006-08-11  Bruno Haible  <bruno@clisp.org>
61433
61434         * users.txt: New file.
61435
61436 2006-08-11  Bruno Haible  <bruno@clisp.org>
61437
61438         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
61439         before <wchar.h>. Needed for OSF/1 and BSD/OS.
61440
61441 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
61442
61443         * modules/snprintf (Depends-on): Remove minmax.
61444         (Maintainer): Add self and Bruno.
61445
61446 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
61447
61448         * lib/.cppi-disable: Add snprintf.h, socket_.h.
61449         * lib/snprintf.c: Include <errno.h> and <limits.h>.
61450         (EOVERFLOW): Define if the system does not.
61451         Do not include "minmax.h"; it wasn't used.
61452         (snprintf): Don't assume size_t promotes to an unsigned type.
61453         Fix bug when generated string was too long for the buffer: the
61454         buffer's contents are supposed to be the initial prefix of the
61455         output.  Don't assume vasnprintf returns EOVERFLOW if the size
61456         exceeds INT_MAX; do the check ourselves.
61457
61458         Import the following changes from libc:
61459
61460         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
61461
61462         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
61463         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
61464         set wc to the byte which couldn't be converted.
61465         (re_string_reconstruct): Don't clear valid_raw_len before calling
61466         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
61467         tip_context using re_string_context_at.
61468
61469         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
61470
61471         * lib/posix/regex.h: g++ still cannot handled [restrict].
61472
61473         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
61474
61475         * lib/posix/regex.h: Remove special handling for VMS.
61476
61477 2006-08-10  Jim Meyering  <jim@meyering.net>
61478
61479         * modules/same-inode: New module.
61480         * modules/dev-ino: New module.
61481         * modules/cycle-check: Depend on these modules, rather than simply
61482         including their .h files.
61483         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
61484         required via m4/cycle-check.m4.
61485         * modules/same: Depend on new same-inode module, rather than
61486         including same-inode.h.
61487         * modules/chdir-safer: New file.
61488
61489         * modules/chown (Depends-on): Add stat-macros.
61490
61491 2006-08-10  Jim Meyering  <jim@meyering.net>
61492
61493         * m4/cycle-check.m4: New file.
61494         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
61495         * m4/dev-ino.m4, m4/same-inode.m4: New files.
61496
61497 2006-08-10  Eric Blake  <ebb9@byu.net>
61498
61499         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
61500         in from original proposal.
61501
61502 2006-08-10  Eric Blake  <ebb9@byu.net>
61503         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
61504
61505         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
61506         namespace.
61507
61508 2006-08-10  Bruno Haible  <bruno@clisp.org>
61509
61510         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
61511         as well.
61512
61513 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
61514
61515         Sync from coreutils.
61516
61517         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
61518
61519         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
61520         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
61521
61522 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
61523
61524         * modules/restrict: Remove; no longer needed now that we assume
61525         Autoconf 2.59 or later.
61526         * MODULES.html.sh: Remove 'restrict'.
61527         * modules/argp (Depends-on): Remove 'restrict'.
61528         * modules/base64 (Depends-on): Likewise.
61529         * modules/gc (Depends-on): Likewise.
61530         * modules/getaddrinfo (Depends-on): Likewise.
61531         * modules/glob (Depends-on): Likewise.
61532         * modules/inet_ntop (Depends-on): Likewise.
61533         * modules/inet_pton (Depends-on): Likewise.
61534         * modules/memxor (Depends-on): Likewise.
61535         * modules/regex (Depends-on): Likewise.
61536         * modules/strtok_r (Depends-on): Likewise.
61537         * modules/time_r (Depends-on): Likewise.
61538
61539 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
61540
61541         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
61542         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
61543         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
61544         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
61545         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
61546         * m4/memxor.m4 (gl_MEMXOR): Likewise.
61547         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
61548         gl_C_RESTRICT replaced by AC_C_RESTRICT.
61549
61550         Merge from coreutils.
61551         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
61552         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
61553         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
61554         * m4/time_r.m4 (gl_TIME_R): Likewise.
61555
61556 2006-08-09  Karl Berry  <karl@gnu.org>
61557
61558         * config/srclist.txt: no more gettext-tools, per Bruno.
61559
61560 2006-08-08  Eric Blake  <ebb9@byu.net>
61561
61562         * modules/verror: New module.
61563         * MODULES.html.sh: Document it.
61564
61565 2006-08-08  Eric Blake  <ebb9@byu.net>
61566
61567         * lib/verror.h, lib/verror.c: New files.
61568
61569 2006-08-08  Eric Blake  <ebb9@byu.net>
61570
61571         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
61572         verror_at_line output complies with GNU Coding Standards even when
61573         file is NULL.
61574
61575 2006-08-07  Bruno Haible  <bruno@clisp.org>
61576
61577         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
61578         versions of AIX.
61579         Reported by Ralf Wildenhues.
61580
61581 2006-08-07  Bruno Haible  <bruno@clisp.org>
61582
61583         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
61584         in an AC_DEFUN. Needed so that the autoconf snippets can use
61585         AC_REQUIRE.
61586
61587 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61588
61589         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
61590         Initialize pkgdata_DATA.
61591         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
61592         overriding it.
61593
61594 2006-08-06  Eric Blake  <ebb9@byu.net>
61595
61596         * lib/error.h: Fold in some upstream changes from glibc.
61597         * lib/error.c: Likewise.
61598
61599 2006-08-04  Bruno Haible  <bruno@clisp.org>
61600
61601         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
61602         Make the mostlyclean-local rule depend on mostlyclean-generic.
61603         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
61604
61605 2006-07-31  Bruno Haible  <bruno@clisp.org>
61606
61607         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
61608         <stdlib.h>, <string.h>.
61609
61610 2006-07-30  Bruno Haible  <bruno@clisp.org>
61611
61612         * modules/readlink (License): Change to LGPL.
61613
61614 2006-07-30  Bruno Haible  <bruno@clisp.org>
61615
61616         * modules/javaversion (Makefile.am): Distribute javaversion.java and
61617         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
61618         set PKGDATADIR to point to it.
61619
61620 2006-07-30  Bruno Haible  <bruno@clisp.org>
61621
61622         * modules/csharpexec (configure.ac): Comment out macro invocation.
61623         * modules/javaexec (configure.ac): Likewise.
61624         * modules/javacomp-script (configure.ac): Likewise.
61625
61626         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
61627
61628 2006-07-30  Bruno Haible  <bruno@clisp.org>
61629
61630         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
61631         linked-list.
61632
61633 2006-07-30  Bruno Haible  <bruno@clisp.org>
61634
61635         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
61636
61637 2006-07-30  Bruno Haible  <bruno@clisp.org>
61638
61639         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
61640         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
61641         get removed.
61642
61643 2006-07-29  Bruno Haible  <bruno@clisp.org>
61644
61645         Make it possible for gnulib-tool to work with locally modified or
61646         augmented gnulib repositories.
61647         * gnulib-tool (func_usage): Document --local-dir option.
61648         (local_gnulib_dir): New variable.
61649         Handle --local-dir option.
61650         (func_lookup_file): New function.
61651         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
61652         (func_get_description, func_get_filelist, func_get_description,
61653         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
61654         func_get_automake_snippet, func_get_include_directive,
61655         func_get_license, func_get_maintainer): Use func_lookup_file.
61656         (func_import, func_create_testdir): Use func_lookup_file.
61657
61658 2006-07-29  Bruno Haible  <bruno@clisp.org>
61659
61660         * modules/setenv (Depends-on): Add unistd.
61661
61662 2006-07-29  Bruno Haible  <bruno@clisp.org>
61663
61664         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
61665
61666 2006-07-29  Bruno Haible  <bruno@clisp.org>
61667
61668         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
61669
61670 2006-07-29  Bruno Haible  <bruno@clisp.org>
61671
61672         * gnulib-tool (import, update): If there is no Makefile.am, look at
61673         aclocal.m4, instead of bailing out.
61674
61675 2006-07-29  Bruno Haible  <bruno@clisp.org>
61676
61677         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
61678         Categorize the options by when they are useful.
61679
61680 2006-07-29  Bruno Haible  <bruno@clisp.org>
61681
61682         * gnulib-tool (func_usage): Document option --no-libtool.
61683         Handle option --no-libtool.
61684         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
61685         for changed semantics of $libtool variable.
61686         (func_import): Likewise. If libtool is not used, show this through
61687         an option --no-libtool.
61688         (func_create_testdir): Update.
61689
61690 2006-07-29  Bruno Haible  <bruno@clisp.org>
61691
61692         * gnulib-tool (func_import): Extend error message about missing
61693         --doc-base.
61694
61695 2006-07-29  Bruno Haible  <bruno@clisp.org>
61696
61697         * gnulib-tool (func_import): Don't create the $docbase directory if
61698         there is no file to store there.
61699
61700 2006-07-29  Bruno Haible  <bruno@clisp.org>
61701
61702         * gnulib-tool (autoconf_minversion): If a --dir option is given and
61703         relevant, look for configure.ac there, not in the current directory.
61704         Also use a simple search for AC_PREREQ, not "autoconf --trace".
61705
61706 2006-07-29  Bruno Haible  <bruno@clisp.org>
61707
61708         * gnulib-tool (SORT): New variable.
61709         (func_usage): Undocument --assume-autoconf option.
61710         Remove --assume-autoconf option handling.
61711         (autoconf_minversion): Determine from the contents of configure.ac.
61712         (func_import): Remove autoconf_minversion handling.
61713         Suggested by Eric Blake.
61714
61715 2006-07-29  Bruno Haible  <bruno@clisp.org>
61716
61717         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
61718
61719 2006-07-29  Bruno Haible  <bruno@clisp.org>
61720
61721         * config/srclist.txt (*setenv.[ch]): Remove rules.
61722
61723 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
61724
61725         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
61726
61727 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
61728
61729         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
61730         arpa/inet.h.
61731
61732 2006-07-28  Simon Josefsson  <jas@extundo.com>
61733
61734         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
61735         * modules/inet_pton (Depends-on): Likewise.
61736
61737 2006-07-28  Simon Josefsson  <jas@extundo.com>
61738
61739         * m4/netinet_in_h.m4: New file.
61740
61741 2006-07-28  Simon Josefsson  <jas@extundo.com>
61742
61743         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
61744         #include's.
61745
61746 2006-07-28  Simon Josefsson  <jas@extundo.com>
61747
61748         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
61749         #include's.
61750
61751 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
61752
61753         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
61754         setgid on directories only if they set these bits.
61755         * lib/modechange.h: Remove obsolete comment about masks.
61756
61757 2006-07-28  Eric Blake  <ebb9@byu.net>
61758
61759         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
61760         macro expansion.
61761
61762 2006-07-28  Bruno Haible  <bruno@clisp.org>
61763
61764         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
61765
61766 2006-07-28  Bruno Haible  <bruno@clisp.org>
61767
61768         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
61769
61770 2006-07-28  Bruno Haible  <bruno@clisp.org>
61771
61772         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
61773         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
61774         Define fallbacks.
61775         Avoids link error on FreeBSD 4.x.
61776         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
61777
61778         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
61779         encoding.
61780         * lib/mbswidth.c (iswcntrl): Likewise.
61781
61782 2006-07-27  Bruno Haible  <bruno@clisp.org>
61783
61784         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
61785         test.
61786
61787 2006-07-27  Bruno Haible  <bruno@clisp.org>
61788
61789         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
61790         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
61791         defined.
61792
61793 2006-07-26  Eric Blake  <ebb9@byu.net>
61794
61795         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
61796
61797 2006-07-26  Eric Blake  <ebb9@byu.net>
61798
61799         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
61800         like mingw that lack mkstemp.
61801         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
61802         avoid compilation warning on mingw.
61803
61804 2006-07-26  Bruno Haible  <bruno@clisp.org>
61805
61806         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
61807         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
61808         INT_FAST*_MIN, INTPTR_MIN.
61809
61810 2006-07-25  Bruno Haible  <bruno@clisp.org>
61811
61812         * modules/version-etc (Depends-on): Add stdarg.
61813
61814 2006-07-25  Bruno Haible  <bruno@clisp.org>
61815
61816         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
61817         complex commands.
61818
61819 2006-07-25  Bruno Haible  <bruno@clisp.org>
61820
61821         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
61822         defined in <stdarg.h> or config.h.
61823
61824 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
61825
61826         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
61827         (gl_STDIO_SAFER): Remove.
61828
61829 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
61830
61831         * MODULES.html.sh (File stream based Input/Output):
61832         Add fopen-safer, tmpfile-safer; remove stdio-safer.
61833         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
61834         * modules/fopen-safer, modules/tmpfile-safer: New files.
61835         * modules/stdio-safer: Remove.
61836
61837 2006-07-24  Bruno Haible  <bruno@clisp.org>
61838
61839         * modules/tmpdir: New file.
61840         * MODULES.html.sh (File system functions): Add it.
61841
61842 2006-07-24  Bruno Haible  <bruno@clisp.org>
61843
61844         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
61845         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
61846
61847 2006-07-24  Bruno Haible  <bruno@clisp.org>
61848
61849         * modules/clean-temp: New file.
61850
61851 2006-07-24  Bruno Haible  <bruno@clisp.org>
61852
61853         * m4/tmpdir.m4: New file, from GNU gettext.
61854
61855 2006-07-24  Bruno Haible  <bruno@clisp.org>
61856
61857         * lib/tmpdir.h: New file, from GNU gettext.
61858         * lib/tmpdir.c: New file, from GNU gettext.
61859
61860 2006-07-24  Bruno Haible  <bruno@clisp.org>
61861
61862         * lib/clean-temp.h: New file, from GNU gettext.
61863         * lib/clean-temp.c: New file, from GNU gettext.
61864
61865 2006-07-23  Eric Blake  <ebb9@byu.net>
61866
61867         * modules/stdio-safer (Files): Add tmpfile-safer.c.
61868         (Depends-on): Add binary-io.
61869
61870 2006-07-23  Eric Blake  <ebb9@byu.net>
61871
61872         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
61873
61874 2006-07-23  Eric Blake  <ebb9@byu.net>
61875
61876         * lib/tmpfile-safer.c: New file.
61877         * lib/stdio-safer.h (fopen_safer): Add prototype.
61878         * lib/stdio--.h (tmpfile): Make safer.
61879
61880 2006-07-23  Bruno Haible  <bruno@clisp.org>
61881
61882         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
61883         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
61884         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
61885         gl_linked_remove_at): Use it.
61886
61887 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
61888         and Simon Josefsson <jas@extundo.com>
61889
61890         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
61891
61892         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
61893
61894 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
61895
61896         * modules/close-stream: New file.
61897         * modules/closeout (Description): Make it clear that it exits
61898         with a diagnostic on error.
61899         (Depends-on): Add close-stream.  Remove fpending, stdbool.
61900         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
61901
61902 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
61903
61904         * m4/close-stream.m4: New file.
61905
61906 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
61907
61908         * lib/close-stream.c, lib/close-stream.h: New files.
61909
61910 2006-07-22  Bruno Haible  <bruno@clisp.org>
61911
61912         Merge from GNU gettext 0.15.
61913
61914         2006-05-01  Bruno Haible  <bruno@clisp.org>
61915
61916                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
61917
61918         2006-07-22  Bruno Haible  <bruno@clisp.org>
61919
61920                 * modules/javaversion: New file.
61921                 * MODULES.html.sh (Java): Add javaversion.
61922
61923         2006-03-12  Bruno Haible  <bruno@clisp.org>
61924
61925                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
61926
61927         2005-12-04  Bruno Haible  <bruno@clisp.org>
61928
61929                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
61930                 (untested).
61931
61932         2006-06-21  Bruno Haible  <bruno@clisp.org>
61933
61934                 Avoid warnings from recent versions of mcs.
61935                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
61936                 -o, -L, -r any more. Use options documented since mcs-1.0
61937                 instead. Similarly for -g.
61938
61939         2005-12-04  Bruno Haible  <bruno@clisp.org>
61940
61941                 * build-aux/csharpcomp.sh.in: Suffix for resources is
61942                 .resources, not .resource.
61943
61944         2005-07-09  Bruno Haible  <bruno@clisp.org>
61945
61946                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
61947                 add a .dll suffix.
61948                 Reported by Mark Junker <mjscod@gmx.de>.
61949
61950         2006-07-22  Bruno Haible  <bruno@clisp.org>
61951
61952                 * modules/gettext: Upgrade to gettext-0.15.
61953                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
61954                 m4/visibility.m4.
61955                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
61956
61957 2006-07-22  Bruno Haible  <bruno@clisp.org>
61958
61959         Merge from GNU gettext 0.15.
61960
61961         2006-03-25  Bruno Haible  <bruno@clisp.org>
61962
61963                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
61964
61965         2006-07-21  Bruno Haible  <bruno@clisp.org>
61966
61967                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
61968                 "1.1".
61969
61970         2006-05-09  Bruno Haible  <bruno@clisp.org>
61971
61972                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
61973                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
61974                 for the conftestver execution.
61975
61976         2006-05-01  Bruno Haible  <bruno@clisp.org>
61977
61978                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
61979                 optional target-version argument. Verify that the compiler
61980                 groks source of the specified source-version, or add -source
61981                 option as necessary. Verify that the compiler produces
61982                 bytecode in the specified target-version, or add -target and
61983                 -source options as necessary. Make the result of the test
61984                 available as variable CONF_JAVAC. Also log error output in
61985                 config.log.
61986
61987         2006-03-11  Bruno Haible  <bruno@clisp.org>
61988
61989                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
61990
61991         2006-05-09  Bruno Haible  <bruno@clisp.org>
61992
61993                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
61994                 CLASSPATH_SEPARATOR to a semicolon.
61995
61996         2006-03-12  Bruno Haible  <bruno@clisp.org>
61997
61998                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
61999                 available as variable CONF_JAVA, for subsequent autoconf
62000                 tests. Also log error output in config.log.
62001
62002         2006-07-19  Bruno Haible  <bruno@clisp.org>
62003
62004                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
62005                 that getline works on glibc2 systems. Needed to avoid trouble
62006                 in relocatable.c.
62007                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
62008
62009         2005-12-04  Bruno Haible  <bruno@clisp.org>
62010
62011                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
62012                 launcher (untested).
62013
62014         2005-12-04  Bruno Haible  <bruno@clisp.org>
62015
62016                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
62017
62018         2006-07-22  Bruno Haible  <bruno@clisp.org>
62019
62020                 * gettext.m4: Update from GNU gettext-0.15.
62021                 * nls.m4: Likewise.
62022                 * po.m4: Likewise.
62023                 * inttypes-pri.m4: Likewise.
62024                 * inttypes-h.m4: Renamed from inttypes.m4.
62025                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
62026
62027 2006-07-22  Bruno Haible  <bruno@clisp.org>
62028
62029         Merge from GNU gettext 0.15.
62030
62031         2005-07-05  Bruno Haible  <bruno@clisp.org>
62032
62033                 * printf-args.c (printf_fetchargs): Work around broken
62034                 definition of wint_t on mingw.
62035
62036         2005-02-12  Bruno Haible  <bruno@clisp.org>
62037
62038                 * xallocsa.h: Add extern "C" for C++.
62039
62040         2006-05-17  Bruno Haible  <bruno@clisp.org>
62041
62042                 Cygwin portability.
62043                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
62044
62045         2006-04-30  Bruno Haible  <bruno@clisp.org>
62046
62047                 * progreloc.c: Include <mach-o/dyld.h> if available.
62048                 (find_executable): Use _NSGetExecutablePath when possible.
62049
62050         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
62051
62052                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
62053                 function.
62054
62055         2005-12-29  Bruno Haible  <bruno@clisp.org>
62056
62057                 * progreloc.c (set_program_name_and_installdir): Fix
62058                 compilation error.
62059
62060         2005-12-04  Bruno Haible  <bruno@clisp.org>
62061
62062                 Cygwin portability.
62063                 * progreloc.c: Include <windows.h> also on Cygwin.
62064                 (find_executable): Add support for Cygwin.
62065                 (set_program_name_and_installdir): Handle also platforms with
62066                 nonempty EXEEXT.
62067
62068         2006-07-11  Bruno Haible  <bruno@clisp.org>
62069
62070                 * javacomp.c: Fix a comment.
62071                 Reported by Jim Meyering.
62072
62073         2006-04-30  Bruno Haible  <bruno@clisp.org>
62074
62075                 * javacomp.h (compile_java_class): Add source_version,
62076                 target_version arguments.
62077                 * javacomp.c: Rewritten to choose only a compiler that
62078                 respects the specified source_version and target_version.
62079
62080         2006-06-27  Bruno Haible  <bruno@clisp.org>
62081
62082                 Assume correct S_ISDIR macro.
62083                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
62084
62085         2006-07-22  Bruno Haible  <bruno@clisp.org>
62086
62087                 * javaversion.h: New file, from GNU gettext.
62088                 * javaversion.c: New file, from GNU gettext.
62089                 * javaversion.java: New file, from GNU gettext.
62090                 * javaversion.class: New file, from GNU gettext.
62091
62092         2006-05-17  Bruno Haible  <bruno@clisp.org>
62093
62094                 Cygwin portability.
62095                 * javaexec.c (execute_java_class): Test for jview program
62096                 also on Cygwin.
62097
62098         2006-04-09  Bruno Haible  <bruno@clisp.org>
62099
62100                 * fatal-signal.c: Don't include string.h.
62101                 (at_fatal_signal): Use a copying loop instead of memcpy.
62102
62103         2005-12-04  Bruno Haible  <bruno@clisp.org>
62104
62105                 * csharpexec.c: Add support for 'clix' launcher (untested).
62106                 (execute_csharp_using_sscli): New function.
62107                 (execute_csharp_program): Call it.
62108
62109         2006-06-21  Bruno Haible  <bruno@clisp.org>
62110
62111                 Avoid warnings from recent versions of mcs.
62112                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
62113                 -o, -L, -r any more. Use options documented since mcs-1.0
62114                 instead. Similarly for -g.
62115
62116         2005-07-09  Bruno Haible  <bruno@clisp.org>
62117
62118                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
62119                 add a .dll suffix.
62120                 Reported by Mark Junker <mjscod@gmx.de>.
62121
62122         2006-06-17  Bruno Haible  <bruno@clisp.org>
62123
62124                 * config.charset: Update for NetBSD 3.0.
62125
62126         2006-05-17  Bruno Haible  <bruno@clisp.org>
62127
62128                 Cygwin portability.
62129                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
62130
62131         2006-05-16  Bruno Haible  <bruno@clisp.org>
62132
62133                 * localcharset.c [CYGWIN]: Include <windows.h>.
62134                 (get_charset_aliases): For Cygwin, return the same CPxxx
62135                 aliases list as under WIN32.
62136                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
62137                 the environment variables. Fall back to GetACP().
62138
62139         2006-04-05  Bruno Haible  <bruno@clisp.org>
62140
62141                 * config.charset: Update Juan Manuel Guerrero's address.
62142
62143         2005-02-12  Bruno Haible  <bruno@clisp.org>
62144
62145                 * allocsa.h: Add extern "C" for C++.
62146
62147         2005-02-10  Bruno Haible  <bruno@clisp.org>
62148
62149                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
62150                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
62151
62152         2006-07-22  Bruno Haible  <bruno@clisp.org>
62153
62154                 * gettext.h: Update to GNU gettext-0.15.
62155
62156 2006-07-22  Bruno Haible  <bruno@clisp.org>
62157
62158         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
62159         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
62160         lib-prefix.m4, longdouble.m4, ssize_t.m4.
62161
62162 2006-07-21  Eric Blake  <ebb9@byu.net>
62163
62164         * modules/stdlib-safer: New file.
62165         * MODULES.html.sh (File stream based Input/Output): Add
62166         stdlib-safer.
62167
62168 2006-07-21  Eric Blake  <ebb9@byu.net>
62169
62170         * lib/stdlib-safer.h: New file from coreutils, required by
62171         stdlib--.h.
62172
62173 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
62174
62175         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
62176
62177 2006-07-20  Bruno Haible  <bruno@clisp.org>
62178
62179         * gnulib-tool: Recognize new option --assume-autoconf.
62180         (autoconf_minversion): New variable.
62181         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
62182
62183 2006-07-20  Bruno Haible  <bruno@clisp.org>
62184
62185         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
62186
62187 2006-07-19  Derek R. Price  <derek@ximbiot.com>
62188
62189         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
62190         Reindent and repaginate.
62191
62192 2006-07-19  Derek Price  <derek@ximbiot.com>
62193
62194         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
62195         Correct grammar.
62196
62197 2006-07-17  Bruno Haible  <bruno@clisp.org>
62198
62199         * modules/list: New file.
62200         * modules/array-list: New file.
62201         * modules/carray-list, modules/carray-list-tests: New files.
62202         * modules/linked-list, modules/linked-list-tests: New files.
62203         * modules/avltree-list, modules/avltree-list-tests: New files.
62204         * modules/rbtree-list, modules/rbtree-list-tests: New files.
62205         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
62206         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
62207         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
62208         * modules/oset: New file.
62209         * modules/array-oset: New file.
62210         * modules/avltree-oset, modules/avltree-oset-tests: New files.
62211         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
62212         * tests/test-carray_list.c: New file.
62213         * tests/test-linked_list.c: New file.
62214         * tests/test-avltree_list.c: New file.
62215         * tests/test-rbtree_list.c: New file.
62216         * tests/test-linkedhash_list.c: New file.
62217         * tests/test-avltreehash_list.c: New file.
62218         * tests/test-rbtreehash_list.c: New file.
62219         * tests/test-avltree_oset.c: New file.
62220         * tests/test-rbtree_oset.c: New file.
62221         * MODULES.html.sh (Container data structures): New section.
62222
62223 2006-07-17  Bruno Haible  <bruno@clisp.org>
62224
62225         * m4/gl_list.m4: New file.
62226
62227 2006-07-17  Bruno Haible  <bruno@clisp.org>
62228
62229         * lib/gl_list.h: New file.
62230         * lib/gl_list.c: New file.
62231         * lib/gl_array_list.h: New file.
62232         * lib/gl_array_list.c: New file.
62233         * lib/gl_carray_list.h: New file.
62234         * lib/gl_carray_list.c: New file.
62235         * lib/gl_linked_list.h: New file.
62236         * lib/gl_linked_list.c: New file.
62237         * lib/gl_anylinked_list1.h: New file.
62238         * lib/gl_anylinked_list2.h: New file.
62239         * lib/gl_avltree_list.h: New file.
62240         * lib/gl_avltree_list.c: New file.
62241         * lib/gl_anyavltree_list1.h: New file.
62242         * lib/gl_anyavltree_list2.h: New file.
62243         * lib/gl_rbtree_list.h: New file.
62244         * lib/gl_rbtree_list.c: New file.
62245         * lib/gl_anyrbtree_list1.h: New file.
62246         * lib/gl_anyrbtree_list2.h: New file.
62247         * lib/gl_anytree_list1.h: New file.
62248         * lib/gl_anytree_list2.h: New file.
62249         * lib/gl_linkedhash_list.h: New file.
62250         * lib/gl_linkedhash_list.c: New file.
62251         * lib/gl_anyhash_list1.h: New file.
62252         * lib/gl_anyhash_list2.h: New file.
62253         * lib/gl_avltreehash_list.h: New file.
62254         * lib/gl_avltreehash_list.c: New file.
62255         * lib/gl_rbtreehash_list.h: New file.
62256         * lib/gl_rbtreehash_list.c: New file.
62257         * lib/gl_anytreehash_list1.h: New file.
62258         * lib/gl_anytreehash_list2.h: New file.
62259
62260         * lib/gl_oset.h: New file.
62261         * lib/gl_oset.c: New file.
62262         * lib/gl_array_oset.h: New file.
62263         * lib/gl_array_oset.c: New file.
62264         * lib/gl_avltree_oset.h: New file.
62265         * lib/gl_avltree_oset.c: New file.
62266         * lib/gl_rbtree_oset.h: New file.
62267         * lib/gl_rbtree_oset.c: New file.
62268         * lib/gl_anytree_oset.h: New file.
62269
62270 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
62271
62272         * m4/mkancesdirs.m4: New file.
62273         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
62274         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
62275         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
62276         it.
62277
62278 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
62279
62280         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
62281         * lib/mkancesdirs.h: New files.
62282         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
62283         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
62284         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
62285         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
62286         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
62287         callers changed.  Revamp internals significantly, by not
62288         attempting to create directories that are temporarily more
62289         permissive than the final results.  Do not attempt to use
62290         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
62291         This removes some race conditions, fixes some bugs, and simplifies
62292         things.  Use new dirchownmod function to do owner and mode changes.
62293         * lib/mkdir-p.h: Likewise.
62294         * lib/modechange.c (octal_to_mode): New function.
62295         (struct mode_change): New member mentioned.
62296         (make_node_op_equals): New arg mentioned.  All callers changed.
62297         (mode_compile): Keep track of which mode bits the user has explicitly
62298         mentioned.
62299         (mode_adjust): New arg DIR, so that we implement the X op correctly.
62300         New arg PMODE_BITS, to keep track of which mode bits the user
62301         mentioned; it treats S_ISUID and S_ISGID speciall.
62302         All callers changed.
62303         * lib/modechange.h: Likewise.
62304
62305 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
62306
62307         * MODULES.html.sh: Add mkancestors.
62308         * modules/mkancesdirs: New module.
62309         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
62310         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
62311         The chdir-safer and afs files are now orphans; I'll remove them
62312         unless someone speaks up.
62313         Add lib/dirchownmod.c, lib/dirchownmod.h.
62314         (Depends-on): Remove alloca, chown, save-cwd, dirname.
62315         Add lchown, mkancesdirs.
62316         (Maintainer): Add self.
62317
62318 2006-07-15  Karl Berry  <karl@gnu.org>
62319
62320         * gnulib-tool: help message wording/arrangement.
62321
62322 2006-07-14  Simon Josefsson  <jas@extundo.com>
62323
62324         * doc/gnulib.texi (Libtool and Windows): New section.
62325
62326 2006-07-12  Simon Josefsson  <jas@extundo.com>
62327
62328         * modules/gendocs (License): Fix license, approved by Karl.
62329
62330 2006-07-12  Eric Blake  <ebb9@byu.net>
62331
62332         * MODULES.html.sh: Add gendocs.
62333
62334 2006-07-11  Eric Blake  <ebb9@byu.net>
62335
62336         * modules/fdl: New module, to install doc/fdl.texi.
62337         * MODULES.html.sh: Add new section for documentation modules.
62338         * gnulib-tool: Avoid space-tab.
62339         (--doc-base): New option, to manage files from doc.
62340
62341 2006-07-11  Eric Blake  <ebb9@byu.net>
62342
62343         * m4/absolute-header.m4: Fix comments to match recent change.
62344
62345 2006-07-11  Eric Blake  <ebb9@byu.net>
62346
62347         * gnulib-tool: List --doc-base before --tests-base.
62348
62349 2006-07-11  Derek R. Price  <derek@ximbiot.com>
62350
62351         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
62352
62353 2006-07-11  Bruno Haible  <bruno@clisp.org>
62354
62355         * README: Mention where to put documentation.
62356
62357 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62358
62359         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
62360
62361 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
62362
62363         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
62364         to stdint.m4.
62365
62366 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
62367
62368         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
62369         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
62370         "no/such/file/stdint.h" when there is no such file, so that
62371         the resulting C code can be parsed by dodgy compilers.
62372         Problems reported by Bob Proulx.
62373
62374 2006-07-10  Derek R. Price  <derek@ximbiot.com>
62375
62376         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
62377         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
62378         macros into the GNU _D_EXACT_NAMLEN.
62379         * lib/savedir.c:  Likewise.
62380         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
62381
62382 2006-07-10  Derek R. Price  <derek@ximbiot.com>
62383         and Paul Eggert  <eggert@cs.ucla.edu>
62384
62385         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
62386         * m4/savedir.m4:
62387         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
62388         macros into the GNU _D_EXACT_NAMLEN.
62389
62390 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
62391
62392         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
62393         around the absolute name, to work around a problem with the HP-UX
62394         11.23 native C compiler, reported by Bob Proulx.
62395
62396 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
62397
62398         * doc/maintain.texi, make-stds.texi: Sync from
62399         <http://savannah.gnu.org/projects/gnustandards>.
62400
62401 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
62402
62403         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
62404
62405 2006-07-09  Jim Meyering  <jim@meyering.net>
62406
62407         * m4/glob.m4: Remove a doubled word in a comment.
62408
62409 2006-07-09  Jim Meyering  <jim@meyering.net>
62410
62411         * lib/argp-pv.c: Remove a doubled word in a comment.
62412         * lib/check-version.c (check_version): Likewise.
62413         * lib/javacomp.c (compile_java_class): Likewise.
62414
62415 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
62416
62417         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
62418         for the benefit of people using Autoconf 2.60.  If you want to
62419         support older Autoconf versions you can copy m4/onceonly_2_57.m4
62420         (or m4/onceonly.m4, if pre-2.57) manually.
62421
62422 2006-07-08  Jim Meyering  <jim@meyering.net>
62423
62424         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
62425         comment.
62426         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
62427         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
62428         comment.
62429
62430 2006-07-08  Jim Meyering  <jim@meyering.net>
62431
62432         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
62433
62434 2006-07-07  Simon Josefsson  <jas@extundo.com>
62435
62436         * tests/test-crc.c: Change expected crc value, the test vector
62437         were probably computed using the old broken crc.c?
62438
62439 2006-07-06  Simon Josefsson  <jas@extundo.com>
62440
62441         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
62442         now the canonical place for the M4 file).
62443
62444         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
62445         from the sys_socket dependency now.
62446
62447         * modules/inet_pton (Files): Ditto.
62448
62449         * modules/inet_ntop (Files): Ditto.
62450
62451 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
62452
62453         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
62454         not gl_PREREQ_GETUSERSHELL.
62455
62456 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62457
62458         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
62459         with only one argument, for Autoconf 2.60.
62460         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
62461         expand to nothing, so add a shell command to avoid syntax error.
62462         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
62463
62464 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62465
62466         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
62467
62468 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
62469
62470         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
62471         no longer needed.  Check for isblank decl.
62472         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
62473         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
62474         of existence.
62475
62476 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
62477
62478         * lib/getloadavg.c: Use __VMS, not VMS.
62479         * lib/getopt.c: Likewise.
62480         * lib/getpagesize.h: Likewise.
62481         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
62482         and probably does not work.
62483
62484 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
62485
62486         * lib/.cppi-disable: Add wcwidth.
62487         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
62488         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
62489         (ISGRAPH): Remove.  All uses changed to isgraph.
62490         (FOLD) [!defined _LIBC]: Remove special case.
62491         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
62492         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
62493         HAVE_ISBLANK.
62494         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
62495         case.
62496
62497 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
62498
62499         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
62500         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
62501         brackets.  Other minor changes to suppress some compiler
62502         warnings.
62503
62504 2006-07-06  Derek R. Price  <derek@ximbiot.com>
62505         and Paul Eggert  <eggert@cs.ucla.edu>
62506
62507         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
62508         of invoking obsolescent AC_HEADER_DIRENT macro.
62509         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
62510         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
62511         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
62512         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
62513         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
62514         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
62515         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
62516         * m4/readdir.m4: Remove; no longer needed.
62517
62518 2006-07-06  Derek R. Price  <derek@ximbiot.com>
62519         and Paul Eggert  <eggert@cs.ucla.edu>
62520
62521         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
62522         Don't worry about this obsolete case any more.
62523         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
62524         directories.
62525         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
62526         worry about this obsolete case any more.
62527         * lib/fts.c: Likewise.
62528         * lib/getcwd.c: Likewise.
62529         * lib/glob.h: Likewise.
62530         * lib/savedir.c: Likewise.
62531
62532 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
62533
62534         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
62535         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
62536         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
62537         needed.
62538         All uses removed.
62539         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
62540         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
62541         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
62542         needed.
62543         * m4/getdate.m4 (gl_GETDATE): Likewise.
62544         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
62545         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
62546         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
62547         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
62548         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
62549         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
62550         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
62551         needed.
62552
62553 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
62554
62555         * lib/memcasecmp.c: Include <limits.h>.
62556         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
62557         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
62558         Don't assume isdigit succeeds only on '0' through '9'.
62559
62560 2006-07-05  Eric Blake  <ebb9@byu.net>
62561
62562         * modules/getaddrinfo (Depends-on): Add snprintf.
62563
62564 2006-07-05  Eric Blake  <ebb9@byu.net>
62565
62566         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
62567         to avoid 'header present but could not be compiled' on cygwin.
62568
62569 2006-07-05  Eric Blake  <ebb9@byu.net>
62570
62571         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
62572         missing from netdb.h.
62573         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
62574
62575 2006-07-05  Derek R. Price  <derek@ximbiot.com>
62576
62577         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
62578         no longer needed.
62579         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
62580         * m4/getdate.m4 (gl_GETDATE): Likewise.
62581         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
62582         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
62583         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
62584         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
62585         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
62586
62587 2006-07-05  Derek R. Price  <derek@ximbiot.com>
62588
62589         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
62590         All uses of is_space replaced by isspace.
62591         * lib/exit.h: Don't talk about STDC_HEADERS.
62592         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
62593         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
62594         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
62595         replaced by isprint etc.
62596         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
62597         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
62598         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
62599         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
62600         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
62601         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
62602
62603 2006-07-05  Bruno Haible  <bruno@clisp.org>
62604
62605         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
62606         the function exists, before testing against AIX.
62607         Reported by Martin Lambers <marlam@marlam.de>.
62608
62609 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
62610
62611         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
62612         From Mark D. Baushke.
62613
62614 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
62615
62616         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
62617         to the absolute name, not just one, to bypass Sun C 5.8's
62618         "warning: #include of /usr/include/... may be non-portable".
62619
62620 2006-07-04  Eric Blake  <ebb9@byu.net>
62621
62622         * modules/dirname-tests: New test module.
62623         * tests/test-dirname.c: New file, replacing dirname.c
62624         TEST_DIRNAME section that was recently deleted.
62625
62626 2006-07-04  Bruno Haible  <bruno@clisp.org>
62627
62628         Assume ANSI C header files and <ctype.h> functions.
62629         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
62630         (mbsnwidth): Use isprint, iscntrl instead.
62631
62632 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
62633
62634         Merge from coreutils.
62635         * MODULES.html.sh: Add xstrtold.
62636         * modules/xstrtold: New file.
62637         * modules/cycle-check (Files): Add lib/same-inode.h.
62638         * modules/dirname (Files): Add m4/double-slash-root.m4.
62639         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
62640         * modules/mkdir-p (Files): Add lib/same-inode.h.
62641         * modules/same (Files): Add lib/same-inode.h.
62642
62643 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
62644
62645         * m4/absolute-header.m4: Renamed from full-header-path.m4.
62646         This is to keep the terminology clean; POSIX talks about
62647         "absolute pathnames", not "full pathnames", but the GNU
62648         Coding Standards say to use "path" for something else;
62649         so use "absolute" to keep both sides happy.
62650         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
62651         Set gl_absolute_header, not gl_full_header_path.
62652         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
62653         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
62654         All uses changed.
62655
62656         Merge from coreutils.
62657
62658         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
62659
62660         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
62661         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
62662         want to require the building of c-strtod.o.
62663         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
62664         needs -lm directly.
62665         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
62666
62667         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
62668
62669         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
62670         --as-needed option if available.  Problem reported by Albert Chin in
62671         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
62672         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
62673         cc merely issues a bunch of annoying warnings for --as-needed
62674         (this problem was reported by Bob Proulx).  Also, try linking with
62675         -lm to detect a bug in binutils 2.16 (this problem was reported
62676         by Ralf Wildenhues).
62677
62678         2006-06-18  Jim Meyering  <jim@meyering.net>
62679
62680         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
62681         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
62682         macro.
62683         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
62684         also check for glibc-2.4's abort-inducing bug.
62685
62686         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
62687         Low-probability clean-up should be to use rmdir to get rid of
62688         the just-created directory, not unlink.
62689
62690         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
62691         configure fail, and request a bug report to inform us about it.
62692         Add a comment that, barring reports to the contrary, in 2007 we'll
62693         assume ftruncate is universally available.
62694
62695         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
62696
62697         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
62698
62699         2006-03-12  Jim Meyering  <jim@meyering.net>
62700
62701         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
62702         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
62703         * m4/same.m4 (gl_SAME): Likewise.
62704         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
62705
62706         2006-03-11  Eric Blake  <ebb9@byu.net>
62707
62708         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
62709         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
62710         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
62711         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
62712
62713 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
62714
62715         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
62716         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
62717         reported by Mark D. Baushke, one in
62718         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
62719
62720         Merge from coreutils.
62721
62722         * lib/.cppi-disable: Add stdint_.h.
62723         * lib/.cvsignore: Add stdint.h.
62724
62725         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
62726
62727         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
62728         both double and long double versions.
62729         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
62730         * lib/xstrtold.c: New file.
62731         * lib/xstrtod.h (xstrtold): New decl.
62732
62733         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
62734
62735         * lib/filemode.c (setst): Remove.
62736         (strmode): Rewrite to avoid setst.  This makes the code shorter,
62737         (arguably) clearer, and the generated code is a bit smaller on my
62738         Debian GNU/Linux stable x86 host.
62739
62740         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
62741
62742         * lib/filemode.c: Include "filemode.h" first, to test the interface.
62743         Assume that filemode.h includes sys/types.h and sys/stat.h.
62744         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
62745         (ftypelet): Reorder to put common cases first, for efficiency.
62746         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
62747         to do 'M'.
62748         (strmode): Renamed from mode_string, and now stores 12 bytes instead
62749         of 10, for compatibility with FreeBSD.  All callers changed.
62750         (filemodestring): Now stores 12 bytes instead of 10, and sets file
62751         types that can't be deduced solely from st_mode.  First arg is now a
62752         const pointer.
62753         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
62754         (strmode): Renamed from mode_string.
62755         (filemodestring): New decl.
62756         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
62757         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
62758         needed.
62759         (S_ISPORT, S_ISWHT): New macros, if not already defined.
62760
62761         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
62762
62763         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
62764         fsusage.h now does that.  Include fsusage.h first, to test interface.
62765         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
62766         at most one method (the old code could have generated decls that
62767         didn't conform to C89, not that this was ever exercised).
62768         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
62769
62770         2006-03-19  Jim Meyering  <jim@meyering.net>
62771
62772         Work even in a chroot where d_ino values for entries in "/"
62773         don't match the stat.st_ino values for the same names.
62774         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
62775         number, iterate through all entries again, using lstat instead.
62776         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
62777         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
62778
62779         * lib/getcwd.c (__getcwd): Clarify a comment.
62780         Use memcpy in place of a call to strcpy.
62781
62782         2006-03-12  Jim Meyering  <jim@meyering.net>
62783
62784         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
62785         matches that of the current directory (which we're about to chdir ".."
62786         out of), then save the dev-ino of the parent, instead.
62787
62788         * lib/same-inode.h (SAME_INODE): New file/macro.
62789         * lib/chdir-safer.c (SAME_INODE): Remove definition.
62790         Include "same-inode.h", instead.
62791         * lib/same.c: Likewise.
62792         * lib/cycle-check.h: Include "same-inode.h".
62793         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
62794         * lib/cycle-check.c (SAME_INODE): Remove definition.
62795         * lib/root-dev-ino.h: Include "same-inode.h".
62796
62797         2006-03-11  Eric Blake  <ebb9@byu.net>
62798
62799         * lib/same.c (same_name): s/base_name/last_component/
62800         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
62801         * lib/filenamecat.c (file_name_concat): Likewise.
62802
62803         2006-03-11  Eric Blake  <ebb9@byu.net>,
62804                     Paul Eggert  <eggert@cs.ucla.edu>
62805
62806         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
62807         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
62808         drive prefix.
62809         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
62810         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
62811         (last_component): New method.
62812         * lib/dirname.c (dir_len): Determine when drive letters need a
62813         subsequent slash.  Preserve // when it is special.
62814         (dir_name): Don't append dot when drive letter is absolute.
62815         [TEST_DIRNAME]: Move into a full-blown gnulib test.
62816         * lib/basename.c (base_name): New semantics - malloc the result.
62817         Preserve // when it is special.  Preserve relative files that look
62818         like drive letters.
62819         (base_len): Preserve // when it is special.
62820         (last_component): New method, similar to old base_name semantics.
62821         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
62822         base_name.  Strip redundant slashes from ///.
62823
62824 2006-07-03  Jim Meyering  <jim@meyering.net>
62825
62826         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
62827         macro is used before the first cycle_check call.
62828
62829 2006-07-03  Eric Blake  <ebb9@byu.net>
62830
62831         * modules/dirname (Depends-on): Add xstrndup.
62832
62833 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
62834
62835         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
62836         test cases, so that config.log is a bit easier to follow.
62837
62838 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
62839
62840         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
62841         both are 64 bits, since this seems to be the tradition, and this
62842         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
62843         we ever run into a host that prefers long long to long in this
62844         case, we'll need another configure-time test.  Problem reported by
62845         Jim Meyering.
62846
62847 2006-07-02  Eric Blake  <ebb9@byu.net>
62848
62849         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
62850
62851 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
62852
62853         * modules/inttypes (Depends-on): No longer depends on stdint.
62854         * modules/stdint (Description): Say more about assumptions.
62855         Say that the fast types might differ.  Say macros are used.
62856         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
62857         (Makefile.am): Revise list of substituted symbols to match
62858         new stdint.m4.
62859         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
62860         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
62861         * tests/test-stdint.c (verify_same_types)
62862         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
62863         the code conforms to C99/C89.
62864         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
62865         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
62866
62867 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
62868
62869         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
62870         but fix a bug, by requiring at least 64 bits.
62871         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
62872         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
62873         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
62874         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
62875
62876         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
62877         changes.  Make 2.59 a prerequisite.  Check and substitute for
62878         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
62879         inttypes.h.  Do not use special include files; just use the
62880         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
62881         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
62882         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
62883         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
62884         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
62885         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
62886         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
62887         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
62888         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
62889         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
62890         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
62891         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
62892         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
62893         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
62894         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
62895         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
62896         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
62897         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
62898         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
62899         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
62900         WINT_MAX.  Check for C99 conformance more strictly, by detecting
62901         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
62902         not check for things that C99 does not require, e.g., int8_t.  If
62903         a test isn't needed unless <stdint.h> isn't working, and is
62904         unlikely to be needed for any other reason, then don't do it
62905         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
62906         size_t, since we assume C89 freestanding at least.  Do not check
62907         for sig_atomic_t, wchar_t, or wint_t, since the code now does
62908         the right thing even if the types are not defined.  Instead use:
62909         (gl_STDINT_TYPE_PROPERTIES): New macro.
62910         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
62911         testing whether <sys/types.h> clashes, as Autoconf does this for
62912         us now.  All uses removed.
62913         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
62914         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
62915         (gl_CHECK_TYPE_SAME):
62916         Remove; no longer needed.
62917         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
62918         exists, since we'll return 0 anyway in that case.
62919         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
62920
62921 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
62922
62923         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
62924         possible collision with system files.
62925         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
62926         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
62927         WCHAR_MIN and WCHAR_MAX in this case.
62928         (<stddef.h>): Do not include; no longer needed.
62929         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
62930         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
62931         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
62932         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
62933         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
62934         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
62935         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
62936         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
62937         !defined(__c99))]: Include in this case too, since it's harmless
62938         now.
62939         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
62940         dangerous to do so.
62941         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
62942         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
62943         (_STDINT_MIN, _STDINT_MAX): New macros.
62944         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
62945         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
62946         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
62947         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
62948         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
62949         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
62950         macros, not typedefs; this simplifies things quite a bit.
62951         Use long int for all types narrower than int64_t.
62952         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
62953         Define in terms of long long int or int64_t or long int,
62954         not int64_t or int32_t.  This saves some compile-time testing.
62955         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
62956         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
62957         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
62958         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
62959         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
62960         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
62961         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
62962         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
62963         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
62964         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
62965         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
62966         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
62967         undef any previous version and define our own version, for
62968         simplicity and consistency with the new macros for types.
62969         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
62970         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
62971         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
62972         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
62973         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
62974         @WINT_T_SUFFIX@ to keep things simple here.
62975         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
62976         Simplify by assuming typical 8/16/32/64 host, since we're
62977         already doing that elsewhere anyway.
62978         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
62979         and assume long long int is 64 bits if available.  This
62980         speeds up 'configure'.
62981
62982 2006-07-01  Eric Blake  <ebb9@byu.net>
62983
62984         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
62985         Reported by Andreas Buening.
62986
62987 2006-07-01  Eric Blake  <ebb9@byu.net>
62988
62989         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
62990
62991 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
62992
62993         * lib/getaddrinfo.c: fixed typo
62994
62995 2006-06-29  Jim Meyering  <jim@meyering.net>
62996
62997         * modules/strftime (Maintainer): Add my name, since with the
62998         FPRINTFTIME changes strftime.c has forked from glibc.
62999
63000 2006-06-29  Eric Blake  <ebb9@byu.net>
63001
63002         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
63003
63004 2006-06-29  Eric Blake  <ebb9@byu.net>
63005
63006         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
63007
63008 2006-06-29  Eric Blake  <ebb9@byu.net>
63009
63010         * lib/stat_.h: New file.
63011
63012 2006-06-29  Eric Blake  <ebb9@byu.net>
63013
63014         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
63015         unused static function.
63016
63017 2006-06-29  Eric Blake  <ebb9@byu.net>
63018
63019         * doc/functions.texi (Function Portability): Document missing lstat
63020         on mingw.
63021
63022 2006-06-29  Eric Blake  <ebb9@byu.net>
63023
63024         * MODULES.html.sh: Add sys_stat.
63025         * modules/sys_stat: New module.
63026         * modules/mkstemp (Depends-on): Add sys_stat.
63027
63028 2006-06-29  Derek R. Price  <derek@ximbiot.com>
63029
63030         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
63031
63032 2006-06-29  Derek R. Price  <derek@ximbiot.com>
63033
63034         * m4/c-bs-a.m4: Removed.
63035
63036 2006-06-29  Derek R. Price  <derek@ximbiot.com>
63037
63038         * lib/strftime.c: Assume strftime() exists.
63039
63040 2006-06-29  Derek Price  <derek@ximbiot.com>
63041
63042         * modules/c-bs-a: Removed - \a is C89.
63043         * MODULES.html.sh: Remove c-bs-a.
63044
63045 2006-06-29  Bruno Haible  <bruno@clisp.org>
63046
63047         * modules/wcwidth (License): Change to LGPL.
63048
63049 2006-06-28  Simon Josefsson  <jas@extundo.com>
63050
63051         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
63052         on _WIN32.
63053
63054         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
63055         getnameinfo.
63056
63057 2006-06-28  Simon Josefsson  <jas@extundo.com>
63058
63059         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
63060
63061 2006-06-28  Simon Josefsson  <jas@extundo.com>
63062
63063         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
63064         functions there.  It will succeed on Windows XP, but on Windows
63065         2000 and (presumably) earlier, it will fail, and use the internal
63066         re-implementation.
63067         (use_win32_p): New function.
63068         (getaddrinfo): Use strtoul on servname, to support numeric ports.
63069         Support AI_NUMERICSERV to disable getservbyname.
63070         (getnameinfo): New function, only supports
63071         NI_NUMERICHOST|NI_NUMERICSERV for now.
63072
63073         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
63074         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
63075         getnameinfo.
63076
63077 2006-06-28  Eric Blake  <ebb9@byu.net>
63078
63079         * modules/wcwidth: New file.
63080         * modules/mbchar (Depends-on): Add wcwidth.
63081         * modules/mbswidth (Depends-on): Add wcwidth.
63082         * MODULES.html.sh: Add wcwidth.
63083
63084 2006-06-28  Eric Blake  <ebb9@byu.net>
63085
63086         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
63087         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
63088
63089 2006-06-28  Eric Blake  <ebb9@byu.net>
63090
63091         * lib/xvasprintf.h: Fix comments.
63092
63093 2006-06-28  Eric Blake  <ebb9@byu.net>
63094
63095         * lib/mbchar.h (wcwidth): Include wcwidth.h.
63096         * lib/mbswidth.c (wcwidth): Move from here...
63097         * lib/wcwidth.h: ...to this new file.
63098
63099 2006-06-28  Derek R. Price  <derek@ximbiot.com>
63100
63101         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
63102
63103         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
63104         it's obsolete.
63105         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
63106
63107 2006-06-28  Derek R. Price  <derek@ximbiot.com>
63108
63109         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
63110         Autoconf 2.60 says this stuff was obsolete.
63111
63112 2006-06-28  Bruno Haible  <bruno@clisp.org>
63113
63114         * modules/wcwidth (Files): Add m4/wchar_t.m4.
63115
63116 2006-06-28  Bruno Haible  <bruno@clisp.org>
63117
63118         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
63119         gt_TYPE_WCHAR_T.
63120
63121 2006-06-28  Bruno Haible  <bruno@clisp.org>
63122
63123         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
63124         declaration for wcwidth.
63125         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
63126
63127 2006-06-28  Bruno Haible  <bruno@clisp.org>
63128
63129         * lib/mkdtemp.c [MINGW]: Include <io.h>.
63130         (mkdir): Define using _mkdir.
63131
63132 2006-06-28  Bruno Haible  <bruno@clisp.org>
63133
63134         * lib/getaddrinfo.h: Fix POSIX URL.
63135         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
63136         _WIN32.
63137         (use_win32_p): Make static.
63138         (getaddrinfo): Reject service name if it is empty or does not consist
63139         solely of decimal digits, or if its value is > 65535.
63140         (getnameinfo): Remove useless casts.
63141
63142 2006-06-27  Simon Josefsson  <jas@extundo.com>
63143
63144         * modules/sys_select: New file, suggested by Bruno Haible, Paul
63145         Eggert and Martin Lambers.
63146
63147 2006-06-27  Simon Josefsson  <jas@extundo.com>
63148
63149         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
63150         Eggert and Martin Lambers.
63151
63152 2006-06-27  Bruno Haible  <bruno@clisp.org>
63153
63154         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
63155         result to 0, not to empty.
63156         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
63157
63158 2006-06-27  Bruno Haible  <bruno@clisp.org>
63159
63160         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
63161
63162 2006-06-26  Simon Josefsson  <jas@extundo.com>
63163
63164         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
63165         present.
63166
63167 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
63168
63169         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
63170         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
63171         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
63172
63173 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
63174
63175         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
63176
63177 2006-06-26  Bruno Haible  <bruno@clisp.org>
63178
63179         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
63180
63181 2006-06-26  Bruno Haible  <bruno@clisp.org>
63182
63183         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
63184
63185 2006-06-26  Bruno Haible  <bruno@clisp.org>
63186
63187         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
63188         SGI C compiler in pre-C99 mode.
63189         Suggested by Mark D. Baushke and Larry Jones.
63190
63191 2006-06-26  Bruno Haible  <bruno@clisp.org>
63192
63193         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
63194         WCHAR_MAX.
63195         Reported by Mark D. Baushke and Larry Jones.
63196
63197 2006-06-26  Bruno Haible  <bruno@clisp.org>
63198
63199         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
63200         in pre-C99 mode.
63201         Suggested by Mark D. Baushke and Larry Jones.
63202
63203 2006-06-23  Simon Josefsson  <jas@extundo.com>
63204             Bruno Haible  <bruno@clisp.org>
63205
63206         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
63207         Emit mostlyclean-local rule.
63208         (func_emit_tests_Makefile_am): Likewise.
63209         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
63210
63211 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
63212
63213         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
63214
63215 2006-06-23  Bruno Haible  <bruno@clisp.org>
63216
63217         * tests/test-stdint.c: Update to match ISO C 99 Technical
63218         Corrigendum 1.
63219
63220 2006-06-23  Bruno Haible  <bruno@clisp.org>
63221
63222         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
63223
63224 2006-06-23  Bruno Haible  <bruno@clisp.org>
63225
63226         * lib/stdint_.h: Treat IRIX like OpenBSD.
63227
63228 2006-06-23  Bruno Haible  <bruno@clisp.org>
63229
63230         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
63231         ISO C 99 Technical Corrigendum 1.
63232
63233 2006-06-22  Simon Josefsson  <jas@extundo.com>
63234
63235         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
63236         MinGW.
63237
63238 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
63239
63240         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
63241         needed.  Some compiler complained about some of them.  Problem reported
63242         by Larry Jones in
63243         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
63244
63245 2006-06-21  Simon Josefsson  <jas@extundo.com>
63246
63247         * tests/test-getaddrinfo.c: New file.
63248
63249         * modules/getaddrinfo-tests: New file.
63250
63251         * MODULES.html.sh: Add inet_pton.
63252
63253         * modules/inet_pton: New file.
63254
63255 2006-06-21  Simon Josefsson  <jas@extundo.com>
63256
63257         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
63258         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
63259         of using the (limited) gnulib implementation on Windows XP.
63260
63261         * m4/inet_pton.m4: New file.
63262
63263 2006-06-21  Simon Josefsson  <jas@extundo.com>
63264
63265         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
63266         variable.
63267
63268         * lib/socket_.h: Don't define WINVER.
63269
63270         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
63271         slightly modified to work in gnulib.
63272
63273 2006-06-21  Simon Josefsson  <jas@extundo.com>
63274
63275         * doc/gnulib.texi (Windows sockets): Add.
63276
63277 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
63278
63279         * lib/read-file.c (fread_file): Start with buffer allocation of
63280         0 bytes rather than 1 byte; this simplifies the code.
63281         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
63282         code to free buffer and save/restore errno.
63283         (internal_read_file): Remove unused local.
63284
63285 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
63286
63287         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
63288         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
63289         Problem reported by Denis Excoffier in
63290         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
63291
63292 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
63293
63294         * modules/sys_socket, modules/socklen: Include sys/types since
63295         FreeBSD 4.x's sys/socket.h needs it.
63296
63297 2006-06-19  Simon Josefsson  <jas@extundo.com>
63298
63299         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
63300
63301 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
63302
63303         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
63304
63305 2006-06-19  Bruno Haible  <bruno@clisp.org>
63306
63307         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
63308         and FULL_PATH_INTTYPES_H in angle brackets.
63309         Reported by Mark D. Baushke <mdb@gnu.org>.
63310
63311 2006-06-17  Eric Blake  <ebb9@byu.net>
63312
63313         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
63314         errno.
63315
63316 2006-06-17  Bruno Haible  <bruno@clisp.org>
63317
63318         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
63319         <sys/inttypes.h>.
63320
63321 2006-06-17  Bruno Haible  <bruno@clisp.org>
63322
63323         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
63324         whether errno is declared. Assume <errno.h> declares errno.
63325
63326 2006-06-17  Bruno Haible  <bruno@clisp.org>
63327
63328         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
63329
63330 2006-06-17  Bruno Haible  <bruno@clisp.org>
63331
63332         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
63333         problem on Solaris 2.5.1.
63334
63335 2006-06-16  Eric Blake  <ebb9@byu.net>
63336
63337         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
63338         * lib/unicodeio.c [!defined errno]: Likewise.
63339         * lib/strtol.c [!defined errno]: Likewise.
63340         * lib/strtod.c [!defined errno]: Likewise.
63341
63342 2006-06-15  Eric Blake  <ebb9@byu.net>
63343
63344         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
63345
63346 2006-06-15  Eric Blake  <ebb9@byu.net>
63347
63348         * config/srclist.txt (ssize_t.m4): Lose sync.
63349
63350 2006-06-15  Bruno Haible  <bruno@clisp.org>
63351
63352         * modules/stdint (Files): Include m4/full-header-path.m4,
63353         m4/size_max.m4, m4/wchar_t.m4.
63354         (Makefile.am): Many more substitutions.
63355         * modules/stdint-tests: New file.
63356         * tests/test-stdint.c: New file.
63357
63358 2006-06-15  Bruno Haible  <bruno@clisp.org>
63359
63360         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
63361         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
63362         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
63363         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
63364         gl_CHECK_TYPE_SAME): New macros.
63365
63366 2006-06-15  Bruno Haible  <bruno@clisp.org>
63367
63368         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
63369
63370 2006-06-15  Bruno Haible  <bruno@clisp.org>
63371
63372         * lib/stdint_.h: Rewritten to be fully auto-configured.
63373         Fixes bug on HP-UX/IA64.
63374
63375 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
63376
63377         * lib/getdate.y (__attribute__): Don't define if already defined.
63378         Problem reported by Larry Jones.
63379         * lib/utimens.c (__attribute__): Likewise.
63380
63381 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
63382
63383         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
63384         reported by Andreas Schwab.
63385
63386 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63387             Bruno Haible  <bruno@clisp.org>
63388
63389         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
63390         check for the declaration of strnlen and a run test that exposes the
63391         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
63392         rpl_strndup.
63393
63394 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63395             Bruno Haible  <bruno@clisp.org>
63396
63397         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
63398
63399 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63400
63401         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
63402         compile test, for Tru64 4.0D.
63403
63404 2006-05-28  Karl Berry  <karl@gnu.org>
63405
63406         * config/srclist.txt (printf-args.c): lose sync.
63407
63408 2006-05-26  Martin Lambers  <marlam@marlam.de>
63409
63410         * lib/getpass.c: Updates the test for the native W32 API, and adds
63411         missing includes, thus fixing compilation warnings.
63412
63413 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
63414
63415         * lib/exclude.c (exclude_fnmatch): New function.
63416         (excluded_file_name): Call exclude_fnmatch.
63417         * lib/exclude.h (excluded_file_name): New prototype
63418
63419 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
63420
63421         * lib/tempname.c (small_open, large_open): New macros.
63422         (__open, __open64) [!_LIBC]: Remove.
63423         (__gen_tempname): Use small_open and large_open instead of __open
63424         and __open64.  This fixes a portability bug on HP-UX 11.11i
63425         reported by Simon Wing-Tang in
63426         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
63427
63428 2006-05-24  Bruno Haible  <bruno@clisp.org>
63429
63430         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
63431         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
63432         Reported by Thorsten Maerz <torte@netztorte.de> via
63433         Aaron Stone <aaron@serendipity.cx>.
63434
63435 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
63436
63437         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
63438         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
63439         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
63440         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
63441         not really conditional on the cache.
63442         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
63443
63444 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
63445
63446         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
63447         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
63448         (my_usleep): Don't mishandle maximum value.
63449
63450 2006-05-19  Jim Meyering  <jim@meyering.net>
63451
63452         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
63453
63454 2006-05-17  Bruno Haible  <bruno@clisp.org>
63455
63456         Cygwin portability.
63457         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
63458
63459 2006-05-17  Bruno Haible  <bruno@clisp.org>
63460
63461         * lib/stdint_.h: Fix recognition of Cygwin.
63462
63463 2006-05-15  Bruno Haible  <bruno@clisp.org>
63464
63465         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
63466         on libtool patch by Ralf Wildenhues.
63467
63468 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
63469
63470         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
63471         test for C99 conformance; (bool) 0.5 is an integer constant
63472         expression, but (bool) -0.5 is not.  Problem reported by Fedor
63473         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
63474
63475 2006-05-11  Simon Josefsson  <jas@extundo.com>
63476
63477         * m4/xvasprintf.m4: Fix obvious typo.
63478
63479 2006-05-11  Jim Meyering  <jim@meyering.net>
63480
63481         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
63482         James Lemley.
63483
63484 2006-05-10  Simon Josefsson  <jas@extundo.com>
63485
63486         * lib/md4.c: Typo fix, update copyright years.
63487         (K1, K2): Don't use L because it turn computations into 64-bit on
63488         64-bit platforms.
63489
63490 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
63491
63492         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
63493         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
63494         unwanted sign propagation, e.g., on hosts with 64-bit int.
63495         There still are some problems with reeelly weird theoretical hosts
63496         (e.g., 33-bit int) but it's not worth worrying about now.
63497         * lib/sha1.c (rol): Likewise.
63498         (K1, K2, K3, K4): Remove unnecessary L suffix.
63499
63500 2006-05-10  Bruno Haible  <bruno@clisp.org>
63501
63502         * lib/des.c: Cast to avoid warnings.
63503
63504 2006-05-09  Bruno Haible  <bruno@clisp.org>
63505
63506         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
63507         (Depends-on): Depend also on xsize, stdarg.
63508         (configure.ac): Add gl_XVASPRINTF.
63509
63510 2006-05-09  Bruno Haible  <bruno@clisp.org>
63511
63512         * m4/xvasprintf.m4: New file.
63513
63514 2006-05-09  Bruno Haible  <bruno@clisp.org>
63515
63516         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
63517         (EOVERFLOW): Define fallback value.
63518         (xstrcat): New function.
63519         (xvasprintf): Recognize the special case of a string concatenation.
63520
63521 2006-05-08  Eric Blake  <ebb9@byu.net>
63522
63523         * gnulib-tool (func_version): Base copyright year on CVS date.
63524         (func_emit_copyright_notice): New function.
63525         (func_emit_lib_Makefile_am): Use it.
63526         (func_emit_tests_Makefile_am): Likewise.
63527         (func_import): Likewise.
63528
63529 2006-05-08  Bruno Haible  <bruno@clisp.org>
63530
63531         * modules/stdarg: New file.
63532         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
63533
63534 2006-05-08  Bruno Haible  <bruno@clisp.org>
63535
63536         * m4/stdarg.m4: New file, from GNU gettext.
63537
63538 2006-05-08  Bruno Haible  <bruno@clisp.org>
63539
63540         * config/srclist.txt (build-aux/config.rpath): different from latest
63541         release.
63542
63543 2006-05-08  Bruno Haible  <bruno@clisp.org>
63544
63545         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
63546
63547 2006-05-05  Jim Meyering  <jim@meyering.net>
63548
63549         * m4/warning.m4: New file, derived from bison's file by the same name.
63550
63551 2006-05-03  Bruno Haible  <bruno@clisp.org>
63552
63553         * lib/stdint_.h: Shorter URL.
63554         * lib/inttypes.h: Likewise.
63555
63556 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
63557
63558         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
63559
63560 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
63561
63562         * lib/verify.h: Document the internals better.  Most of this change
63563         was written by Bruno Haible.
63564
63565 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
63566
63567         * doc/verify.texi: New file, partly based on a proposal by
63568         Bruno Haible.
63569
63570 2006-05-02  Bruno Haible  <bruno@clisp.org>
63571
63572         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
63573         test from here...
63574         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
63575
63576 2006-04-29  Bruno Haible  <bruno@clisp.org>
63577
63578         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
63579         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
63580
63581 2006-04-29  Bruno Haible  <bruno@clisp.org>
63582
63583         * gnulib-tool: Make --update option actually work.
63584
63585 2006-04-29  Bruno Haible  <bruno@clisp.org>
63586
63587         * doc/gcd.texi: New file.
63588         * doc/gnulib.texi: Include it.
63589
63590 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
63591
63592         * lib/getdate.y (get_date): When adding relative date, start with the
63593         initial time, not with the result of the first mktime call.
63594
63595 2006-04-25  Bruno Haible  <bruno@clisp.org>
63596
63597         * gnulib-tool (func_import): Output the include directives in three
63598         blocks, sorted separately.
63599         Reported by Ben Pfaff <blp@cs.stanford.edu>.
63600
63601 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
63602
63603         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
63604         to define main with arguments, for C++.  Reported by Eric Blake.
63605         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
63606         Prefer 'int main ()' to 'int main (void)', for C++.
63607         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
63608         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
63609         for 'main', for C99 and C++.
63610
63611 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
63612
63613         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
63614         Don't assume that exit status -1 is valid.
63615         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
63616         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
63617         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
63618         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
63619         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
63620         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
63621         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
63622         functions can be used without declaring them, or that you can
63623         exit with status -1.
63624         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
63625
63626 2006-04-24  Karl Berry  <karl@gnu.org>
63627
63628         * config/srclist.txt (longdouble.m4): sync lost.
63629
63630 2006-04-24  Eric Blake  <ebb9@byu.net>
63631
63632         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
63633
63634 2006-04-24  Bruno Haible  <bruno@clisp.org>
63635
63636         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
63637         poll() implementation in AIX.
63638         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
63639
63640 2006-04-24  Bruno Haible  <bruno@clisp.org>
63641
63642         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
63643         assigned exactly once.
63644
63645 2006-04-23  Claudio Fontana  <claudio@gnu.org>
63646             Bruno Haible  <bruno@clisp.org>
63647
63648         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
63649         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
63650         for AM_CPPFLAGS.
63651
63652 2006-04-23  Bruno Haible  <bruno@clisp.org>
63653
63654         * modules/copy-file: Depend on unistd.
63655         * modules/execute: Likewise.
63656         * modules/fatal-signal: Likewise.
63657         * modules/findprog: Likewise.
63658         * modules/mkdtemp : Likewise.
63659         * modules/pipe: Likewise.
63660         * modules/wait-process: Likewise.
63661
63662 2006-04-23  Bruno Haible  <bruno@clisp.org>
63663
63664         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
63665         condition was already detected.
63666         Reported by Ben Pfaff <blp@cs.stanford.edu>.
63667
63668 2006-04-23  Bruno Haible  <bruno@clisp.org>
63669
63670         * lib/copy-file.c: Include <unistd.h> unconditionally.
63671         * lib/execute.c: Likewise.
63672         * lib/fatal-signal.c: Likewise.
63673         * lib/findprog.c: Likewise.
63674         * lib/mkdtemp.c: Likewise.
63675         * lib/pipe.h: Likewise.
63676         * lib/pipe.c: Likewise.
63677         * lib/wait-process.h: Likewise.
63678
63679 2006-04-23  Bruno Haible  <bruno@clisp.org>
63680
63681         * gnulib-tool (func_usage): Fix --import description. Document
63682         --update.
63683         (func_import): Create temporary file in a temporary directory, if
63684         --dry-run is specified. Silence errors from 'grep' when there are no
63685         m4 files in $m4dir.
63686         (func_create_testdir): Silence errors from 'grep' when there are no
63687         m4 files in $m4dir.
63688         Reported by Karl Berry <karl@freefriends.org>.
63689
63690 2006-04-20  Bruno Haible  <bruno@clisp.org>
63691
63692         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
63693         one argument, so that the code will be portable to Autoconf 2.60.
63694         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
63695         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
63696         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
63697
63698 2006-04-19  Derek Price  <derek@ximbiot.com>
63699             Eric Blake  <ebb9@byu.net>
63700
63701         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
63702         rather than "/full/path.h".  Update comment to match.  Shorten &
63703         generalize m4_translit call via AS_TR_CPP.
63704
63705 2006-04-19  Derek Price  <derek@ximbiot.com>
63706             Eric Blake  <ebb9@byu.net>
63707
63708         * lib/inttypes.h: Correct grammar in comment.
63709
63710 2006-04-18  Derek Price  <derek@ximbiot.com>
63711             Paul Eggert  <eggert@cs.ucla.edu>
63712
63713         * modules/inttypes: New file.
63714         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
63715
63716 2006-04-18  Derek Price  <derek@ximbiot.com>
63717             Paul Eggert  <eggert@cs.ucla.edu>
63718
63719         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
63720         New files.
63721
63722 2006-04-18  Derek Price  <derek@ximbiot.com>
63723             Paul Eggert  <eggert@cs.ucla.edu>
63724
63725         * lib/inttypes.h: New file.
63726         * lib/strtoimax.c: Assume <inttypes.h>.
63727
63728 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
63729
63730         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
63731         isn't mounted.  Problem reported by Kir Kolyshkin.
63732
63733 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
63734
63735         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
63736         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
63737         Derek R. Price.
63738         * lib/regex.h (RE_DUP_MAX): Update comment to match current
63739         implementation.
63740
63741 2006-04-12  Eric Blake  <ebb9@byu.net>
63742
63743         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
63744         is now done automatically by the corresponding Autoconf macro.
63745
63746 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
63747
63748         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
63749         time_r.h.
63750
63751 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
63752
63753         Merge regex changes from libc, removing some of our
63754         POSIX-conformance changes that were rejected and redoing them in a
63755         less-intrusive way.
63756
63757         * lib/regcomp.c (re_compile_internal, init_dfa):
63758         Length arg is now size_t, not Idx.  All uses changed.
63759         (peek_token): Forward decl now says internal_function.
63760         (__re_error_msgid, __re_error_msgid_idx):
63761         Now static rather than extern with attribute_hidden.
63762         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
63763         For some reason libc prefers K&R style defns for external functions.
63764         (regerror) [!defined _LIBC]: Likewise.
63765         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
63766         (seek_collating_symbol_entry, lookup_collation_sequence_value):
63767         (build_range_exp, build_collating_symbol):
63768         Use K&R-style defn.
63769         (re_compile_fastmap): Use '\0' to memset, not 0.
63770         (utf8_sb_map): Make the calculations more obvious.
63771         (init_dfa, parse_bracket_exp, build_charclass_op):
63772         Call calloc and cast result, as glibc does.
63773         (init_word_char, fetch_token, peek_token, peek_token_bracket):
63774         (build_range_exp, build_collating_symbol):
63775         Now internal functions.
63776
63777         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
63778
63779         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
63780         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
63781         Don't depend on VMS; depend on __VMS instead, for POSIX
63782         namespace cleanness.
63783         (regoff_t): Define to ssize_t, not long int.
63784
63785         Remove the REG_ macros named below.  Instead, make the old names
63786         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
63787         __USE_GNU_REGEX.
63788         (REG_BACKSLASH_ESCAPE_IN_LISTS):
63789         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
63790         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
63791         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
63792         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
63793         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
63794         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
63795         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
63796         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
63797         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
63798         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
63799         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
63800         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
63801         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
63802         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
63803         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
63804         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
63805         (REG_NREGS):
63806         Remove.  All uses replaced by the old RE_* names.
63807         (RE_BACKSLASH_ESCAPE_IN_LISTS):
63808         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
63809         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
63810         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
63811         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
63812         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
63813         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
63814         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
63815         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
63816         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
63817         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
63818         Don't bother having these macros be independent of each others'
63819         values, since they no longer exist in the POSIX name space.
63820
63821         Rename the following member names back to their old names,
63822         unless !__USE_GNU_REGEX.  All uses changed back.
63823         (buffer): Renamed from re_buffer.
63824         (allocated): Renamed from re_allocated.
63825         (used): Renamed from re_used.
63826         (syntax): Renamed from re_syntax.
63827         (fastmap): Renamed from re_fastmap.
63828         (translate): Renamed from re_translate.
63829         (can_be_null): Renamed from re_can_be_null.
63830         (regs_allocated): Renamed from re_regs_allocated.
63831         (fastmap_accurate): Renamed from re_fastmap_accurate.
63832         (no_sub): Renamed from re_no_sub.
63833         (not_bol): Renamed from re_not_bol.
63834         (not_eol): Renamed from re_not_eol.
63835         (newline_anchor): Renamed from re_newline_anchor.
63836         (num_regs): Renamed from rm_num_regs.
63837         (start): Renamed from rm_start.
63838         (end): Renamed from rm_end.
63839
63840         (free_state): Move up a bit.
63841
63842         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
63843         #define to be empty.
63844         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
63845         when that is what is intended.
63846         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
63847         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
63848         (MAX): New macro.
63849         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
63850         All uses changed back to re_malloc, etc.  It's now the caller's
63851         responsibility to check for overflow; all callers changed.
63852         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
63853         (re_x2nrealloc): Remove.
63854         (free_state): Remove decl.
63855
63856         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
63857         (re_set_registers, re_exec):
63858         Use K&R-style defn.
63859
63860         2006-01-31  Roland McGrath  <roland@redhat.com>
63861
63862         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
63863         Reported by Mike Frysinger <vapier@gentoo.org>.
63864
63865         2006-01-15  Andreas Jaeger  <aj@suse.de>
63866
63867         [BZ #1950]
63868         * lib/regex_internal.c (re_string_reconstruct): Adjust for
63869         build_wcs_upper_buffer change.
63870         (build_wcs_upper_buffer): Change return type.
63871
63872         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
63873
63874         * lib/regex_internal.h: Include <stdint.h> if available.
63875
63876         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
63877
63878         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
63879
63880         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
63881
63882         * lib/regcomp.c: Adjust for changed secondary hash function.
63883
63884         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
63885
63886         * lib/regex.h: Pretty printing.
63887         Clean up namespace a bit.
63888
63889         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
63890
63891         * lib/regexec.c (update_cur_sifted_state, check_arrival,
63892         check_arrival_add_next_nodes): Avoid using uninitialized variable.
63893
63894         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
63895                     Ulrich Drepper  <drepper@redhat.com>
63896
63897         [BZ #1302]
63898         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
63899         changed.
63900         (bitset_word_t): Renamed from bitset_word.  All uses changed.
63901
63902         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
63903
63904         [BZ #281]
63905         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
63906         * lib/regcomp.c: Remove unnecessary uses of
63907         unsigned RE_TRANSLATE_TYPE.
63908         * lib/regex_internal.h: Likewise.
63909         * lib/regex_internal.c: Likewise.
63910         * lib/regexec.c: Likewise.
63911         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
63912
63913         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
63914
63915         * lib/regexec.c (find_recover_state): Remove unnecessary
63916         initialization.
63917         (transit_state_bkref): Make DFA a const pointer.
63918         (get_subexp): Likewise.
63919         (check_arrival): Likewise.
63920         (update_cur_sifted_state): Likewise.
63921         (re_search_internal): Likewise.
63922         (prune_impossible_nodes): Likewise.
63923         (acquire_init_state_context): Likewise.
63924         (proceed_next_node): Likewise.
63925         (set_regs): Likewise.
63926         (free_fail_stack_return): Likewise.
63927         (check_arrival_expand_ecl): Mark DFA parameter as const.
63928         (check_arrival_expand_ecl_sub): Likewise.
63929         (check_subexp_limits): Likewise.
63930         (sub_epsilon_src_nodes):  Likewise.
63931         (add_epsilon_src_nodes):  Likewise.
63932         (merge_state_array): Likewise.
63933         (update_regs): Likewise.
63934         (build_trtable): Likewise.
63935         (sift_states_backward): Mark MCTX parameter as const.
63936         (build_sifted_states): Likewise.
63937         (update_cur_sifted_state): Likewise.
63938         (sift_states_mkref): Likewise.
63939         (check_arrival_expand_ecl): Mark eclosure as const.
63940         (check_dst_limits_calc_pos_1): Likewise.
63941         * lib/regex_internal.h (re_match_context_t): Make dfa a const
63942         pointer.
63943
63944         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
63945
63946         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
63947         (transit_state_sb): Likewise.
63948         (transit_state_mb): Likewise.
63949         (sift_states_iter_mb): Likewise.
63950         (check_arrival_add_next_nodes): Likewise.
63951         (check_node_accept_bytes): Change first parameter to pointer-to-const.
63952         [_LIBC] (re_search_2_stub): Use mempcpy.
63953
63954         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
63955         mbrtowc for very simple UTF-8 case.
63956
63957         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
63958         a pointer-to-const.
63959         (re_acquire_state_context): Likewise.
63960         * lib/regex_internal.h: Adjust prototypes.
63961
63962         * lib/regex.c: Prevent using C++ compilers.
63963
63964         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
63965         (re_acquire_state_context): Likewise.
63966
63967 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
63968
63969         * modules/regex (Depends-on): Add ssize_t.
63970
63971 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
63972
63973         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
63974         translation table.
63975
63976 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
63977
63978         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
63979
63980 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
63981             Bruno Haible  <bruno@clisp.org>
63982
63983         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
63984         <sys/types.h> and <inttypes.h>.
63985
63986 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63987
63988         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
63989         `__error_t_defined', so argp.h will not typedef the former.
63990
63991 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
63992
63993         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
63994         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
63995         glibc names.  Even if glibc is changed to conform to POSIX, the
63996         traditional names will be available anyway, since regex depends on
63997         the extensions module.  Also, fix a longstanding typo in the
63998         implementation of Spencer ERE test #75 from grep 2.3.  Problems
63999         reported by Emanuele Giaquinta.  Also, change sense of cached
64000         variable, so that the message makes sense.
64001
64002 2006-03-24  Simon Josefsson  <jas@extundo.com>
64003
64004         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
64005         including some doc fixes.
64006         (base64_encode_alloc): Fix +1 bug on allocation failures.
64007
64008 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64009
64010         * lib/base64.c (base64_encode): Do not read past end of array with
64011         unsanitized input on systems with CHAR_BIT > 8.
64012
64013 2006-03-24  Eric Blake  <ebb9@byu.net>
64014
64015         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
64016
64017 2006-03-22  Karl Berry  <karl@gnu.org>
64018
64019         * config/srclist.txt (*setenv.[ch]): get from coreutils.
64020         * config/srclistvars.sh (COREUTILS): new var.
64021
64022 2006-03-17  Jim Meyering  <jim@meyering.net>
64023
64024         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
64025         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
64026
64027 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
64028
64029         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
64030         no longer needs it.  Instead, check that regoff_t is as least
64031         as wide as ptrdiff_t.
64032
64033         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
64034         so that our regex.h stays compatible with the installed regex.
64035         This is helpful for installers who configure --without-included-regex.
64036         Problem reported by Emanuele Giaquinta.
64037
64038 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
64039
64040         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
64041         Typedef to long int, not to off_, as POSIX will likely change
64042         in that direction.
64043
64044 2006-03-15  Eric Blake  <ebb9@byu.net>
64045
64046         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
64047
64048 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
64049
64050         * lib/argp-help.c (validate_uparams): Fix typo
64051         * lib/argp-parse.c (argp_default_options): Consistently begin help
64052         messages with a lowercase letter.
64053
64054 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
64055
64056         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
64057         overrun buffers and shouldn't be used (much as gets shouldn't be
64058         used).
64059         * lib/time_r.c (asctime_r, ctime_r): Likewise.
64060
64061 2006-03-08  Simon Josefsson  <jas@extundo.com>
64062
64063         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
64064         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
64065
64066 2006-03-08  Simon Josefsson  <jas@extundo.com>
64067
64068         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
64069         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
64070
64071 2006-03-08  Simon Josefsson  <jas@extundo.com>
64072
64073         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
64074         signal that configure disabled the device.
64075
64076 2006-03-08  Simon Josefsson  <jas@extundo.com>
64077
64078         * build-aux/maint.mk: Fix refresh-po, to handle no translated
64079         languages.
64080
64081 2006-03-07  Simon Josefsson  <jas@extundo.com>
64082
64083         * modules/getopt (Depends-on): Add unistd.
64084
64085         * modules/unistd: New file.
64086
64087 2006-03-07  Simon Josefsson  <jas@extundo.com>
64088
64089         * modules/gc-random: New file.
64090
64091 2006-03-07  Simon Josefsson  <jas@extundo.com>
64092
64093         * m4/unistd_h.m4: New file.
64094
64095 2006-03-07  Simon Josefsson  <jas@extundo.com>
64096
64097         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
64098         test to be side-effect free by storing the result in the cache
64099         variable gl_cv_lib_readline, and moving the assignment of
64100         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
64101         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
64102
64103 2006-03-07  Simon Josefsson  <jas@extundo.com>
64104
64105         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
64106         error on missing devices (the functions will return an error).
64107
64108         * m4/gc.m4: Move random stuff to gc-random.m4
64109
64110 2006-03-07  Simon Josefsson  <jas@extundo.com>
64111
64112         * lib/unistd_.h: New file.
64113
64114 2006-03-07  Simon Josefsson  <jas@extundo.com>
64115
64116         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
64117
64118 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
64119
64120         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
64121         Problem reported by Juan Manuel Guerrero.
64122
64123 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
64124
64125         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
64126         the unistd module.
64127         * lib/getlogin_r.c: Likewise.
64128         * lib/getlogin_r.h: Likewise.
64129         * lib/glob.c: Likewise.
64130         * lib/pagealign_alloc.c: Likewise.
64131         * lib/unistd_.h: Remove; no longer needed.
64132
64133 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
64134
64135         * MODULES.html.sh (Support for systems lacking POSIX:2001):
64136         Add unistd.
64137         * modules/c-stack (Depends-on): Add unistd.
64138         * modules/getlogin_r: Likewise.
64139         * modules/glob: Likewise.
64140         * modules/pagealign_alloc: Likewise.
64141         * modules/unistd (Files): Remove lib/unistd_.h.
64142         (EXTRA_DIST): Remove.
64143         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
64144         need unistd_.h.
64145         (MOSTLYCLEANFILES): Remove unistd.h-t.
64146
64147 2006-03-03  Simon Josefsson  <jas@extundo.com>
64148
64149         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
64150
64151 2006-03-03  Simon Josefsson  <jas@extundo.com>
64152
64153         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
64154         libidn and bison.
64155
64156 2006-03-03  Simon Josefsson  <jas@extundo.com>
64157
64158         * build-aux/maint.mk: Add indent target.
64159
64160 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
64161
64162         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
64163         our replacement poll.h in any case, to avoid a differing
64164         declaration from a system header.  Seen on AIX.
64165
64166 2006-03-01  Simon Josefsson  <jas@extundo.com>
64167
64168         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
64169         <kasal@ucw.cz>.
64170
64171 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
64172
64173         * modules/gettime (Depends-on): Add extensions module.
64174         * modules/nanosleep (Depends-on): Likewise.
64175         * modules/settime (Depends-on): Likewise.
64176
64177 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
64178
64179         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
64180         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
64181         pedantically.
64182         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
64183         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
64184
64185         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
64186         not "==".  Reported by Ralf Wildenhues.
64187
64188 2006-03-01  Karl Berry  <karl@gnu.org>
64189
64190         * doc/Copyright/request-*: new files, synced from gnuorg.
64191
64192 2006-03-01  Karl Berry  <karl@gnu.org>
64193
64194         * config/srclist.txt (Copyright/*): new entries.
64195
64196 2006-02-28  Simon Josefsson  <jas@extundo.com>
64197
64198         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
64199
64200 2006-02-27  Simon Josefsson  <jas@extundo.com>
64201
64202         * lib/base64.h: Indent #define's.  From Jim Meyering
64203         <jim@meyering.net>.
64204
64205 2006-02-27  Jim Meyering  <jim@meyering.net>
64206
64207         Revert the change of 2006-02-24, so these files can continue
64208         to be sync'd from gettext.
64209         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
64210         of `config.h'.
64211
64212 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
64213
64214         * modules/intprops: New file.
64215         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
64216         Add intprops.
64217         * modules/getloadavg (Files): Remove lib/intprops.h.
64218         (Depends-on): Add intprops.
64219         * modules/human: Likewise.
64220         * modules/inttostr: Likewise.
64221         * modules/openat: Likewise.
64222         * modules/sig2str: Likewise.
64223         * modules/userspec: Likewise.
64224         * modules/utimecmp: Likewise.
64225         * modules/xnanosleep: Likewise.
64226         * modules/xstrtol: Likewise.
64227
64228 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
64229
64230         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
64231         * modules/lock-tests (TESTS): Use $(EXEEXT).
64232         * modules/tls-tests: Likewise.
64233         * modules/argp-tests: Likewise.
64234         (check_PROGRAMS): New var, replacing...
64235         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
64236
64237 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64238
64239         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
64240         `config.h'.
64241
64242 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
64243
64244         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
64245
64246 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64247
64248         Sync from coreutils.
64249         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
64250         gl_CHDIR_SAFER.
64251
64252 2006-02-22  Jim Meyering  <jim@meyering.net>
64253
64254         Sync from coreutils.
64255         * m4/chdir-safer.m4: New file.
64256
64257 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
64258
64259         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
64260         AT_FDCWD exceeds INT_MAX.
64261         * lib/openat.h (AT_FDCWD): Likewise.
64262
64263 2006-02-17  Eric Blake  <address@hidden>
64264
64265         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
64266
64267 2006-02-16  Simon Josefsson  <jas@extundo.com>
64268
64269         * modules/getaddrinfo (Depends-on): Add sys_socket.
64270
64271 2006-02-15  Simon Josefsson  <jas@extundo.com>
64272
64273         * build-aux/maint.mk: Add dsyntax-check rule.
64274
64275 2006-02-15  Eric Blake  <ebb9@byu.net>
64276
64277         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
64278         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
64279         'present but cannot compile' warnings on cygwin.
64280         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
64281         use ws2tcpip.h if sys/socket.h works.
64282         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
64283         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
64284
64285 2006-02-14  Simon Josefsson  <jas@extundo.com>
64286
64287         * modules/maintainer-makefile (Files): Rename.
64288
64289         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
64290         and (the local) Makefile.cfg to maint-cfg.mk.
64291
64292         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
64293         to the latter.
64294
64295         * modules/maintainer-makefile: New module.
64296
64297         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
64298         severaly stripped to make it possible to build it up from scratch
64299         with reliable tests.
64300
64301         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
64302         fixes to permit overriding the default actions when configure and
64303         makefile are not available.
64304
64305 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
64306
64307         Sync from coreutils.
64308         * modules/lstat (Depends-on): Don't depend on xalloc.
64309         (License): Change from GPL to LGPL, since this is now simply a
64310         replacement for a libc function.
64311
64312 2006-02-14  Jim Meyering  <jim@meyering.net>
64313
64314         Sync from coreutils.
64315
64316         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
64317         failure on deficient systems, and simplify gnulib lgpl dependencies.
64318         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
64319         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
64320
64321         * lib/xalloc-die.c: Remove unused definition of N_.
64322
64323 2006-02-14  Jim Meyering  <jim@meyering.net>
64324
64325         Sync from coreutils.
64326         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
64327         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
64328         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
64329         double-quote uses of that variable, to accommodate the rare case in
64330         which getmntent is available in none of the libraries checked.  This
64331         happens at least on FreeBSD 5.0.
64332
64333 2006-02-13  Simon Josefsson  <jas@extundo.com>
64334
64335         * gnulib-tool (Usage): Fix --import, from
64336         karl@freefriends.org (Karl Berry).
64337
64338 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
64339
64340         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
64341
64342 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
64343
64344         * lib/argp-namefrob.h: Restore changes accidentally lost during the
64345         "autoupdate" on 2005-12-12.
64346
64347 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
64348
64349         * modules/closeout (Depends-on): Remove atexit.
64350
64351 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
64352
64353         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
64354         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
64355
64356 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
64357
64358         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
64359         __EXTENSIONS__ if this causes compilation to fail.  Problem
64360         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
64361         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
64362
64363 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
64364
64365         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
64366         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
64367         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
64368         All uses changed.
64369
64370 2006-01-26  Simon Josefsson  <jas@extundo.com>
64371
64372         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
64373         prototype is visible on mingw32.
64374
64375         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
64376         for mingw32.
64377
64378         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
64379         mingw32).
64380
64381 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
64382
64383         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
64384         attempt to open for write; this always fails, at least on POSIX
64385         hosts.  This reinstates the 2006-01-09 change, which was
64386         inadvertently removed.
64387
64388 2006-01-26  Bruno Haible  <bruno@clisp.org>
64389
64390         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
64391         Reported by Paul Eggert.
64392
64393 2006-01-26  Bruno Haible  <bruno@clisp.org>
64394             Paul Eggert  <eggert@cs.ucla.edu>
64395
64396         * lib/stdbool_.h (_Bool)
64397         [(! (defined __cplusplus || defined __BEOS__)
64398           && !defined __GNUC__
64399           && !(defined __HP_cc || defined __xlc__
64400                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
64401                || defined __sgi))]:
64402         #define to signed char in these cases too; this simplifies
64403         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
64404         etc., separately) and makes it more conservative.
64405
64406 2006-01-25  Simon Josefsson  <jas@extundo.com>
64407
64408         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
64409         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
64410         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
64411
64412 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
64413
64414         * lib/argp-namefrob.h: Bugfix. Remove stray #
64415
64416 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
64417
64418         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
64419         so that we test the test.
64420         Check for yet another HP-UX cc bug involving *bool |= bool.
64421
64422 2006-01-25  Karl Berry  <karl@gnu.org>
64423
64424         * config/srclist.txt (vasnprintf.c): sync lost.
64425
64426 2006-01-25  Jim Meyering  <jim@meyering.net>
64427
64428         Sync from the stable (b5) branch of coreutils:
64429
64430         * lib/fts.c (fts_children): Don't let close() clobber errno from
64431         failed fchdir().
64432
64433         * lib/fts.c (fts_stat): When following a symlink-to-directory,
64434         don't necessarily interpret stat-fails+lstat-succeeds as indicating
64435         a dangling symlink.  That can also happen at least for ELOOP.
64436         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
64437         FYI, this bug predates the inclusion of fts.c in coreutils.
64438
64439         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
64440         in their own block, so pre-c99 compilers don't object.
64441
64442         Avoid the double-free (first in fts_read, second in fts_close) that
64443         would occur when an `active' directory is made inaccessible (e.g.,
64444         via chmod a-x) during a traversal.
64445         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
64446         before returning.  Reproduce this failure by
64447         mkdir -p a/b; cd a; chmod a-x . b
64448         Reported by Stavros Passas.
64449
64450 2006-01-25  Jim Meyering  <jim@meyering.net>
64451
64452         * lib/fileblocks.c: Remove more useless parentheses.
64453         * lib/readutmp.h: Likewise.
64454
64455 2006-01-25  Bruno Haible  <bruno@clisp.org>
64456
64457         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
64458         warnings.
64459         Reported by Paul Eggert.
64460
64461 2006-01-25  Bruno Haible  <bruno@clisp.org>
64462
64463         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
64464         rid of a trap command. For Solaris sh.
64465         Reported by Mark D. Baushke <mdb@gnu.org>.
64466
64467 2006-01-24  Simon Josefsson  <jas@extundo.com>
64468
64469         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
64470         Bruno.
64471
64472 2006-01-24  Karl Berry  <karl@gnu.org>
64473
64474         * config/srclist.txt (argp-namefrob.h): sync lost.
64475
64476 2006-01-24  Jim Meyering  <jim@meyering.net>
64477
64478         * modules/openat (Files): Add lib/intprops.h.
64479         From Mark D. Baushke.
64480
64481 2006-01-24  Jim Meyering  <jim@meyering.net>
64482
64483         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
64484         Reported by Mark D. Baushke.
64485
64486 2006-01-24  Jim Meyering  <jim@meyering.net>
64487
64488         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
64489
64490 2006-01-24  Bruno Haible  <bruno@clisp.org>
64491
64492         * modules/strnlen (Maintainer): Change from glibc to all.
64493
64494 2006-01-24  Bruno Haible  <bruno@clisp.org>
64495
64496         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
64497         Patch by Paul Eggert.
64498
64499 2006-01-24  Bruno Haible  <bruno@clisp.org>
64500
64501         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
64502         already has it.
64503         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
64504         2005-11-26.
64505
64506         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
64507         'signed char' to avoid problems with the built-in _Bool type.
64508         Reported by Paul Eggert on 2005-11-26.
64509
64510 2006-01-24  Bruno Haible  <bruno@clisp.org>
64511
64512         * gnulib-tool (func_import): Avoid constructing complicated sed
64513         expressions inside backquote.
64514         Report and solution by Mark D. Baushke <mdb@gnu.org>.
64515
64516 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
64517
64518         These changes imported from libc.
64519         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
64520         test and two separate function calls.
64521         * lib/strndup.c (__strndup): Add libc_hidden_def.
64522
64523 2006-01-23  Simon Josefsson  <jas@extundo.com>
64524
64525         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
64526         Remove the test_*_SOURCES variable: automake infers it by default.
64527         * modules/tls-tests: Likewise.
64528
64529 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
64530
64531         Work around porting bugs reported by Dieter in
64532         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
64533         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
64534         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
64535         Include "getopt.h" first, to check interface.
64536         (getenv): Declare only if defined HAVE_DECL_GETENV &&
64537         !HAVE_DECL_GETENV.
64538         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
64539         (__strndup): Revert to K&R-style function dfns, the glibc style.
64540         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
64541         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
64542         Include strnlen.h first, to get prototype properly.
64543         (strnlen): Renamed from __strnlen.
64544         Remove weak alias.
64545
64546 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
64547
64548         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
64549
64550 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
64551
64552         * config/srclist.txt: Adjust to reflect glibc reorganization.
64553         This affects only comments.
64554
64555 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
64556
64557          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
64558          Reported by Bruce Korb <bkorb@gnu.org>.
64559
64560 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
64561
64562         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
64563         to pacify gcc -Wswitch-default.
64564
64565 2006-01-22  Bruno Haible  <bruno@clisp.org>
64566
64567         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
64568         temporary buffer for sprintf, take into account the precision also
64569         for 'd', 'i', 'u', 'o', 'x', 'X'.
64570
64571 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
64572
64573         * modules/argp-tests: New module
64574         * tests/test-argp.c: New file
64575         * tests/test-argp-2.sh: New file
64576
64577 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
64578
64579         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
64580         (__argp_base_name): Removed
64581         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
64582         typo.
64583         (__argp_base_name): Provide macro definition or extern declaration
64584         depending on the configuration
64585
64586 2006-01-20  Simon Josefsson  <jas@extundo.com>
64587
64588         * modules/inet_ntop (Depends-on): Depend on sys_socket.
64589
64590 2006-01-20  Simon Josefsson  <jas@extundo.com>
64591
64592         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
64593
64594 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
64595
64596         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
64597         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
64598         Suggested by Bruno Haible.
64599
64600 2006-01-20  Karl Berry  <karl@gnu.org>
64601
64602         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
64603         until changes propagate, I guess.
64604
64605 2006-01-19  Simon Josefsson  <jas@extundo.com>
64606
64607         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
64608
64609 2006-01-19  Simon Josefsson  <jas@extundo.com>
64610
64611         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
64612
64613 2006-01-19  Simon Josefsson  <jas@extundo.com>
64614
64615         * gnulib-tool: Set check_PROGRAMS.
64616
64617         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
64618         modules/des-tests, modules/gc-arcfour-tests,
64619         modules/gc-arctwo-tests, modules/gc-des-tests,
64620         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
64621         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
64622         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
64623         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
64624         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
64625         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
64626         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
64627         test_*_SOURCES.
64628
64629 2006-01-18  Simon Josefsson  <jas@extundo.com>
64630
64631         * modules/socklen (Depends-on): Depend on sys_socket.
64632
64633 2006-01-18  Simon Josefsson  <jas@extundo.com>
64634
64635         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
64636         modules/des-tests, modules/gc-arcfour-tests,
64637         modules/gc-arctwo-tests, modules/gc-des-tests,
64638         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
64639         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
64640         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
64641         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
64642         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
64643         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
64644         $(EXEEXT) to automake TESTS variable, for mingw32.
64645
64646 2006-01-17  Simon Josefsson  <jas@extundo.com>
64647
64648         * modules/socklen (Include): Need sys/socket.h.
64649
64650 2006-01-17  Bruno Haible  <bruno@clisp.org>
64651
64652         * modules/ssize_t (Include): Add <sys/types.h>.
64653
64654 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
64655
64656         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
64657         it's not portable and it doesn't work with cross-compiles.
64658         Problem reported by Bruno Haible.  Fix missing-$ typo in
64659         'test "gl_cv_ignore_unused_libraries" ...' that prevented
64660         -zignore from being used with Sun's C compiler.
64661
64662 2006-01-12  Simon Josefsson  <jas@extundo.com>
64663
64664         * lib/base64.c: Fix warning, reported by Bruno Haible
64665         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
64666
64667 2006-01-12  Bruno Haible  <bruno@clisp.org>
64668
64669         * modules/ldd: New file.
64670         * build-aux/ldd.sh.in: New file.
64671         * MODULES.html.sh (Support for building libraries and executables): Add
64672         ldd.
64673
64674 2006-01-12  Bruno Haible  <bruno@clisp.org>
64675
64676         * m4/ldd.m4: New file.
64677
64678 2006-01-12  Bruno Haible  <bruno@clisp.org>
64679
64680         * gnulib-tool (func_import, func_create_testdir): Don't go into an
64681         endless loop while replacing $auxdir with build-aux.
64682
64683 2006-01-11  Simon Josefsson  <jas@extundo.com>
64684
64685         * lib/stdint_.h (SIZE_MAX): Add missing (.
64686
64687 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
64688
64689         Sync from coreutils.
64690         * lib/md5.c: Fix commentary typos.
64691         (alignof, UNALIGNED_P): No need for a GCC-specific version.
64692         * lib/md5.h (__attribute__): Remove; unused.
64693         * lib/sha1.c: Fix commentary to match md5 better.
64694         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
64695         so that we don't need to worry about alignment.  All uses changed.
64696         This merges the 2005-10-28 md5 change into sha1.
64697
64698 2006-01-11  Jim Meyering  <jim@meyering.net>
64699
64700         Sync from coreutils.
64701         * lib/md5.c (OP): Fix spacing.
64702
64703 2006-01-11  Bruno Haible  <bruno@clisp.org>
64704
64705         Ensure automatic ordering between gl_LOCK and gl_ARGP.
64706         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
64707         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
64708
64709 2006-01-11  Bruno Haible  <bruno@clisp.org>
64710
64711         Ensure automatic ordering between gl_LOCK and gl_ARGP.
64712         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
64713         the "early" section as well.
64714
64715 2006-01-11  Bruno Haible  <bruno@clisp.org>
64716
64717         Avoid "ar: no archive members specified" error on MacOS X.
64718         * gnulib-tool (func_modules_add_dummy): New function.
64719         (func_import, func_create_testdir): Invoke it.
64720
64721 2006-01-11  Bruno Haible  <bruno@clisp.org>
64722
64723         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
64724         with $auxdir in AC_CONFIG_FILES statements.
64725
64726 2006-01-11  Bruno Haible  <bruno@clisp.org>
64727
64728         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
64729         Initialize also noinst_HEADERS to empty.
64730
64731 2006-01-11  Bruno Haible  <bruno@clisp.org>
64732
64733         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
64734         variables.
64735         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
64736         autoreconf.
64737
64738 2006-01-11  Bruno Haible  <bruno@clisp.org>
64739
64740         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
64741         overridable by the user.
64742         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
64743
64744 2006-01-10  Simon Josefsson  <jas@extundo.com>
64745
64746         * modules/sys_socket: New file.
64747
64748 2006-01-10  Simon Josefsson  <jas@extundo.com>
64749
64750         * m4/sys_socket_h.m4: New file.
64751
64752 2006-01-10  Simon Josefsson  <jas@extundo.com>
64753
64754         * lib/socket_.h: New file.
64755
64756 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
64757
64758         * modules/readutmp (Maintainer): Add myself.
64759
64760 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
64761
64762         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
64763         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
64764         People who are still concerned with buggy memcmp implementations
64765         can invoke gl_FUNC_MEMCMP themselves.
64766
64767 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
64768
64769         * lib/regex_internal.h (BITSET_WORD_BITS):
64770         Work around a bug in 64-bit PGC (before version 6.1-2), where the
64771         preprocessor mishandles large unsigned values as if they were signed.
64772         Problem reported by Claudio Fontana in
64773         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
64774
64775 2006-01-10  Jim Meyering  <jim@meyering.net>
64776
64777         Avoid the double-free (first in fts_read, second in fts_close) that
64778         would occur when an `active' directory is made inaccessible (e.g.,
64779         via chmod a-x) during a traversal.
64780         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
64781         before returning.  Reproduce this failure by
64782         mkdir -p a/b; cd a; chmod a-x . b
64783         Reported by Stavros Passas.
64784
64785         Sync from coreutils.
64786         * lib/sha1.c: Tweak grammar in a comment.
64787
64788 2006-01-10  Jim Meyering  <jim@meyering.net>
64789
64790         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
64791         Patch by Joerg Sonnenberger.
64792
64793 2006-01-10  Bruno Haible  <bruno@clisp.org>
64794
64795         * modules/readutmp: Depend on module free.
64796         * modules/strtok_r: Depend on module restrict.
64797
64798 2006-01-10  Bruno Haible  <bruno@clisp.org>
64799
64800         * modules/gettext (configure.ac): Add an invocation of
64801         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
64802
64803 2006-01-10  Bruno Haible  <bruno@clisp.org>
64804
64805         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
64806         Reported by Werner Lemberg <wl@gnu.org>.
64807
64808 2006-01-10  Bruno Haible  <bruno@clisp.org>
64809
64810         * lib/localcharset.c: Update from GNU gettext.
64811
64812 2006-01-10  Bruno Haible  <bruno@clisp.org>
64813
64814         * lib/argp.h (__const): Remove macro. Use const instead.
64815         * lib/argp-fmtstream.h (__const): Likewise.
64816         * lib/glob_.h (__const): Remove macro.
64817         * lib/glob-libc.h: Use const instead of __const.
64818
64819 2006-01-10  Bruno Haible  <bruno@clisp.org>
64820
64821         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
64822         variable.
64823         Needed to avoid an automake error regarding the 'gettext' module.
64824
64825 2006-01-09  Simon Josefsson  <jas@extundo.com>
64826
64827         * modules/inet_ntop (Depends-on): Add restrict.
64828
64829 2006-01-09  Simon Josefsson  <jas@extundo.com>
64830
64831         * modules/gc-rijndael-tests (License): Put under LGPL.
64832
64833         * modules/gc-des-tests (License): Likewise.
64834
64835         * modules/gc-arcfour-tests (License): Likewise.
64836
64837         * modules/gc-arctwo-tests (License): Likewise.
64838
64839         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
64840
64841         * modules/gc-hmac-sha1-tests (Files): Likewise.
64842
64843         * modules/gc-hmac-md5-tests (License): Likewise.
64844
64845         * modules/gc-sha1-tests (License): Likewise.
64846
64847         * modules/gc-md5-tests (License): Likewise.
64848
64849         * modules/gc-md4-tests (License): Likewise.
64850
64851         * modules/gc-md2-tests (License): Likewise.
64852
64853         * modules/gc-tests (License): Likewise.
64854
64855         * modules/des-tests (License): Likewise.
64856
64857         * modules/md4-tests (License): Likewise.
64858
64859         * modules/md2-tests (License): Likewise.
64860
64861 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
64862
64863         Sync from coreutils:
64864
64865         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
64866         * modules/lib-ignore: New file.
64867         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
64868         chdir-safer.m4, lchmod.m4.
64869         * modules/openat: Add mkdirat.c, openat-priv.h.
64870
64871 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
64872
64873         Sync from coreutils.
64874         * m4/lib-ignore.m4: New file.
64875         * m4/lchmod.m4: New file.
64876
64877 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
64878
64879         Sync from coreutils.
64880         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
64881         for write access: POSIX says that must fail.
64882         * lib/fts.c (diropen): Likewise.
64883         * lib/save-cwd.c (save_cwd): Likewise.
64884         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
64885         well, for minor improvements on hosts that lack O_DIRECTORY.
64886         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
64887         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
64888         Fall back on chown if open failed with EACCES.
64889
64890         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
64891         Report an error at compile-time if only a 1-second nominal clock
64892         resolution is found.
64893
64894         * lib/lchmod.h: New file.
64895         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
64896         (make_dir_parents): Use lchown rather than chown, and
64897         lchmod rather than chmod.
64898
64899         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
64900         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
64901         "proc" reported by n0dalus.
64902
64903         * lib/mountlist.c: Include <limits.h>.
64904         (dev_from_mount_options)
64905         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
64906         New function.  It no longer assumes "dev=" has the System V meaning
64907         on Linux (since it doesn't).  It also parses "dev=" more carefully.
64908         (read_file_system_list)
64909         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
64910         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
64911         dev= in that case.
64912
64913         * lib/posixtm.h (PDS_PRE_2000): New macro.
64914         * lib/posixtm.c (year): Arg is now syntax_bits rather than
64915         allow_century.  All usages changed.  Reject dates outside the range
64916         1969-1999 if PDS_PRE_2000 is used.
64917
64918 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
64919
64920         Sync from coreutils.
64921         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
64922         (Time of day items): Mention the possibility of leap seconds.
64923         Problem reported by Dr. David Alan Gilbert.
64924
64925 2006-01-09  Jim Meyering  <jim@meyering.net>
64926
64927         Sync from coreutils.
64928
64929         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
64930
64931         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
64932
64933         * lib/modechange.c (mode_compile): Reject an invalid mode string
64934         that starts with an octal digit.  From Andreas Gruenbacher.
64935
64936         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
64937         and dup to open_safer and dup_safer, respectively.
64938         (openat_permissive): Fix typo in comment.
64939
64940         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
64941         "gettext.h"; either no longer needed or are guaranteed by openat.h.
64942         (_): Remove; no longer needed.
64943         (openat): Renamed from rpl_openat; no need for rpl_openat
64944         since openat.h renames openat for us.
64945         Replace most of the body with a call to openat_permissive,
64946         to avoid duplicate code.
64947         Port to (probably hypothetical) environments were mode_t is
64948         wider than int.
64949         (openat_permissive): Require mode arg, so that we can check
64950         types better.  Put it just after flags.  Change cwd failure
64951         indicator from pointer-to-bool to pointer-to-errno-value.
64952         All callers changed.
64953         Invoke openat_save_fail and/or openat_restore_fail if
64954         cwd_errno is null, so that openat can call us.
64955         (openat_permissive, fdopendir, fstatat, unlinkat):
64956         Simplify errno handling to avoid some duplicate code,
64957         as it's OK to set errno on success.
64958         * lib/openat.h: Revamp code so that function macros depend on
64959         __OPENAT_PREFIX only, not also on AT_FDCWD.
64960         (openat_ro): Remove.  Caller changed to use openat_permissive.
64961         (openat_permissive): Now a macro, if not a function.
64962         (openat_restore_fail, openat_save_fail): Now always functions,
64963         since mkdirat needs them even if __OPENAT_PREFIX is defined.
64964
64965         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
64966         and openat.c.
64967         * lib/mkdirat.c: Include openat-priv.h.
64968         Remove definitions of macros defined therein.
64969         * lib/openat.c: Likewise.
64970
64971         * lib/mkdirat.c (mkdirat): New file and function.
64972         * lib/openat.h (mkdirat): Declare.
64973
64974         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
64975
64976         * lib/openat.h (openat_permissive): Declare.
64977         (openat_ro): Define.
64978
64979         * lib/openat.c (EXPECTED_ERRNO): New macro.
64980         (openat_permissive): New function -- used in remove.c rewrite.
64981         (all functions): Set errno just before returning, only if there
64982         was an actual failure.
64983         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
64984
64985         Emulate openat-family functions using Linux's procfs, if possible.
64986         Idea and some code based on Ulrich Drepper's glibc changes.
64987
64988         * lib/openat.c: (BUILD_PROC_NAME): New macro.
64989         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
64990         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
64991         before falling back on save_cwd and restore_cwd.
64992         (fdopendir, fstatat, unlinkat): Likewise.
64993
64994         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
64995         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
64996
64997         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
64998         as second argument to va_arg.  Otherwise, some versions of gcc
64999         warn that `if this code is reached, the program will abort'.
65000
65001 2006-01-09  Jim Meyering  <jim@meyering.net>
65002
65003         Sync from coreutils.
65004         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
65005         Require openat-priv.h.
65006
65007 2006-01-09  Bruno Haible  <bruno@clisp.org>
65008
65009         * modules/strnlen (Include): Use strnlen.h.
65010
65011 2006-01-09  Bruno Haible  <bruno@clisp.org>
65012
65013         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
65014
65015 2006-01-09  Bruno Haible  <bruno@clisp.org>
65016
65017         * lib/sysexit_.h (EX_OK): New macro.
65018         Suggested by Martin Lambers <marlam@marlam.de>.
65019
65020 2006-01-09  Bruno Haible  <bruno@clisp.org>
65021
65022         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
65023         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
65024
65025 2006-01-09  Bruno Haible  <bruno@clisp.org>
65026
65027         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
65028         numbers.
65029
65030 2006-01-09  Bruno Haible  <bruno@clisp.org>
65031
65032         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
65033         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
65034         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
65035         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
65036
65037 2006-01-09  Bruno Haible  <bruno@clisp.org>
65038
65039         * build-aux/javacomp.sh.in: New file, moved from lib/.
65040         * modules/javacomp-script (Files): Update.
65041         (configure.ac): Add AC_CONFIG_FILES invocation.
65042         (EXTRA_DIST): Remove variable.
65043
65044         * build-aux/javaexec.sh.in: New file, moved from lib/.
65045         * modules/javaexec (Files): Update.
65046         (configure.ac): Add AC_CONFIG_FILES invocation.
65047         (EXTRA_DIST): Remove javaexec.sh.in.
65048
65049         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
65050         * modules/csharpcomp-script (Files): Update.
65051         (configure.ac): Add AC_CONFIG_FILES invocation.
65052         (EXTRA_DIST): Remove variable.
65053
65054         * build-aux/csharpexec.sh.in: New file, moved from lib/.
65055         * modules/csharpexec (Files): Update.
65056         (configure.ac): Add AC_CONFIG_FILES invocation.
65057         (EXTRA_DIST): Remove csharpexec.sh.in.
65058
65059 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
65060
65061         Sync from coreutils.
65062
65063         Add POSIX ACL support
65064         * lib/acl.h (copy_acl, set_acl): Add declarations.
65065         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
65066         systems other than Linux.
65067         (chmod_or_fchmod): New function: use fchmod when possible,
65068         and chmod otherwise.
65069         (file_has_acl): Add a POSIX ACL implementation, with a
65070         Linux-specific subcase.
65071         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
65072         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
65073         acls are unsupported.
65074         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
65075         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
65076         are unsupported.
65077
65078 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
65079
65080         Sync from coreutils.
65081         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
65082
65083 2006-01-07  Bruno Haible  <bruno@clisp.org>
65084
65085         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
65086         gl_EARLY.
65087
65088 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
65089
65090         * lib/strftime.c (tzname): Don't declare if it is already #defined.
65091         Problem reported for Mingw by Mark Junker.
65092
65093 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
65094
65095         * README: Gnulib normally doesn't generate a tarball.
65096
65097 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
65098
65099         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
65100         long int, not int, for nanosecond counts, so that people who are
65101         used to POSIX struct timespec won't be surprised.  Reported by Jim
65102         Meyering.
65103
65104 2005-12-28  Bruno Haible  <bruno@clisp.org>
65105
65106         * build-aux/config.rpath: Update from GNU gettext.
65107
65108 2005-12-16  Jim Meyering  <jim@meyering.net>
65109
65110         * modules/fprintftime: New module.
65111         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
65112
65113 2005-12-16  Jim Meyering  <jim@meyering.net>
65114
65115         * m4/fprintftime.m4: New file.
65116
65117 2005-12-16  Jim Meyering  <jim@meyering.net>
65118
65119         * lib/fprintftime.c, lib/fprintftime.h: New files.
65120
65121 2005-12-15  Simon Josefsson  <jas@extundo.com>
65122
65123         * modules/socklen (configure.ac): Fix M4 macro name, to align with
65124         new m4/socklen.m4.
65125
65126 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
65127
65128         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
65129         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
65130
65131 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
65132
65133         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
65134         * lib/argp-help.c (fill_in_uparams): Check if the constructed
65135         struct uparams is valid. Fall back to the default values if it is
65136         not.
65137
65138 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
65139
65140         * modules/argp (Files): Add argp-pin.c
65141         (Depends-on): dirname
65142         (lib_SOURCES): Add argp-pin.c
65143
65144 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
65145
65146         * m4/argp.m4:  Check if program_invocation_name and
65147         program_invocation_short_name are declared and define appropriate
65148         macros if they are not.
65149
65150 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
65151
65152         * lib/argp-help.c (__argp_base_name): New function
65153         (__argp_short_program_name): Rewrite using __argp_base_name
65154         * lib/argp-namefrob.h: Define program_invocation_name and
65155         program_invocation_short_name if requested
65156         (__argp_base_name): Add prototype
65157         * lib/argp-parse.c (argp_def): Use gettext wrappers
65158         (argp_default_parser): Use __argp_base_name
65159         * lib/argp-pin.c: New file. Defines program_invocation_name and
65160         program_invocation_short_name on systems that lack them.
65161
65162 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
65163
65164         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
65165         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
65166         porting problem reported by Georg Schwarz in
65167         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
65168
65169 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
65170
65171         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
65172         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
65173         porting problem reported by Georg Schwarz in
65174         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
65175
65176 2005-12-05  Bruno Haible  <bruno@clisp.org>
65177
65178         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
65179         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
65180         Reported by Mark Junker <mjscod@gmx.de>.
65181
65182 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
65183
65184         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
65185         Use implementation from Albert Chin, with some
65186         comments/corrections by Stepan Kasal and myself.
65187
65188 2005-12-02  Bruno Haible  <bruno@clisp.org>
65189
65190         * gnulib-tool (func_import): Accept GPLed build tool modules when
65191         --lgpl is given.
65192         * modules/csharpcomp-script: New file.
65193         * modules/csharpcomp: Depend on it.
65194         * modules/javacomp-script: New file.
65195         * modules/javacomp: Depend on it.
65196         Suggested by Simon Josefsson.
65197
65198 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
65199
65200         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
65201         statement, to work around an HP-UX 10.20 compiler bug reported by
65202         Peter O'Gorman.
65203
65204 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
65205
65206         * modules/savedir (Depends-on): Add openat.
65207
65208 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
65209
65210         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
65211         (uintmax_t) [defined uintmax_t]: Do not declare.
65212         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
65213         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
65214         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
65215         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
65216         sake of portability to weird hosts that C allows (though we don't
65217         know of any practical examples).
65218
65219         * lib/savedir.h (fdsavedir): New decl.
65220         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
65221         contains most of the former guts of savedir.
65222         (savedir): Use savedirstream.
65223         Include "openat.h".
65224
65225 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
65226
65227         * modules/obstack (Files): Add m4/ulonglong.m4.
65228         Problem reported by Davide Angelocola.
65229
65230 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
65231
65232         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
65233         coreutils no longer futzes with rounding modes.
65234
65235 2005-11-14  Jim Meyering  <jim@meyering.net>
65236
65237         * lib/mkstemp-safer.c: Include <config.h>, required for possible
65238         replacement of mkstemp.
65239
65240 2005-11-10  Simon Josefsson  <jas@extundo.com>
65241
65242         * lib/readline.c: Remove EOL.
65243
65244 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
65245
65246         * modules/gethrxtime (Depends-on): Add gettime.
65247
65248 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
65249
65250         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
65251         or gettimeofday; no longer needed.
65252
65253 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
65254
65255         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
65256         time business.
65257         (gethrxtime) [! (HAVE_NANOUPTIME
65258         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
65259         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
65260         our own approximation.
65261
65262 2005-11-08  Eric Blake  <ebb9@byu.net>
65263
65264         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
65265
65266 2005-11-08  Eric Blake  <ebb9@byu.net>
65267
65268         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
65269
65270 2005-11-04  Bruno Haible  <bruno@clisp.org>
65271
65272         * gnulib-tool: Implement --update mode.
65273
65274 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
65275
65276         Fix porting problem reported by Theodoros V. Kalamatianos.
65277         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
65278         Don't assume that futimes failing means we must fail.
65279
65280 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
65281
65282         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
65283         variables to suggest the intended function of the PATH_MAX check.
65284
65285 2005-10-30  Kean Johnston  <jkj@sco.com>
65286
65287         Trivial changes to support SCO systems.
65288         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
65289         as PATH_MAX.
65290         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
65291         where __ptr is null when no I/O is pending.
65292
65293 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
65294
65295         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
65296         leave errno alone.  Problem reported by Dmitry V. Levin.
65297
65298 2005-10-28  Simon Josefsson  <jas@extundo.com>
65299
65300         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
65301         Test more.
65302
65303         * tests/test-gc-md2.c, tests/test-md2.c: New files.
65304
65305         * modules/md2, modules/md2-tests: New files.
65306
65307 2005-10-28  Simon Josefsson  <jas@extundo.com>
65308
65309         * m4/inet_ntop.m4: More tests.
65310
65311         * m4/gc-md2.m4, md2.m4: New file.
65312
65313 2005-10-28  Simon Josefsson  <jas@extundo.com>
65314
65315         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
65316         "restrict" keywords, as per POSIX.  Protect the function
65317         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
65318         Don't use K&R prototypes.  Check the sprintf return values.
65319         Re-define EAFNOSUPPORT if not present.  Indent.
65320
65321         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
65322         suggested by Bruno Haible <bruno@clisp.org>.
65323
65324         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
65325
65326         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
65327
65328         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
65329         libgcrypt).
65330
65331         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
65332
65333         * lib/md2.h, lib/md2.c: New files.
65334
65335 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
65336
65337         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
65338         errno alone.  Problem reported by Frederic Jolliton.
65339
65340 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
65341
65342         * modules/verify (License): Change from GPL to LGPL.  This is a
65343         tiny module and there are apparently near-equivalents that are
65344         under the BSD license.
65345
65346 2005-10-24  Simon Josefsson  <jas@extundo.com>
65347
65348         * modules/sha1: Relicense to LGPL.
65349
65350 2005-10-24  Simon Josefsson  <jas@extundo.com>
65351
65352         * lib/md4.h: Shrink buffer size, now that we changed the type.
65353
65354 2005-10-23  Simon Josefsson  <jas@extundo.com>
65355
65356         * gnulib-tool (func_import): Fix --tests-base.
65357
65358 2005-10-22  Simon Josefsson  <jas@extundo.com>
65359
65360         * modules/arcfour (Depends-on): Need stdint.
65361
65362 2005-10-22  Simon Josefsson  <jas@extundo.com>
65363
65364         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
65365         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
65366
65367 2005-10-22  Simon Josefsson  <jas@extundo.com>
65368
65369         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
65370         suggested by Bruno Haible <bruno@clisp.org>.
65371
65372 2005-10-22  Simon Josefsson  <jas@extundo.com>
65373
65374         * lib/crc.h: Include stddef.h, for size_t.
65375
65376 2005-10-22  Simon Josefsson  <jas@extundo.com>
65377
65378         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
65379         arcfour_context struct (simplify test vector testing in GNU
65380         Shishi).
65381
65382 2005-10-21  Simon Josefsson  <jas@extundo.com>
65383
65384         * modules/des, modules/des-tests: New files.
65385
65386         * modules/gc-des, modules/gc-des-tests: New files.
65387
65388         * tests/test-des.c, tests/test-gc-des.c: New file.
65389
65390 2005-10-21  Simon Josefsson  <jas@extundo.com>
65391
65392         * modules/arctwo, modules/arctwo-tests: New files.
65393
65394         * tests/test-arctwo.c: New file.
65395
65396         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
65397
65398         * tests/test-gc-arctwo.c: New file.
65399
65400 2005-10-21  Simon Josefsson  <jas@extundo.com>
65401
65402         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
65403         Bruno Haible <bruno@clisp.org>.
65404
65405         * m4/gc-des.m4: New file.
65406
65407 2005-10-21  Simon Josefsson  <jas@extundo.com>
65408
65409         * m4/arctwo.m4: New file.
65410
65411         * m4/gc-arctwo.m4: New file.
65412
65413 2005-10-21  Simon Josefsson  <jas@extundo.com>
65414
65415         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
65416         block.
65417
65418 2005-10-21  Simon Josefsson  <jas@extundo.com>
65419
65420         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
65421         <bruno@clisp.org>.
65422
65423         * lib/hmac-sha1.c (hmac_sha1): Likewise.
65424
65425         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
65426         Bruno Haible <bruno@clisp.org>.
65427
65428         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
65429         <bruno@clisp.org>.
65430
65431 2005-10-21  Simon Josefsson  <jas@extundo.com>
65432
65433         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
65434
65435 2005-10-21  Simon Josefsson  <jas@extundo.com>
65436
65437         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
65438
65439 2005-10-21  Simon Josefsson  <jas@extundo.com>
65440
65441         * lib/des.h, lib/des.c: New files.
65442
65443         * lib/gc-gnulib.c: Support DES.c
65444
65445 2005-10-21  Simon Josefsson  <jas@extundo.com>
65446
65447         * lib/arctwo.h, lib/arctwo.c: New files.
65448
65449         * lib/gc-gnulib.c: Support ARCTWO.
65450
65451 2005-10-21  Simon Josefsson  <jas@extundo.com>
65452
65453         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
65454         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
65455
65456 2005-10-21  Simon Josefsson  <jas@extundo.com>
65457
65458         * gnulib-tool (func_import, func_create_testdir): Define automake
65459         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
65460         Makefile.am snippet),
65461         suggested by Bruno Haible <bruno@clisp.org>.
65462
65463         * modules/gc (Makefile.am): Use it.
65464
65465 2005-10-21  Bruno Haible  <bruno@clisp.org>
65466
65467         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
65468         patch.
65469
65470 2005-10-19  Simon Josefsson  <jas@extundo.com>
65471
65472         * tests/test-gc-rijndael.c: New file.
65473
65474         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
65475
65476 2005-10-19  Simon Josefsson  <jas@extundo.com>
65477
65478         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
65479         interface too.
65480
65481 2005-10-19  Simon Josefsson  <jas@extundo.com>
65482
65483         * tests/test-gc-arcfour.c: New file.
65484
65485         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
65486
65487 2005-10-19  Simon Josefsson  <jas@extundo.com>
65488
65489         * modules/gc-md4, modules/gc-md4-tests: New file.
65490
65491         * tests/test-gc-md4.c: New file.
65492
65493 2005-10-19  Simon Josefsson  <jas@extundo.com>
65494
65495         * m4/gc-md4.m4: New file.
65496
65497 2005-10-19  Simon Josefsson  <jas@extundo.com>
65498
65499         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
65500         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
65501         <kasal@ucw.cz>.
65502
65503 2005-10-19  Simon Josefsson  <jas@extundo.com>
65504
65505         * m4/gc-arcfour.m4: New file.
65506
65507         * m4/gc-rijndael.m4: New file.
65508
65509 2005-10-19  Simon Josefsson  <jas@extundo.com>
65510
65511         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
65512
65513 2005-10-19  Simon Josefsson  <jas@extundo.com>
65514
65515         * lib/gc-gnulib.c: Support ARCFOUR.
65516
65517 2005-10-19  Simon Josefsson  <jas@extundo.com>
65518
65519         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
65520         support.
65521
65522         * lib/gc.h: Add ECB enum type.
65523
65524         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
65525
65526 2005-10-18  Simon Josefsson  <jas@extundo.com>
65527
65528         * tests/test-md5.c: New file.
65529
65530         * modules/md5-tests: New file.
65531
65532 2005-10-18  Simon Josefsson  <jas@extundo.com>
65533
65534         * tests/test-md4.c: New file.
65535
65536         * modules/md4, modules/md4-tests: New files.
65537
65538 2005-10-18  Simon Josefsson  <jas@extundo.com>
65539
65540         * m4/md4.m4: New file.
65541
65542 2005-10-18  Simon Josefsson  <jas@extundo.com>
65543
65544         * lib/md4.h, lib/md4.c: New files, based on md5.?.
65545
65546 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
65547
65548         * gnulib-tool (func_create_testdir): Omit the second check whether
65549         BUILT_SOURCES in nonempty.
65550
65551 2005-10-17  Simon Josefsson  <jas@extundo.com>
65552
65553         * tests/test-rijndael.c: New file.
65554
65555 2005-10-17  Simon Josefsson  <jas@extundo.com>
65556
65557         * modules/sha1: Depend on stdint instead of md5.
65558
65559         * modules/md5: Depend on stdint, remove uint32_t.
65560
65561 2005-10-17  Simon Josefsson  <jas@extundo.com>
65562
65563         * modules/gc-sha1-tests: New file.
65564
65565         * tests/test-gc-sha1.c: New file.
65566
65567 2005-10-17  Simon Josefsson  <jas@extundo.com>
65568
65569         * m4/md5.m4: Remove call to uint32_t.m4.
65570
65571 2005-10-17  Simon Josefsson  <jas@extundo.com>
65572
65573         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
65574
65575         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
65576         md5.h.
65577
65578         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
65579
65580         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
65581
65582 2005-10-17  Simon Josefsson  <jas@extundo.com>
65583
65584         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
65585
65586 2005-10-17  Simon Josefsson  <jas@extundo.com>
65587
65588         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
65589
65590 2005-10-17  Simon Josefsson  <jas@extundo.com>
65591
65592         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
65593
65594         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
65595
65596 2005-10-17  Bruno Haible  <bruno@clisp.org>
65597
65598         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
65599         that it can also be used in a test.
65600
65601 2005-10-16  Bruno Haible  <bruno@clisp.org>
65602
65603         * gnulib-tool (func_emit_tests_Makefile_am): Also define
65604         TESTS_ENVIRONMENT, so that individual tests can augment it.
65605
65606         * gnulib-tool (func_create_testdir): Use an intermediate target for
65607         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
65608         macros, like $(ALLOCA_H), which cannot be passed through the command
65609         line.
65610
65611 2005-10-15  Simon Josefsson  <jas@extundo.com>
65612
65613         * modules/rijndael-tests: New file.
65614
65615         * modules/rijndael: New file.
65616
65617 2005-10-15  Simon Josefsson  <jas@extundo.com>
65618
65619         * m4/rijndael.m4: New file.
65620
65621 2005-10-15  Simon Josefsson  <jas@extundo.com>
65622
65623         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
65624
65625         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
65626
65627 2005-10-14  Simon Josefsson  <jas@extundo.com>
65628
65629         * tests/test-arcfour.c: New file.
65630
65631         * modules/arcfour, modules/arcfour-tests: New files.
65632
65633 2005-10-14  Simon Josefsson  <jas@extundo.com>
65634
65635         * m4/arcfour.m4: New file.
65636
65637 2005-10-14  Simon Josefsson  <jas@extundo.com>
65638
65639         * lib/arcfour.h, lib/arcfour.c: New files.
65640
65641 2005-10-14  Roland McGrath  <roland@redhat.com>
65642
65643         Import from libc.  [BZ #1331]
65644         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
65645         macro argument.
65646         Reported by Matej Vela <vela@debian.org>.
65647
65648 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
65649
65650         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
65651         include <wchar.h>; no longer needed.
65652
65653 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
65654
65655         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
65656
65657 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
65658         and  Ulrich Drepper  <drepper@redhat.com>
65659
65660         Import from libc.
65661         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
65662         instead of inline stream orientation test and two separate
65663         function calls.  Pay no attention to USE_IN_LIBIO.
65664
65665 2005-10-13  Simon Josefsson  <jas@extundo.com>
65666
65667         * modules/gc-hmac-md5-tests: New file.
65668
65669         * tests/test-gc-hmac-sha1.c: New file.
65670
65671         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
65672
65673         * modules/gc-hmac-md5-tests: New file.
65674
65675         * tests/test-gc-md5.c: New file.
65676
65677         * modules/gc-md5-tests: New file.
65678
65679 2005-10-13  Simon Josefsson  <jas@extundo.com>
65680
65681         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
65682         Move memory allocation outside of loop.
65683
65684 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
65685
65686         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
65687         intermediate directory is in a read-only file system.  Problem
65688         reported by Eric Blake.
65689
65690 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
65691
65692         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
65693
65694 2005-10-12  Simon Josefsson  <jas@extundo.com>
65695
65696         * tests/test-hmac-sha1.c: New file.
65697
65698         * modules/hmac-sha1-tests: New file.
65699
65700         * modules/hmac-sha1: New file.
65701
65702 2005-10-12  Simon Josefsson  <jas@extundo.com>
65703
65704         * modules/gc-sha1: New file.
65705
65706 2005-10-12  Simon Josefsson  <jas@extundo.com>
65707
65708         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
65709
65710         * tests/test-gc-pbkdf2-sha1.c: New file.
65711
65712 2005-10-12  Simon Josefsson  <jas@extundo.com>
65713
65714         * modules/gc-md5, modules/gc-hmac-md5: New files.
65715
65716         * modules/gc (Files): Remove md5, memxor and hmac files.
65717
65718 2005-10-12  Simon Josefsson  <jas@extundo.com>
65719
65720         * m4/gc-pbkdf2-sha1.m4: New file.
65721
65722         * m4/gc-hmac-sha1.m4: New file.
65723
65724         * m4/gc-sha1: New file.
65725
65726         * m4/hmac-sha1.m4: New file.
65727
65728 2005-10-12  Simon Josefsson  <jas@extundo.com>
65729
65730         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
65731
65732         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
65733
65734 2005-10-12  Simon Josefsson  <jas@extundo.com>
65735
65736         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
65737         suggested by Bruno Haible <bruno@clisp.org>.
65738
65739 2005-10-12  Simon Josefsson  <jas@extundo.com>
65740
65741         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
65742
65743 2005-10-12  Simon Josefsson  <jas@extundo.com>
65744
65745         * lib/gc-pbkdf2-sha1.c: New file.
65746
65747         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
65748
65749 2005-10-12  Simon Josefsson  <jas@extundo.com>
65750
65751         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
65752
65753         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
65754
65755 2005-10-12  Simon Josefsson  <jas@extundo.com>
65756
65757         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
65758         GC_USE_HMAC_MD5, respectively.
65759
65760         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
65761         (gc_md5): Fix typo.
65762
65763         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
65764
65765         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
65766
65767         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
65768
65769 2005-10-12  Bruno Haible  <bruno@clisp.org>
65770
65771         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
65772         Reported by Stepan Kasal <kasal@ucw.cz>.
65773
65774 2005-10-11  Simon Josefsson  <jas@extundo.com>
65775
65776         * tests/test-crc.c: New file.
65777
65778         * modules/crc, modules/crc-tests: New files.
65779
65780 2005-10-11  Simon Josefsson  <jas@extundo.com>
65781
65782         * m4/crc.m4: New file.
65783
65784 2005-10-11  Simon Josefsson  <jas@extundo.com>
65785
65786         * lib/gc.h: Add gc_hash and gc_hash_buffer.
65787
65788         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
65789
65790         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
65791
65792 2005-10-11  Simon Josefsson  <jas@extundo.com>
65793
65794         * lib/crc.h, lib/crc.c: New files.
65795
65796         * lib/gc.h (gc_hash_buffer): Add doc.
65797
65798 2005-10-11  Bruno Haible  <bruno@clisp.org>
65799
65800         * modules/c-strcasestr: New file.
65801         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
65802
65803 2005-10-11  Bruno Haible  <bruno@clisp.org>
65804
65805         * modules/c-strcase: New file.
65806         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
65807
65808 2005-10-11  Bruno Haible  <bruno@clisp.org>
65809
65810         * lib/strcasecmp.c: Include limits.h.
65811         (strcasecmp): Avoid integer overflow on exotic platforms.
65812         * lib/strncasecmp.c: Include limits.h.
65813         (strncasecmp): Avoid integer overflow on exotic platforms.
65814         Reported by Paul Eggert.
65815
65816 2005-10-11  Bruno Haible  <bruno@clisp.org>
65817
65818         * lib/c-strcasestr.h: New file, from GNU gettext.
65819         * lib/c-strcasestr.c: New file, from GNU gettext.
65820
65821 2005-10-11  Bruno Haible  <bruno@clisp.org>
65822
65823         * lib/c-strcase.h: New file, from GNU gettext.
65824         * lib/c-strcasecmp.c: New file, from GNU gettext.
65825         * lib/c-strncasecmp.c: New file, from GNU gettext.
65826
65827 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
65828
65829         * modules/mempcpy (License): GPL -> LGPL.
65830         * modules/strchrnul (License): Likewise.
65831         * modules/sysexits (License): Likewise.
65832
65833 2005-10-08  Simon Josefsson  <jas@extundo.com>
65834
65835         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
65836
65837 2005-10-07  Simon Josefsson  <jas@extundo.com>
65838
65839         * m4/memxor.m4: Remove gl_C_RESTRICT call.
65840
65841 2005-10-06  Simon Josefsson  <jas@extundo.com>
65842
65843         * tests/test-hmac-md5.c: New file.
65844
65845         * modules/hmac-md5-tests: New file.
65846
65847         * modules/hmac-md5: New file.
65848
65849 2005-10-06  Simon Josefsson  <jas@extundo.com>
65850
65851         * m4/hmac-md5.m4: New file.
65852
65853         * m4/memxor.m4: Require gl_C_RESTRICT.
65854
65855 2005-10-06  Simon Josefsson  <jas@extundo.com>
65856
65857         * lib/memxor.c (memxor): Avoid casts and warnings.
65858
65859 2005-10-06  Simon Josefsson  <jas@extundo.com>
65860
65861         * lib/hmac-md5.c: New file.
65862
65863         * lib/hmac.h: New file.
65864
65865 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
65866
65867         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
65868         promotes to int, not unsigned int, to catch the AIX 5.3
65869         compiler bug.
65870
65871 2005-10-05  Simon Josefsson  <jas@extundo.com>
65872
65873         * modules/memxor: New file.
65874
65875         * modules/iconv (Files): Move config.rpath to havelib, it is used
65876         there.
65877
65878         * modules/havelib (Files): Add config.rpath.
65879
65880 2005-10-05  Simon Josefsson  <jas@extundo.com>
65881
65882         * m4/memxor.m4: New file.
65883
65884 2005-10-05  Simon Josefsson  <jas@extundo.com>
65885
65886         * lib/memxor.c (memxor): Fix compiler error.
65887
65888         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
65889         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
65890
65891         * lib/memxor.h, lib/memxor.c: New files.
65892
65893         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
65894         we assume all systems have it, suggested by Jim Meyering
65895         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
65896         any systems lack sys/socket.h; mingw32 is known to lack it, but we
65897         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
65898         same reasons.
65899
65900 2005-10-05  Simon Josefsson  <jas@extundo.com>
65901
65902         * config/srclist.txt: Add glibc bug 1423 for md5.h.
65903
65904 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
65905
65906         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
65907         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
65908         needed, since the source code now assumes these .h files.
65909
65910 2005-10-05  Derek Price  <derek@ximbiot.com>
65911
65912         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
65913
65914 2005-10-05  Bruno Haible  <bruno@clisp.org>
65915
65916         * modules/stdint (License): Change to LGPL.
65917
65918 2005-10-04  Simon Josefsson  <jas@extundo.com>
65919
65920         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
65921         D. Baushke" <mdb@gnu.org>.
65922
65923 2005-10-04  Bruno Haible  <bruno@clisp.org>
65924
65925         * lib/verify.h (verify_true): Provide alternative definition for C++.
65926
65927 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
65928
65929         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
65930         (SSIZE_MAX): New macro, if not already defined.
65931         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
65932         than 2 GiB.
65933
65934 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
65935
65936         Sync from coreutils.
65937         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
65938         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
65939         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
65940         ULLONG_MAX doesn't work with 2.7.2.1.
65941
65942 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
65943
65944         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
65945         From Ben Pfaff.
65946
65947         * modules/exclude (Depends-on): Depend on verify.
65948         * modules/strtoimax (Depends-on): Likewise.
65949         * modules/utimecmp (Depends-on): Likewise.
65950
65951 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
65952
65953         * lib/exclude.c: Include verify.h.
65954         (verify): Remove.  All callers changed to use verify.h's version.
65955         * lib/strtoimax.c: Likewise.
65956         * lib/utimecmp.c: Likewis.e
65957
65958         Sync from coreutils.
65959         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
65960         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
65961         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
65962         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
65963         bother returning ENOSYS if settimeofday or stime fails; just let
65964         them return whatever errno they want to return.
65965         * lib/utimens.c: Include unistd.h, for dup2.
65966         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
65967         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
65968
65969 2005-10-02  Jim Meyering  <jim@meyering.net>
65970
65971         Sync from coreutils.
65972         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
65973         from glibc-2.2.5 that fails for read-only files.
65974
65975 2005-10-02  Jim Meyering  <jim@meyering.net>
65976
65977         Sync from coreutils.
65978         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
65979         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
65980         `#if HAVE_CONFIG_H'.
65981         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
65982         Remove AT_FDCWD test.
65983         Do not consume the fd unless successful.
65984         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
65985         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
65986         block, so that we don't even try to compile it if settimeofday is
65987         available.  This works around a compilation failure on OSF1 V5.1,
65988         due to stime requiring a `long int*' while tv_sec is `int'.
65989
65990 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
65991
65992         Sync from coreutils.
65993         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
65994         against `yes', rather than just testing for nonempty.
65995
65996 2005-10-01  Simon Josefsson  <jas@extundo.com>
65997
65998         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
65999         and Darwin.
66000
66001         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
66002         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
66003         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
66004         freeaddrinfo and gai_strerror are declared by the POSIX headers.
66005         Check if struct addrinfo is declared.
66006
66007 2005-10-01  Simon Josefsson  <jas@extundo.com>
66008
66009         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
66010         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
66011         AI_* and EAI_* definitions.  Protect function declarations.
66012
66013 2005-10-01  Jim Meyering  <jim@meyering.net>
66014
66015         Sync from coreutils.
66016
66017         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
66018         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
66019         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
66020         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
66021         in the inet and nsl libraries.  Required on Solaris 5.7.
66022
66023 2005-10-01  Jim Meyering  <jim@meyering.net>
66024
66025         Sync from coreutils.
66026         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
66027         in the inet and nsl libraries.  Required on Solaris 5.7.
66028
66029 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
66030
66031         * lib/getdelim.c (getdelim): Remove unused variables.
66032
66033 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
66034
66035         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
66036         so that the code works even with ancient cpp.  Portability problem
66037         with GCC 2.7.2.1 reported by Thomas M.Ott.
66038
66039 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
66040
66041         * modules/regex (Depends-on): Add strcase.
66042
66043         * modules/gethostname (Licence): Change from GPL to LGPL, since
66044         gethostname.c is a trivial implementation of a standard library
66045         function.
66046         * modules/poll (License): Change from GPL to LGPL, since it's
66047         derived from LGPL code.
66048
66049 2005-09-27  Jim Meyering  <jim@meyering.net>
66050
66051         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
66052         HAVE_CONFIG_H.
66053
66054         * lib/intprops.h (signed_type_or_expr__): Define.
66055         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
66056         for unsigned types.
66057
66058 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
66059
66060         * lib/verify.h (verify_expr): Remove, replacing with:
66061         (verify_true): New macro that returns true instead of void.
66062         (verify_type__): Remove.
66063         (verify): Use verify_true rather than verify_type__.
66064
66065 2005-09-26  Bruno Haible  <bruno@clisp.org>
66066
66067         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
66068         is necessary.
66069         (lib_SOURCES): Remove mbchar.c.
66070         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
66071         (Files): Add m4/mbrtowc.m4.
66072         * modules/mbiter: Likewise.
66073         * modules/mbuiter: Likewise.
66074
66075 2005-09-26  Bruno Haible  <bruno@clisp.org>
66076
66077         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
66078         compile mbchar.c if they are not both present.
66079         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
66080         * m4/mbiter.m4 (gl_MBITER): Likewise.
66081         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
66082         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
66083         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
66084
66085 2005-09-25  Jim Meyering  <jim@meyering.net>
66086
66087         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
66088         also uses socklen_t.
66089
66090 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
66091
66092         * lib/utimens.c (ENOSYS): Define if not already defined.
66093         (futimens): Support having a null PATH if the file descriptor
66094         is nonnegative.
66095
66096         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
66097         Remove.
66098         (__attribute): Define to empty unless GCC 3.1 or later.
66099         This works around a core dump on OpenBSD 3.4, which has GCC
66100         2.95.3, which dumps core when given __attribute__(()).  It also
66101         simplifies other tests, since we really don't want to bother with
66102         worrying about which ancient version of GCC supported what.
66103         Original problem reported by Yoann Vandoorselaere, with part of
66104         the fix suggested by Derek Price.
66105
66106 2005-09-24  Jim Meyering  <jim@meyering.net>
66107
66108         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
66109         so we can once again use a positive bitfield width of 1 -- now we
66110         don't have to explain why we were using a bitfield width of 2.
66111
66112 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
66113
66114         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
66115         and similarly for the other external symbols.  Problem reported
66116         by James Gallager.
66117
66118         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
66119         bug reported by Jim Meyering.
66120
66121         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
66122         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
66123         not needed, since socklen is a prerequisite module.
66124
66125 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
66126
66127         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
66128         Problem reported by Eric Blake.
66129         (getaddrinfo): Initialize se so that it's not garbage.
66130         Redo internal storage allocation so that it doesn't make unportable
66131         assumptions about alignment.
66132         Fix a memory leak.
66133
66134         * lib/utimens.c (futimens): Use futimesat if available.
66135         Prefer it to futimes since it doesn't have the futimes bug.
66136
66137         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
66138         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
66139         Instead, declare a function that returns a pointer to an array,
66140         and use verify_type__ to declare the size of the array.
66141         Problem and germ of a solution reported by Bruno Haible.
66142         (verify_type__): Use 2, not 1, for bitfield size, to avoid
66143         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
66144
66145 2005-09-23  Jim Meyering  <jim@meyering.net>
66146
66147         Sync from coreutils.
66148         Correct build failure (socklen_t not defined) on at least
66149         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
66150         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
66151
66152 2005-09-23  Jim Meyering  <jim@meyering.net>
66153
66154         * modules/getaddrinfo (Depends-on): Add socklen.
66155
66156 2005-09-23  Bruno Haible  <bruno@clisp.org>
66157
66158         * tests/test-verify.c: New file.
66159
66160 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
66161
66162         Sync from coreutils.
66163
66164         * modules/argmatch (Depends-on): Add verify.
66165         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
66166         unistd-safer.
66167         * modules/save-cwd (Depends-on): Likewise.
66168
66169         * modules/openat (Files): Add lib/openat-die.c.
66170         (Depends-on): Remove error, exitfail.
66171         Add dirname.
66172
66173         * modules/verify: New file.
66174         * MODULES.html.sh (Diagnostics <assert.h>): New section,
66175         with "verify" module.
66176
66177 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
66178
66179         Sync from coreutils.
66180
66181         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
66182         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
66183         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
66184         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
66185         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
66186         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
66187         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
66188         Don't bother checking for string.h, stdlib.h, unistd.h.
66189         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
66190         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
66191         module's job.
66192         * m4/jm-macros.m4 (gl_MACROS): Likewise.
66193         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
66194
66195         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
66196         (gl_GETDATE): Use it.
66197
66198         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
66199
66200 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
66201
66202         Sync from coreutils.
66203
66204         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
66205         stat-time.h.
66206         * lib/argmatch.h: Include verify.h
66207         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
66208         (ARGMATCH_ASSERT): Remove; unused.
66209         * lib/canonicalize.c: Assume STDC_HEADERS.
66210         * lib/exclude.c: Include "strcase.h".
66211         * lib/regex_internal.h [!defined _LIBC]: Likewise.
66212         * lib/getusershell.c: Include stdio--.h rather than stdio.h
66213         and stdio-safer.h.
66214         (getusershell): Call fopen, not fopen_safer.
66215         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
66216         Do not include unistd-safer.h.
66217         (save_cwd): Don't call fd_safer; no longer needed
66218         now that we include fcntl--.h.
66219
66220         * lib/getdate.y (relative_time): New type.
66221         (RELATIVE_TIME_0): New constant.
66222         (parser_control): Use relative_time instead of doing it ourselves.
66223         (%union): Add new relative_time rel member.
66224         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
66225         Now typeless.
66226         (relunit, relunit_snumber): Now of type rel.
66227         (zone, rel, relunit, get_date): Adjust to above changes.
66228
66229         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
66230         Do not include unistd-safer.h.
66231         (getloadavg): Don't call fd_safer; no longer needed
66232         now that we include fcntl--.h.
66233
66234         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
66235         (make_dir_parents): Treat ENOSYS like EEXIST.
66236
66237         Improve quality of diagnostics on restore_cwd failure.
66238         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
66239         (make_dir_parents): Last arg is now int * (for errno), not bool *.
66240         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
66241         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
66242         each time through the loop.  Do not diagnose restore_cwd failure;
66243         that is the caller's job (and perhaps the caller does not care).
66244
66245         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
66246         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
66247         If the file already exists but is not a directory, don't bother
66248         to try to make its parents.
66249         Close potential file descriptor leak if we can't chdir("/") (!).
66250         Don't always return true if chdir($PWD) fails; return true only
66251         if the requested action was done successfully (except for the
66252         chdir($PWD)).
66253         Don't log final directory unless we actually made it.
66254         Refactor to avoid duplicate code to fix up permissions.
66255         Don't attempt to fix up parent permissions if chdir($PWD) fails.
66256
66257         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
66258         to make it a bit faster and (I hope) clearer.
66259         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
66260         Fix bug in formats like %2N.
66261
66262         * lib/verify.h: New file.
66263
66264 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
66265
66266         Sync from coreutils.
66267         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
66268
66269 2005-09-22  Jim Meyering  <jim@meyering.net>
66270
66271         Sync from coreutils.
66272
66273         * m4/lstat.m4 (gl_FUNC_LSTAT):
66274         Use AC_LIBSOURCES to require lstat.c and lstat.h.
66275         Remove obsolete comment.
66276         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
66277         * m4/xstrtod.m4: Likewise.
66278
66279         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
66280
66281 2005-09-22  Jim Meyering  <jim@meyering.net>
66282
66283         Sync from coreutils.
66284
66285         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
66286
66287         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
66288         the .tm_year member, since otherwise gcc-4.0 would now warn about
66289         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
66290
66291         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
66292         order to avoid an unsuppressible warning from gcc on 64-bit systems.
66293
66294         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
66295         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
66296         when run in a time zone for which daylight savings time is in effect
66297         for the starting date.
66298
66299         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
66300         stop us from restricting permissions of just-created absolute-named
66301         directories.
66302         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
66303         to restore initial working directory.
66304         * lib/mkdir-p.c (make_dir_parents): New parameter:
66305         different_working_dir, to tell caller if/when we change the working
66306         directory and are unable to return to the initial one.
66307         * lib/mkdir-p.h (make_dir_parents): Update prototype.
66308         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
66309         `return false'.  This fixes a bug introduced on 2004-07-30.
66310
66311         * lib/openat.c (fdopendir): Be sure to close the supplied
66312         file descriptor before returning.  This makes our replacement
66313         implementation a little closer to Solaris's, where fdopendir
66314         ties the file descriptor to the returned DIR* pointer.
66315         * lib/openat.c (unlinkat): New function.
66316         * lib/openat.h (unlinkat): Add prototype.
66317         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
66318         (openat_restore_fail): Rename from openat_restore_die.
66319         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
66320
66321         Provide an alternative to exiting immediately upon save_cwd or
66322         restore_cwd failure.  Now, an application can arrange e.g.,
66323         to perform a longjump in that case.
66324         * lib/openat.c: Include dirname.h.
66325         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
66326         (rpl_openat, fdopendir, fstatat): Call openat_save_die
66327         and openat_restore_die rather than calling error directly.
66328         Don't include "error.h" or "exitfail.h"; they're no longer needed.
66329
66330         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
66331         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
66332         define.
66333
66334         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
66335         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
66336                             int utc, int nanoseconds);
66337         Background:
66338         date should not have to allocate a megabyte of virtual memory to
66339         handle a format argument like +%1048575T.  When implemented with
66340         strftime, it must allocate such a buffer, use strftime to fill it
66341         in, print it, then free it.
66342         With fprintftime, it simply prints everything and exits.
66343         With no need for memory allocation, that's one fewer way to fail.
66344         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
66345         optional field width, not before, so we accept %9:z, not %:9z.
66346         (my_strftime): Be sure to use L_('x') for literals.
66347
66348         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
66349         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
66350         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
66351         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
66352         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
66353         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
66354         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
66355         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
66356         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
66357         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
66358         * lib/xgethostname.c, lib/xreadlink.c:
66359         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
66360
66361         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
66362         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
66363         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
66364         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
66365         and don't include <sys/file.h>).
66366
66367 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
66368
66369         Sync from coreutils.
66370
66371         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
66372         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
66373         [!LDAV_DONE]: Avoid unused variable warning.
66374
66375 2005-09-21  Bruno Haible  <bruno@clisp.org>
66376
66377         * lib/unicodeio.h (unicode_to_mb): New declaration.
66378
66379 2005-09-20  Derek Price  <derek@ximbiot.com>
66380
66381         * lib/getaddrinfo.c: Don't include <netdb.h> included from
66382         getaddrinfo.h.
66383
66384 2005-09-20  Bruno Haible  <bruno@clisp.org>
66385
66386         * gnulib-tool: Remove trailing slashes from the values specified for
66387         --source-base, --m4-base, --tests-base, --aux-dir.
66388         Suggested by Simon Josefsson <jas@extundo.com>.
66389
66390 2005-09-20  Bruno Haible  <bruno@clisp.org>
66391
66392         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
66393         func_modules_to_filelist, func_import, func_create_testdir): Make all
66394         sorting results locale-independent, so that gnulib-cache.m4 doesn't
66395         change when gnulib-tool is invoked in a different locale.
66396
66397 2005-09-19  Simon Josefsson  <jas@extundo.com>
66398
66399         * m4/socklen.m4: Fix typo.
66400
66401 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66402
66403         Use a consistent style for including <config.h>.
66404         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
66405         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
66406         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
66407         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
66408         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
66409         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
66410         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
66411         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
66412         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
66413         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
66414         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
66415         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
66416         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
66417         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
66418         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
66419         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
66420         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
66421         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
66422         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
66423         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
66424         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
66425         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
66426         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
66427         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
66428         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
66429         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
66430         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
66431         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
66432         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
66433         lib/xstrtoumax.c, lib/yesno.c:
66434         Standardize inclusion of config.h.
66435         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
66436         lib/inttostr.h:  Removed inclusion of config.h from header files.
66437         * lib/inttostr.c:  Adjusted in-tree users.
66438         * lib/timespec.h: Remove superfluous warning to include config.h.
66439         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
66440         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
66441         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
66442         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
66443         config.h with HAVE_CONFIG_H.
66444
66445 2005-09-19  Jim Meyering  <jim@meyering.net>
66446
66447         * modules/pathmax (License): Change to LGPL.
66448
66449 2005-09-19  Derek Price  <derek@ximbiot.com>
66450
66451         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
66452
66453 2005-09-19  Bruno Haible  <bruno@clisp.org>
66454
66455         * gnulib-tool (import): Provide default for --tests-base.
66456
66457 2005-09-19  Bruno Haible  <bruno@clisp.org>
66458
66459         * doc/quote.texi: New file, extracted from gnulib.texi.
66460         * doc/ctime.texi: New file, extracted from gnulib.texi.
66461         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
66462         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
66463         * doc/gnulib.texi: Include them.
66464
66465 2005-09-18  Bruno Haible  <bruno@clisp.org>
66466
66467         Portability fix.
66468         * gnulib-tool (func_readlink): New function.
66469         (func_ln_if_changed): Use it.
66470
66471 2005-09-18  Bruno Haible  <bruno@clisp.org>
66472
66473         * gnulib-tool: Support --with-tests also with --import.
66474         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
66475         (func_import): Use variables $testsbase and $inctests. Emit a
66476         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
66477         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
66478         SUBDIRS += $testsdir.
66479         (func_create_testdir): Update.
66480
66481 2005-09-18  Bruno Haible  <bruno@clisp.org>
66482
66483         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
66484         instead of $dry_run.
66485         (func_cp_if_changed, func_mv_if_changed): Remove functions.
66486         (func_ln_if_changed): Don't handle dry-run here.
66487         (func_import): In dry-run mode, detect more precisely which actions
66488         would be performed, and don't use "...ing" verbs.
66489
66490 2005-09-18  Bruno Haible  <bruno@clisp.org>
66491
66492         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
66493         (func_import): Use join on two temporary files instead of three nested
66494         loops, in order to determine which files are new or old.
66495
66496 2005-09-18  Bruno Haible  <bruno@clisp.org>
66497
66498         * gnulib-tool (func_import): Comment out code that spits out the
66499         new files with --dry-run.
66500
66501 2005-09-18  Bruno Haible  <bruno@clisp.org>
66502
66503         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
66504
66505 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
66506
66507         * lib/stat-time.h: New file.
66508         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
66509         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
66510         in a different way.
66511         (timespec_cmp): New function.
66512         * lib/utimecmp.c: Include stat-time.h.
66513         (SYSCALL_RESOLUTION): Depend on whether various struct stat
66514         members exist, not on the obsolescent ST_MTIM_NSEC.
66515         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
66516
66517 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
66518
66519         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
66520
66521 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
66522
66523         * MODULES.html.sh (File system functions): Add stat-time.
66524         * modules/stat-time: New file.
66525         * modules/timespec (Files): Remove m4/st_mtim.m4; this
66526         is now done in a different way, by the stat-time module.
66527         * modules/utimecmp (Depends-on): Add stat-time.
66528
66529 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
66530
66531         * m4/st_mtim.m4: Remove.  Superseded by...
66532         * m4/stat-time.m4: New file.
66533         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
66534         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
66535
66536 2005-09-15  Derek Price  <derek@ximbiot.com>
66537
66538         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
66539
66540 2005-09-15  Derek Price  <derek@ximbiot.com>
66541
66542         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
66543         * lib/regex_internal.c: Ditto, using this...
66544         (__GNUC_PREREQ): ...new macro.
66545         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
66546         using...
66547         (__GNUC_PREREQ): ...this new macro.
66548
66549         * lib/strstr.h: Include string.h. Define strstr as a macro here.
66550
66551 2005-09-15  Derek Price  <derek@ximbiot.com>
66552             Paul Eggert  <eggert@cs.ucla.edu>
66553
66554         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
66555         changes, consolidating in...
66556         * lib/regex_internal.h: ...this file.
66557
66558 2005-09-13  Jim Meyering  <jim@meyering.net>
66559
66560         * lib/canon-host.c: Filter through gnu indent and reword comments
66561         slightly.
66562         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
66563
66564 2005-09-13  Derek Price  <derek@ximbiot.com>
66565
66566         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
66567         failure.
66568         Reported by Jim Meyering  <jim@meyering.net>.
66569
66570 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
66571
66572         * lib/base64.c: Typo.
66573         (base64_encode): Put b64str in initialized data section.
66574
66575 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
66576
66577         Merge glibc and coreutils changes into gnulib, plus a few
66578         extra fixes.
66579         * lib/md5.c: Use #error rather than a string.
66580         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
66581         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
66582         (__attribute__): Define to empty for non recent-GCC.
66583         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
66584         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
66585         Renamed from their non-__ counterparts, with new macros replacing
66586         them if not _LIBC.  Add __THROW attribute.
66587         (rol): Remove.
66588         (struct md5_ctx): Align buffer if using GCC.
66589         * lib/sha1.h (struct sha1_ctx): Likewise.
66590         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
66591         The old name was backwards.
66592         (NOTSWAP): Remove; not used.
66593         (rol): New macro, moved here from md5.h.
66594         (sha1_process_block): Remove a FIXME that doesn't make sense.
66595
66596 2005-09-12  Derek Price  <derek@ximbiot.com>
66597
66598         Return usable errors from canon-host.
66599         * lib/canon-host.h: New file.
66600         * lib/canon-host.c (canon_host): Wrap...
66601         (canon_host_r): ...this new function, which now relies exclusively on
66602         getaddrinfo.
66603         (ch_strerror): New function.
66604         (last_cherror): New global.
66605         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
66606         interface.
66607         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
66608         void *.
66609         (freeaddrinfo): Free ai->ai_canonname when set.
66610
66611 2005-09-12  Derek Price  <derek@ximbiot.com>
66612
66613         Make canon-host require getaddrinfo.
66614         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
66615         AC_LIBSOURCE canon-host.h.  Call...
66616         (gl_PREREQ_CANON_HOST): ...this new function, which requires
66617         gl_GETADDRINFO.
66618         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
66619
66620 2005-09-12  Derek Price  <derek@ximbiot.com>
66621
66622         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
66623         LGPL.
66624         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
66625
66626 2005-09-12  Derek Price  <derek@ximbiot.com>
66627
66628         * lib/gai_strerror.c: Include config.h when available.  Include
66629         getaddrinfo.h before other headers to test interface.
66630         Reported by Larry Jones <lawrence.jones@ugs.com>.
66631
66632 2005-09-12  Derek Price  <derek@ximbiot.com>
66633             Paul Eggert  <eggert@cs.ucla.edu>
66634
66635         * modules/glob (Files): Add glob-libc.h.
66636
66637 2005-09-12  Derek Price  <derek@ximbiot.com>
66638             Paul Eggert  <eggert@cs.ucla.edu>
66639
66640         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
66641         glob_.h, glob-libc.h.
66642         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
66643
66644 2005-09-12  Derek Price  <derek@ximbiot.com>
66645             Paul Eggert  <eggert@cs.ucla.edu>
66646
66647         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
66648         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
66649         protecting things that should be done only in gnulib contexts.
66650         * lib/glob_.h: New file, containing only the glob things needed for
66651         gnulib.
66652         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
66653         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
66654         (glob, globfree, glob_pattern_p): Now defined simply in terms of
66655         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
66656         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
66657         and to respect the namespace rules better.
66658
66659 2005-09-08  Simon Josefsson  <jas@extundo.com>
66660
66661         * modules/socklen: New file.
66662
66663 2005-09-08  Simon Josefsson  <jas@extundo.com>
66664
66665         * m4/socklen.m4: New file.
66666
66667 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
66668
66669         * modules/utimens (Files): Add m4/utimbuf.m4, since
66670         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
66671         Reported by Sergey Poznyakoff.
66672
66673 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
66674
66675         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
66676         definitions, since that's the preferred style in glibc.
66677         Fix a minor spacing issue, and update copyright notice to match
66678         glibc's.
66679
66680 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
66681
66682         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
66683
66684 2005-09-06  Simon Josefsson  <jas@extundo.com>
66685
66686         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
66687         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
66688
66689 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
66690
66691         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
66692         warning.
66693
66694 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
66695
66696         * config/srclist.txt: Add glibc bug 1302.
66697
66698 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
66699
66700         Change bitset word type from unsigned int to unsigned long int,
66701         as this has better performance on typical 64-bit hosts.
66702         Port bitset code to hosts with unusual word sizes.
66703         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
66704         (build_collating_symbol):
66705         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
66706         argument is a bitset.  This is merely a style issue, but it makes
66707         it clearer that an entire array is expected.
66708         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
66709         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
66710         Port to the case where bitset_word is not the same as unsigned int.
66711         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
66712         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
66713         Likewise.
66714         * lib/regexec.c (check_dst_limits_calc_pos_1,
66715         check_subexp_matching_top):
66716         (build_trtable, group_nodes_into_DFAstates):
66717         Likewise.
66718         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
66719         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
66720         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
66721         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
66722         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
66723         * lib/regcomp.c (optimize_subexps, lower_subexp):
66724         Work even if bitset_word has holes in its bitwise representation.
66725         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
66726         * lib/regexec.c (check_dst_limits_calc_pos_1,
66727         check_subexp_matching_top):
66728         Likewise.
66729         * lib/regex_internal.c (re_string_reconstruct):
66730         Don't assume UCHAR_MAX == 255.
66731         * lib/regex_internal.h (bitset_set_all): Likewise.
66732         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
66733         All uses changed.
66734         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
66735         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
66736         All uses changed.
66737         (BITSET_WORD_MAX): New macro.
66738         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
66739         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
66740         (bitset_empty, bitset_copy):
66741         Prefer sizeof (bitset) to multiplying it out ourselves.
66742         (bitset_not_merge): Remove; unused.
66743         (bitset_contain): Return bool, not unsigned int with one bit on.
66744         All callers changed.
66745         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
66746         alignment than re_node_set; do this by defining a new internal
66747         type struct dests_alloc and using it to allocate memory.
66748
66749 2005-09-05  Bruno Haible  <bruno@clisp.org>
66750
66751         * gnulib-tool (func_import): Fix comparison in handling of symbolic
66752         links.
66753
66754 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
66755
66756         * modules/size_max (Makefile.am): Add size_max.h
66757
66758 2005-09-04  Derek Price  <derek@ximbiot.com>
66759
66760         * gnulib-tool (func_import): Fix reversed $symbolic logic.
66761
66762 2005-09-03  Simon Josefsson  <jas@extundo.com>
66763
66764         * gnulib-tool: Fix typo.
66765
66766 2005-09-03  Simon Josefsson  <jas@extundo.com>
66767
66768         * config/srclist.txt: Add glibc bug 1293.
66769
66770 2005-09-03  Derek Price  <derek@ximbiot.com>
66771
66772         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
66773         From Larry Jones <lawrence.jones@ugs.com>.
66774
66775 2005-09-02  Simon Josefsson  <jas@extundo.com>
66776
66777         * modules/socklen: New file.
66778
66779 2005-09-02  Simon Josefsson  <jas@extundo.com>
66780
66781         * modules/havelib: New module.
66782
66783         * modules/gettext, modules/iconv, modules/lock, modules/readline:
66784         Use havelib.
66785
66786 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
66787
66788         Check for arithmetic overflow when calculating sizes, to prevent
66789         some buffer-overflow issues.  These patches are conservative, in the
66790         sense that when I couldn't determine whether an overflow was possible,
66791         I inserted a run-time check.
66792         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
66793         macros.
66794         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
66795         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
66796         (re_xnrealloc, re_x2nrealloc): New inline functions.
66797         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
66798         parse_bracket_exp):
66799         (build_equiv_class, build_charclass): Check for arithmetic overflow
66800         in size expression calculations.
66801         * lib/regex_internal.c (re_string_realloc_buffers):
66802         (build_wcs_upper_buffer, re_node_set_add_intersect):
66803         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
66804         (re_dfa_add_node, register_state): Likewise.
66805         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
66806         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
66807         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
66808         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
66809
66810 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
66811
66812         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
66813         m4/ulonglong.m4.  Problem reported by Martin Lambers.
66814
66815 2005-09-02  Bruno Haible  <bruno@clisp.org>
66816
66817         Support for lib vs. lib64 distinction on biarch platforms.
66818         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
66819         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
66820         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
66821
66822 2005-09-02  Bruno Haible  <bruno@clisp.org>
66823
66824         * gnulib-tool (import): In the other first-use case, provide defaults
66825         as well.
66826
66827 2005-09-02  Bruno Haible  <bruno@clisp.org>
66828
66829         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
66830         patches not yet found in the latest gettext release.
66831
66832 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
66833
66834         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
66835         to avoid a collision with bits/local_lim.h in glibc.
66836         All uses changed.  Problem reported by Dmitry V. Levin in
66837         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
66838
66839         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
66840         bugs in int versus size_t comparisons.
66841         (re_string_context_at): Fix bug where the code assumed that
66842         Idx is signed.
66843
66844         Use bool where appropriate.
66845         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
66846         All callers changed.
66847         (calc_eclosure_iter): Likewise, for ROOT arg.
66848         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
66849         (build_charclass_op): Likewise, for NON_MATCH arg.
66850         * lib/regex_internal.c (re_string_allocate, re_string_construct):
66851         (re_string_construct_common): Likewise, for ICASE arg.
66852         * lib/regexec.c (re_search_2_stub, re_search_stub):
66853         Likewise, for RET_LEN arg.
66854         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
66855         (set_regs): Likewise, for FL_BACKTRACK arg.
66856         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
66857         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
66858         (calc_eclosure_iter, parse_bracket_exp):
66859         Use bool for internal variables that are booleans.
66860         * lib/regexec.c (re_search_internal, check_matching,
66861         proceed_next_node):
66862         (set_regs, build_sifted_states, sift_states_bkref):
66863         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
66864         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
66865         (find_collation_sequence_value):
66866         Likewise.
66867         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
66868         (re_node_set_compare):
66869         Return bool, not int. All callers changed.
66870         * lib/regexec.c (check_halt_node_context, check_dst_limits):
66871         (build_trtable, check_node_accept): Likewise.
66872         * lib/regex_internal.h: Include stdbool.h.
66873
66874         Fix bugs uncovered when converting to bool.
66875         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
66876         failure instead of charging ahead blindly.
66877         * lib/regex_internal.c (register_state): Likewise.
66878         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
66879         for freeing internal storage.
66880         (group_nodes_into_DFA_states): Use unsigned int, not int, for
66881         bitset pieces used as boolean, to avoid undefined behavior
66882         on hosts that do int overflow checking.
66883
66884 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
66885
66886         * config/srclist.txt: Add glibc bugs 1285-1287.
66887
66888 2005-09-01  Jim Meyering  <jim@meyering.net>
66889
66890         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
66891         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
66892         Require gl_STAT_MACROS, too.
66893
66894 2005-09-01  Bruno Haible  <bruno@clisp.org>
66895
66896         * gnulib-tool (import): In the first-use case, provide defaults.
66897
66898 2005-09-01  Bruno Haible  <bruno@clisp.org>
66899
66900         * gnulib-tool (func_import): Remove the .tmp files.
66901
66902 2005-09-01  Bruno Haible  <bruno@clisp.org>
66903
66904         * gnulib-tool (func_import): Fix handling of symbolic links.
66905
66906 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
66907
66908         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
66909         old glibc regex code mishandles strings longer than 2**31 bytes.
66910         This patch fixes this when the regex code is used in gnulib
66911         (i.e., outside glibc).
66912
66913         This patch should not affect the use of the regex code inside
66914         glibc.  No doubt this problem also needs to be handled for glibc
66915         as well, but the result will be an incompatible change to the
66916         glibc ABI, and the old ABI will have to be supported too.  That
66917         can be the the subject for another patch.
66918
66919         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
66920         governing whether the rest of this patch is active.  By default,
66921         the macro is disabled and the patch has no effect.
66922         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
66923         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
66924         (struct re_pattern_buffer, re_search, re_search_2, re_match):
66925         (re_match_2, re_set_registers): Use the new types.
66926         * lib/regex_internal.h (Idx, re_hashval_t): New types.
66927         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
66928         New macros.
66929         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
66930         (re_string_context_at, bin_tree_t, re_dfastate_t):
66931         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
66932         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
66933         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
66934         (re_string_char_size_at, re_string_wchar_at):
66935         (re_string_elem_size_at):
66936         Use the new types and macros to port to 64-bit hosts.
66937         Use unsigned types for internal values, so that the code
66938         mostly works even for arrays larger than SSIZE_MAX.
66939         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
66940         (search_duplicated_node, calc_eclosure_iter, fetch_number):
66941         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
66942         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
66943         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
66944         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
66945         (calc_inveclosure, parse_dup_op, build_range_exp):
66946         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
66947         (fetch_number, create_token_tree, mark_opt_subexp):
66948         Likewise.
66949         * lib/regex_internal.c (re_string_construct_common,
66950         create_ci_newstate):
66951         (create_cd_newstate, re_string_allocate, re_string_construct):
66952         (re_string_realloc_buffers, build_wcs_upper_buffer):
66953         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
66954         (re_string_reconstruct, re_string_peek_byte_case):
66955         (re_string_fetch_byte_case, re_string_context_at):
66956         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
66957         (re_node_set_init_copy, re_node_set_add_intersect):
66958         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
66959         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
66960         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
66961         (re_acquire_state, re_acquire_state_context, register_state):
66962         Likewise.
66963         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
66964         search_cur_bkref_entry):
66965         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
66966         (re_search_internal, re_search_2_stub, re_search_stub)
66967         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
66968         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
66969         (update_cur_sifted_state, check_dst_limits):
66970         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
66971         (check_subexp_limits, sift_states_bkref, merge_state_array):
66972         (check_subexp_matching_top, get_subexp, get_subexp_sub):
66973         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
66974         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
66975         (expand_bkref_cache, check_node_accept_bytes):
66976         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
66977         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
66978         (acquire_init_state_context, check_halt_node_context):
66979         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
66980         (sift_states_backward, clean_state_log_if_needed):
66981         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
66982         (find_recover_state, transit_state_sb, transit_state_mb):
66983         (transit_state_bkref, build_trtable, match_ctx_clean):
66984         Likewise.
66985         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
66986         to work around an assumption that REG_MISSING is negative.
66987
66988         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
66989         (seek_collating_symbol_entry) [defined _LIBC]:
66990         (lookup_collation_sequence_value) [defined _LIBC]:
66991         (build_range_exp, build_collating_symbol) [defined _LIBC]:
66992         Use prototypes rather than old-style function definitions.
66993         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
66994         (transit_state_sb) [0]:
66995         (find_collation_sequence_value) [defined _LIBC]: Likewise.
66996
66997         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
66998         rm_eo.
66999
67000         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
67001         (optimize_subexps, lower_subexp):
67002         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
67003         since the signed shift might overflow.  Use 1u<<31 instead.
67004         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
67005         Likewise.
67006         * lib/regexec.c (check_dst_limits_calc_pos_1,
67007         check_subexp_matching_top): Likewise.
67008
67009         * lib/regcomp.c (optimize_subexps, lower_subexp):
67010         Use CHAR_BIT rather than 8, for clarity.
67011         * lib/regexec.c (check_dst_limits_calc_pos_1):
67012         (check_subexp_matching_top): Likewise.
67013         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
67014         have to worry about portability issues when shifting it left.
67015         Remove no-longer-needed test for table_size > 0.
67016         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
67017         in a word, as the resulting behavior is undefined.
67018         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
67019         in one case, a <= should have been an <, and in another case the
67020         whole test was missing.
67021         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
67022         the standard name CHAR_BIT.
67023         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
67024         this is not true on one's complement and signed-magnitude hosts.
67025
67026         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
67027         next_last_offset.
67028         (struct re_dfa_t): Remove unused member states_alloc.
67029         * lib/regcomp.c (init_dfa): Don't initialize unused members.
67030
67031 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
67032
67033         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
67034         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
67035         and large-file glibc and in 32-bit large-file Solaris.
67036
67037 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
67038
67039         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
67040         lengths fit in regoff_t; this isn't true if regoff_t is the same
67041         width as size_t.
67042         * lib/regex.c (re_search_internal): 5th arg is LAST_START
67043         (= START + RANGE) instead of RANGE.  This avoids overflow
67044         problems when regoff_t is the same width as size_t.
67045         All callers changed.
67046         (re_search_2_stub): Check for overflow when adding the
67047         sizes of the two strings.
67048         (re_search_stub): Check for overflow when adding START
67049         to RANGE; if it occurs, substitute the extreme value.
67050
67051 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
67052
67053         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
67054
67055 2005-08-31  Jim Meyering  <jim@meyering.net>
67056
67057         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
67058         a pointer-to-const.
67059         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
67060         (register_state): Likewise.
67061         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
67062         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
67063         (group_nodes_into_DFAstates): Likewise.
67064
67065 2005-08-31  Jim Meyering  <jim@meyering.net>
67066
67067         * check-module: Add a FIXME comment.
67068
67069 2005-08-31  Eric Blake  <ebb9@byu.net>
67070
67071         * modules/unistd-safer (Files): Add unistd--.h.
67072         * modules/stdio-safer (Files): Add stdio--.h.
67073
67074 2005-08-31  Derek Price  <derek@ximbiot.com>
67075
67076         * lib/getdelim.c (getdelim): Return EOF on EOF.
67077         Reported by Larry Jones <lawrence.jones@ugs.com>.
67078
67079 2005-08-31  Bruno Haible  <bruno@clisp.org>
67080
67081         Avoid unnecessary diffs in the generated lib/Makefile.am.
67082         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
67083         the generated files.
67084         (func_import): Don't set cmd.
67085
67086 2005-08-31  Bruno Haible  <bruno@clisp.org>
67087
67088         * lib/strstr.c: Include <stddef.h>, for NULL.
67089         * lib/strcasestr.c: Likewise.
67090         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
67091
67092 2005-08-31  Bruno Haible  <bruno@clisp.org>
67093
67094         * gnulib-tool: New option --macro-prefix.
67095         (func_import): Use macro_prefix.
67096         (import): Handle option --macro-prefix.
67097
67098 2005-08-31  Bruno Haible  <bruno@clisp.org>
67099
67100         * gnulib-tool (import): Rename most ac_* variables to cached_*.
67101         Also use new variables cached_lgpl, cached_libtool.
67102
67103 2005-08-31  Bruno Haible  <bruno@clisp.org>
67104
67105         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
67106         always instantiating them.
67107
67108 2005-08-31  Bruno Haible  <bruno@clisp.org>
67109
67110         * gnulib-tool (func_import): Read the previous cached settings
67111         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
67112         earlier added by gnulib but are now dropped. Warn when a gnulib file
67113         overwrites a non-gnulib file.
67114
67115 2005-08-31  Bruno Haible  <bruno@clisp.org>
67116
67117         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
67118         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
67119         projects that don't keep autogenerated files in CVS. Put into
67120         actioncmd only the specified modules, not the transitive closure.
67121
67122 2005-08-31  Bruno Haible  <bruno@clisp.org>
67123
67124         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
67125         Create directories that shall be filled.
67126         (import): Don't look for gl_* macros in configure.ac. Recurse across
67127         all directories containing a gnulib-cache.m4 files, if meaningful.
67128
67129 2005-08-31  Bruno Haible  <bruno@clisp.org>
67130
67131         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
67132         (import): Set seen_libtool when we see gl_LIBTOOL.
67133
67134 2005-08-31  Bruno Haible  <bruno@clisp.org>
67135
67136         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
67137         declaration macro definitions from generated gnulib.m4.
67138
67139 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
67140
67141         * lib/iconvme.h: Add prototype for iconv_alloc.
67142
67143 2005-08-29  Simon Josefsson  <jas@extundo.com>
67144
67145         * lib/iconvme.c: Fix errno.
67146
67147 2005-08-29  Bruno Haible  <bruno@clisp.org>
67148
67149         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
67150         that it works when the directory contains spaces.
67151
67152 2005-08-29  Bruno Haible  <bruno@clisp.org>
67153
67154         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
67155
67156 2005-08-29  Bruno Haible  <bruno@clisp.org>
67157
67158         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
67159         Emit more advice.
67160
67161 2005-08-29  Bruno Haible  <bruno@clisp.org>
67162         and Stepan Kasal  <kasal@ucw.cz>
67163
67164         * check-module: If more parameters are given, check each of them
67165         separately; add more exceptions, as noted by Jim Meyering.
67166         (check_module): New procedure.
67167         (%exempt_header): Now contains all exceptions.
67168
67169 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
67170
67171         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
67172
67173 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
67174
67175         * lib/iconvme.c: Split iconv_string into iconv_alloc.
67176
67177 2005-08-28  Bruno Haible  <bruno@clisp.org>
67178
67179         * m4/gnulib-tool.m4: New file.
67180
67181 2005-08-27  Jim Meyering  <jim@meyering.net>
67182
67183         * modules/unistd-safer (Files): Add pipe-safer.c.
67184         * modules/fcntl-safer (Files): Add creat-safer.c.
67185
67186 2005-08-27  Jim Meyering  <jim@meyering.net>
67187
67188         * m4/stdlib-safer.m4: New file.  From coreutils.
67189         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
67190         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
67191         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
67192         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
67193         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
67194
67195 2005-08-27  Jim Meyering  <jim@meyering.net>
67196
67197         * lib/fopen-safer.c: Merge minor changes from coreutils.
67198         * lib/dup-safer.c: Likewise.
67199         * lib/fd-safer.c: Likewise.
67200
67201         Merge from coreutils.
67202         * lib/stdio--.h: New file.
67203         * lib/stdlib--.h: New file.
67204         * lib/mkstemp-safer.c: New file.
67205
67206         GNU tar needs these.
67207         * lib/pipe-safer.c: New file.
67208         * lib/creat-safer.c: New file.
67209         * lib/fcntl--.h (creat): Define to creat_safer.
67210         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
67211         * lib/unistd--.h (pipe): Define to pipe_safer.
67212         * lib/unistd-safer.h: Declare pipe_safer.
67213
67214 2005-08-26  Simon Josefsson  <jas@extundo.com>
67215
67216         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
67217         Haible <bruno@clisp.org>.
67218
67219 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
67220
67221         * lib/regex_internal.h: Remove all references to
67222         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
67223         or better.
67224         (bitset_not, bitset_merge, bitset_not_merge):
67225         (bitset_mask, re_string_allocate, re_string_construct):
67226         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
67227         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
67228         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
67229         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
67230         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
67231         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
67232         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
67233         (re_acquire_state_context):
67234         Remove unnecessary forward decls.
67235         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
67236         Put __attribute at function definition,
67237         now that the function decl has been removed.
67238         * lib/regex_internal.c (re_string_peek_byte_case):
67239         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
67240         Likewise.
67241
67242 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
67243
67244         * m4/regex.m4: Add AC_PREREQ(2.50).
67245         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
67246
67247 2005-08-25  Simon Josefsson  <jas@extundo.com>
67248
67249         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
67250         __fsetlocking.
67251
67252 2005-08-25  Simon Josefsson  <jas@extundo.com>
67253
67254         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
67255         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
67256         GLIBC specific code.
67257
67258 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
67259
67260         Make regex safe for g++.  This fixes one real bug (an "err"
67261         that should have been "*err").  g++ problem reported by
67262         Sam Steingold.
67263         * lib/regex_internal.h (re_calloc): New macro, consistent with
67264         re_malloc etc.  All callers of calloc changed to use re_calloc.
67265         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
67266         not int.  All callers changed.
67267         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
67268         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
67269         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
67270         (find_recover_state): Change "err" to "*err"; this fixes what
67271         appears to be a real bug.
67272         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
67273         versus int.
67274
67275 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
67276
67277         * modules/regex (Depends-on): Add malloc, since the code
67278         assumes that !malloc(0) means failure.
67279
67280 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
67281
67282         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
67283
67284         alloca modernization/simplification for regex.
67285         * lib/regex.c: Remove portability cruft for alloca.  This no longer
67286         needs to be at the start of the file, and can be moved into
67287         regex_internal.h and simplified.
67288         * lib/regex_internal.h: Include <alloca.h>.
67289         (__libc_use_alloca) [!defined _LIBC]: New macro.
67290         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
67291         now works outside glibc.
67292
67293 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
67294
67295         * config/srclist.txt: Add glibc bugs 1241, 1245.
67296
67297 2005-08-25  Jim Meyering  <jim@meyering.net>
67298
67299         * lib/open-safer.c: Include <config.h>.
67300         Otherwise, we'd lose LARGEFILE support in any file using
67301         e.g. "fcntl--.h"
67302
67303 2005-08-25  Bruno Haible  <bruno@clisp.org>
67304
67305         * m4/minmax.m4: Require autoconf 2.52.
67306         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
67307         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
67308         alternatives of translit over the alphabet.
67309         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
67310
67311 2005-08-24  Simon Josefsson  <jas@extundo.com>
67312
67313         * tests/test-getpass.c: New file.
67314
67315 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
67316
67317         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
67318         for GNU regex features.
67319
67320 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
67321
67322         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
67323         * lib/regex.h (regerror): Likewise.
67324
67325         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
67326         requires this.  (The code never needed it.)
67327
67328         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
67329         All uses of recently-renamed identifiers changed to use the new,
67330         POSIX-compliant names.  The code will build and run just fine
67331         without these changes, but it's better to eat our own dog food
67332         and use the standard-conforming names.
67333
67334         * lib/regex.h: Fix a multitude of POSIX name space violations.
67335         These changes have an effect only for programs that define
67336         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
67337         do not change anything for programs compiled in the normal way.
67338         Also, there is no effect on the ABI.
67339
67340         (_REGEX_SOURCE): New macro.
67341         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
67342         defined and _GNU_SOURCE is not; this fixes a name space violation.
67343
67344         Rename the following macros to obey POSIX requirements.
67345         The old names are still visible as macros if _REGEX_SOURCE is defined.
67346         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
67347         RE_BACKSLASH_ESCAPE_IN_LISTS.
67348         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
67349         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
67350         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
67351         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
67352         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
67353         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
67354         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
67355         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
67356         (REG_INTERVALS): renamed from RE_INTERVALS.
67357         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
67358         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
67359         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
67360         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
67361         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
67362         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
67363         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
67364         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
67365         RE_UNMATCHED_RIGHT_PAREN_ORD.
67366         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
67367         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
67368         (REG_DEBUG): renamed from RE_DEBUG.
67369         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
67370         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
67371         unusual, since we can't clash with the POSIX REG_ICASE.
67372         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
67373         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
67374         (REG_NO_SUB): renamed from RE_NO_SUB.
67375         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
67376         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
67377         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
67378         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
67379         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
67380         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
67381         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
67382         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
67383         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
67384         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
67385         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
67386         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
67387         RE_SYNTAX_POSIX_MINIMAL_BASIC.
67388         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
67389         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
67390         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
67391         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
67392         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
67393         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
67394         (REG_FIXED): Renamed from REGS_FIXED.
67395         (REG_NREGS): Renamed from RE_NREGS.
67396
67397         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
67398         of other REG_* macros, since POSIX says the user is allowed to
67399         #undef these macros selectively.
67400
67401         (reg_errcode_t): Update comment stating what other tables need
67402         to be consistent.
67403
67404         Rename the following enum values to obey POSIX requirements.
67405         The old names are still visible as macros.
67406         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
67407         is not defined, since GNU is supposed to be a superset of POSIX as
67408         much as possible, and since we want reg_errcode_t to be a signed
67409         type for implementation consistency.
67410         (_REG_NOERROR): Renamed from REG_NOERROR.
67411         (_REG_NOMATCH): Renamed from REG_NOMATCH.
67412         (_REG_BADPAT): Renamed from REG_BADPAT.
67413         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
67414         (_REG_ECTYPE): Renamed from REG_ECTYPE.
67415         (_REG_EESCAPE): Renamed from REG_EESCAPE.
67416         (_REG_ESUBREG): Renamed from REG_ESUBREG.
67417         (_REG_EBRACK): Renamed from REG_EBRACK.
67418         (_REG_EPAREN): Renamed from REG_EPAREN.
67419         (_REG_EBRACE): Renamed from REG_EBRACE.
67420         (_REG_BADBR): Renamed from REG_BADBR.
67421         (_REG_ERANGE): Renamed from REG_ERANGE.
67422         (_REG_ESPACE): Renamed from REG_ESPACE.
67423         (_REG_BADRPT): Renamed from REG_BADRPT.
67424         (_REG_EEND): Renamed from REG_EEND.
67425         (_REG_ESIZE): Renamed from REG_ESIZE.
67426         (_REG_ERPAREN): Renamed from REG_ERPAREN.
67427         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
67428         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
67429         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
67430         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
67431
67432         (_REG_RE_NAME, _REG_RM_NAME): New macros.
67433         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
67434         changed.  But support the old name if the new one is not defined
67435         and if _REGEX_SOURCE.
67436
67437         Change the following member names in struct re_pattern_buffer.
67438         The old names are still supported if !_REGEX_SOURCE.
67439         The new names are always supported, regardless of _REGEX_SOURCE.
67440         (re_buffer): Renamed from buffer.
67441         (re_allocated): Renamed from allocated.
67442         (re_used): Renamed from used.
67443         (re_syntax): Renamed from syntax.
67444         (re_fastmap): Renamed from fastmap.
67445         (re_translate): Renamed from translate.
67446         (re_can_be_null): Renamed from can_be_null.
67447         (re_regs_allocated): Renamed from regs_allocated.
67448         (re_fastmap_accurate): Renamed from fastmap_accurate.
67449         (re_no_sub): Renamed from no_sub.
67450         (re_not_bol): Renamed from not_bol.
67451         (re_not_eol): Renamed from not_eol.
67452         (re_newline_anchor): Renamed from newline_anchor.
67453
67454         Change the following member names in struct re_registers.
67455         The old names are still supported if !_REGEX_SOURCE.
67456         The new names are always supported, regardless of _REGEX_SOURCE.
67457         (rm_num_regs): Renamed from num_regs.
67458         (rm_start): Renamed from start.
67459         (rm_end): Renamed from end.
67460
67461         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
67462         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
67463         Prepend __ to parameter names.
67464
67465         Undo yesterday's changes.
67466
67467 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
67468
67469         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
67470         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
67471         lib/regex.c.
67472
67473 2005-08-24  Jim Meyering  <jim@meyering.net>
67474
67475         Sync from coreutils.
67476         * m4/fcntl-safer.m4: New file.
67477
67478         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
67479         and object files for this module.
67480
67481 2005-08-24  Jim Meyering  <jim@meyering.net>
67482
67483         Sync from coreutils.
67484         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
67485
67486 2005-08-24  Jim Meyering  <jim@meyering.net>
67487
67488         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
67489         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
67490
67491 2005-08-24  Jim Meyering  <jim@meyering.net>
67492
67493         * modules/fcntl-safer: New module.
67494         * modules/fts (Depends-on): Add fcntl-safer.
67495         * MODULES.html.sh (File descriptor based Input/Output):
67496         Add fcntl-safer.
67497
67498 2005-08-24  Bruno Haible  <bruno@clisp.org>
67499
67500         Support for unit test modules.
67501         * modules/README: Mention tests modules.
67502         * modules/TEMPLATE-TESTS: New file.
67503         * gnulib-tool: New options --extract-tests-module, --with-tests and
67504         --tests-base (unused for the moment).
67505         (testsbase, inctests): New variables.
67506         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
67507         (func_verify_module): Exclude TEMPLATE-TESTS.
67508         (func_verify_nontests_module, func_verify_tests_module): New functions.
67509         (func_get_dependencies): Add implicit dependency for tests modules.
67510         (func_get_tests_module): New function.
67511         (func_modules_transitive_closure): When --with-tests was specified,
67512         include the unit tests as well, unless explicitly avoided.
67513         (func_emit_lib_Makefile_am): Ignore the tests modules here.
67514         (func_emit_tests_Makefile_am): New function.
67515         (func_create_testdir): When --with-tests was specified, emit a
67516         tests/ directory.
67517         * MODULES.html.sh (Future developments): Update.
67518
67519 2005-08-24  Bruno Haible  <bruno@clisp.org>
67520
67521         * modules/tls-tests: New file.
67522         * tests/test-tls.c: New file, from GNU gettext.
67523
67524 2005-08-24  Bruno Haible  <bruno@clisp.org>
67525
67526         * modules/lock-tests: New file.
67527         * tests/test-lock.c: New file, from GNU gettext.
67528
67529 2005-08-24  Bruno Haible  <bruno@clisp.org>
67530
67531         * lib/lock.h: Add multiple inclusion guard.
67532         * lib/tls.h: Add multiple inclusion guard.
67533
67534 2005-08-24  Bruno Haible  <bruno@clisp.org>
67535
67536         * gnulib-tool: Add support for the --aux-dir option to
67537         --create-testdir, --create-megatestdir, --test, --megatest.
67538         (func_create_testdir, func_create_megatestdir): Optionally emit a
67539         AC_CONFIG_AUX_DIR directive.
67540         (create-testdir, create-megatestdir, test, megatest): Provide a
67541         default value for $auxdir.
67542
67543 2005-08-24  Bruno Haible  <bruno@clisp.org>
67544
67545         * gnulib-tool (import): Use compound statement instead of subshell
67546         where possible.
67547
67548 2005-08-24  Bruno Haible  <bruno@clisp.org>
67549
67550         * gnulib-tool (import): Change --aux-dir default to "build-aux".
67551
67552 2005-08-24  Bruno Haible  <bruno@clisp.org>
67553
67554         * gnulib-tool (func_version): Update.
67555
67556 2005-08-24  Bruno Haible  <bruno@clisp.org>
67557
67558         * gnulib-tool (func_import, func_create_testdir,
67559         func_create_megatestdir): Quote all autoconf macro arguments.
67560
67561 2005-08-24  Bruno Haible  <bruno@clisp.org>
67562
67563         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
67564         option --force, because --force causes the aclocal.m4 of each
67565         subdirectory to be newer than the corresponding config.h.in.
67566
67567 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
67568
67569         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
67570         All contents moved to gl_REGEX.
67571         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
67572         assume that it does.
67573
67574 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
67575
67576         * lib/regex.h (REG_NOSYS)
67577         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
67578         Define, since POSIX requires it as of 2001.
67579         (_REG_ENOSYS)
67580         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
67581         New private symbol, used to keep the enum signed in all cases.
67582         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
67583         Youngman in
67584         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
67585
67586         * lib/regex_internal.c (re_string_skip_chars, register_state):
67587         (calc_state_hash):
67588         Remove forward decls; no longer needed now that we use prototypes.
67589         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
67590         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
67591         (clean_state_log_if_needed): Likewise.
67592
67593 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
67594
67595         * config/srclist.txt: Add glibc bugs 1231-1233.
67596
67597 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
67598
67599         Fix problems reported by Sam Steingold in
67600         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
67601         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
67602         assumed that reg_errcode_t is a signed type, which is not
67603         necessarily true if _XOPEN_SOURCE is not defined.
67604         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
67605         since some compilers warn about it otherwise.
67606
67607 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
67608
67609         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
67610         (init_word_char, create_initial_state, duplicate_node_closure):
67611         (fetch_token, peek_token_bracket, build_range_exp):
67612         (build_collating_symbol): Remove forward decls; no longer needed
67613         now that we use prototypes.
67614
67615         * lib/regcomp.c:
67616         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
67617         (re_compile_fastmap_iter, regcomp, regerror, regfree):
67618         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
67619         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
67620         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
67621         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
67622         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
67623         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
67624         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
67625         (build_range_exp, build_collating_symbol, parse_bracket_exp):
67626         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
67627         (build_charclass, build_charclass_op, fetch_number, create_tree):
67628         (create_token_tree, mark_opt_subexp, duplicate_tree):
67629         Use prototypes rather than old-style definitions.
67630
67631         * lib/regex_internal.c:
67632         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
67633         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
67634         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
67635         (re_string_reconstruct, re_string_peek_byte_case):
67636         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
67637         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
67638         (re_node_set_init_copy, re_node_set_add_intersect):
67639         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
67640         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
67641         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
67642         (re_acquire_state, re_acquire_state_context, register_state):
67643         (create_ci_newstate, create_cd_newstate, free_state):
67644         Likewise.
67645         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
67646         re_search_2):
67647         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
67648         (re_search_internal, prune_impossible_nodes):
67649         (acquire_init_state_context, check_matching, static):
67650         (check_halt_node_context, check_halt_state_context, proceed_next_node):
67651         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
67652         (update_regs, sift_states_backward, build_sifted_states):
67653         (clean_state_log_if_needed, merge_state_array):
67654         (update_cur_sifted_state, add_epsilon_src_nodes):
67655         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
67656         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
67657         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
67658         (find_recover_state, check_subexp_matching_top, transit_state_mb):
67659         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
67660         (check_arrival, check_arrival_add_next_nodes):
67661         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
67662         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
67663         (check_node_accept_bytes, check_node_accept, extend_buffers):
67664         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
67665         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
67666         (sift_ctx_init):
67667         Likewise.
67668
67669         * lib/regex_internal.h:
67670         (re_string_allocate, re_string_construct, re_string_reconstruct):
67671         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
67672         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
67673         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
67674         (re_string_context_at, re_string_peek_byte_case):
67675         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
67676         is defined, since we now use prototypes always.
67677
67678         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
67679         C89 or better.  All uses removed.
67680
67681 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
67682
67683         * config/srclist.txt: Add glibc bugs 1220-1227.
67684
67685 2005-08-20  Jim Meyering  <jim@meyering.net>
67686
67687         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
67688         of unused local, dfa.
67689
67690 2005-08-20  Bruno Haible  <bruno@clisp.org>
67691
67692         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
67693
67694 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
67695
67696         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
67697         (re_node_set_insert_last, re_dfa_add_node):
67698         Rename local variables to avoid GCC shadowing warnings.
67699
67700 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
67701
67702         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
67703         [defined lint]: Suppress bogus uninitialized-variable warnings.
67704
67705         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
67706         and let the caller return REG_ESPACE if out of space.  This
67707         removes an uninitialied-variable warning with GCC 4.0.1, and also
67708         avoids taking the address of a local variable.  All callers
67709         changed.
67710
67711 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
67712
67713         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
67714         $LIBCSRC/posix/regexec.c.
67715         Add glibc bug 1217 for regcomp.c.
67716
67717 2005-08-19  Jim Meyering  <jim@meyering.net>
67718
67719         * lib/regexec.c (proceed_next_node): Redo local variables to
67720         avoid GCC shadowing warnings.
67721
67722 2005-08-18  Bruno Haible  <bruno@clisp.org>
67723
67724         * lib/strstr.c (strstr): Fix return value in multibyte case.
67725         * lib/strcasestr.c (strcasestr): Likewise.
67726
67727 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
67728
67729         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
67730
67731 2005-08-17  Jim Meyering  <jim@meyering.net>
67732
67733         Make the %s format (seconds since the epoch) work for a negative
67734         number and when used with a zero-padded field width, e.g. %015s.
67735
67736         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
67737         label so that it precedes the code to set `digits'.  Otherwise,
67738         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
67739         print `00-22'.  Now, it prints `-0022', as it should.
67740
67741 2005-08-17  Bruno Haible  <bruno@clisp.org>
67742
67743         * modules/strstr (Files): Add m4/mbrtowc.m4.
67744         (Depends-on): Add mbuiter.
67745
67746 2005-08-17  Bruno Haible  <bruno@clisp.org>
67747
67748         * modules/strcasestr: New file.
67749         * MODULES.html.sh (String handling, based on ANSI C 89): Add
67750         strcasestr.
67751
67752 2005-08-17  Bruno Haible  <bruno@clisp.org>
67753
67754         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
67755
67756 2005-08-17  Bruno Haible  <bruno@clisp.org>
67757
67758         * modules/mbuiter: New file.
67759         * MODULES.html.sh (Extended multibyte and wide character utilities):
67760         Add mbuiter.
67761
67762 2005-08-17  Bruno Haible  <bruno@clisp.org>
67763
67764         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
67765         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
67766
67767 2005-08-17  Bruno Haible  <bruno@clisp.org>
67768
67769         * m4/strcasestr.m4: New file.
67770
67771 2005-08-17  Bruno Haible  <bruno@clisp.org>
67772
67773         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
67774         * lib/strstr.c: Completely rewritten, with multibyte locale support.
67775
67776 2005-08-17  Bruno Haible  <bruno@clisp.org>
67777
67778         * lib/strcasestr.h: New file.
67779         * lib/strcasestr.c: New file.
67780
67781 2005-08-17  Bruno Haible  <bruno@clisp.org>
67782
67783         * lib/strcasecmp.c: Use mbuiter.h.
67784
67785 2005-08-17  Bruno Haible  <bruno@clisp.org>
67786
67787         * lib/mbuiter.h: New file.
67788
67789 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
67790
67791         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
67792         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
67793         and gl_GETOPT are both invoked via different paths (as happens
67794         with GNU tar CVS because it uses both argp and getopt), the former
67795         wins.
67796
67797 2005-08-16  Bruno Haible  <bruno@clisp.org>
67798
67799         * modules/tls: New file.
67800         * MODULES.html.sh (Multithreading): Add tls.
67801
67802 2005-08-16  Bruno Haible  <bruno@clisp.org>
67803
67804         * modules/strnlen1: New file.
67805         * MODULES.html.sh (String handling): Add strnlen1.
67806
67807 2005-08-16  Bruno Haible  <bruno@clisp.org>
67808
67809         * modules/strcase (Files): Add m4/mbrtowc.m4.
67810         (Depends-on): Add strnlen1, mbchar.
67811
67812 2005-08-16  Bruno Haible  <bruno@clisp.org>
67813
67814         * modules/mbiter: New file.
67815         * MODULES.html.sh (Extended multibyte and wide character utilities):
67816         Add mbiter.
67817
67818 2005-08-16  Bruno Haible  <bruno@clisp.org>
67819
67820         * modules/mbfile: New file.
67821         * MODULES.html.sh (Extended multibyte and wide character utilities):
67822         Add mbfile.
67823
67824 2005-08-16  Bruno Haible  <bruno@clisp.org>
67825
67826         * modules/mbchar: New file.
67827         * MODULES.html.sh (Extended multibyte and wide character utilities):
67828         New section.
67829
67830 2005-08-16  Bruno Haible  <bruno@clisp.org>
67831
67832         * m4/tls.m4: New file, from GNU gettext.
67833
67834 2005-08-16  Bruno Haible  <bruno@clisp.org>
67835
67836         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
67837         always.
67838         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
67839
67840 2005-08-16  Bruno Haible  <bruno@clisp.org>
67841
67842         * m4/mbiter.m4: New file.
67843
67844 2005-08-16  Bruno Haible  <bruno@clisp.org>
67845
67846         * m4/mbfile.m4: New file.
67847
67848 2005-08-16  Bruno Haible  <bruno@clisp.org>
67849
67850         * m4/mbchar.m4: New file.
67851
67852 2005-08-16  Bruno Haible  <bruno@clisp.org>
67853
67854         * lib/tls.h: New file, from GNU gettext.
67855         * lib/tls.c: New file, from GNU gettext.
67856
67857 2005-08-16  Bruno Haible  <bruno@clisp.org>
67858
67859         * lib/strnlen1.h: New file.
67860         * lib/strnlen1.c: New file.
67861
67862 2005-08-16  Bruno Haible  <bruno@clisp.org>
67863
67864         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
67865         (mbi_init): Update.
67866         (mbi_avail, mbi_advance): Let the iteration end before the terminating
67867         NUL byte, not after it.
67868
67869 2005-08-16  Bruno Haible  <bruno@clisp.org>
67870
67871         * lib/strcase.h (strcasecmp): Add note in comments.
67872         * lib/strncasecmp.c: Use code from strcasecmp.c.
67873         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
67874         (strcasecmp): Work correctly in multibyte locales.
67875
67876 2005-08-16  Bruno Haible  <bruno@clisp.org>
67877
67878         * lib/mbiter.h: New file.
67879
67880 2005-08-16  Bruno Haible  <bruno@clisp.org>
67881
67882         * lib/mbfile.h: New file.
67883
67884 2005-08-16  Bruno Haible  <bruno@clisp.org>
67885
67886         * lib/mbchar.h: New file.
67887         * lib/mbchar.c: New file.
67888
67889 2005-08-16  Bruno Haible  <bruno@clisp.org>
67890
67891         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
67892         the valid ones. Makes the comparison operations transitive:
67893         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
67894         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
67895
67896 2005-08-15  Simon Josefsson  <jas@extundo.com>
67897
67898         * modules/ssize_t (License): Change to 'unlimited'.
67899
67900         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
67901
67902 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
67903
67904         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
67905         Add comments for each pending glibc patch.
67906
67907 2005-08-15  Bruno Haible  <bruno@clisp.org>
67908
67909         * lib/regex.h (__restrict_arr): Don't define to __restrict if
67910         __cplusplus is defined.
67911
67912 2005-08-14  Jim Meyering  <jim@meyering.net>
67913
67914         Sync from coreutils.
67915
67916         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
67917         Use the hash-table-based cycle-detection code not just when
67918         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
67919         Reported by James Youngman in
67920         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
67921         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
67922         FTS_TIGHT_CYCLE_CHECK.
67923         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
67924         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
67925         once again.
67926         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
67927         * lib/fts.c (fd_safer): Remove decl.
67928         Include fcntl--.h rather than unistd-safer.h
67929         (fts_safe_changedir): Don't call fd_safer; no longer needed
67930         now that we include fcntl--.h.
67931
67932 2005-08-12  Simon Josefsson  <jas@extundo.com>
67933
67934         * modules/getndelim2: Use ssize_t module.
67935         * modules/getnline: Likewise.
67936         * modules/safe-read: Likewise.
67937         * modules/xreadlink: Likewise.
67938
67939         * modules/ssize_t: New file.
67940
67941 2005-08-12  Simon Josefsson  <jas@extundo.com>
67942
67943         * m4/readline.m4: Look for termcap, curses or ncurses if required.
67944
67945 2005-08-12  Simon Josefsson  <jas@extundo.com>
67946
67947         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
67948         ssize_t.
67949
67950 2005-08-12  Simon Josefsson  <jas@extundo.com>
67951
67952         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
67953         readline, getdelim and check_version.
67954         (Support for systems lacking ISO C 99: Sizes of integer types):
67955         Add size_max.
67956
67957 2005-08-12  Bruno Haible  <bruno@clisp.org>
67958
67959         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
67960
67961 2005-08-11  Simon Josefsson  <jas@extundo.com>
67962
67963         * modules/readline: New file.
67964
67965         * modules/strnlen (Files): Add strnlen.h.
67966
67967 2005-08-11  Simon Josefsson  <jas@extundo.com>
67968
67969         * m4/readline.m4: New file.
67970
67971 2005-08-11  Simon Josefsson  <jas@extundo.com>
67972
67973         * lib/readline.h, readline.c: New file.
67974
67975 2005-08-11  Simon Josefsson  <jas@extundo.com>
67976
67977         * doc/gnulib.texi (Initial import, Finishing touches): Mention
67978         gl_AVOID.
67979
67980 2005-08-11  Bruno Haible  <bruno@clisp.org>
67981
67982         * lib/strnlen.h (strnlen): Change parameter name to match comment.
67983
67984 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
67985
67986         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
67987
67988 2005-08-10  Simon Josefsson  <jas@extundo.com>
67989
67990         * tests/test-iconvme.c: New file.
67991
67992 2005-08-10  Simon Josefsson  <jas@extundo.com>
67993
67994         * m4/strnlen.m4: New file.
67995
67996         * m4/strndup.m4: Don't check for strnlen declaration, done in
67997         strnlen.m4.
67998
67999 2005-08-10  Simon Josefsson  <jas@extundo.com>
68000
68001         * lib/strndup.c: Use strnlen.h.
68002
68003         * lib/strnlen.h: New file.
68004
68005 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
68006
68007         * README: Typos.
68008
68009 2005-08-02  Simon Josefsson  <jas@extundo.com>
68010
68011         * modules/readline: New file.
68012
68013 2005-08-02  Simon Josefsson  <jas@extundo.com>
68014
68015         * modules/getdelim: New file.
68016
68017         * modules/getline: Rewrite, don't use getndelim2.
68018
68019 2005-08-02  Simon Josefsson  <jas@extundo.com>
68020
68021         * m4/getline.m4: Separate out getdelim stuff into separate module.
68022
68023         * m4/getdelim.m4: New file.
68024
68025 2005-08-02  Simon Josefsson  <jas@extundo.com>
68026
68027         * lib/getline.h, getline.c: Rewrite.
68028
68029         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
68030
68031 2005-07-31  Bruno Haible  <bruno@clisp.org>
68032
68033         * lib/lock.h (gl_lock_initializer): New macro.
68034         (gl_lock_define_initialized): Use it.
68035         (gl_rwlock_initializer): New macro.
68036         (gl_rwlock_define_initialized): Use it.
68037         (gl_recursive_lock_initializer): New macro.
68038         (gl_recursive_lock_define_initialized): Use it.
68039
68040 2005-07-30  Karl Berry  <karl@gnu.org>
68041
68042         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
68043         Report from Ben Pfaff, regarding getopt.
68044
68045 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
68046
68047         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
68048         normal way.
68049         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
68050         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
68051         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
68052         (gl_GETOPT): Use the new macros.  Most of the implementation
68053         is moved to the new macros.  This is for programs like Emacs
68054         that don't want all the functionality of gl_GETOPT.
68055
68056 2005-07-26  Bruno Haible  <bruno@clisp.org>
68057
68058         * m4/lock.m4: Update from GNU gettext.
68059
68060 2005-07-26  Bruno Haible  <bruno@clisp.org>
68061
68062         * lib/lock.h: Update from GNU gettext.
68063         * lib/lock.c: Update from GNU gettext.
68064
68065 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
68066
68067         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
68068         obsolescent AC_TRY_RUN.  Include the default includes files, for
68069         'exit'.
68070
68071 2005-07-24  Bruno Haible  <bruno@clisp.org>
68072
68073         * modules/visibility: New file.
68074         * MODULES.html.sh (Misc): Add visibility.
68075
68076 2005-07-24  Bruno Haible  <bruno@clisp.org>
68077
68078         * m4/visibility.m4: New file.
68079
68080 2005-07-24  Bruno Haible  <bruno@clisp.org>
68081
68082         * doc/visibility.texi: New file.
68083
68084 2005-07-22  Bruno Haible  <bruno@clisp.org>
68085
68086         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
68087         $(ALLOCA_H), redundant through BUILT_SOURCES.
68088         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
68089         redundant through BUILT_SOURCES.
68090         * modules/byteswap (Makefile.am): Remove explicit dependency on
68091         $(BYTESWAP_H), redundant through BUILT_SOURCES.
68092         * modules/fnmatch (Makefile.am): Remove explicit dependency on
68093         $(FNMATCH_H), redundant through BUILT_SOURCES.
68094         * modules/getopt (Makefile.am): Remove explicit dependency on
68095         $(GETOPT_H), redundant through BUILT_SOURCES.
68096         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
68097         redundant through BUILT_SOURCES.
68098         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
68099         redundant through BUILT_SOURCES.
68100         * modules/stdbool (Makefile.am): Remove explicit dependency on
68101         $(STDBOOL_H), redundant through BUILT_SOURCES.
68102         * modules/stdint (Makefile.am): Remove explicit dependency on
68103         $(STDINT_H), redundant through BUILT_SOURCES.
68104         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
68105         Remove explicit dependency on $(SYSEXITS_H).
68106         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
68107
68108 2005-07-18  Simon Josefsson  <jas@extundo.com>
68109
68110         * lib/check-version.c (check_version): Accept identical versions too.
68111
68112 2005-07-18  Bruno Haible  <bruno@clisp.org>
68113
68114         * modules/lock: New file.
68115         * MODULES.html.sh (Multithreading): New section.
68116
68117 2005-07-18  Bruno Haible  <bruno@clisp.org>
68118
68119         * m4/lock.m4: New file, from GNU gettext.
68120
68121 2005-07-18  Bruno Haible  <bruno@clisp.org>
68122
68123         * lib/lock.h: New file, from GNU gettext.
68124         * lib/lock.c: New file, from GNU gettext.
68125
68126 2005-07-18  Bruno Haible  <bruno@clisp.org>
68127
68128         * lib/lock.h (gl_once_t): New type.
68129         (gl_once_define, gl_once): New macros.
68130         * lib/lock.c (fresh_once): New variable.
68131         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
68132         functions.
68133
68134 2005-07-16  Simon Josefsson  <jas@extundo.com>
68135
68136         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
68137         workaround, suggested by Bruno.
68138
68139 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
68140
68141         * modules/xalloc (Depends-on): Add xalloc-die.
68142         * modules/xvasprintf (Depends-on): Add xalloc-die.
68143
68144 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
68145
68146         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
68147         with a minor change.
68148
68149 2005-07-15  Bruno Haible  <bruno@clisp.org>
68150
68151         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
68152         When using lib/poll.c, define poll as rpl_poll.
68153
68154 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
68155
68156         * modules/argp (Depends-on): Remove unlocked-io.
68157
68158 2005-07-14  Derek Price  <derek@ximbiot.com>
68159
68160         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
68161         for glob symlink bug.
68162
68163 2005-07-14  Bruno Haible  <bruno@clisp.org>
68164
68165         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
68166         Instead, test for *_unlocked function declarations directly.
68167
68168 2005-07-11  Simon Josefsson  <jas@extundo.com>
68169
68170         * modules/size_max: New file.
68171
68172         * modules/xsize: Depend on size_max module for size_max.m4.
68173
68174 2005-07-11  Simon Josefsson  <jas@extundo.com>
68175
68176         * lib/size_max.h: New file.
68177
68178 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
68179
68180         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
68181         copyright symbol and the year.
68182         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
68183         (version_etc_va): Use parameterized copyright notice.
68184         Reword to conform to the current GNU coding standards.
68185
68186 2005-07-11  Karl Berry  <karl@gnu.org>
68187
68188         * doc/gnulib.texi (Quoting): new node.
68189         (Initial import): more info, from Patrice.
68190
68191 2005-07-11  Bruno Haible  <bruno@clisp.org>
68192
68193         * gnulib-tool (func_usage): Document option --avoid.
68194         (Command line options): Handle --avoid.
68195         (func_acceptable): New function.
68196         (func_modules_transitive_closure): Use it.
68197
68198 2005-07-11  Bruno Haible  <bruno@clisp.org>
68199
68200         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
68201         Reported by Jim Meyering.
68202
68203 2005-07-10  Bruno Haible  <bruno@clisp.org>
68204
68205         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
68206         Needed when size_t is smaller than 'unsigned int'.
68207         Reported by Paul Eggert.
68208
68209 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
68210
68211         * modules/argp (Depends-on): Add unlocked-io
68212
68213 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
68214
68215         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
68216         block of defines.
68217
68218 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
68219
68220         * config/srclist.txt: Comment out regcomp.c, since we have a porting
68221         fix now.
68222
68223 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
68224         and Paul Eggert  <eggert@cs.ucla.edu>
68225
68226         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
68227         in wint_t, not wchar_t.  Remove now-unnecessary cast.
68228
68229 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
68230
68231         * modules/regex (Files): Add lib/regex_internal.c,
68232         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
68233         (Depends-on): Add extensions.
68234         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
68235
68236 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
68237
68238         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
68239         pathconf.
68240         * m4/same.m4 (gl_SAME): Likewise.
68241         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
68242
68243         * m4/regex.m4: Adjust to new libc regex implementation.
68244         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
68245         all the .c and .h parts of (the new) regex.
68246         Quote the m4 stuff better.
68247         Check for RE_ICASE bug of old gnulib.
68248         Check for REG_STARTEND of recent libc.
68249         Rename local variables from jm_* to gl_*.
68250         Quote operand of "test -f".
68251         Say "recent enough" version of libc, not "version 2".
68252         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
68253         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
68254         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
68255         Remove check for btowc, isascii.
68256         Require AM_LANGINFO_CODESET.
68257
68258 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
68259
68260         * lib/regex.c, regex.h: Sync from libc.
68261         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
68262         * lib/regexec.c:
68263         New files, synced from libc, except that regex_internal.h
68264         currently has a small porting fix.
68265
68266 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
68267
68268         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
68269         regex_internal.c, regexec.c.
68270         Add regex_internal.h too, but as a comment, since the libc version
68271         is currently broken in gnulib mode.
68272
68273 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
68274
68275         Support programs like Emacs that use gnulib but not gettext.
68276         * MODULES.html.sh (Internationalization functions): Add gettext-h.
68277         * modules/gettext-h: New file.
68278         * modules/gettext (Files): Remove lib/gettext.h.
68279         (Depends-on): Add gettext-h.
68280         (Makefile.am): Remove lib_SOURCES.
68281         * modules/argmatch, modules/c-stack, modules/closeout:
68282         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
68283         * modules/execute, modules/file-type, modules/getaddrinfo:
68284         * modules/getopt, modules/human, modules/javacomp:
68285         * modules/javaexec, modules/mkdir-p, modules/obstack:
68286         * modules/openat, modules/pagealign_alloc, modules/pipe:
68287         * modules/quotearg, modules/regex, modules/rpmatch:
68288         * modules/unicodeio, modules/userspec, modules/version-etc:
68289         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
68290         * modules/xsetenv:
68291         Depend on gettext-h, not gettext.
68292
68293 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
68294
68295         * gnulib-tool (func_import): Add support for 'public domain' license.
68296         * modules/alloca, modules/atexit, modules/memmove:
68297         Now public domain, not GPL.
68298         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
68299         * modules/realloc, modules/strerror, modules/strtod:
68300         Now LGPL, not GPL.
68301
68302 2005-07-05  Bruno Haible  <bruno@clisp.org>
68303
68304         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
68305         autoconf CVS. Needed for mingw.
68306
68307 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
68308
68309         Remove the dependency of the strftime module on the tzset module.
68310         * modules/strftime (Depends-on): Remove dependency on tzset.
68311
68312 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
68313
68314         Remove the dependency of the strftime module on the tzset module.
68315         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
68316         gl_FUNC_TZSET_CLOBBER.
68317
68318 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
68319
68320         Remove the dependency of the strftime module on the tzset module.
68321         * lib/strftime.c (my_strftime)
68322         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
68323         Copy the input structure, to work around some of the bug with
68324         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
68325         Solaris releases, you should also use the tzset module, but we won't
68326         require it as a dependency any more since we don't want LGPLed code
68327         to depend on GPLed code.
68328
68329 2005-07-02  Jim Meyering  <jim@meyering.net>
68330
68331         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
68332         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
68333         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
68334         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
68335
68336 2005-07-02  Jim Meyering  <jim@meyering.net>
68337
68338         * lib/backupfile.c (backup_args): Change a `0' to NULL.
68339
68340 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
68341
68342         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
68343         declares only 'struct timespec;' (!).
68344
68345 2005-07-01  Jim Meyering  <jim@meyering.net>
68346
68347         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
68348         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
68349         * lib/save-cwd.c, tempname.c:
68350         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
68351         and don't include <sys/file.h>).
68352
68353 2005-06-29  Jim Meyering  <jim@meyering.net>
68354
68355         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
68356         type name.  Use the variable name instead.
68357         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
68358         Likewise.
68359
68360 2005-06-28  Simon Josefsson  <jas@extundo.com>
68361
68362         * modules/check-version (Files): Add check-version.m4.
68363
68364 2005-06-28  Simon Josefsson  <jas@extundo.com>
68365
68366         * m4/check-version.m4: New file, suggested by Jim Meyering
68367         <jim@meyering.net>.
68368
68369 2005-06-28  Simon Josefsson  <jas@extundo.com>
68370
68371         * lib/check-version.h, lib/check-version.c: New files.
68372
68373 2005-06-28  Simon Josefsson  <jas@extundo.com>
68374
68375         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
68376         collision with global variable.  Better indentation.  Don't
68377         increment buffer pointer beyond buffer end.  Based on comments
68378         from Paul Eggert <eggert@cs.ucla.edu>.
68379
68380         * lib/base64.h: Indent.
68381
68382 2005-06-28  Simon Josefsson  <jas@extundo.com>
68383
68384         * doc/gnulib.texi (Library version handling): New section.
68385
68386 2005-06-28  Jim Meyering  <jim@meyering.net>
68387
68388         * check-module (find_included_lib_files): Hard-code another
68389         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
68390         but modules/fts-lgpl (correctly) does not list those files.
68391
68392         * modules/canonicalize (Files): Add lib/pathmax.h.
68393
68394 2005-06-25  Simon Josefsson  <jas@extundo.com>
68395
68396         * modules/check-version: New file.
68397
68398 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
68399
68400         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
68401         initializer of struct addrinfo, as an indication that we don't
68402         care how many members the structure has.
68403
68404 2005-06-24  Derek Price  <derek@ximbiot.com>
68405         and Bruno Haible  <bruno@clisp.org>
68406
68407         Remove stat module & update lstat.
68408         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
68409         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
68410         * m4/stat.m4: Remove this file.
68411
68412 2005-06-24  Derek Price  <derek@ximbiot.com>
68413         and Bruno Haible  <bruno@clisp.org>
68414
68415         Remove stat module & update lstat.
68416         * lib/stat.c: Remove this file...
68417         (slash_aware_lstat): ...moving this content and its support...
68418         * lib/lstat.c (rpl_lstat): ...into here.
68419         * lib/lstat.h: New file.
68420
68421 2005-06-24  Derek Price  <derek@ximbiot.com>
68422         and Bruno Haible  <bruno@clisp.org>
68423
68424         Remove stat module & update lstat.
68425         * config/srclist.txt (libc sources): Remove stat.
68426
68427 2005-06-24  Derek Price  <derek@ximbiot.com>
68428         and Bruno Haible  <bruno@clisp.org>
68429
68430         Remove stat module & update lstat.
68431         * MODULES.html.sh (stat): Remove.
68432         * MODULES.html: Regenerated.
68433         * modules/lstat (Description): Correct function name.
68434         (Files): Add "lstat.h".
68435         (Depends-on): Remove stat, add xalloc, stat-macros.
68436         * modules/stat: Remove this file.
68437         (Include): Add "lstat.h", remove <sys/stat.h>.
68438
68439 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
68440
68441         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
68442         (ranged_convert): Don't save conversion in a temporary struct.
68443         This causes a warning with GCC 4.0.0, and anyway in the typical
68444         case it's not worth the extra 100 bytes or so of code.
68445         (ranged_convert, __mktime_internal): When calling a function via a
68446         pointer P, use P () rather than (*P) (), as we now assume C89 or
68447         better.
68448
68449 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
68450
68451         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
68452         "who -r" failed to give output.  Problem reported by Tim Waugh.
68453
68454         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
68455         (xcalloc): Use it to avoid needless tests.
68456         Problem reported by Jim Meyering.
68457
68458 2005-06-20  Derek Price  <derek@ximbiot.com>
68459
68460         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
68461         unnecessary for Autoconfs > 2.59c.
68462
68463 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
68464
68465         * lib/argp.h (__option_is_short): Check upper limit of
68466         __key. Isprint() requires its argument to have the value
68467         of an unsigned char or EOF.
68468
68469 2005-06-16  Jim Meyering  <jim@meyering.net>
68470
68471         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
68472         when either N or S is zero.
68473
68474 2005-06-16  Derek Price  <derek@ximbiot.com>
68475
68476         * m4/bison.m4: Declare YACC & YFLAGS precious.
68477
68478 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
68479
68480         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
68481         multibyte string or pattern, fall back on unibyte matching.
68482         Problem reported by James Youngman.
68483
68484 2005-06-08  Bruno Haible  <bruno@clisp.org>
68485
68486         * modules/csharpcomp: New file.
68487         * MODULES.html.sh (C#): Add csharpcomp.
68488
68489 2005-06-08  Bruno Haible  <bruno@clisp.org>
68490
68491         * m4/csharpcomp.m4: New file, from GNU gettext.
68492
68493 2005-06-08  Bruno Haible  <bruno@clisp.org>
68494
68495         * lib/csharpcomp.h: New file, from GNU gettext.
68496         * lib/csharpcomp.c: New file, from GNU gettext.
68497         * lib/csharpcomp.sh.in: New file, from GNU gettext.
68498
68499 2005-06-08  Bruno Haible  <bruno@clisp.org>
68500
68501         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
68502         warning on mingw.
68503
68504 2005-06-07  Derek Price  <derek@ximbiot.com>
68505
68506         Sync from CVS.
68507         * lib/glob_.h: Indent nested #ifdef.
68508
68509 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
68510
68511         Sync from coreutils.
68512         Use "file name" when talking about file names, instead of "filename"
68513         or "path", as per the GNU coding standards.
68514         * lib/mkdir-p.c: Renamed from makepath.c.
68515         (make_dir_parents): Renamed from make_path.  All callers changed.
68516         * lib/mkdir-p.h: Likewise.  All includers changed.
68517         * lib/filenamecat.c: Renamed from path-concat.c.
68518         (file_name_concat): Renamed from path_concat.  All callers changed.
68519         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
68520         * lib/filenamecat.h: Likewise.  All includers changed.
68521         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
68522         in comments or local variable names.
68523         * lib/basename.c: Likewise.
68524         * lib/canonicalize.c, canonicalize.h: Likewise.
68525         * lib/dirname.c, dirname.h: Likewise.
68526         * lib/euidaccess.c: Likewise.
68527         * lib/exclude.c: Likewise
68528         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
68529         * lib/fsusage.c, fsuage.h: Likewise.
68530         * lib/fts.c, fts_.h: Likewise.
68531         * lib/getcwd.c: Likewise.
68532         * lib/getloadavg.c: Likewise.
68533         * lib/mkstemp.c: Likewise.
68534         * lib/mountlist.c, mountlist.h: Likewise.
68535         * lib/openat.c, openat.h: Likewise.
68536         * lib/readlink-stub.c: Likewise.
68537         * lib/readutmp.c, readutmp.h: Likewise.
68538         * lib/rename.c: Likewise.
68539         * lib/rmdir.c: Likewise.
68540         * lib/same.c: Likewise.
68541         * lib/savedir.c: Likewise.
68542         * lib/stripslash.c: Likewise.
68543         * lib/tempname.c: Likewise.
68544         * lib/xreadlink.c: Likewise.
68545         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
68546         All uses changed.
68547         * lib/exclude.h: Likewise.
68548
68549         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
68550         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
68551         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
68552         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
68553         * lib/pathmax.h: Include <limits.h> unconditionally, since other
68554         files have been getting away with it for years (MORE/BSD 4.3
68555         is extinct now).
68556         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
68557         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
68558
68559         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
68560         Define to 256, not 255, as per modern POSIX.
68561
68562 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
68563
68564         Sync from coreutils.
68565         Use "file name" when talking about file names, instead of "filename"
68566         or "path", as per the GNU coding standards.
68567         * MODULES.html.sh: mkdir-p renamed from makepath.
68568         filenamecat renamed from path-concat.
68569         * modules/filenamecat: Renamed from modules/path-concat.
68570         (Files): filenamecat.h and filenamecat.c renamed from
68571         path-concat.h and path-concat.c.
68572         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
68573         (Include): filenamecat.h, not path-concat.h.
68574         * modules/mkdir-p: Renamed from modules/makepath.
68575         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
68576         makepath.c.
68577         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
68578         (Include): mkdir-p.h, not makepath.h.
68579
68580 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
68581
68582         Sync from coreutils.
68583         * m4/mkdir-p.m4: Renamed from makepath.m4.
68584         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
68585         Rename files from makepath.c to mkdir-p.c, and from
68586         makepath.h to mkdir-p.h.
68587         * m4/filenamecat.m4: Renamed from path-concat.m4.
68588         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
68589         Rename files from path-concat.c to filenamecat.c,
68590         and from path-concat.h to filenamecat.h.
68591         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
68592         "file name" in local variables or comments.
68593         * m4/rename.m4: Likewise.
68594
68595 2005-06-01  Bruno Haible  <bruno@clisp.org>
68596
68597         * modules/csharpexec: New file.
68598         * MODULES.html.sh (C#): New section.
68599
68600 2005-06-01  Bruno Haible  <bruno@clisp.org>
68601
68602         * m4/csharp.m4: New file, from GNU gettext.
68603         * m4/csharpexec.m4: New file, from GNU gettext.
68604
68605 2005-06-01  Bruno Haible  <bruno@clisp.org>
68606
68607         * lib/csharpexec.h: New file, from GNU gettext.
68608         * lib/csharpexec.c: New file, from GNU gettext.
68609         * lib/csharpexec.sh.in: New file, from GNU gettext.
68610
68611 2005-05-31  Derek Price  <derek@ximbiot.com>
68612             Paul Eggert  <eggert@cs.ucla.edu>
68613
68614         Sync from cvs.
68615         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
68616
68617 2005-05-31  Derek Price  <derek@ximbiot.com>
68618             Paul Eggert  <eggert@cs.ucla.edu>
68619
68620         Sync from cvs.
68621         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
68622
68623 2005-05-29  Derek Price  <derek@ximbiot.com>
68624
68625         * config/srclist.txt (glob_.h, glob.c): Add these files.
68626
68627 2005-05-29  Derek Price  <derek@ximbiot.com>
68628
68629         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
68630         * modules/glob: New file.
68631         * modules/getlogin_r: Add link to POSIX spec in description.
68632
68633 2005-05-29  Derek Price  <derek@ximbiot.com>
68634             Paul Eggert  <eggert@cs.ucla.edu>
68635
68636         * m4/glob.m4: New file.
68637
68638 2005-05-29  Derek Price  <derek@ximbiot.com>
68639             Paul Eggert  <eggert@cs.ucla.edu>
68640
68641         * lib/glob_.h, lib/glob.c: New files.
68642
68643 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
68644
68645         * modules/fts (Files): Remove m4/inttypes-pri.m4.
68646         * modules/fts-lgpl (Depends-on): Remove gettext.
68647
68648 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
68649
68650         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
68651         and don't require gt_INTTYPES_PRI.
68652
68653 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
68654
68655         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
68656
68657         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
68658         the configuration hassle isn't worth it.
68659         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
68660         (LONGEST_MODIFIER, PRIuMAX): Remove.
68661
68662 2005-05-27  Bruno Haible  <bruno@clisp.org>
68663
68664         * lib/getlogin_r.h: Remove second include of <stddef.h>.
68665
68666 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
68667
68668         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
68669         _POSIX_PTHREAD_SEMANTICS for Solaris.
68670
68671 2005-05-25  Derek Price  <derek@ximbiot.com>
68672
68673         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
68674
68675 2005-05-25  Derek Price  <derek@ximbiot.com>
68676             Paul Eggert  <eggert@cs.ucla.edu>
68677
68678         * modules/getlogin_r, m4/getlogin_r.m4: New files.
68679         * lib/getlogin_r.c, getlogin_r.h: New files.
68680
68681 2005-05-25  Bruno Haible  <bruno@clisp.org>
68682             Derek Price  <derek@ximbiot.com>
68683
68684         * lib/getlogin_r.h: Simplify API documentation.
68685
68686 2005-05-23  Derek Price  <derek@ximbiot.com>
68687
68688         * modules/minmax (Files): Add m4/minmax.m4.
68689         (configure.ac): Add gl_MINMAX.
68690
68691 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
68692
68693         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
68694         so that unistd-safer.h (GPL'ed code) need not be included.
68695
68696 2005-05-22  Bruno Haible  <bruno@clisp.org>
68697
68698         * m4/minmax.m4: New file.
68699         Based on a patch by Derek Price <derek@ximbiot.com>.
68700
68701 2005-05-22  Bruno Haible  <bruno@clisp.org>
68702
68703         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
68704         (INT64_MIN): Fix definition.
68705         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
68706
68707         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
68708         NEED_SIGNED_INT_TYPES.
68709
68710         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
68711         HAVE_SYSTEM_INTTYPES.
68712
68713 2005-05-22  Bruno Haible  <bruno@clisp.org>
68714
68715         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
68716         Also include <sys/param.h> if it defines MIN, MAX.
68717         Based on a patch by Derek Price <derek@ximbiot.com>.
68718
68719 2005-05-21  Jim Meyering  <jim@meyering.net>
68720
68721         * modules/fts (Files): Add m4/inttypes-pri.m4.
68722         (Depends-on): Add lstat and remove gettext.  Alphabetize.
68723
68724 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
68725
68726         New fts module.
68727         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
68728         (setup_dir, free_dir): New functions.
68729         (enter_dir, leave_dir): Define trivial
68730         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
68731         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
68732         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
68733         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
68734         Move to fts-cycle.c.
68735         (fts_open): Use setup_dir.
68736         (fts_close): Use free_dir.
68737         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
68738         This adds a label and some gotos, but the alternatives were messier.
68739         Check for memory allocation failure when entering a dir.
68740         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
68741         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
68742         (FTS): New member fts_cycle, that is a union that contains the
68743         old active_dir_ht and cycle_state.  All uses changed to mention
68744         fts_cycle.ht and fts_cycle.state.
68745         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
68746         fts.c, with the following changes:
68747         (setup_dir, free_dir): New functions.
68748         (enter_dir): Now returns bool.  Return true if successful, false
68749         if memory exhausted.  All callers changed.
68750         Do not bother partly cleaning up on
68751         memory allocation failure; that is free_dir's job.
68752         However, free ad if hash_insert fails, to avoid memory leak.
68753         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
68754         fts->fts_options to see which union member to use.
68755
68756 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
68757
68758         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
68759         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
68760
68761 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
68762
68763         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
68764
68765 2005-05-20  Jim Meyering  <jim@meyering.net>
68766
68767         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
68768         Now a macro, to pacify GCC.
68769
68770 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
68771
68772         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
68773         of -1.
68774
68775 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
68776
68777         * lib/chown.c (rpl_chown): Return -1 on failure.
68778
68779 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
68780
68781         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
68782         Don't check for stddef.h.
68783         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
68784         don't use its results.
68785         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
68786         since we include them unconditionally.  Don't require
68787         AM_STDBOOL_H, since stdbool is a prerequisite.
68788         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
68789         since we assume C89 or better.
68790         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
68791         as we don't use their results.
68792         Don't check for fchdir, memmove, memset, strrchr, as we use
68793         them unconditionally.
68794         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
68795         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
68796
68797 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
68798
68799         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
68800         Include <stddef.h> unconditionally, since we assume C89 now.
68801         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
68802         * lib/fts.c: Include fts_.h first, to check interface.
68803         Do not include intprops.h; no longer needed.
68804         Include cycle-check.h and hash.h, since fts_.h no longer does.
68805         Remove unnecessary casts of closedir to void.
68806         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
68807         decide whether to decrement nlinks.
68808         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
68809         (FTS): Use struct hash_table * instead of Hash_table, so that
68810         we no longer need to include hash.h here.
68811
68812 2005-05-18  Jim Meyering  <jim@meyering.net>
68813
68814         * modules/dirfd (License): Change to LGPL.  Most of the code
68815         is already in the public domain.
68816
68817 2005-05-18  Jim Meyering  <jim@meyering.net>
68818
68819         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
68820         Reported by Yoann Vandoorselaere.
68821
68822 2005-05-17  Jim Meyering  <jim@meyering.net>
68823
68824         * m4/fts.m4: New file, from coreutils.
68825
68826 2005-05-17  Jim Meyering  <jim@meyering.net>
68827
68828         * lib/fts.c, lib/fts_.h: New files, from coreutils.
68829
68830 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
68831
68832         Sync from coreutils.
68833         * m4/unlinkdir.m4: New file.
68834
68835 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
68836
68837         Sync from coreutils.
68838         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
68839         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
68840         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
68841         White space changes only.
68842         * lib/makepath.c (make_path): Port to hosts where leading "//" is
68843         special.
68844         * lib/yesno.c: Include getline.h, not ctype.h.
68845         (yesno): Don't remove leading white space; POSIX doesn't allow it.
68846         Use getline to remove arbitrary restriction on response length.
68847
68848 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
68849
68850         * config/srclist-update: Spell out "Street" in FSF postal
68851         mail address; this is the style the FSF seems to prefer.
68852
68853         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
68854         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
68855         this updates FSF postal mail address.
68856
68857         Sync from coreutils.
68858         * modules/unlinkdir: New file.
68859         * modules/yesno (Depends-on): Add getline.
68860         * MODULES.html.sh (File system functions): Add unlinkdir.
68861
68862 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
68863
68864         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
68865         lib/strsep.h:
68866         Change the initial comment to refer to GPL, not LGPL.
68867         gnulib-tool will change it to LGPL as needed.
68868
68869         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
68870         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
68871         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
68872         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
68873         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
68874         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
68875         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
68876         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
68877         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
68878         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
68879         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
68880         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
68881         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
68882         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
68883         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
68884         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
68885         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
68886         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
68887         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
68888         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
68889         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
68890         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
68891         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
68892         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
68893         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
68894         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
68895         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
68896         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
68897         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
68898         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
68899         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
68900         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
68901         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
68902         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
68903         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
68904         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
68905         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
68906         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
68907         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
68908         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
68909         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
68910         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
68911         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
68912         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
68913         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
68914         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
68915         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
68916         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
68917         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
68918         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
68919         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
68920         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
68921         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
68922         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
68923         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
68924         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
68925         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
68926         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
68927         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
68928         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
68929         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
68930         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
68931         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
68932         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
68933         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
68934         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
68935         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
68936         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
68937         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
68938         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
68939         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
68940         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
68941         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
68942         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
68943         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
68944         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
68945         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
68946         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
68947         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
68948         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
68949         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
68950         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
68951         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
68952         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
68953         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
68954         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
68955         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
68956         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
68957         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
68958         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
68959         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
68960         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
68961         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
68962         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
68963         lib/yesno.c, lib/yesno.h:
68964         Update FSF postal mail address.
68965
68966 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
68967
68968         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
68969         tests/test-memmem.c, tests/test-stpncpy.c:
68970         Update FSF postal mail address.
68971
68972 2005-05-13  Bruno Haible  <bruno@clisp.org>
68973
68974         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
68975         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
68976         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
68977         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
68978         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
68979         Add support for 64-bit integers in the MSVC compiler.
68980
68981 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
68982
68983         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
68984
68985 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
68986
68987         * gnulib-tool (func_import): Sort and uniquify recommended includes.
68988
68989 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
68990
68991         * doc/getdate.texi (General date syntax): Don't say that date
68992         date --iso-8601=ns generates acceptable dates; it doesn't yet.
68993         Problem reported by Nic Ferrier.
68994
68995 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
68996
68997         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
68998         specified in ai_socktype. Fix invalid ai_protocol
68999         check. ai_protocol is usually set to 0 or depending on
69000         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
69001         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
69002         ai_socktype / ai_protocol in the returned addrinfo structure.
69003
69004 2005-05-10  Simon Josefsson  <jas@extundo.com>
69005
69006         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
69007         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
69008
69009 2005-05-10  Karl Berry  <karl@gnu.org>
69010
69011         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
69012         (from http://www.gnu.org/licenses).
69013         * doc/COPYING.LIB: also rename to COPYING.LESSER.
69014         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
69015         fdl.texi suffices.
69016
69017 2005-05-10  Karl Berry  <karl@gnu.org>
69018
69019         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
69020         (COPYING.DOC): remove.
69021
69022         * config/srclist-update: new FSF address.
69023
69024 2005-05-10  Derek Price  <derek@ximbiot.com>
69025
69026         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
69027         possible.
69028
69029 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
69030             Bruno Haible  <bruno@clisp.org>
69031
69032         * modules/inet_ntop: New file.
69033         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
69034         inet_ntop.
69035
69036 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
69037             Bruno Haible  <bruno@clisp.org>
69038
69039         * m4/inet_ntop.m4: New file.
69040
69041 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
69042             Bruno Haible  <bruno@clisp.org>
69043
69044         * lib/inet_ntop.h: New file.
69045         * lib/inet_ntop.c: New file, from glibc with modifications.
69046
69047 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
69048
69049         * modules/time_r (License): Change to LGPL.
69050         * modules/extensions (License): Change to LGPL.  Actually,
69051         the license is more permissive than that, but currently gnulib-tool
69052         doesn't know how to handle more-permissive licenses.
69053
69054         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
69055         Problem reported by Dave Love.
69056
69057 2005-05-08  Jim Meyering  <jim@meyering.net>
69058
69059         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
69060         blank.
69061
69062 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
69063
69064         * modules/argmatch (Depends-on): Add stdbool.
69065         * modules/backupfile (Depends-on): Likewise.
69066         * modules/chdir-long (Depends-on): Likewise.
69067         * modules/closeout (Depends-on): Likewise.
69068         * modules/cycle-check (Depends-on): Likewise.
69069         * modules/dirname (Depends-on): Likewise.
69070         * modules/fnmatch (Depends-on): Likewise.
69071         * modules/fsusage (Depends-on): Likewise.
69072         * modules/fwriteerror (Depends-on): Likewise.
69073         * modules/getcwd (Depends-on): Likewise.
69074         * modules/getloadavg (Depends-on): Likewise.
69075         * modules/hard-locale (Depends-on): Likewise.
69076         * modules/makepath (Depends-on): Likewise.
69077         * modules/mountlist (Depends-on): Likewise.
69078         * modules/nanosleep (Depends-on): Likewise.
69079         * modules/posixtm (Depends-on): Likewise.
69080         * modules/quotearg (Depends-on): Likewise.
69081         * modules/readtokens (Depends-on): Likewise.
69082         * modules/readtokens0 (Depends-on): Likewise.
69083         * modules/readutmp (Depends-on): Likewise.
69084         * modules/save-cwd (Depends-on): Likewise.
69085         * modules/strftime (Depends-on): Likewise.
69086         * modules/userspec (Depends-on): Likewise.
69087         * modules/utimecmp (Depends-on): Likewise.
69088         * modules/xgetcwd (Depends-on): Likewise.
69089         * modules/xnanosleep (Depends-on): Likewise.
69090         * modules/xstrtod (Depends-on): Likewise.
69091         * modules/yesno (Depends-on): Likewise.
69092
69093 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
69094
69095         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
69096         needless checks.
69097
69098 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
69099
69100         Merge from coreutils.  Among other things,
69101         add bulletproofing for cases where stdin, stdout, or stderr are closed.
69102         * lib/fd-safer.c: New file.
69103         * lib/fcntl-safer.h, open-safer.c: Remove.
69104         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
69105         * lib/dup-safer.c: Include unistd-safer.h first.
69106         Don't include errno.h.
69107         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
69108         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
69109         * lib/file-type.c: Rely on file-type.h change.
69110         * lib/getloadavg.c: Include unistd-safer.h.
69111         (getloadavg): Use safer open.
69112         * lib/getusershell.c: Include "stdio-safer.h".
69113         (getusershell): Use safer fopen.
69114         * lib/long-options.c (long_options): Use NULL rather than 0.
69115         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
69116         'free'.
69117         * lib/modechange.c: Likewise.
69118         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
69119         (MODE_DONE): New constant.
69120         (struct mode_change): Remove 'next' member.
69121         (make_node_op_equals): New function; like the old one of the
69122         same name, except it allocates an array.
69123         (mode_compile, mode_create_from_ref): Use it.
69124         (mode_compile): Allocate result as an array, not a linked list.
69125         Parse octal string ourself, so that we catch mistakes like "+0".
69126         (mode_adjust): Arg is an array, not a linked list.
69127         * lib/modechange.c: Include stat-macros.h, xalloc.h.
69128         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
69129         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
69130         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
69131         Remove.  This is now stat-macros.h's job.
69132         (talloc): Remove.  All callers replaced by xalloc, so that
69133         our invokers don't have to worry about reporting memory failures.
69134         (make_node_op_equals): Remove.
69135         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
69136         New constants.
69137         (struct mode_change): Moved here from modechange.h.
69138         (mode_append_entry): Remove.
69139         (mode_compile): Remove MASKED_OPS arg, since it encouraged
69140         apps to have incorrect behavior.  Use simpler algorithm for head
69141         and tail.  Don't futz with umask; that's now the job of mode_adjust.
69142         Detect more invalid usages rather than having somewhat-random behavior.
69143         Don't insert an "a=" action, as that leads to incorrect behavior.
69144         (mode_compile, mode_create_from_ref): Return NULL on error instead
69145         of an enum, since now there's only one way to have an error.  All
69146         callers changed.
69147         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
69148         at the correct time.  Simplify calculation of "+u" and its ilk.
69149         Don't mishandle "+X".
69150         (mode_free): Remove "register" and localize decls.
69151         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
69152         (struct mode_change): Move to modechange.c; callers don't
69153         need to see this stuff.
69154         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
69155         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
69156         (mode_change, mode_adjust): Reflect the new signatures noted above.
69157         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
69158         that might redefine system include files.
69159         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
69160         (my_usleep): Use NULL rather than (void *) 0.
69161         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
69162         Use siginterrupt to specify that system calls should be interrupted.
69163         (rpl_nanosleep): Move initialization of suspended closer to call of
69164         my_usleep.
69165         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
69166         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
69167         (desirable_utmp_entry): New function.
69168         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
69169         using x2nrealloc, to simplify logic.
69170         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
69171         size calculation.  Do not assume utmp file is a regular file.
69172         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
69173         (READ_UTMP_CHECK_PIDS): New constant.
69174         * lib/save-cwd.c: Include unistd-safer.h.
69175         (save_cwd): Use fd_safer.
69176         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
69177         [!_LIBC] Include "stat-macros.h" instead.
69178         * lib/unistd-safer.h (fd_safer): New decl.
69179
69180 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
69181
69182         * modules/getloadavg (Depends-on): Add unistd-safer.
69183         * modules/getusershell (Depends-on): Add stdio-safer.
69184         * modules/lstat (Depends-on): Remove xalloc.
69185         * modules/mkstemp (Depends-on): Add stat-macros.
69186         * modules/modechange (Depends-on): Remove xstrtol.
69187         Add stat-macros, xalloc.
69188         * modules/save-cwd (Depends-on): Add unistd-safer.
69189         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
69190         * modules/unistd-safer (Files): Add lib/fd-safer.c
69191         (Makefile.am): Remove lib_SOURCES.
69192
69193         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
69194         Remove fcntl-safer; unistd-safer supersedes it.
69195
69196 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
69197
69198         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
69199         AC_HEADER_STAT.
69200         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
69201         (gl_PREREQ_CHOWN): Remove.
69202         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
69203         it.  Don't require AC_HEADER_STAT.
69204         (gl_PREREQ_LSTAT): Remove.
69205         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
69206         Don't require AC_HEADER_STAT.
69207         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
69208         (gl_PREREQ_RMDIR): Remove.
69209         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
69210         mention stat-macros.h or AC_HEADER_STAT, since we'll make
69211         the stat-macros module a prerequisite.
69212         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
69213         * m4/filemode.m4 (gl_FILEMODE): Likewise.
69214         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
69215         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
69216         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
69217         variable names.
69218         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
69219         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
69220         variable prefixes.
69221         * m4/fcntl-safer.m4: Remove.
69222         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
69223         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
69224         Invoke gl_PREREQ_FD_SAFER.
69225         (gl_PREREQ_FD_SAFER): New macro.
69226         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
69227         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
69228         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
69229         Remove duplicate call to AC_LIBOBJ(readutmp).
69230         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
69231
69232         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
69233         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
69234
69235 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
69236
69237         * MODULES.html.sh (Misc): Add byteswap.
69238
69239 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
69240
69241         * modules/getcwd (Depends-on): Add extensions.
69242         * modules/openat (Depends-on): Likewise.
69243
69244 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
69245
69246         * modules/byteswap: New file.
69247
69248 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
69249
69250         * m4/byteswap.m4: New file.
69251
69252 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
69253
69254         * lib/byteswap_.h: New file.
69255
69256 2005-04-25  Karl Berry  <karl@gnu.org>
69257
69258         * m4/gettext.m4: Update from GNU gettext 0.14.4.
69259
69260 2005-04-25  Albert Chin  <china@thewrittenword.com>
69261
69262         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
69263         Toolkit C bug.
69264
69265 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
69266
69267         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
69268         (func_ln_if_changed): Remove forcibly for no error message
69269         in case file does not exist.
69270
69271 2005-04-19  Simon Josefsson  <jas@extundo.com>
69272
69273         * gnulib-tool (Options): Make --symlink mean --symbolic.
69274
69275 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
69276
69277         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
69278
69279 2005-04-16  Simon Josefsson  <jas@extundo.com>
69280
69281         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
69282
69283 2005-04-15  Simon Josefsson  <jas@extundo.com>
69284
69285         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
69286
69287 2005-04-15  Simon Josefsson  <jas@extundo.com>
69288
69289         * gnulib-tool: Rename --symlink to --symbolic.
69290
69291 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
69292
69293         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
69294         symbolic links to files instead of copying/moving.  Add --aux-dir,
69295         specifying directory relative --dir where auxiliary build tools
69296         are placed.
69297
69298 2005-04-14  Bruno Haible  <bruno@clisp.org>
69299
69300         * modules/allocsa (License): Change to LGPL.
69301         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
69302
69303 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
69304
69305         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
69306         that "UTC +1 second" continues to work.  Problem reported
69307         by Dmitry V. Levin.
69308         (relunit_snumber): New rule.
69309         (relunit): Use it.
69310
69311 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
69312
69313         * lib/getdate.y (universal_time_zone_table): New constant.
69314         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
69315         universal_time_zone_table.
69316         (lookup_zone): Prefer universal_time_zone_table to
69317         local_time_zone_table, so that "GMT" time stamps are allowed in
69318         London during the summer.  Problem reported by Ian Abbott.
69319
69320 2005-04-12  Jim Meyering  <jim@meyering.net>
69321
69322         * lib/human.c (humblock): Set *options even when returning due to
69323         xstrtoumax conversion failure.  Thanks to a used-uninitialized
69324         warning from gcc-4.
69325
69326 2005-04-09  Jim Meyering  <jim@meyering.net>
69327
69328         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
69329         -Wuninitialized: initialize tm0.tm_year.
69330
69331 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
69332
69333         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
69334         count, since there's no maximum.  All uses changed.
69335         Add member dsts_seen.
69336         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
69337         not being INT_MAX.
69338         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
69339         Use pc_rels_seen to decide whther a date is absolute.
69340
69341         * lib/getdate.y (number): Don't overwrite year.
69342         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
69343         check.
69344
69345 2005-04-02  Simon Josefsson  <jas@extundo.com>
69346
69347         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
69348         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
69349
69350 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
69351
69352         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
69353         where no absolute path name can be longer than PATH_MAX.
69354
69355 2005-03-27  Jim Meyering  <jim@meyering.net>
69356
69357         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
69358
69359 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
69360
69361         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
69362         "one's complement" -> "ones' complement" in comment, as per Knuth.
69363         "value of type" -> "type or expression" in comment.
69364         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
69365
69366 2005-03-26  Jim Meyering  <jim@meyering.net>
69367
69368         Comment nits.
69369         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
69370         Correct typos: s/or/of/.
69371
69372 2005-03-26  Jim Meyering  <jim@meyering.net>
69373
69374         * modules/check-include-files: Move to ../ and rename to...
69375         * check-module: ...this.
69376
69377 2005-03-25  Jim Meyering  <jim@meyering.net>
69378
69379         * modules/xvasprintf (Files): Add xalloc.h.
69380
69381 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
69382
69383         * modules/gettext (Files): config/config.rpath ->
69384         build-aux/config.rpath
69385         * modules/iconv (Files): Likewise.
69386         Problem reported by Oskar Liljeblad.
69387
69388 2005-03-23  Jim Meyering  <jim@meyering.net>
69389
69390         * modules/check-include-files: New script to check for
69391         missing dependencies, multiple includes, etc.
69392
69393         * modules/c-strtold (Depends-on): Add xalloc.
69394         * modules/c-strtod (Depends-on): Add xalloc.
69395         * modules/hash (Depends-on): Add xalloc.
69396         (Files): Remove lib/xalloc.h.
69397
69398         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
69399         * modules/userspec (Files): Add lib/inttostr.h.
69400
69401 2005-03-23  Jim Meyering  <jim@meyering.net>
69402
69403         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
69404
69405 2005-03-22  Jim Meyering  <jim@meyering.net>
69406
69407         * modules/stat-macros: New module.
69408         * modules/canonicalize, modules/euidaccess, modules/file-type,
69409         * modules/filemode, modules/lchown, modules/makepath,
69410         * modules/rmdir, modules/stat: Depend on new stat-macros module
69411         rather than listing lib/stat-macros.h manually.
69412         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
69413
69414 2005-03-22  Jim Meyering  <jim@meyering.net>
69415
69416         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
69417
69418 2005-03-22  Bruno Haible  <bruno@clisp.org>
69419
69420         * config/srclist.txt: Replace target directory 'config' with
69421         'build-aux'.
69422         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
69423         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
69424         ../build-aux/.
69425
69426 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
69427
69428         * modules/chdir-long (Depends-on): Add mempcpy.
69429
69430         * modules/acl, modules/backupfile, modules/c-strtod,
69431         modules/c-strtold, modules/canon-host, modules/canonicalize,
69432         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
69433         modules/exclude, modules/exitfail, modules/file-type,
69434         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
69435         modules/getdate, modules/getline, modules/getpagesize,
69436         modules/getpass, modules/getugroups, modules/group-member,
69437         modules/hard-locale, modules/hash, modules/human, modules/idcache,
69438         modules/inttostr, modules/long-options, modules/makepath,
69439         modules/md5, modules/memcasecmp, modules/memcoll,
69440         modules/modechange, modules/mountlist, modules/path-concat,
69441         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
69442         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
69443         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
69444         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
69445         modules/strftime, modules/strndup, modules/strverscmp,
69446         modules/timespec, modules/unlocked-io, modules/userspec,
69447         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
69448         modules/yesno:
69449         Remove lib_SOURCES line from Makefile.am section, as this is now
69450         done automatically by the corresponding Autoconf macro.
69451
69452 2005-03-21  Jim Meyering  <jim@meyering.net>
69453
69454         Changes imported from coreutils.
69455
69456         * lib/cycle-check.c: Don't include xalloc.h.
69457
69458         * lib/path-concat.c: Don't include assert.h.
69459         (path_concat): Remove assertion that would have triggered
69460         for ABASE starting with more than one slash.
69461         Reported by Andreas Schwab.
69462
69463         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
69464         properly when ABASE is an absolute file name.
69465         Correct the description of this function.
69466         Include <assert.h>.
69467         Add an assertion and a test driver.
69468         This fixes a bug introduced on 2004-07-02.
69469         Andreas Schwab reported the resulting failure of cp --parents:
69470         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
69471
69472 2005-03-21  Jim Meyering  <jim@meyering.net>
69473
69474         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
69475         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
69476
69477 2005-03-21  Jim Meyering  <jim@meyering.net>
69478         and  Paul Eggert  <eggert@cs.ucla.edu>
69479
69480         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
69481         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
69482         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
69483         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
69484         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
69485         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
69486         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
69487         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
69488         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
69489         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
69490         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
69491         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
69492         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
69493         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
69494         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
69495         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
69496         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
69497         for these modules.
69498
69499 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
69500
69501         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
69502         (which shouldn't happen), generate nothing instead of returning 0
69503         immediately, so that nstrftime (NULL, ...) doesn't return 0.
69504
69505 2005-03-16  Bruno Haible  <bruno@clisp.org>
69506
69507         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
69508         HAVE_LONGLONG_64BIT.
69509
69510 2005-03-16  Bruno Haible  <bruno@clisp.org>
69511
69512         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
69513         HAVE_LONGLONG_64BIT.
69514
69515 2005-03-16  Bruno Haible  <bruno@clisp.org>
69516
69517         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
69518         HAVE_LONGLONG_64BIT.
69519
69520 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
69521
69522         * lib/strftime.c (my_strftime): Prepend space to format so that we can
69523         reliably distinguish strftime failure from empty output on POSIX
69524         hosts.
69525
69526 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
69527
69528         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
69529         (iconv_string): Don't guess a size-zero buffer, as that might cause
69530         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
69531         result would be 'too large', where 'too large' is (heuristically)
69532         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
69533         overflow concerns.  This will prevent some unwanted malloc failures
69534         when the inputs are very large.
69535
69536 2005-03-15  Karl Berry  <karl@gnu.org>
69537
69538         * config/srclist.txt (config.rpath): from gettext.
69539         * config/config.rpath: update.
69540
69541 2005-03-15  Bruno Haible  <bruno@clisp.org>
69542
69543         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
69544         to 'negate'.
69545
69546         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
69547         variable.
69548
69549         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
69550         results.
69551
69552 2005-03-14  Simon Josefsson  <jas@extundo.com>
69553
69554         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
69555         <fx@gnu.org>.
69556
69557 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
69558
69559         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
69560         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
69561         intprops.h.
69562         * lib/strtol.c: Likewise.
69563
69564 2005-03-14  Jim Meyering  <jim@meyering.net>
69565
69566         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
69567         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
69568         to be nonzero so that we (and caller) can detect the difference
69569         between a valid zero-length expansion and an error return, even
69570         when the underlying strftime fails before writing anything into
69571         that location.
69572
69573 2005-03-14  Bruno Haible  <bruno@clisp.org>
69574
69575         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
69576         Update from GNU gettext 0.14.3.
69577
69578 2005-03-10  Jim Meyering  <jim@meyering.net>
69579
69580         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
69581
69582 2005-03-10  Jim Meyering  <jim@meyering.net>
69583
69584         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
69585         so that this module works on systems without fchdir.
69586
69587 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
69588
69589         Factor int-properties macros into a single file, except for
69590         glibc-related files.
69591         * lib/intprops.h: New file.
69592         * lib/getloadavg.c: Include it instead of limits.h.
69593         (INT_STRLEN_BOUND): Remove.
69594         * lib/human.c: Include intprops.h.
69595         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
69596         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
69597         302/1000.
69598         * lib/inttostr.h: Include intprops.h instead of limits.h.
69599         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
69600         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
69601         for consistency with intprops.h.
69602         (time_t_is_integer, twos_complement_arithmetic): Use them.
69603         * lib/sig2str.h: Include <signal.h>, intprops.h.
69604         (INT_STRLEN_BOUND): Remove.
69605         * lib/strftime.c (TYPE_SIGNED): Remove.
69606         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
69607         * lib/strtol.c: Adjust comments to match intprops.h.
69608         * lib/userspec.c: Include intprops.h.
69609         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
69610         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
69611         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
69612         instead of rolling our own expressions.
69613         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
69614
69615         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
69616         instead of int.
69617         (my_strftime): Do not mishandle years close to INT_MAX, by doing
69618         the right thing even if adding 1900 would overflow.  Similarly
69619         for tm_mon + 1 and tm_yday + 1.
69620         Make %Y always equivalent to %C%y, and similarly for %G and %g.
69621         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
69622         (DO_SIGNED_NUMBER): New macro.
69623         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
69624
69625 2005-03-07  Bruno Haible  <bruno@clisp.org>
69626
69627         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
69628
69629 2005-03-07  Bruno Haible  <bruno@clisp.org>
69630
69631         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
69632
69633 2005-03-04  Derek R. Price  <derek@ximbiot.com>
69634
69635         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
69636         (func_import): Only replace files via --import when they have actually
69637         changed.
69638
69639 2005-03-03  Derek R. Price  <derek@ximbiot.com>
69640
69641         * m4/mmap-anon.m4: New file.
69642         * m4/pagealign_alloc.m4: New file.
69643
69644 2005-03-03  Derek R. Price  <derek@ximbiot.com>
69645             Bruno Haible  <bruno@clisp.org>
69646
69647         * modules/pagealign_alloc: New file.
69648         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
69649
69650 2005-03-03  Derek R. Price  <derek@ximbiot.com>
69651             Bruno Haible  <bruno@clisp.org>
69652
69653         * lib/pagealign_alloc.h: New file.
69654         * lib/pagealign_alloc.c: New file.
69655
69656 2005-03-03  Bruno Haible  <bruno@clisp.org>
69657
69658         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
69659         Use an all-permissive copyright notice, recommended by RMS.
69660
69661 2005-03-02  Bruno Haible  <bruno@clisp.org>
69662
69663         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
69664         of AIX, the replacement has to be done only after <string.h> is
69665         included, therefore not in config.h. stpncpy.h does the replacement,
69666         and stpncpy.c uses it.
69667
69668 2005-03-02  Bruno Haible  <bruno@clisp.org>
69669
69670         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
69671         stpncpy.c uses it.
69672
69673 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
69674
69675         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
69676         The workaround isn't strictly needed for POSIX conformance, and
69677         it's too much of a pain to configure and maintain.  We'll ask
69678         people to fix their kernels instead.
69679         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
69680         (NANOSLEEP_BUG_WORKAROUND): Remove.
69681         (xnanosleep): Remove the workaround.
69682
69683 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
69684
69685         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
69686         Reported by Derek Price.
69687         (Include): Add "timespec.h".
69688
69689         * modules/xnanosleep (Depends-on): Remove gethrxtime.
69690
69691 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
69692
69693         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
69694         to detect nanosleep bug.
69695
69696 2005-03-01  Bruno Haible  <bruno@clisp.org>
69697
69698         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
69699
69700 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
69701
69702         * modules/gethrxtime: New file.
69703         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
69704         (Depends-on): Add gethrxtime.
69705         (configure.ac): Add gl_XNANOSLEEP.
69706         (Makefile.am): Remove lib_SOURCES line.
69707
69708 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
69709
69710         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
69711         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
69712
69713 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
69714
69715         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
69716         * lib/timespec.h (gettime): Return void, since it always
69717         succeeds now.  All uses changed.
69718         * lib/gettime.c (gettime): Likewise.
69719         [HAVE_NANOTIME]: Prefer nanotime.
69720         Assume gettimeofday succeeds, as POSIX requires.
69721         Assime time () succeeds, since other code already does.
69722         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
69723         (timespec_subtract): Remove.
69724         (NANOSLEEP_BUG_WORKAROUND): New constant.
69725         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
69726         things considerably.  Use it only on GNU/Linux hosts, since the
69727         workaround shouldn't be needed elsewhere.
69728
69729 2005-02-24  Bruno Haible  <bruno@clisp.org>
69730
69731         * modules/gettext (Files): Add m4/glibc2.m4.
69732
69733 2005-02-24  Bruno Haible  <bruno@clisp.org>
69734
69735         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
69736         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
69737         * m4/progtest.m4:
69738         Update from GNU gettext 0.14.2.
69739         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
69740
69741 2005-02-24  Bruno Haible  <bruno@clisp.org>
69742
69743         * lib/localcharset.c: Update from GNU gettext 0.14.2.
69744         * lib/config.charset: Update from GNU gettext 0.14.2.
69745
69746 2005-02-24  Bruno Haible  <bruno@clisp.org>
69747
69748         * lib/gettext.h: Update from GNU gettext 0.14.2.
69749
69750 2005-02-23  Simon Josefsson  <jas@extundo.com>
69751
69752         * m4/iconvme.m4: New file.
69753
69754 2005-02-23  Jim Meyering  <jim@meyering.net>
69755
69756         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
69757         change.
69758         Thanks to Bruno Haible for catching it.
69759
69760 2005-02-22  Simon Josefsson  <jas@extundo.com>
69761
69762         * modules/iconvme: New file.
69763
69764         * MODULES.html.sh: Add iconvme.
69765
69766 2005-02-22  Simon Josefsson  <jas@extundo.com>
69767
69768         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
69769
69770 2005-02-22  Simon Josefsson  <jas@extundo.com>
69771
69772         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
69773
69774 2005-02-22  Jim Meyering  <jim@meyering.net>
69775
69776         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
69777         s/ifndef/ifdef/.
69778
69779 2005-02-20  Neil Conway  <neilc@samurai.com>
69780
69781         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
69782         returned by OSX/Darwin if the specified buffer is not large
69783         enough for the hostname.
69784
69785 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
69786
69787         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
69788         pass it to _help, otherwise the latter coredumps trying to
69789         dereference state.root_argp.
69790
69791 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
69792
69793         * modules/chdir-long (Depends-on): Add memrchr.
69794         * modules/memrchr (Files): Add lib/memrchr.h.
69795         (Include): "memrchr.h".
69796
69797 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
69798
69799         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
69800
69801 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
69802
69803         * lib/memrchr.h: New file.
69804         * lib/chdir-long.c: Include it.
69805         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
69806         Don't bother including stddef.h.
69807
69808 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
69809
69810         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
69811         inclusion.
69812         Include <sys/types.h>, for dev_t.
69813         (ME_DUMMY, ME_REMOTE): Move from here....
69814         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
69815         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
69816         Dmitry V. Levin.
69817         Include mountlist.h first, to test the interface.
69818
69819 2005-01-29  Bruno Haible  <bruno@clisp.org>
69820
69821         * lib/progname.c (program_name): Initialize.
69822         Needed when linking statically on MacOS X.
69823
69824 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
69825
69826         Sync from coreutils.
69827         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
69828         (Depends-on): Add c-strtod.
69829         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
69830
69831 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
69832
69833         Sync from coreutils.
69834         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
69835
69836         Remove files that are specific to coreutils.
69837         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
69838
69839 2005-01-28  Bruno Haible  <bruno@clisp.org>
69840
69841         * modules/javacomp: New file.
69842         * MODULES.html.sh (Java): Add javacomp.
69843
69844 2005-01-28  Bruno Haible  <bruno@clisp.org>
69845
69846         * m4/javacomp.m4: New file, from GNU gettext.
69847
69848 2005-01-28  Bruno Haible  <bruno@clisp.org>
69849
69850         * lib/javacomp.sh.in: New file, from GNU gettext.
69851         * lib/javacomp.h: New file, from GNU gettext.
69852         * lib/javacomp.c: New file, from GNU gettext.
69853
69854 2005-01-26  Simon Josefsson  <jas@extundo.com>
69855
69856         * lib/gai_strerror.c: Use GPL in header.
69857
69858 2005-01-26  Bruno Haible  <bruno@clisp.org>
69859
69860         * modules/javaexec: New file.
69861         * MODULES.html.sh (Java): Add javaexec.
69862
69863 2005-01-26  Bruno Haible  <bruno@clisp.org>
69864
69865         * m4/javaexec.m4: New file, from GNU gettext.
69866
69867 2005-01-26  Bruno Haible  <bruno@clisp.org>
69868
69869         * lib/javaexec.sh.in: New file, from GNU gettext.
69870         * lib/javaexec.h: New file, from GNU gettext.
69871         * lib/javaexec.c: New file, from GNU gettext.
69872
69873 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
69874
69875         * modules/lchown (Depends-on): Remove lchown.h
69876
69877 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
69878
69879         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
69880         must be defined if the header file was not found, in order
69881         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
69882
69883 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
69884
69885         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
69886         initializers for struct pentry_state.
69887         (__argp_error): Check return value of __asprintf
69888         (__argp_failure): Translate error message
69889
69890         * lib/argp-parse.c: Removed braces around the expansion of N_()
69891
69892 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
69893
69894         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
69895         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
69896         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
69897         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
69898         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
69899         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
69900         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
69901         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
69902         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
69903         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
69904         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
69905         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
69906         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
69907         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
69908         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
69909         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
69910         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
69911         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
69912         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
69913         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
69914         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
69915         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
69916         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
69917         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
69918         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
69919         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
69920         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
69921         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
69922         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
69923         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
69924         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
69925         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
69926         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
69927         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
69928         xstrtol.m4, xstrtoumax.m4, yesno.m4:
69929         Use an all-permissive copyright notice, recommended by RMS.
69930
69931 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
69932
69933         * modules/chdir-long (Depends-on): Remove mempcpy.
69934
69935 2005-01-21  Jim Meyering  <jim@meyering.net>
69936
69937         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
69938         same value as for Solaris 9.
69939
69940         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
69941         component length.  This included changing the parameter to be
69942         of type `char *' rather than `char const *'.
69943         * lib/chdir-long.h (chdir_long): Update prototype.
69944
69945         * lib/openat.c (fdopendir, fstatat): New functions.
69946         * lib/openat.h: Include headers required for use of DIR and struct
69947         stat.
69948         [AT_SYMLINK_NOFOLLOW]: Define.
69949         (fdopendir, fstatat): Add prototypes.
69950
69951 2005-01-21  Bruno Haible  <bruno@clisp.org>
69952
69953         * modules/classpath: New file.
69954         * MODULES.html.sh (Java): Add classpath.
69955
69956 2005-01-21  Bruno Haible  <bruno@clisp.org>
69957
69958         * lib/classpath.h: New file, from GNU gettext.
69959         * lib/classpath.c: New file, from GNU gettext.
69960
69961 2005-01-20  Simon Josefsson  <jas@extundo.com>
69962
69963         * modules/version-etc-fsf: New file.
69964
69965 2005-01-20  Simon Josefsson  <jas@extundo.com>
69966
69967         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
69968         * lib/version-etc.c: Remove version_etc_copyright.
69969         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
69970         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
69971
69972 2005-01-20  Simon Josefsson  <jas@extundo.com>
69973
69974         * lib/base64.h (isbase64): Add.
69975
69976         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
69977         using a unsigned prototype, don't inline.
69978         (base64_decode): Use it.
69979
69980 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
69981
69982         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
69983         it.
69984
69985 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
69986
69987         * lib/save-cwd.c (save_cwd): Remove code to support the case
69988         where fchdir is missing or flaky.
69989
69990 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
69991
69992         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
69993
69994 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
69995
69996         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
69997         AC_LIBSOURCES now does this.
69998         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
69999         with new ullong_max module.
70000
70001 2005-01-19  Bruno Haible  <bruno@clisp.org>
70002
70003         * modules/sh-quote: New file.
70004         * MODULES.html.sh (Executing programs): Add sh-quote.
70005
70006 2005-01-19  Bruno Haible  <bruno@clisp.org>
70007
70008         * lib/sh-quote.h: New file, from GNU gettext.
70009         * lib/sh-quote.c: New file, from GNU gettext.
70010
70011 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
70012
70013         Merge from coreutils.
70014         * m4/ullong_max.m4: New file.
70015         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
70016         (gl_MACROS): Assume localeconv exists.
70017
70018 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
70019
70020         Merge changes from coreutils, as described below in several
70021         changelogs dated today.
70022
70023         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
70024         (O_DIRECTORY): Remove; not needed here, since "." must be
70025         a directory.  All uses removed.
70026         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
70027         universal on Suns, and we also need to test for IRIX.
70028         Revamp code to use 'if' rather than '#if'.
70029         Avoid unnecessary comparison of cwd->desc to 0.
70030
70031         * lib/utimens.c (futimens): Robustify the previous patch, by checking
70032         for known valid error numbers rather than observed invalid ones.
70033
70034 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
70035
70036         * modules/ullong_max: New file.
70037
70038         * modules/chdir-long, modules/openat: New files.
70039         * modules/save-cwd (Depends-on): Depend on chdir-long.
70040         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
70041
70042 2005-01-18  Jim Meyering  <jim@meyering.net>
70043
70044         Merge from coreutils.
70045         * m4/chdir-long.m4, m4/openat.m4: New files.
70046         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
70047         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
70048         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
70049         is sane and DOES follow symlinks.  Besides, testing 20 different
70050         systems found no broken chown implementations.
70051         Prompted by a change in rsync's copy of this macro.
70052         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
70053
70054         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
70055
70056         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
70057         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
70058         NULL-means-set-to-current-time semantics.
70059         Remove temporary file immediately, rather than waiting
70060         for configure's at-exit trap code to do it.
70061
70062 2005-01-18  Jim Meyering  <jim@meyering.net>
70063
70064         * lib/version-etc.c (version_etc_copyright): Update copyright date.
70065
70066         * lib/utimens.c (futimens): Account for the fact that futimes
70067         can also fail with errno == ENOSYS or errno == ENOENT.
70068         Patch from Dmitry V. Levin.
70069
70070         Change the name of the robust chdir function from chdir to chdir_long.
70071         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
70072         (restore_cwd): Use chdir_long, not chdir.
70073         * lib/chdir-long.c: Renamed from chdir.c.
70074         * lib/chdir-long.h: Renamed from chdir.h.
70075         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
70076         Hurd.
70077
70078 2005-01-18  Bruno Haible  <bruno@clisp.org>
70079
70080         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
70081         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
70082         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
70083         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
70084         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
70085         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
70086         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
70087         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
70088         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
70089         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
70090         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
70091         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
70092         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
70093         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
70094         Use an all-permissive copyright notice, recommended by RMS.
70095
70096 2005-01-18  Bob Proulx  <bob@proulx.com>
70097
70098         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
70099         simplify offsetof() macro construct to avoid compile failure with
70100         native HP-UX 11.0 ANSI C compiler.
70101
70102 2005-01-17  Bruno Haible  <bruno@clisp.org>
70103
70104         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
70105         redundant because stpncpy.m4 takes care of it.
70106
70107 2005-01-17  Bruno Haible  <bruno@clisp.org>
70108
70109         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
70110
70111 2005-01-17  Bruno Haible  <bruno@clisp.org>
70112
70113         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
70114         used.
70115
70116 2005-01-17  Bruno Haible  <bruno@clisp.org>
70117
70118         * lib/fwriteerror.h (fwriteerror): Change specification to include
70119         fclose.
70120         * lib/fwriteerror.c: Include <stdbool.h>.
70121         (fwriteerror): At the end, close the file stream. Record whether
70122         stdout was already closed.
70123
70124 2005-01-17  Bruno Haible  <bruno@clisp.org>
70125
70126         * lib/execute.c (environ): Declare if needed.
70127         * lib/pipe.c (environ): Likewise.
70128         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
70129
70130 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
70131
70132         * modules/argp: Depend on vsnprintf
70133
70134 2005-01-10  Jim Meyering  <jim@meyering.net>
70135
70136         * modules/closeout (Depends-on): Add atexit.
70137
70138 2005-01-06  Bruno Haible  <bruno@clisp.org>
70139
70140         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
70141
70142 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
70143
70144         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
70145         definitions to be after all include files, to avoid collisions.
70146         Problem reported by Bob Proulx.
70147
70148 2005-01-04  Jim Meyering  <jim@meyering.net>
70149
70150         Changes imported from coreutils.
70151         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
70152         as the mkstemp template, use a temporary directory and an
70153         8.3-friendly template to avoid trouble on systems like DJGPP.
70154         Reported by Juan M. Guerrero via Stepan Kasal.
70155         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
70156         close. Remove the temporary directory right away, rather than waiting
70157         for configure's at-exit trap code to do it.
70158         Suggestion from Stepan Kasal.
70159
70160 2005-01-01  Simon Josefsson  <jas@extundo.com>
70161
70162         * gnulib-tool: Print #include directives when --import'ing.
70163
70164 2004-12-28  Simon Josefsson  <jas@extundo.com>
70165
70166         * tests/test-base64.c: Include required header files.  Remove
70167         unused variables.
70168
70169 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
70170
70171         * modules/error (Depends-on): Remove gettext.
70172
70173 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
70174
70175         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
70176         not needed.  This removes a dependency on the gettext module.
70177         [defined _LIBC]: Do not include <libintl.h>; not needed.
70178
70179 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
70180
70181         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
70182         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
70183
70184 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
70185
70186         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
70187         HAVE_DECL_STRTOLD.
70188
70189 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
70190
70191         * modules/getdate (Depends-on): Remove alloca-opt.
70192
70193 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
70194
70195         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
70196
70197 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
70198
70199         * lib/argp-parse.c: Include <stddef.h>.
70200         (alignof, alignto): New macros.
70201         (parser_init): Don't assume that void * is aligned sufficiently
70202         for struct option.
70203
70204         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
70205         need to extend the stack.
70206         (YYINITDEPTH): New macro, so that the initial stack isn't overly
70207         large.
70208
70209 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
70210
70211         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
70212
70213 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
70214
70215         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
70216         (2004-10-24) change.  Apparently this was a false alarm.
70217
70218         * modules/getdate: Depend on alloca-opt, not alloca.
70219
70220 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
70221
70222         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
70223         Remove now-obsolete comment about AIX.
70224         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
70225         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
70226         (YYMAXDEPTH): New macro.
70227
70228 2004-12-18  Simon Josefsson  <jas@extundo.com>
70229
70230         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
70231
70232 2004-12-18  Bruno Haible  <bruno@clisp.org>
70233
70234         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
70235
70236 2004-12-18  Bruno Haible  <bruno@clisp.org>
70237
70238         * lib/fatal-signal.c (fatal_signals): Make non-const.
70239         (init_fatal_signals): New function.
70240         (uninstall_handlers, install_handlers): Ignore signals that were set to
70241         SIG_IGN.
70242         (at_fatal_signal): Call init_fatal_signals.
70243         (init_fatal_signal_set): Likewise. Ignore signals that were set to
70244         SIG_IGN.
70245         Reported by Paul Eggert.
70246
70247 2004-12-18  Bruno Haible  <bruno@clisp.org>
70248
70249         * doc/alloca.texi: New file.
70250         * doc/alloca-opt.texi: New file.
70251
70252 2004-12-17  Jim Meyering  <jim@meyering.net>
70253
70254         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
70255         Otherwise, install-sh could exit with improper exit status when
70256         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
70257
70258 2004-12-16  Simon Josefsson  <jas@extundo.com>
70259
70260         * tests/test-base64.c: Add license.
70261
70262 2004-12-15  Stepan Kasal  <address@hidden>
70263
70264         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
70265
70266 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
70267
70268         * modules/getcwd (Files): Add m4/d-ino.m4.
70269         Suggested by Mark D. Baushke.
70270
70271 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
70272
70273         * lib/getdate.y (textint): New member "negative".
70274         (time_zone_hhmm): New function.
70275         Expect 14 shift-reduce conflicts, not 13.
70276         (o_colon_minutes): New rule.
70277         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
70278         (yylex): Set the "negative" member of signed numbers.
70279
70280 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
70281
70282         * doc/getdate.texi (Time of day items, Time zone items):
70283         Describe new formats +00:00, UTC+00:00.
70284
70285 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
70286
70287         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
70288         spurious "-l"s.  Problem reported by Stepan Kasal.
70289
70290 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
70291
70292         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
70293         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
70294
70295 2004-12-04  Simon Josefsson  <jas@extundo.com>
70296
70297         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
70298         Vandoorselaere <yoann@prelude-ids.org>.
70299
70300 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
70301
70302         Changes imported from coreutils.
70303         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
70304         exist.
70305         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
70306
70307 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
70308
70309         Changes imported from coreutils.
70310         * lib/hard-locale.c: Assume <locale.h> exists.
70311         Include "strdup.h".
70312         (GLIBC_VERSION): New macro.
70313         (hard_locale): Assume setlocale exists.
70314         Rewrite to avoid #ifdef.
70315         Use strdup rather than malloc + strcpy.
70316         * lib/human.c: Assume <locale.h> exists.
70317         (human_readable): Assume localeconv exists.
70318
70319 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
70320
70321         * modules/hard-locale (Depends-on): Add strdup.
70322
70323 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
70324
70325         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
70326         convert T2, not T.  (Imported from libc.)
70327
70328 2004-11-30  Simon Josefsson  <jas@extundo.com>
70329
70330         * modules/restrict (License): Change to LGPL.
70331
70332 2004-11-30  Simon Josefsson  <jas@extundo.com>
70333
70334         * m4/restrict.m4: Add copyright and copying conditions.
70335
70336 2004-11-30  Simon Josefsson  <jas@extundo.com>
70337
70338         * m4/base64.m4: New file.
70339
70340 2004-11-30  Simon Josefsson  <jas@extundo.com>
70341
70342         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
70343         base64.
70344
70345         * tests/test-base64.c: New file.
70346
70347         * modules/base64: New file.
70348
70349 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
70350
70351         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
70352         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
70353
70354         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
70355
70356 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
70357
70358         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
70359         (__getcwd.c): Don't restore errno; glibc doesn't.
70360         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
70361         first, falling back to our code only if its results look suspicious.
70362         Ensure that the resulting buffer is only as large as necessary.
70363
70364         * lib/readutmp.c: Include readutmp.h first.
70365         Include <errno.h>, since readutmp.h no longer does that.
70366         * lib/readutmp.h: Don't include <errno.h>,
70367         <sys/param.h>, <time.h>; not needed to establish interface.
70368         (errno): Remove decl.
70369         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
70370         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
70371         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
70372
70373 2004-11-28  Simon Josefsson  <jas@extundo.com>
70374
70375         * lib/base64.h, base64.c: New file.
70376
70377 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
70378
70379         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
70380
70381 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
70382
70383         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
70384         (Depends-on): Remove pathmax, same.  Add mempcpy.
70385         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
70386         (Makefile.am): Append getcwd.h to lib_SOURCES.
70387         (Include): Add getcwd.h.
70388         (Maintainer): Change from Jim Meyering to "all, glibc",
70389         since getdate now uses intended-for-glibc code.
70390         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
70391         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
70392
70393 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
70394
70395         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
70396         HP's ANSI C compiler.
70397         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
70398         Declaring int functions causes warnings on some modern systems and
70399         shouldn't be needed to compile on ancient ones.
70400         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
70401         defined.
70402
70403         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
70404         with the following changes.
70405         (__set_errno): Parenthesize properly.
70406         Include <stdbool.h>.
70407         (MIN, MAX, MATCHING_INO): New macros.
70408         (__getcwd): Define with prototype, not K&R form.
70409         Use heuristics to allocate default buffer on stack if possible.
70410         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
70411         behavior, and to avoid the PATH_MAX limit when computing
70412         ../../../../...
70413         Use MATCHING_INO to compare inode number to file.
70414         Check for arithmetic overflow in size calculations.
70415         Fix bug in reallocation of dot array that caused getcwd to fail
70416         on directories nested deeper than 75.
70417         Be more careful about saving errno on error.
70418         Do not use realloc; use only free+malloc, as this is a bit
70419         more flexible and avoids a needless copy operation.
70420         Do not inspect st_dev and st_ino for symbolic links; POSIX
70421         doesn't specify the latter.
70422         Check for closedir errors.
70423         Avoid needless casts.
70424         Use "#ifdef weak_alias" around weak_alias, to be like other
70425         glibc code.
70426         The following changes to getcwd.c have effect only when used in
70427         gnulib; they have no effect inside glibc proper.
70428         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
70429         as alloca isn't used.
70430         (alloca, __alloca): Likewise.
70431         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
70432         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
70433         unconditionally, as gnulib assumes C89 or better.
70434         Do not include <sys/param.h>.
70435         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
70436         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
70437         better.
70438         (NULL) [!defined NULL]: Remove; we assume C89 or better.
70439         Include <dirent.h> in a way that is compatible with modern Autoconf.
70440         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
70441         New macros, if not already defined.
70442         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
70443         Use "_LIBC", not "defined _LIBC", for consistency.
70444         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
70445         a mempcpy module.
70446         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
70447         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
70448         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
70449         credit only to Jim Meyering and adjust the copyright dates.
70450         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
70451         <stdlib.h>, <unistd.h>, "pathmax.h".
70452         Instead, include "xgetcwd.h" (first) and "getcwd.h".
70453         (INITIAL_BUFFER_SIZE): Remove.
70454         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
70455
70456 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
70457
70458         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
70459         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
70460         Use the _ONCE methods, for efficiency.
70461         Check for fcntl.h.  In test program, include <errno.h>
70462         and <fcntl.h> if available.  Remove old K&R cruft from
70463         test program.  Check for common errors in GNU/Linux,
70464         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
70465         don't do AC_LIBOBJ, as that's getcwd.m4's job.
70466         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
70467         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
70468         name accordingly.
70469         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
70470         accommodate new getcwd.c.
70471         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
70472         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
70473         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
70474         that's all we need now.
70475
70476 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
70477
70478         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
70479         argp-parse.c depends on getopt internals, that means we should
70480         always use our getopt, to be on the safe side.
70481         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
70482         order not to spoil the result of an eventual previous invocation
70483         of gl_GETOPT_SUBSTITUTE.
70484
70485 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
70486
70487         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
70488         redefinition warnings. To avoid them, include the defines
70489         in `#if !defined __need_getopt ... #endif'. The only place
70490         where __getopt_argv_const is used is in definitions
70491         of getopt_long and getopt_long_only below, which are as well
70492         protected by `#ifndef __need_getopt'.
70493         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
70494         __need_getopt after including <stdio.h> and <unistd.h> These
70495         headers might have defined it.
70496
70497 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
70498
70499         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
70500
70501 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
70502
70503         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
70504         (futimens): New function, which uses futimes if available.
70505         (futimens, utimens): Support timespec==NULL, with same semantics
70506         as utime and utimens.
70507         * lib/utimens.h (futimens): New decl.
70508
70509 2004-11-23  Jim Meyering  <jim@meyering.net>
70510
70511         * lib/getopt_.h: Remove trailing blanks.
70512
70513 2004-11-23  Jim Meyering  <jim@meyering.net>
70514
70515         * lib/__fpending.c: Add comment.
70516
70517 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
70518
70519         * modules/canonicalize (Depends-on): Add xreadlink.
70520         Problem reported by James Youngman.
70521
70522 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
70523
70524         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
70525         New macros.
70526         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
70527         optopt): Use them instead of invoking ## directly; otherwise, the
70528         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
70529
70530 2004-11-19  Bruno Haible  <bruno@clisp.org>
70531
70532         * lib/strtok_r.c: Move comments from here...
70533         * lib/strtok_r.h: ... to here.
70534
70535 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
70536
70537         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
70538         implementations that mishandle size_t overflow.
70539
70540 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
70541
70542         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
70543         might fail.  Problem reported by Yoann Vandoorselaere.
70544         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
70545         implementations that mishandle size_t overflow.
70546
70547 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
70548
70549         * modules/canon-host (Depends-on): Add strdup.
70550
70551 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
70552
70553         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
70554
70555 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
70556
70557         * lib/canon-host.c: Include "strdup.h".
70558         (canon_host): Use getaddrinfo if available, so that IPv6 works.
70559         Use strdup instead of malloc/strcpy to duplicate strings.
70560
70561         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
70562         (human_space_before_unit): New constant.
70563         * lib/human.c (human_readable): Support it.
70564
70565         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
70566         (xgetcwd): Set errno correctly when failing.
70567         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
70568         the failure is actually due to a PATH_MAX problem.
70569
70570         Further getopt changes to make it more likely that glibc will
70571         buy the changes back.
70572         * lib/getopt.c (POSIXLY_CORRECT): New constant.
70573         (getopt): Use it, so to preserve glibc semantic
70574         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
70575         when compiling for libc.
70576         * lib/getopt_.h (__getopt_argv_const): Bring it back.
70577         (getopt_long, getopt_long_only): Use it.
70578
70579         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
70580         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
70581         (getopt): Argv is now char * const *, as per standard.
70582         (_getopt_internal_r, _getopt_internal): Argv is now char **,
70583         not char *__getopt_argv_const *.
70584         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
70585         _getopt_long_only_r): Likewise.
70586         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
70587         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
70588         _getopt_long_r, _getopt_long_only_r): Likewise.
70589         * lib/getopt_.h (__getopt_argv_const): Remove.
70590         (getopt): Argv is now char * const *, as per standard.
70591
70592         * lib/getdate.y (tORDINAL): New token.
70593         (day, relunit): Allow it for relative times.
70594         (relative_time_table): Use tORDINAL for ordinals.
70595
70596 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
70597
70598         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
70599         Document that "second" isn't allowed as an ordinal number.
70600
70601 2004-11-16  Jim Meyering  <jim@meyering.net>
70602
70603         * modules/closeout (Depends-on): Add fpending.
70604
70605 2004-11-15  Jim Meyering  <jim@meyering.net>
70606
70607         * lib/closeout.c: Include "__fpending.h" once again.
70608         Include <stdbool.h>.
70609         (close_stdout): Don't fail just because stdout was closed initially,
70610         since some programs don't write to stdout in the normal course of
70611         operation (other than --version and --help), and we don't want this
70612         function to make e.g. `touch file >&-' fail.
70613         But do fail if it was closed and someone has tried to write to it.
70614         E.g., `printf foo >&-' must fail.
70615
70616 2004-11-13  Jim Meyering  <jim@meyering.net>
70617
70618         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
70619
70620 2004-11-12  Simon Josefsson  <jas@extundo.com>
70621
70622         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
70623         small doc fix is still pending.
70624
70625 2004-11-11  Simon Josefsson  <jas@extundo.com>
70626
70627         * modules/strtok_r: New file.
70628
70629         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
70630         strtok_r.
70631
70632 2004-11-11  Simon Josefsson  <jas@extundo.com>
70633
70634         * m4/strtok_r.m4: New file.
70635
70636         * m4/getopt.m4: Replace opterr.
70637
70638 2004-11-11  Simon Josefsson  <jas@extundo.com>
70639
70640         * lib/strtok_r.h, strtok_r.c: New file.
70641
70642 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
70643
70644         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
70645         of replacing opterr, getopt, etc.  This should handle the
70646         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
70647
70648 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
70649
70650         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
70651         we can stop lying to compilers about the constness of argv when we
70652         are compiled outside glibc.
70653         (getopt, getopt_long, getopt_long_only): Use it.
70654         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
70655         _getopt_internal, getopt): Likewise.
70656         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
70657         _getopt_long_only_r): Likewise.
70658         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
70659         _getopt_long_r, _getopt_long_only_r): Likewise.
70660
70661         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
70662         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
70663         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
70664         the other external symbols.
70665         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
70666         declaration, since the above renaming now works around collisions.
70667
70668 2004-11-11  Jim Meyering  <jim@meyering.net>
70669
70670         * lib/linebreak.c: Remove trailing blanks.
70671         * lib/alloca_.h: Likewise.
70672         * lib/acosl.c: Likewise.
70673         * lib/euidaccess.c: Likewise.
70674         * lib/allocsa.h: Likewise.
70675
70676 2004-11-10  Simon Josefsson  <jas@extundo.com>
70677
70678         * m4/getaddrinfo.m4: New file.
70679
70680 2004-11-10  Simon Josefsson  <jas@extundo.com>
70681
70682         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
70683
70684 2004-11-10  Simon Josefsson  <jas@extundo.com>
70685
70686         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
70687         getaddrinfo.
70688
70689         * modules/getaddrinfo: New file.
70690
70691 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
70692
70693         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
70694
70695 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
70696
70697         * lib/mktime.c (SHR): New macro, which is a portable
70698         substitute for >> that should work even on Crays.
70699         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
70700         Problem reported by Mark D. Baushke in
70701         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
70702         * lib/getdate.y (SHR): Likewise.
70703         (tm_diff): Use it.
70704         * lib/strftime.c (SHR): Likewise.
70705         (tm_diff): Use it.
70706         * lib/quotearg.c (struct quoting_options): Use unsigned int for
70707         quote_these_too, so that right shifts are well defined.  All uses
70708         changed.
70709
70710 2004-11-10  Jim Meyering  <jim@meyering.net>
70711
70712         Ensure that no close failure goes unreported.
70713         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
70714         return early when it seems there's nothing to flush.
70715         Don't include __fpending.h.
70716
70717 2004-11-10  Jim Meyering  <jim@meyering.net>
70718
70719         * modules/closeout (Depends-on): Remove fpending.
70720
70721 2004-11-10  Jim Meyering  <jim@meyering.net>
70722
70723         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
70724
70725 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
70726
70727         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
70728         gl_FUNC_STRFTIME.
70729         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
70730         and AC_REQUIRE when possible, to avoid duplicate checks.
70731         Check for <wchar.h>.
70732
70733 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
70734
70735         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
70736
70737 2004-11-09  Bruno Haible  <bruno@clisp.org>
70738
70739         * m4/sockpfaf.m4: New file.
70740
70741 2004-11-05  Bruno Haible  <bruno@clisp.org>
70742
70743         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
70744         Reported by Mark D. Baushke <mdb@cvshome.org>.
70745
70746 2004-11-04  Bruno Haible  <bruno@clisp.org>
70747
70748         2004-09-11  Bruno Haible  <bruno@clisp.org>
70749                 * allocsa.valgrind: New file.
70750         2004-02-06  Bruno Haible  <bruno@clisp.org>
70751                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
70752                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
70753                 Reported by Christopher Seip <chris.seip@hp.com>.
70754
70755 2004-11-04  Bruno Haible  <bruno@clisp.org>
70756
70757         * modules/allocsa (Files): Add lib/allocsa.valgrind.
70758         (Makefile.am): Distribute it.
70759
70760 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
70761
70762         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
70763         with errno == ERANGE if the buffer is too small.
70764         Problem reported by Mark D. Baushke.
70765
70766 2004-11-03  Albert Chin  <china@thewrittenword.com>
70767             Paul Eggert  <eggert@cs.ucla.edu>
70768
70769         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
70770         equivalent, substitute $ac_type for equivalent type rather than
70771         blindly using uint32_t *always* which won't work if uint32_t is not
70772         available.  Define _UINT32_T to work around typedef of uint32_t if
70773         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
70774         2.5.1.
70775
70776 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
70777
70778         * m4/jm-macros.m4: Sync from coreutils.
70779         (gl_MACROS): Check for mbrlen, for pathchk.
70780         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
70781
70782 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
70783
70784         * lib/xreadlink.c (MAXSIZE): New macro.
70785         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
70786         size does not exceed MAXSIZE.  Avoid cast.
70787         As suggested by Mark D. Baushke in
70788         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
70789         if readlink fails with buffer size just under MAXSIZE, try again
70790         with MAXSIZE.
70791
70792 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
70793
70794         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
70795
70796 2004-11-02  Derek R. Price  <derek@ximbiot.com>
70797         and  Paul Eggert  <eggert@cs.ucla.edu>
70798
70799         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
70800         (get_date): Overparenthesize to avoid GCC warning.
70801
70802 2004-11-02  Bruno Haible  <bruno@clisp.org>
70803
70804         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
70805         returns void.
70806
70807 2004-11-02  Bruno Haible  <bruno@clisp.org>
70808
70809         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
70810         function returns void.
70811
70812 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
70813
70814         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
70815         fflush_unlocked, flockfile, funlockfile, funlockfile,
70816         fputs_unlocked, putc_unlocked.
70817
70818 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
70819
70820         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
70821         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
70822         already declared.
70823
70824 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
70825
70826         * modules/getdate (Files): Add doc/getdate.texi.
70827         (Depends-on): Add setenv, xalloc.
70828
70829 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
70830
70831         * lib/getdate.y: Add support for TZ="foo" within a date string.
70832         Fix some bugs near time_t boundaries.  Reject dates with
70833         out-of-range components, e.g., "Sept 31".
70834         Include <stdlib.h>, "setenv.h", "xalloc.h".
70835         (ISDIGIT_LOCALE): Remove; unused.
70836         Note that the TZ and time functions used here are not reentrant.
70837         (mktime_ok, get_tz): New functions.
70838         (TZBUFSIZE): New constant.
70839         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
70840         This requires that we sometimes generate our own TZ="XXX..." setting.
70841
70842 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
70843
70844         * doc/getdate.texi: New file, from coreutils with modifications for
70845         the new TZ parsing.
70846
70847 2004-10-27  Derek R. Price  <derek@ximbiot.com>
70848
70849         * lib/mktime.c (not_equal_tm): Remove redundant check.
70850
70851 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
70852
70853         * modules/regex (lib_SOURCES): Add regex.c.
70854         Reported by James Youngman in
70855         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
70856
70857 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
70858
70859         * lib/getdate.y: Use Bison 1.875 features, and some minor
70860         code cleanups.  This change does not affect semantics.
70861         Don't include <stdlib.h>; no longer needed.
70862         Don't include unlocked-io.h; only the "#if TEST" code uses
70863         stdio, and performance isn't crucial there.
70864         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
70865         Bison 1.875 features as described below.
70866         All uses of "PC." replaced by "pc->".
70867         (YYSTYPE): Add a forward declaration.
70868         (yylex, yyerror): Use full prototypes in forward decls.
70869         Use "%pure-parser" rather than obsolescent "%pure_parser".
70870         Use %parse-param and %lex-param instead of obsolescent
70871         YYPARSE_PARAM and YYLEX_PARAM.
70872         (meridian_table, month_and_day_table, time_units_table,
70873         relative_time_table, time_zone_table, military_table,
70874         lookup_zone, lookup_word, get_date):
70875         Use NULL instead of 0 where appropriate.
70876         (to_hour): Avoid abort (), to avoid a dependency on
70877         stdlib.h.
70878         (yyerror, yylex): Now accepts parser_control * arg.
70879         (main) [TEST]: Use '\0' rather than 0 for char.
70880
70881 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
70882
70883         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
70884
70885 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
70886
70887         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
70888         It's now the caller's responsibility to handle the case where
70889         !HAVE_GETPAGESIZE && !defined getpagesize.
70890
70891         * lib/mktime.c (leapyear): Arg is long int, not int.
70892
70893 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
70894
70895         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
70896
70897 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
70898
70899         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
70900         missing.  Problem reported by James Youngman.
70901
70902 2004-10-16  Simon Josefsson  <jas@extundo.com>
70903
70904         * gnulib-tool: Fix comments.  Fix parse problem.
70905         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
70906
70907 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
70908
70909         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
70910         implementation of getopt_long.  Problem reported by Alexander Taler in:
70911         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
70912
70913 2004-10-15  Bruno Haible  <bruno@clisp.org>
70914
70915         * gnulib-tool: Untabify. Initialize supplied_libname.
70916         (func_usage): More homogenous output.
70917         (func_modules_transitive_closure, func_modules_to_filelist,
70918         func_emit_lib_Makefile_am): New functions.
70919         (func_import): New function, extracted from big case statement. Use
70920         func_get_license, func_modules_transitive_closure,
70921         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
70922         opt_lgpl. Don't use test -a, as it's not portable.
70923         (func_create_testdir): Use func_modules_transitive_closure,
70924         func_modules_to_filelist, func_emit_lib_Makefile_am.
70925
70926 2004-10-15  Bruno Haible  <bruno@clisp.org>
70927
70928         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
70929
70930 2004-10-15  Bruno Haible  <bruno@clisp.org>
70931
70932         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
70933         the portions belonging to each module.
70934         Suggested by Derek Robert Price <derek@ximbiot.com>.
70935
70936 2004-10-12  Simon Josefsson  <jas@extundo.com>
70937
70938         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
70939         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
70940         to real functions.
70941
70942 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
70943
70944         * modules/vsnprintf: New file.
70945
70946 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
70947
70948         * m4/vsnprintf.m4: New file.
70949
70950 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
70951
70952         * lib/vsnprintf.h: New file.
70953         * lib/vsnprintf.c: New file.
70954
70955 2004-10-11  Bruno Haible  <bruno@clisp.org>
70956
70957         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
70958         vsnprintf.
70959
70960 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
70961
70962         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
70963
70964 2004-10-07  Bruno Haible  <bruno@clisp.org>
70965
70966         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
70967         fits into the provided buffer.
70968
70969 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
70970
70971         * lib/diacrit.c, diacrit.h: Add GPL notice.
70972
70973         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
70974         notice.
70975         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
70976         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
70977         This avoids a potential constant-folding bug.
70978
70979 2004-10-05  Bruno Haible  <bruno@clisp.org>
70980
70981         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
70982         for the declaration of strsep.
70983
70984 2004-10-05  Bruno Haible  <bruno@clisp.org>
70985
70986         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
70987
70988 2004-10-04  Simon Josefsson  <jas@extundo.com>
70989
70990         * modules/memmem: New file.
70991         * tests/test-memmem.c: New file.
70992         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
70993
70994 2004-10-04  Simon Josefsson  <jas@extundo.com>
70995
70996         * m4/memmem.m4: New file.
70997
70998 2004-10-04  Simon Josefsson  <jas@extundo.com>
70999
71000         * lib/memmem.h: New file.
71001         * lib/memmem.c: New file, taken from glibc.
71002
71003 2004-10-04  Simon Josefsson  <jas@extundo.com>
71004
71005         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
71006         '#ifdef USE_UNLOCKED_IO'.
71007
71008 2004-10-04  Simon Josefsson  <jas@extundo.com>
71009
71010         * config/srclist.txt: Add memmem from glibc.
71011
71012 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
71013
71014         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
71015
71016         * modules/argmatch, modules/argp, modules/closeout, modules/error,
71017         modules/exclude, modules/getdate, modules/getline,
71018         modules/getndelim2, modules/getpass, modules/getpass-gnu,
71019         modules/getusershell, modules/linebuffer, modules/md5,
71020         modules/mountlist, modules/posixtm, modules/readtokens,
71021         modules/readutmp, modules/regex, modules/sha1,
71022         modules/version-etc, modules/yesno:
71023         Remove dependency on unlocked-io.
71024
71025 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
71026
71027         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
71028
71029         * m4/unlocked-io.m4: Add copyright notice.
71030         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
71031
71032 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
71033
71034         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
71035         * lib/xmalloc.c (xmemdup): Likewise.
71036         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
71037         XFREE): Remove these long-obsolescent macros.
71038         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
71039         * lib/xstrdup.c: Remove.
71040
71041         * lib/regex.c (re_comp): Cast gettext return value to char *,
71042         Problem reported by Martin Neitzel via Mark D. Baushke.
71043
71044 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
71045
71046         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
71047         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
71048         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
71049         regex.c, sha1.c, version-etc.c, yesno.c:
71050         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
71051         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
71052         the includer's responsibility.
71053
71054         Sync from coreutils.
71055
71056         * lib/modechange.c (mode_compile): Don't decrement a pointer that
71057         points to the start of a string, as the C Standard says the
71058         resulting behavior is undefined.
71059
71060         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
71061         simple -> simple_backups, numbered_existing ->
71062         numbered_existing_backups, numbered -> numbered_backups
71063         to avoid shadowing problems.  All uses changed.
71064         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
71065         * lib/backupfile.c (check_extension, numbered_backup):
71066         Rename locals to avoid shadowing 'basename'.
71067         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
71068         once.
71069
71070         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
71071         * lib/.cvsignore: Add getopt.h.
71072
71073 2004-10-04  Bruno Haible  <bruno@clisp.org>
71074
71075         * modules/README: New file.
71076         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
71077         not a module.
71078
71079 2004-10-02  Jim Meyering  <jim@meyering.net>
71080
71081         * lib/dirfd.h, getpagesize.h: Add copyright notice.
71082
71083 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
71084
71085         * modules/strsep: New file.
71086
71087 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
71088
71089         * m4/strsep.m4: New file.
71090
71091 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
71092
71093         * lib/strsep.h: New file.
71094         * lib/strsep.c: New file.
71095
71096 2004-10-01  Simon Josefsson  <jas@extundo.com>
71097
71098         * lib/snprintf.c (snprintf): Handle size==0.
71099
71100 2004-10-01  Simon Josefsson  <jas@extundo.com>
71101             Bruno Haible  <bruno@clisp.org>
71102
71103         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
71104         (snprintf): Declare 'args'.
71105
71106 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
71107
71108         * lib/snprintf.c: Remove comments as to why each header is needed.
71109
71110 2004-10-01  Bruno Haible  <bruno@clisp.org>
71111
71112         * MODULES.html.sh: Add strsep.
71113
71114 2004-09-30  Simon Josefsson  <jas@extundo.com>
71115
71116         * modules/snprintf: New file.
71117
71118 2004-09-30  Simon Josefsson  <jas@extundo.com>
71119
71120         * m4/snprintf.m4: New file.
71121
71122 2004-09-30  Simon Josefsson  <jas@extundo.com>
71123
71124         * lib/snprintf.h, lib/snprintf.c: New files.
71125
71126 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
71127
71128         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
71129         (hol_entry_help): Never translate an empty string.
71130         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
71131         * lib/argp.h (OPTION_NO_TRANS): New option.
71132
71133 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
71134
71135         * modules/argp (Maintainer): Replace Simon Josefsson
71136         by Sergey Poznyakoff.
71137
71138 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
71139
71140         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
71141         changes merged back into glibc.
71142
71143 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
71144
71145         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
71146
71147 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
71148
71149         * lib/xvasprintf.c: Include xalloc.h.
71150         (xvasprintf): Use xalloc_die, not xmalloc_die.
71151
71152 2004-09-29  Bruno Haible  <bruno@clisp.org>
71153
71154         * modules/alloca-opt: New file, derived from modules/alloca.
71155         * modules/allocsa: Depend on alloca-opt instead of alloca.
71156         * modules/setenv: Likewise.
71157         * modules/vasnprintf: Likewise.
71158         * MODULES.html.sh: Add alloca-opt.
71159
71160 2004-09-28  Simon Josefsson  <jas@extundo.com>
71161
71162         * gnulib-tool: New parameter --lgpl, to asseert that modules are
71163         LGPL, and to replace license template from GPL to LGPL.
71164
71165 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
71166
71167         * modules/dummy: Change license to LGPL.
71168
71169 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
71170
71171         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
71172
71173 2004-09-24  Simon Josefsson  <jas@extundo.com>
71174
71175         * modules/minmax (License): Change from GPL to LGPL.
71176
71177 2004-09-23  Simon Josefsson  <jas@extundo.com>
71178
71179         * gnulib-tool (--import): Typo.
71180
71181 2004-09-23  Simon Josefsson  <jas@extundo.com>
71182
71183         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
71184
71185 2004-09-22  Bruno Haible  <bruno@clisp.org>
71186
71187         * modules/*: Add 'License' field.
71188         * gnulib-tool: Accept --extract-license option.
71189         (func_get_license): New function.
71190
71191 2004-09-21  Bruno Haible  <bruno@clisp.org>
71192
71193         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
71194         Reported by Simon Josefsson.
71195
71196 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
71197
71198         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
71199         gl_AC_TYPE_LONG_LONG.
71200
71201 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
71202
71203         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
71204
71205 2004-09-18  Simon Josefsson  <jas@extundo.com>
71206         and  Paul Eggert  <eggert@cs.ucla.edu>
71207
71208         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
71209         calls with autoreconf.  Define GL_LIB.
71210
71211 2004-09-14  Karl Berry  <karl@gnu.org>
71212
71213         * config/srclist.txt: unsync setenv.c, sigh.
71214
71215 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
71216
71217         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
71218         Problem reported by Bruno Haible in:
71219         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
71220
71221 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
71222
71223         * config/srclist.txt: Comment out argp-pvh.c.
71224
71225 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
71226
71227         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
71228         in case some system header has #define'd it.  Problem reported by
71229         Soeren D. Schulze in
71230         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
71231
71232 2004-09-09  Karl Berry  <karl@gnu.org>
71233
71234         * regex.[ch]: delete from the root.  These were supposed to be
71235                 synced with emacs cvs, but this has not happened for about
71236                 a year, and anyway nothing else uses emacs regex.[ch].
71237                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
71238                 lib/regex[.ch] is untouched.
71239
71240 2004-09-09  Bruno Haible  <bruno@clisp.org>
71241
71242         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
71243
71244 2004-09-09  Bruno Haible  <bruno@clisp.org>
71245
71246         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
71247         modifications.
71248         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
71249
71250 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
71251
71252         * modules/xvasprintf: New file.
71253         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
71254
71255 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
71256
71257         * lib/xvasprintf.h: New file.
71258         * lib/xvasprintf.c: New file.
71259         * lib/xasprintf.c: New file.
71260
71261 2004-09-08  Bruno Haible  <bruno@clisp.org>
71262
71263         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
71264
71265 2004-09-08  Bruno Haible  <bruno@clisp.org>
71266
71267         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
71268         length is > INT_MAX.
71269         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
71270         more.
71271
71272 2004-09-08  Bruno Haible  <bruno@clisp.org>
71273
71274         * lib/stdint_.h: New file, taken from GNU clisp.
71275
71276 2004-09-08  Bruno Haible  <bruno@clisp.org>
71277             Oskar Liljeblad  <oskar@osk.mine.nu>
71278
71279         * modules/stdint: New file.
71280         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
71281
71282 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
71283
71284         Import from coreutils.
71285         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
71286         strings on unbounded length.  alloca's performance benefits aren't
71287         that important here.
71288         (V_STRDUP): Remove.
71289         (parse_with_separator): New function, with most of the internals
71290         of the old parse_user_spec.  Allow user to omit both user and group,
71291         for compatibility with FreeBSD.
71292         Clone only the user name, not the entire spec.
71293         Do not set *uid, *gid unless entirely successful.
71294         Avoid memory leak in some failing cases.
71295         Fix regression for USER.GROUP reported by Dmitry V. Levin in
71296         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
71297         (parse_user_spec): Rewrite to use parse_with_separator.
71298
71299 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
71300
71301         * modules/userspec: Don't depend on alloca.
71302
71303 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
71304
71305         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
71306
71307 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
71308
71309         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
71310         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
71311         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
71312
71313 2004-08-16  Simon Josefsson  <jas@extundo.com>
71314
71315         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
71316         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
71317         Add --dry-run for --import.
71318         Let user provided command line parameters override configure.ac
71319         settings.
71320
71321 2004-08-12  Simon Josefsson  <jas@extundo.com>
71322
71323         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
71324         as discussed with Paul Eggert in threads rooted at
71325         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
71326         and
71327         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
71328         Before, the test was empty, and relied on ELIDE_CODE in source
71329         code.)
71330         (gl_PREREQ_GETOPT): New macro.
71331         (gl_GETOPT): Use them.
71332
71333 2004-08-12  Simon Josefsson  <jas@extundo.com>
71334
71335         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
71336         * lib/getopt_.h: Renamed from getopt.h.
71337
71338 2004-08-12  Simon Josefsson  <jas@extundo.com>
71339
71340         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
71341         Change default library name from libfoo to libgnu.
71342         Now, if you have a configure.ac that says:
71343                 gl_SOURCE_BASE(gl)
71344                 gl_M4_BASE(gl/m4)
71345                 gl_MODULES(error getopt etcetera)
71346                 gl_INIT
71347         you can import all you need by running:
71348                 ../gnulib/gnulib-tool --import
71349
71350         * modules/getopt (Files): Rename getopt.h to getopt_.h.
71351         (Makefile.am): Rewrite, use logic from argz.
71352         (Include): Use <getopt.h> instead of "getopt.h".
71353
71354 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
71355
71356         * modules/argp (Files): Add m4/unlocked-io.m4.
71357         (Depends-on): Add extensions.
71358
71359 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
71360
71361         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
71362         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
71363         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
71364         Check for program_invocation_name, program_invocation_short_name,
71365         flockfile, funlockfile, features.h, _getopt_long_only_r.
71366
71367 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
71368
71369         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
71370         its complicated substitute.
71371         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
71372         and program_invocation_name.
71373         (__argp_basename) [!_LIBC]: Remove; the only use was
71374         replaced by its body.
71375         (__argp_short_program_name): Change condition from
71376         !defined __argp_short_program_name to
71377         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
71378         to match argp-namefrob.h.
71379         (__argp_failure): Don't assume strerror_r returns char *.
71380         * lib/argp-parse.c (N_): Define unconditionally.
71381         (argp_default_options): Fill out initializers with 0 to avoid
71382         gcc warnings.
71383
71384 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
71385
71386         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
71387         getopt1.c.
71388
71389 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
71390
71391         Merge from coreutils.
71392
71393         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
71394
71395         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
71396         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
71397
71398 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
71399
71400         Merge from coreutils.
71401
71402         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
71403         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
71404         for Reliant Unix 5.43.
71405
71406         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
71407         (union fooround): Use uintmax_t, not long int.
71408         The rest is a merge from libc:
71409         [defined _LIBC]: Include <shlib-compat.h>.
71410         (_obstack) [defined _LIBC]: Remove after 2.3.4.
71411
71412         * lib/settime.c (settime): Recode to avoid warning with
71413         Sun Forte C 6U2.
71414
71415         * lib/strverscmp.c: Convert to UTF-8.
71416
71417 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
71418
71419         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
71420         m4/uintmax_t.m4.
71421
71422 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
71423
71424         * modules/xalloc-die: New file.
71425         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
71426
71427         * modules/md5 (Files): Add m4/uint32_t.m4.
71428         * modules/sha1: Renamed from modules/sha.
71429         (Files):
71430         Rename lib/sha.h to lib/sha1.h.
71431         Rename lib/sha.c to lib/sha1.c.
71432         Rename m4/sha.m4 to m4/sha1.m4.
71433         (lib_SOURCES): Likewise.
71434         (configure.ac): Rename gl_SHA to gl_SHA1.
71435         (Include): sha.h -> sha1.h.
71436
71437 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
71438
71439         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
71440         * m4/sha1.m4: Renamed from sha.m4.
71441         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
71442
71443 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
71444
71445         * lib/obstack.h (obstack_empty_p):
71446         Don't assume that chunk->contents is suitably aligned.
71447         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
71448         Likewise. Problem reported by Benno in
71449         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
71450
71451         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
71452         readable.  This could be improved further but it'd take some work.
71453
71454 2004-08-08  Simon Josefsson  <jas@extundo.com>
71455
71456         * modules/xgethostname (Depends-on): Remove exit and error (not
71457         used).
71458
71459         * modules/getpass-gnu: Add getpass.h.
71460         (Depends-on): Add stdbool.
71461         * modules/getpass: Add getpass.h.
71462
71463 2004-08-08  Simon Josefsson  <jas@extundo.com>
71464
71465         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
71466         Check getpass declaration.
71467
71468 2004-08-08  Simon Josefsson  <jas@extundo.com>
71469
71470         * lib/xgethostname.c: Don't include error.h (not used).
71471
71472         * lib/getpass.h: Add.
71473         * lib/getpass.c: Include getpass.h first.
71474
71475 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
71476
71477         * lib/xalloc-die.c: New file.
71478         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
71479         All uses removed.
71480         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
71481         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
71482         xalloc-die.c.
71483         (_, N_, xalloc_die): Move to xalloc-die.c.
71484         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
71485         so that we needn't mess with xalloc_msg_memory_exhausted.
71486
71487         * lib/sha1.h: Renamed from sha.h.
71488         (SHA1_H): Renamed from _SHA_H.
71489         (sha1_ctx): Renamed from sha_ctx.
71490         (sha1_init_ctx): Renamed from sha_init_ctx.
71491         (sha1_process_block): Renamed from sha_process_block.
71492         (sha1_process_bytes): Renamed from sha_process_bytes.
71493         (sha1_finish_ctx): Renamed from sha_finish_ctx.
71494         (sha1_read_ctx): Renamed from sha_read_ctx.
71495         (sha1_stream): Renamed from sha_stream.
71496         (sha1_buffer): Renamed from sha_buffer.
71497         * lib/sha1.c: Likewise; renamed from sha.c.
71498         Do not include <sys/types.h>.
71499         Include <stddef.h> rather than <stdlib.h>.
71500
71501 2004-08-08  Bruno Haible  <bruno@clisp.org>
71502
71503         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
71504         FILESYSTEM_PREFIX_LEN.
71505         * lib/progreloc.c: Likewise.
71506         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
71507
71508 2004-08-06  Simon Josefsson  <jas@extundo.com>
71509
71510         * modules/progname (Depends-on): Don't depend on stdbool.
71511
71512 2004-08-06  Simon Josefsson  <jas@extundo.com>
71513
71514         * modules/getsubopt: New file.
71515         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
71516         getsubopt.
71517
71518 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
71519
71520         More merge from coreutils.
71521
71522         * m4/utimens.m4, m4/utimecmp.m4: New files.
71523         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
71524         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
71525         prereq.m4, sha.m4: Import changes from coreutils.
71526
71527 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
71528
71529         More merge from coreutils.
71530         * modules/raise, modules/readtokens0, modules/utimens:
71531         * modules/utimecmp, module/xnanosleep: New files.
71532         * modules/strftime: Add lib/strftime.h.
71533         Change include from <time.h> to "strftime.h".
71534         * modules/yesno: Add lib/yesno.h.
71535         * modules/backupfile: Remove lib/addext.c.
71536         * modules/euidaccess: Add stat-macros.h.
71537         * modules/canonicalize, modules/euidaccess,
71538         modules/filemode, modules/lchown, modules/makepath,
71539         modules/rmdir, modules/stat: Likewise.
71540
71541 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
71542
71543         Merge from tar.
71544         * lib/argp-help.c (make_hol, hol_append): Don't assume that
71545         SIZE_MAX is a valid preprocessor constant.
71546         (__argp_basename): Change from "#ifndef _LIBC"
71547         to "#ifndef __argp_short_program_name", so that
71548         we don't compile these functions for tar.
71549
71550         More merges from coreutils.
71551         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
71552         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
71553         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
71554         * lib/addext.c: Remove; no longer needed.
71555         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
71556         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
71557         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
71558         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
71559         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
71560         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
71561         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
71562         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
71563         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
71564         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
71565         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
71566         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
71567         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
71568         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
71569         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
71570         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
71571         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
71572         Import changes from coreutils.
71573
71574 2004-08-05  Simon Josefsson  <jas@extundo.com>
71575
71576         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
71577
71578 2004-08-05  Simon Josefsson  <jas@extundo.com>
71579
71580         * m4/getsubopt.m4: New file.
71581
71582 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
71583
71584         Merge from coreutils.
71585
71586         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
71587         * m4/getcwd-path-max.m4: New files.
71588
71589         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
71590         FILESYSTEM_PREFIX_LEN ->
71591         FILE_SYSTEM_PREFIX_LEN.
71592         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
71593         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
71594         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
71595         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
71596
71597         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
71598         prerequisite modules now handle the DOS stuff.
71599         Don't check for unistd.h.
71600
71601 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
71602
71603         Merge from coreutils.
71604
71605         * lib/.gdb-history: Remove; this doesn't belong here.
71606
71607         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
71608         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
71609         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
71610         * lib/getcwd.c: New files.
71611
71612         * lib/dirname.h: Include <stdbool.h>.
71613         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
71614         for consistency with POSIX terminology.  All uses changed.
71615         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
71616         (strip_trailing_slashes): Use bool for booleans.
71617         * lib/stripslash.c (strip_trailing_slashes): Likewise.
71618
71619         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
71620         sometimes returns a positive errno value even when it succeeds.
71621         (print_errno_message) [!LIBC]: Fall back on strerror if
71622         __strerror_r fails.
71623
71624         * lib/path-concat.c (mempcpy): Don't define if a system header defines
71625         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
71626         (longest_relative_suffix): New function.
71627         (path_concat): Use it.  Assume first argument is not NULL.
71628         Port to DOS.  Omit redundant separators.
71629         Report an error instead of returning NULL.
71630         Use mempcpy instead of memcpy.
71631         (xpath_concat): Remove: not declared or used.
71632
71633         * lib/same.h: Include <stdbool.h>
71634         (same_name): Return bool, not int.
71635         * lib/same.c (same_name): Likewise.
71636         (errno): Don't declare; we assume C89 or better now.
71637
71638         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
71639         if not already defined.
71640
71641         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
71642         * lib/dup-safer.c (errno): Likewise.
71643
71644 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
71645
71646         Merge from coreutils.
71647         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
71648         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
71649         * modules/path-concat: Don't depend on strdup.
71650
71651 2004-08-03  Simon Josefsson  <jas@extundo.com>
71652
71653         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
71654         * lib/progname.h: Don't include stdbool.h.
71655
71656 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
71657
71658         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
71659         * MODULES.html.sh (func_all_modules): Remove fatal.
71660
71661 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
71662
71663         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
71664
71665 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
71666
71667         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
71668         working.
71669
71670 2004-08-02  Simon Josefsson  <jas@extundo.com>
71671
71672         * lib/getsubopt.h: New file, with comments from Bruno Haible.
71673         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
71674         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
71675
71676 2004-08-01  Simon Josefsson  <jas@extundo.com>
71677
71678         * lib/xgetdomainname.c: Include stdlib.h, for free().
71679
71680 2004-07-19  Bruno Haible  <bruno@clisp.org>
71681
71682         * MODULES.html.sh (func_all_modules): Add dummy.
71683
71684 2004-07-16  Simon Josefsson  <jas@extundo.com>
71685
71686         * modules/dummy: New file.
71687
71688 2004-07-16  Simon Josefsson  <jas@extundo.com>
71689
71690         * lib/dummy.c: New file.
71691
71692 2004-07-16  Bruno Haible  <bruno@clisp.org>
71693
71694         * lib/backupfile.h: Add extern "C" for C++.
71695         * lib/closeout.h: Likewise.
71696         * lib/copy-file.h: Likewise.
71697         * lib/findprog.h: Likewise.
71698         * lib/full-write.h: Likewise.
71699         * lib/pathname.h: Likewise.
71700         * lib/progname.h: Likewise.
71701         * lib/stpcpy.h: Likewise.
71702         * lib/stpncpy.h: Likewise.
71703         * lib/strcase.h: Likewise.
71704         * lib/strstr.h: Likewise.
71705         * lib/xalloc.h: Likewise.
71706
71707         * lib/mbswidth.h: Add extern "C" for C++.
71708         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
71709
71710 2004-07-13  Robert Millan  <robertmh@gnu.org>
71711
71712         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
71713
71714 2004-07-09  Simon Josefsson  <jas@extundo.com>
71715
71716         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
71717         failed without this.)
71718
71719 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
71720
71721         * modules/chown (Files): Add lib/fchown-stub.c, since
71722         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
71723
71724 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
71725
71726         * lib/fchown-stub.c: New file.
71727
71728 2004-06-24  Jim Meyering  <jim@meyering.net>
71729
71730         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
71731
71732 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
71733
71734         * modules/argz: Omit "#include".
71735
71736         * MODULES.html.sh (func_all_modules): Add calloc, to match
71737         2004-06-01 addition of calloc module.
71738
71739 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
71740
71741         * m4/argz.m4: New file, which is autoupdated from libtool.
71742
71743 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
71744
71745         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
71746         libtool.
71747
71748 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
71749
71750         * config/srclist-update: Don't insist on "USA." before the
71751         close-comment, as libtool omits the period and puts the */ on a
71752         separate line.
71753         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
71754         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
71755
71756 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
71757
71758         * modules/argz: New file.
71759         * MODULES.html.sh (func_all_modules): Add argz.
71760
71761 2004-06-12  Jim Meyering  <jim@meyering.net>
71762         and  Paul Eggert  <eggert@cs.ucla.edu>
71763
71764         * modules/hash (Files): Add lib/xalloc.h.
71765         * modules/pipe (Depends-on): Add wait-process.
71766         * modules/stat (Depends-on): Add xalloc.
71767         * modules/userspec (Files): Add lib/userspec.h.
71768         * modules/xstrto
71769
71770         Upgrade from gettext-0.13.
71771         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
71772         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
71773         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
71774
71775 2004-06-10  Jim Meyering  <jim@meyering.net>
71776
71777         * lib/calloc.c: New file.
71778
71779 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
71780
71781         * lib/getdate.y (yylex): Allow space between sign and number.
71782         Problem reported by Dan Jacobson.
71783
71784 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
71785
71786         Merge from coreutils CVS.
71787
71788         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
71789         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
71790         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
71791         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
71792         xstrtol.m4: Fix copyright date and/or serial number.
71793
71794         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
71795         See if we need an fchown replacement.
71796         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
71797         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
71798         and use the replacement function if we detect either defect.
71799
71800         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
71801         gl_UTIMECMP.
71802
71803 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
71804         and  Jim Meyering  <jim@meyering.net>
71805
71806         Merge from coreutils CVS.
71807
71808         * lib/stat-macros.h: New file, with contents from file-type.h
71809         and coreutils' system.h.
71810         * lib/file-type.c: Include "stat-macros.h".
71811         * lib/file-type.h (file_type): Move all macro definitions to new file,
71812         stat-macros.h.
71813
71814         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
71815         Wrap old code with this conditional.
71816         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
71817         function that does not dereference symlinks.
71818         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
71819
71820         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
71821         dependency problems.
71822         (xreadlink): Accept new arg SIZE, for efficiency.
71823         All decls and uses changed.
71824         * lib/xreadlink.h: Include <stddef.h>, for size_t.
71825
71826         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
71827         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
71828
71829         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
71830         sysexits.h.
71831
71832 2004-06-01  Jim Meyering  <jim@meyering.net>
71833
71834         * m4/calloc.m4: New file.
71835
71836 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
71837
71838         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
71839         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
71840         Also, fix a typo in a diagnostic.
71841
71842 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
71843
71844         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
71845         or AC_FUNC_REALLOC.
71846
71847 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
71848
71849         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
71850         macros to be defined.
71851         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
71852         the allocator returns NULL because the requested size is zero.
71853
71854 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
71855
71856         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
71857         var.  Add comment explaining why libc still defines it.  This
71858         merges the following patch from glibc:
71859         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
71860
71861 2004-05-20  Andreas Schwab  <schwab@suse.de>
71862
71863         * m4/free.m4: Replace free if it not known to work, not the other
71864         way round.
71865
71866 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
71867
71868         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
71869         present in glibc since revision 1.1 of this file.
71870         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
71871         obstack_alignment_mask, obstack_alloc, obstack_base,
71872         obstack_blank, obstack_blank_fast, obstack_chunk_size,
71873         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
71874         obstack_grow0, obstack_init, obstack_int_grow,
71875         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
71876         obstack_next_free, obstack_object_size, obstack_ptr_grow,
71877         obstack_ptr_grow_fast, obstack_room): Remove declarations of
71878         nonexistent functions.
71879
71880 2004-05-18  Karl Berry  <karl@gnu.org>
71881
71882         * config/srclist.txt: break link for vasnprintf.c.
71883
71884 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
71885
71886         Port obstack to the AS/400, where pointers are 16 bytes wide and
71887         you cannot cast an integer to a valid pointer.  This patch is
71888         currently waiting to be integrated into glibc; see
71889         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
71890
71891         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
71892         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
71893         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
71894         (struct obstack): temp member is now a union of a pointer and
71895         an integer, instead of an integer.  All integer uses changed.
71896         This does not affect the physical layout of struct obstack,
71897         except on hosts (like the AS/400) where the size or alignment of
71898         void * is greater than that of ptrdiff_t.
71899         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
71900         __STDC__)]: Store temporary in pointer member of union, not
71901         integer member.
71902         * lib/obstack.c: Include <stddef.h>, for offsetof.
71903         (struct fooalign): Remove; it doesn't need a name.
71904         (union fooround): Change double to long double, and add void *.
71905         (DEFAULT_ALIGNMENT): Use offsetof to compute.
71906         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
71907         not a macro.  Hence the values are always int; so remove all
71908         casts-to-int in uses.
71909
71910 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
71911
71912         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
71913         we can get this patch merged into glibc.
71914
71915 2004-05-17  Derek R. Price  <derek@ximbiot.com>
71916             Paul Eggert  <eggert@cs.ucla.edu>
71917
71918         * m4/argp: Depend on alloca.
71919
71920 2004-05-17  Derek R. Price  <derek@ximbiot.com>
71921             Paul Eggert  <eggert@cs.ucla.edu>
71922
71923         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
71924         freecoding.
71925
71926 2004-05-17  Bruno Haible  <bruno@clisp.org>
71927
71928         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
71929         precision that consists of a '.' followed by an empty digit string.
71930         Patch by Tor Lillqvist <tml@iki.fi>.
71931
71932 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
71933
71934         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
71935         for backward compatibility with older code.  We need our own
71936         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
71937         it under some other name, and our alloca.h will define it.
71938
71939 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
71940             Derek Price  <derek@ximbiot.com>
71941
71942         * lib/alloca.c: Include <alloca.h>, to get our interface.
71943         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
71944         include <alloca.h> first.  Use C89 prototype for alloca; this
71945         requires including <stddef.h> for size_t.  Use extern "C" if C++.
71946         Use #elif for simplicity, since we can assume C89 now.
71947         Don't try to source the system alloca.h since it will not be found
71948         and to prevent recursively including its replacement.
71949         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
71950         * lib/regex.c: Likewise.
71951
71952 2004-05-16  Derek Price  <derek@ximbiot.com>
71953             Paul Eggert  <eggert@cs.ucla.edu>
71954
71955         getline cleanup.  This changes the getndelim2 API: both order of
71956         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
71957         no delimiter).
71958
71959         * lib/getline.c: Don't include stddef.h or stdio.h, since our
71960         interface does that.
71961         (getline): Always use getdelim, so that we don't have two
71962         copies of this code.
71963         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
71964         if available.
71965         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
71966         (GETNDELIM2_MAXIMUM): New macro.
71967         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
71968         instead of the old practice of delim2==0.  All callers changed.
71969         Return -1 on overflow, instead of returning junk.
71970         Do not set *linesize unless allocation succeeds.
71971         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
71972         that we include sys/types.h.
71973         * lib/getnline.h: Likewise.
71974         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
71975         (getndelim2): Reorder arguments.
71976         * lib/getnline.c (getnline, getndelim):
71977         Don't discard the NMAX argument.
71978         (getnline): Invoke getndelim, to avoid code duplication.
71979         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
71980         of (size_t) -1 by callers of the getnline family.
71981
71982 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
71983
71984         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
71985         Check for gettimeofday.
71986         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
71987         Check for settimeofday, stime.
71988
71989 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
71990
71991         * lib/nanosleep.c (suspended): Change its type from int to
71992         sig_atomic_t volatile.
71993         (first_call): Make it private to rpl_nanosleep, and have it
71994         be zero initially as that's a bit faster.
71995         (my_usleep): Round up fractional times instead of truncating them,
71996         as this is the usual meaning for 'sleep'.
71997
71998         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
71999         doesn't work.
72000         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
72001         (ENOSYS): Define if not defined.
72002         (settime): Fall back on stime if it exists and settimeofday fails.
72003         But don't bother with fallbacks if a method fails with errno == EPERM.
72004
72005 2004-05-11  Jim Meyering  <jim@meyering.net>
72006
72007         Prior to this change, the save_cwd caller required read access to the
72008         current directory on most systems (ones with the fchdir function).
72009
72010         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
72011         fails, try write-only, and finally, resort to using xgetcwd.
72012
72013 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
72014
72015         * lib/obstack.c, obstack.h: Import changes from libc.
72016
72017 2004-04-28  Bruno Haible  <bruno@clisp.org>
72018
72019         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
72020         also implicitly appends .exe to executables.
72021         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
72022         accepts Windows pathnames.
72023         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
72024         Treat Cygwin like Windows, since it now accepts Windows pathnames.
72025         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
72026         Treat Cygwin like Windows, since it now accepts Windows pathnames.
72027         Reported by Derek Robert Price <derek@ximbiot.com>.
72028
72029 2004-04-21  Karl Berry  <karl@gnu.org>
72030
72031         * config/srclist.txt (localcharset.c): break sync.
72032
72033 2004-04-20  Paul Eggert  <eggert@twinsun.com>
72034
72035         * m4/host-os.m4: Add a copyright notice.
72036
72037 2004-04-20  Jim Meyering  <jim@meyering.net>
72038
72039         Change UTILS_ to gl_ in AC_DEFINE'd names.
72040         Change utils_- and jm_-prefixed variables, too.
72041         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
72042         UTILS_FUNC_MKDIR_TRAILING_SLASH.
72043         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
72044
72045         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
72046         Don't emit trailing blanks.
72047         Also rename jm_-prefixed variables to have gl_ prefix.
72048
72049         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
72050         Also rename jm_-prefixed variables to have gl_ prefix.
72051
72052         * m4/jm-macros.m4: Reflect the renamings.
72053         * m4/prereq.m4: Likewise.
72054
72055 2004-04-20  Jim Meyering  <jim@meyering.net>
72056
72057         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
72058         memory.
72059
72060 2004-04-20  Jim Meyering  <jim@meyering.net>
72061             Bruno Haible  <bruno@clisp.org>
72062
72063         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
72064         memory when realloc fails.
72065
72066 2004-04-19  Jim Meyering  <jim@meyering.net>
72067
72068         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
72069         now that readutmp.c may call `free (0)'.
72070
72071 2004-04-19  Bruno Haible  <bruno@clisp.org>
72072
72073         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
72074         * m4/inttypes_h.m4: Likewise.
72075         * m4/stdint_h.m4: Likewise.
72076         * m4/intmax_t.m4: Likewise.
72077         * m4/uintmax_t.m4: Likewise.
72078
72079 2004-04-18  Jim Meyering  <jim@meyering.net>
72080
72081         * m4/prereq.m4: Don't forbid jm_ prefix.
72082
72083         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
72084         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
72085         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
72086         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
72087         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
72088         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
72089         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
72090         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
72091         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
72092         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
72093         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
72094         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
72095         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
72096         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
72097         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
72098         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
72099         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
72100         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
72101         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
72102
72103 2004-04-18  Jim Meyering  <jim@meyering.net>
72104
72105         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
72106         failure, don't leak memory and do call END_UTMP_ENT.
72107
72108 2004-04-16  Jim Meyering  <jim@meyering.net>
72109
72110         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
72111         coreutils' stat program.
72112         (gl_PREREQ): Don't require jm_PREREQ_STAT.
72113
72114 2004-04-11  Paul Eggert  <eggert@twinsun.com>
72115
72116         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
72117         C89.
72118         (CHAR_BIT): Remove, since we assume C89.
72119         Include <stdint.h> if available, as per current Autoconf CVS advice.
72120
72121 2004-03-31  Jim Meyering  <jim@meyering.net>
72122
72123         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
72124         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
72125         * m4/xalloc.m4: Likewise.
72126
72127 2004-03-30  Paul Eggert  <eggert@twinsun.com>
72128
72129         Merge from coreutils.
72130
72131         * m4/inttostr.m4: New file.
72132         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
72133         Require AM_STDBOOL_H and gl_TIMESPEC instead.
72134         Require gl_CLOCK_TIME.
72135         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
72136
72137 2004-03-30  Paul Eggert  <eggert@twinsun.com>
72138
72139         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
72140         not bool, to be more consistent with Unix conventions.
72141         Suggested by Bruno Haible.
72142
72143         Merge from coreutils.
72144
72145         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
72146         * lib/umaxtostr.c: New files.
72147
72148         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
72149         the usual <time.h> dance.
72150         (get_date): Change signature to support fractional time stamps.
72151         All callers changed.
72152         * lib/getdate.y: Include "getdate.h" first, as we can now
72153         assume C89 and don't need to worry about 'const'.
72154         Similarly, include "unlocked-io.h" near start, not in middle.
72155         Include <limits.h>.
72156         (textint.value): Use long int rather than int.
72157         (textint.digits): Use size_t rather than int.
72158         (BILLION, LOG10_BILLION): New constants.
72159         (parser_control): New member rel_ns.  Members day_ordinal,
72160         time_zone, month, day, hour, minutes, rel_year, rel_month,
72161         rel_day, rel_hour, rel_minutes, rel_seconds
72162         are now long int, not int.  Member seconds is now struct timespec,
72163         not int.  New member timespec_seen.  Members dates_seen, days_seen,
72164         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
72165         not int.
72166         (%union.intval): Now long int, not int.
72167         New member timespec.
72168         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
72169         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
72170         (spec): Now is a timespec or an item list.
72171         (timespec, items): New nonterminals.
72172         (time, rel, relunit, number, get_date):
72173         Add support for fractional seconds.
72174         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
72175         (gmtime, localtime, mktime): Remove decls; not needed with C89.
72176         (to_hour): First arg is now long int, not int.
72177         (to_year): Returns long int, not int.
72178         Don't treat year -70 like 70.
72179         (tm_diff): Returns long int, not int.
72180         (lookup_word): Use bool instead of int when appropriate.
72181         (yylex): Use size_t for count, not int.
72182         Detect overflow when parsing large integer constants.
72183         Add support for fractions.
72184         (get_date): Make pointers 'const' if possible.
72185         Use more-portable code to detect integer overflow.
72186         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
72187         Don't use ctime; it's not reliable if the year has >4 digits.
72188
72189         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
72190         This is for compatibility with BSD.
72191
72192         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
72193         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
72194         From coreutils' system.h.
72195
72196         * lib/userspec.c: Don't include "posixver.h".
72197         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
72198         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
72199         compatible extension.  Simplify code by removing a boolean int
72200         that was always nonzero if a string was nonnull.
72201
72202 2004-03-30  Jim Meyering  <jim@meyering.net>
72203
72204         Merge from coreutils.
72205
72206         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
72207         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
72208         on some systems one must include <grp.h> before it.
72209         Reported by Christian Krackowizer.
72210
72211 2004-03-30  Jim Meyering  <jim@meyering.net>
72212
72213         Merge from coreutils.
72214
72215         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
72216
72217         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
72218         an empty input stream.
72219
72220         * lib/readtokens.c: Include <stdbool.h>.
72221         (readtoken): Use `size_t' rather than int/long.
72222         All callers adjusted.
72223         Use `bool' rather than `int' where appropriate.
72224         Use memset rather than an explicit loop.
72225         Use x2nrealloc rather than xrealloc.
72226         Allow the use of `\0' as a delimiter.
72227         (readtokens): Likewise.
72228         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
72229
72230 2004-03-30  Jim Meyering  <jim@meyering.net>
72231
72232         * m4/realloc.m4: Remove file, since now it does no more than
72233         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
72234         the `configure.ac' section of module/realloc.
72235         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
72236
72237 2004-03-30  Bruno Haible  <bruno@clisp.org>
72238
72239         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
72240         nonnull.
72241
72242 2004-03-29  Paul Eggert  <eggert@twinsun.com>
72243
72244         Merge changes to getloadavg.c from coreutils and Emacs.
72245
72246         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
72247         Define to an expression, not to the empty string.
72248         Include cloexec.h and xalloc.h.
72249         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
72250         Use set_cloexec_flag rather than rolling our own.
72251         * lib/cloexec.c, lib/cloexec.h: New files.
72252
72253 2004-03-29  Paul Eggert  <eggert@twinsun.com>
72254
72255         * m4/cloexec.m4: New file.
72256
72257 2004-03-18  Paul Eggert  <eggert@twinsun.com>
72258
72259         * lib/getopt.h: Sync with libc CVS.
72260
72261 2004-03-18  Paul Eggert  <eggert@twinsun.com>
72262             Bruno Haible  <bruno@clisp.org>
72263
72264         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
72265         mbswidth.
72266
72267 2004-03-18  Paul Eggert  <eggert@twinsun.com>
72268             Bruno Haible  <bruno@clisp.org>
72269
72270         * lib/mbswidth.h: Include <wchar.h> only if
72271         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
72272         <wchar.h>.
72273         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
72274
72275 2004-03-09  Paul Eggert  <eggert@twinsun.com>
72276
72277         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
72278         Sync with libc CVS.
72279         * lib/getopt_int.h: New file, also synced from libc.
72280
72281 2004-03-09  Paul Eggert  <eggert@twinsun.com>
72282
72283         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
72284         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
72285         Bring back getopt.c, getopt.h, getopt1.c.
72286
72287 2004-03-07  Paul Eggert  <eggert@twinsun.com>
72288
72289         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
72290         All uses changed.  Check for sa_sigaction member; this fixes
72291         a bug first reported by Jason Andrade in
72292         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
72293
72294 2004-03-07  Paul Eggert  <eggert@twinsun.com>
72295
72296         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
72297         '#if' expressions.  Unlike the code it replaces, it does not
72298         depend on (defined _SC_PAGESIZE).  However, it does depend on
72299         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
72300         first reported by Jason Andrade in
72301         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
72302
72303 2004-02-25  Simon Josefsson  <jas@extundo.com>
72304
72305         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
72306
72307 2004-02-25  Simon Josefsson  <jas@extundo.com>
72308
72309         * lib/strdup.h: New file.
72310         * lib/strdup.c: Include it.
72311         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
72312         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
72313
72314 2004-02-23  Karl Berry  <karl@gnu.org>
72315
72316         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
72317         (from fencepost.gnu.org:/gd/gnuorg).
72318
72319 2004-02-23  Karl Berry  <karl@gnu.org>
72320
72321         * config/srclistvars.sh (GNUORG) [karl]: redefine.
72322         * config/srclist.txt: add maintain/standards documents.
72323
72324 2004-02-18  Bruno Haible  <bruno@clisp.org>
72325
72326         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
72327         Reported by Derek Robert Price <derek@ximbiot.com>.
72328
72329 2004-02-16  Karl Berry  <karl@gnu.org>
72330
72331         * config/mkinstalldirs, install-sh: update from automake.
72332
72333 2004-02-06  Karl Berry  <karl@gnu.org>
72334
72335         * m4/po.m4: update from gettext 0.14.1.
72336
72337 2004-02-06  Karl Berry  <karl@gnu.org>
72338
72339         * lib/config.charset: update from gettext 0.14.1.
72340
72341 2004-02-05  Paul Eggert  <eggert@twinsun.com>
72342
72343         Add comments and code, prompted by suggestions from Bruno Haible
72344         for sh-quote.
72345         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
72346         describing the enum quoting_style values.
72347         * lib/quotearg.c (quotearg_alloc): New function.
72348         (quotearg_buffer_restyled): Treat lone { and } as special.
72349         Treat = as special.  Work around bug with older shells
72350         that "see" a '\' that is really the 2nd byte of a multibyte char.
72351         Quote empty string with shell_quoting_style.
72352
72353 2004-02-03  Bruno Haible  <bruno@clisp.org>
72354
72355         * m4/pipe.m4: New file, from GNU gettext.
72356
72357 2004-02-03  Bruno Haible  <bruno@clisp.org>
72358
72359         * lib/pipe.h: New file, from GNU gettext.
72360         * lib/pipe.c: New file, from GNU gettext.
72361
72362 2004-01-27  Bruno Haible  <bruno@clisp.org>
72363
72364         * m4/execute.m4: New file, from GNU gettext.
72365
72366 2004-01-27  Bruno Haible  <bruno@clisp.org>
72367
72368         * lib/execute.h: New file, from GNU gettext.
72369         * lib/execute.c: New file, from GNU gettext.
72370         * lib/w32spawn.h: New file, from GNU gettext.
72371
72372 2004-01-24  Paul Eggert  <eggert@twinsun.com>
72373
72374         Merge from diffutils.
72375
72376         * lib/file-type.c (file_type): Add typed memory objects.
72377         * lib/file-type.h (S_TYPEISTMO): New macro.
72378
72379         * lib/c-stack.h (c_stack_action): Remove argv argument.
72380         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
72381         (die): Don't calculate message unless segv_action returns.
72382         (get_stack_location, min_address_from_argv, max_address_from_argv,
72383         volatile stack_base, volatile_stack_size): Remove.
72384         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
72385         that every segmentation violation is a stack overflow.  (Ouch!)
72386         See Debian bug 136249 (still outstanding) for more info about why
72387         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
72388
72389 2004-01-24  Paul Eggert  <eggert@twinsun.com>
72390
72391         Exit-status fix from coreutils.
72392
72393         Use exit_failure consistently in place of EXIT_FAILURE,
72394         so that program exit statuses are consistent on failure.
72395
72396         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
72397         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
72398         * lib/argmatch.h: Comment fix to match the above.
72399         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
72400         Now a macro referring to exit_failure, instead of a separate
72401         variable.  Include "exitfail.h" to get it.
72402         * lib/xstrtol.h: Include "exitfail.h".
72403         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
72404
72405         * lib/long-options.c (parse_long_options): Use prototype
72406         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
72407         for clarity.
72408
72409 2004-01-21  Jim Meyering  <jim@meyering.net>
72410
72411         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
72412         so as not to conflict with a different-sized __mktime_internal
72413         function in GNU libc.
72414         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
72415         Problem building statically-linked `ls' reported by Michael Brunnbauer.
72416
72417 2004-01-20  Karl Berry  <karl@gnu.org>
72418
72419         * config/config.guess: update from config.
72420
72421         * config/srclistvars.sh: GNUWWWLICENSES for karl.
72422
72423 2004-01-20  Bruno Haible  <bruno@clisp.org>
72424
72425         Safer stack allocation.
72426         * lib/setenv.c: Include allocsa.h.
72427         (alloca): Remove fallback definition.
72428         (freea): Remove macro.
72429         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
72430         instead of freea.
72431
72432 2004-01-20  Bruno Haible  <bruno@clisp.org>
72433
72434         * m4/eealloc.m4: New file, from GNU gettext.
72435
72436 2004-01-20  Bruno Haible  <bruno@clisp.org>
72437
72438         * m4/allocsa.m4: New file, from GNU gettext.
72439
72440 2004-01-20  Bruno Haible  <bruno@clisp.org>
72441
72442         * lib/xallocsa.h: New file, from GNU gettext.
72443         * lib/xallocsa.c: New file, from GNU gettext.
72444
72445 2004-01-20  Bruno Haible  <bruno@clisp.org>
72446
72447         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
72448
72449 2004-01-20  Bruno Haible  <bruno@clisp.org>
72450
72451         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
72452         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
72453         specially.
72454
72455 2004-01-20  Bruno Haible  <bruno@clisp.org>
72456
72457         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
72458         patch.
72459
72460 2004-01-20  Bruno Haible  <bruno@clisp.org>
72461
72462         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
72463
72464 2004-01-20  Bruno Haible  <bruno@clisp.org>
72465
72466         * lib/eealloc.h: New file.
72467
72468 2004-01-20  Bruno Haible  <bruno@clisp.org>
72469
72470         * lib/binary-io.h: Avoid warnings on Cygwin.
72471
72472 2004-01-20  Bruno Haible  <bruno@clisp.org>
72473
72474         * lib/allocsa.h: New file, from GNU gettext.
72475         * lib/allocsa.c: New file, from GNU gettext.
72476
72477 2004-01-18  Karl Berry  <karl@gnu.org>
72478
72479         * doc/gpl.texi, doc/lgpl.texi: new files.
72480
72481 2004-01-18  Karl Berry  <karl@gnu.org>
72482
72483         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
72484         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
72485
72486 2004-01-15  Paul Eggert  <eggert@twinsun.com>
72487
72488         Merge from coreutils.
72489
72490         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
72491         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
72492         (gl_DEFAULT_POSIX2_VERSION): Move
72493         the documentation from 'configure' into 'config.hin',
72494         so that 'configure --help' isn't burdened by it and
72495         we don't have to worry about its formatting there.
72496         Reword the documentation so that it's more succinct
72497         and can be run together into a single paragraph.
72498         * m4/same.m4 (gl_SAME): Check for pathconf.
72499
72500 2004-01-15  Paul Eggert  <eggert@twinsun.com>
72501
72502         Merge from coreutils.
72503
72504         * lib/posixver.c: Include posixver.h.
72505
72506         * lib/same.c: Include <stdbool.h>, <limits.h>.
72507         (_POSIX_NAME_MAX): Define if not defined.
72508         (MIN): New macro.
72509         (same_name): If file names are silently truncated, report
72510         that the file names are the same if they are the same after
72511         the silent truncation.
72512
72513         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
72514         conversion function.
72515         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
72516         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
72517         longer needed.
72518
72519 2004-01-15  Jim Meyering  <jim@meyering.net>
72520
72521         Merge from coreutils.
72522
72523         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
72524         if no library is required.
72525         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
72526         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
72527         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
72528         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
72529         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
72530         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
72531         value, $ac_cv_search_crypt, if it's "none required".
72532         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
72533         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
72534         not gl_FUNC_GETLOADAVG.
72535         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
72536         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
72537
72538 2004-01-15  Jim Meyering  <jim@meyering.net>
72539
72540         Merge from coreutils.
72541
72542         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
72543         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
72544         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
72545
72546         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
72547         optional configure-time default.
72548
72549         * lib/version-etc.c (version_etc_copyright): Update copyright date.
72550
72551         * lib/xreadlink.c (xreadlink): Correct outdated comment.
72552
72553 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
72554
72555         Merge from coreutils.
72556
72557         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
72558         value, $ac_cv_search_nanosleep, if it's "none required".
72559
72560 2004-01-14  Paul Eggert  <eggert@twinsun.com>
72561
72562         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
72563         with like-named macro in fnmatch.c.
72564         (EXT): Use an internal constant instead.
72565
72566         Merge fnmatch patches from glibc.
72567         * lib/fnmatch.c (mbsinit): Remove define.
72568         Add libc_hidden_ver (__fnmatch, fnmatch).
72569         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
72570         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
72571
72572 2004-01-14  Karl Berry  <karl@gnu.org>
72573
72574         * config/install-sh: update from automake.
72575
72576 2004-01-13  Karl Berry  <karl@gnu.org>
72577
72578         * config/install-sh: update from automake.
72579
72580 2004-01-09  Karl Berry  <karl@gnu.org>
72581
72582         * config/install-sh: update from automake.
72583
72584 2004-01-05  Karl Berry  <karl@gnu.org>
72585
72586         * config/config.{sub,guess}: update from config.
72587
72588 2003-12-31  Karl Berry  <karl@gnu.org>
72589
72590         * config/depcomp: update from automake.
72591
72592 2003-12-14  Karl Berry  <karl@gnu.org>
72593
72594         * lib/config.charset: update from gettext-runtime.
72595
72596 2003-12-03  Paul Eggert  <eggert@twinsun.com>
72597
72598         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
72599         Bug reported by Alfred M. Szmidt.
72600
72601 2003-12-03  Bruno Haible  <bruno@clisp.org>
72602
72603         * m4/gettext.m4: Upgrade from gettext-0.13.
72604         * m4/po.m4: Upgrade from gettext-0.13.
72605         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
72606         * m4/intmax.m4: New file, from gettext-0.13.
72607         * m4/printf-posix.m4: New file, from gettext-0.13.
72608
72609 2003-11-29  Karl Berry  <karl@gnu.org>
72610
72611         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
72612
72613 2003-11-25  Paul Eggert  <eggert@twinsun.com>
72614             Bruno Haible  <bruno@clisp.org>
72615
72616         * lib/printf-parse.h: Don't include sys/types.h.
72617         (ARG_NONE): New macro.
72618         (char_directive): Change type of *arg_index fields to size_t.
72619         * lib/printf-parse.c: Don't include sys/types.h.
72620         (SSIZE_MAX): Remove macro.
72621         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
72622         Remove unnecessary overflow check.
72623         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
72624         fields.
72625
72626 2003-11-25  Bruno Haible  <bruno@clisp.org>
72627
72628         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
72629
72630 2003-11-25  Bruno Haible  <bruno@clisp.org>
72631
72632         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
72633         gt_TYPE_SSIZE_T.
72634
72635 2003-11-24  Paul Eggert  <eggert@twinsun.com>
72636
72637         * modules/alloca: Remove dependency on xalloc.
72638
72639 2003-11-24  Paul Eggert  <eggert@twinsun.com>
72640
72641         * lib/alloca.c: Remove dependency on xalloc module.
72642         (xalloc_die): Remove.
72643         (memory_full) [!defined emacs]: New macro.
72644         [!defined emacs]: Don't include xalloc.h.
72645         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
72646         address arithmetic overflows.  Change datatypes a bit to avoid
72647         unnecessary casts.
72648
72649 2003-11-22  Jim Meyering  <jim@meyering.net>
72650
72651         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
72652         s/size/size_t/.
72653
72654 2003-11-21  Karl Berry  <karl@gnu.org>
72655
72656         * config/config.{sub,guess}: update from config.
72657
72658 2003-11-18  Karl Berry  <karl@gnu.org>
72659
72660         * config/config.{sub,guess}: update from config.
72661
72662         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
72663
72664 2003-11-17  Paul Eggert  <eggert@twinsun.com>
72665
72666         * README: Mention that S+T cannot overflow if S is the size of
72667         an existing object and T is sufficiently small.
72668
72669 2003-11-17  Jim Meyering  <jim@meyering.net>
72670
72671         On systems without utime and without a utimes function capable of
72672         dealing with a NULL struct utimbuf* argument, this utime replacement
72673         could -- in unusual circumstances -- leak a file descriptor.
72674         * lib/utime.c: Include <unistd.h> and <errno.h>.
72675         (utime_null): Be sure to close `fd' and to preserve errno.
72676         Reported by Geoff Collyer via Arnold Robbins.
72677
72678 2003-11-17  Bruno Haible  <bruno@clisp.org>
72679
72680         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
72681         (Depends-on): Add xsize.
72682
72683 2003-11-17  Bruno Haible  <bruno@clisp.org>
72684
72685         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
72686
72687 2003-11-17  Bruno Haible  <bruno@clisp.org>
72688
72689         * lib/vasnprintf.c (alloca): Remove fallback definition.
72690         (freea): Remove definition.
72691         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
72692         Reported by Paul Eggert.
72693
72694 2003-11-16  Paul Eggert  <eggert@twinsun.com>
72695             Bruno Haible  <bruno@clisp.org>
72696
72697         Protect against address arithmetic overflow.
72698         * lib/printf-args.h: Include stddef.h.
72699         (arguments): Change type of field 'count' to size_t.
72700         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
72701         'unsigned int' where appropriate.
72702         * lib/printf-parse.h: Include sys/types.h.
72703         (char_directive): Change type of *arg_index fields to ssize_t.
72704         (char_directives): Change type of fields 'count', max_*_length to
72705         size_t.
72706         * lib/printf-parse.c: Include sys/types.h and xsize.h.
72707         (SSIZE_MAX): Define fallback value.
72708         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
72709         instead of 'int' where appropriate. Check a_allocated, d_allocated
72710         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
72711         * lib/vasnprintf.c: Include xsize.h.
72712         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
72713         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
72714         overflow. Avoid wraparound when converting a width or precision from
72715         decimal to binary.
72716
72717 2003-11-16  Bruno Haible  <bruno@clisp.org>
72718
72719         Update from GNU gettext.
72720         * lib/printf-parse.c: Generalize to it can be compiled for wide
72721         strings.
72722         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
72723         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
72724         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
72725         SNPRINTF): New macros.
72726         Don't include <alloca.h> if the file is used inside libintl.
72727         (local_wcslen): New function, for Solaris 2.5.1.
72728         (VASNPRINTF): Use it instead of wcslen.
72729
72730 2003-11-16  Bruno Haible  <bruno@clisp.org>
72731
72732         * lib/xsize.h (xmax): New function.
72733         (xsum, xsum3, xsum4): Declare as "pure" functions.
72734
72735 2003-11-12  Paul Eggert  <eggert@twinsun.com>
72736
72737         * modules/xalloc (Files): Undo latest change, since xalloc.h
72738         no longer needs SIZE_MAX or PTRDIFF_MAX.
72739
72740 2003-11-12  Paul Eggert  <eggert@twinsun.com>
72741
72742         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
72743         gl_PTRDIFF_MAX.
72744
72745 2003-11-12  Paul Eggert  <eggert@twinsun.com>
72746
72747         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
72748         "return", to pacify some unknown compiler.  Problem reported
72749         by Joerg Schilling.
72750
72751 2003-11-12  Paul Eggert  <eggert@twinsun.com>
72752
72753         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
72754         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
72755         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
72756         heuristic is just as accurate as far as we know, and it removes a
72757         dependency on size_max.m4 and ptrdiff_max.m4.
72758
72759 2003-11-11  Bruno Haible  <bruno@clisp.org>
72760
72761         * modules/xsize (Files): Add m4/size_max.m4.
72762         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
72763
72764 2003-11-11  Bruno Haible  <bruno@clisp.org>
72765
72766         * m4/size_max.m4: New file.
72767         * m4/ptrdiff_max.m4: New file.
72768         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
72769         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
72770         (gl_XALLOC): Invoke it.
72771
72772 2003-11-11  Bruno Haible  <bruno@clisp.org>
72773
72774         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
72775         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
72776         defined.
72777
72778 2003-11-10  Paul Eggert  <eggert@twinsun.com>
72779
72780         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
72781         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
72782         rejected some allocations of exactly SIZE_MAX - 2 bytes.
72783         From Bruno Haible.
72784         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
72785         not (size_t) -1, since it's defined here.
72786
72787 2003-11-09  Karl Berry  <karl@gnu.org>
72788
72789         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
72790
72791 2003-11-06  Paul Eggert  <eggert@twinsun.com>
72792
72793         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
72794         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
72795         Reject sizes of exactly SIZE_MAX bytes.
72796         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
72797         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
72798
72799 2003-11-05  Bruno Haible  <bruno@clisp.org>
72800
72801         * lib/xsize.h: Include limits.h, to avoid a possible collision with
72802         SIZE_MAX defined in <limits.h> on Solaris.
72803
72804 2003-11-04  Jim Meyering  <jim@meyering.net>
72805
72806         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
72807         variable names, rather than @VAR@.
72808         * modules/poll: Likewise.
72809
72810 2003-11-04  Bruno Haible  <bruno@clisp.org>
72811
72812         * modules/xsize: New file.
72813         * modules/linebreak: Depend on xsize.
72814         * MODULES.html.sh (func_all_modules): Add xsize.
72815
72816 2003-11-04  Bruno Haible  <bruno@clisp.org>
72817
72818         * m4/xsize.m4: New file.
72819
72820 2003-11-04  Bruno Haible  <bruno@clisp.org>
72821
72822         * lib/xsize.h: New file.
72823         * lib/linebreak.c: Include xsize.h.
72824         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
72825         argument for overflow.
72826         Suggested by Paul Eggert.
72827
72828 2003-11-03  Karl Berry  <karl@gnu.org>
72829
72830         * config/config.{guess,sub}: update from config.
72831
72832 2003-11-03  Jim Meyering  <jim@meyering.net>
72833
72834         * modules/userspec (lib_SOURCES): Add userspec.h.
72835         (Include): Add "userspec.h".
72836         Improve description.
72837
72838 2003-11-03  Jim Meyering  <jim@meyering.net>
72839
72840         * lib/userspec.c: Include "userspec.h".
72841         * lib/userspec.h: New file.
72842
72843 2003-11-03  Bruno Haible  <bruno@clisp.org>
72844
72845         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
72846
72847 2003-11-03  Bruno Haible  <bruno@clisp.org>
72848
72849         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
72850         available, to avoid (extremely rare) race condition.
72851         Suggested by Paul Eggert.
72852
72853 2003-11-02  Karl Berry  <karl@gnu.org>
72854
72855         * config/srclist.txt (vasprintf.c): sync broken, sigh.
72856
72857 2003-10-31  Paul Eggert  <eggert@twinsun.com>
72858
72859         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
72860         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
72861         (read_filesystem_list): Set and use me_type_malloced.
72862         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
72863         whatever the type happens to be), for brevity and consistency.
72864         Check for size calculation overflow on Alphas running OSF/1.
72865
72866 2003-10-31  Jim Meyering  <jim@meyering.net>
72867
72868         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
72869
72870         * lib/linebuffer.c: Include <string.h> for declaration of memset.
72871
72872 2003-10-30  Paul Eggert  <eggert@twinsun.com>
72873             Bruno Haible  <bruno@clisp.org>
72874
72875         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
72876         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
72877
72878 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
72879
72880         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
72881         netbsd*-gnu*.  Suggested by Robert Millan.
72882
72883 2003-10-29  Paul Eggert  <eggert@twinsun.com>
72884
72885         * modules/group-member: Depend on stdbool.
72886
72887 2003-10-29  Paul Eggert  <eggert@twinsun.com>
72888
72889         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
72890
72891 2003-10-29  Paul Eggert  <eggert@twinsun.com>
72892
72893         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
72894         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
72895         after the 'gnu' in these cases.  This fixes some bugs in the
72896         previous change, and is based on suggestions by Robert Millan.
72897
72898 2003-10-29  Paul Eggert  <eggert@twinsun.com>
72899
72900         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
72901         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
72902         no longer needed.
72903         * lib/quotearg.c (quotearg_n_options): Use it.
72904         * lib/group-member.c: Include <stdbool.h>.
72905         (free_group_info): Arg is now const *; don't free arg.
72906         (get_group_info): Now returns bool and accepts struct group_info *,
72907         rather than returning a malloc'ed struct group_info *.
72908         All uses changed.  Check for overflow in internal size calculation.
72909
72910         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
72911         rather than xmalloc/xrealloc.
72912         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
72913         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
72914         conformance bug: the old code used a pointer after freeing the
72915         storage that it addressed.
72916         * lib/hash.c (hash_initialize): Simplify the code by using
72917         xalloc_oversized rather than doing it by hand.
72918         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
72919         the buffer preserved.  Use free and xmalloc instead.
72920         * lib/quotearg.c (quotearg_n_options): Likewise.
72921         Use a simpler test for size overflow.  Don't use xalloc_oversized
72922         because unsigned int might be wider than size_t (!); this suggests
72923         that we should switch from unsigned int to size_t for slot numbers.
72924
72925 2003-10-28  Paul Eggert  <eggert@twinsun.com>
72926
72927         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
72928         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
72929         NetBSD kernels.  Requested by Richard Stallman.
72930
72931 2003-10-27  Paul Eggert  <eggert@twinsun.com>
72932
72933         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
72934         to allocate the returned structure.  Do not allocate a subarray,
72935         as x2nrealloc will do that.
72936         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
72937         instead of xnrealloc.
72938         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
72939
72940 2003-10-27  Bruno Haible  <bruno@clisp.org>
72941
72942         * lib/stdbool_.h: Better support for BeOS.
72943
72944 2003-10-26  Paul Eggert  <eggert@twinsun.com>
72945
72946         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
72947         now uses inline.
72948
72949 2003-10-26  Paul Eggert  <eggert@twinsun.com>
72950
72951         * lib/xalloc.h (xalloc_oversized): New static inline function, for
72952         callers that want to do their own size-overflow checking.  Include
72953         <stdbool.h>, since xalloc_oversized returns bool.
72954         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
72955         to use xalloc_oversized.
72956
72957         Add two functions x2realloc, x2nrealloc, for programs that grow
72958         arrays dynamically by doubling their sizes.
72959         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
72960         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
72961         New functions.
72962
72963         Port to C99 semantics for 'inline' of external functions.
72964         Bug reported by Bruno Haible.
72965         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
72966         with the old contents of xnmalloc.
72967         (xnmalloc, xmalloc): Use it.
72968         (xnrealloc_inline): New static inline function,
72969         with the old contents of xnrealloc.
72970         (xnrealloc, xrealloc): Use it.
72971
72972         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
72973         that.
72974
72975 2003-10-26  Karl Berry  <karl@gnu.org>
72976
72977         * config/srclist.txt (COPYING.DOC): no longer available from
72978         /gd/gnuorg; don't know where the ultimate source is.
72979
72980 2003-10-25  Paul Eggert  <eggert@twinsun.com>
72981
72982         Fix several address-calculation bugs in the hash modules,
72983         plus some minor code cleanup.
72984
72985         * lib/hash.h: Include <stdbool.h>, for bool.
72986         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
72987         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
72988         hash_get_n_entries, hash_get_max_bucket_length,
72989         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
72990         hash_rehash): Use size_t rather than unsigned.
72991         * lib/hash.c (struct hash_table, hash_get_n_buckets,
72992         hash_get_n_buckets_used, hash_get_n_entries,
72993         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
72994         hash_get_entries, hash_do_for_each, hash_string, is_prime,
72995         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
72996         Likewise.
72997         (SIZE_MAX): Define if not defined.
72998         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
72999         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
73000         hash_print):
73001         Use const * when possible.
73002         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
73003         (check_tuning): Fix bug: if tuning parameters were very close to
73004         0 or 1, rounding errors could have caused subscript violations.
73005         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
73006         (hash_initialize): Add 'fail:' label
73007         to free table and return NULL, and use it to simplify code.
73008         Use calloc rather than clearing the storage ourself.
73009         (hash_initialize, hash_rehash): Check for arithmetic overflow in
73010         buffer size calculations.
73011         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
73012         Include <stddef.h>, for size_t.
73013         * lib/hash-pjw.c (hash_pjw): Likewise.
73014         Switch to method described by Bruno Haible.
73015         Include <limits.h>, for CHAR_BIT.
73016         (SIZE_BITS): New macro.
73017
73018 2003-10-23  Paul Eggert  <eggert@twinsun.com>
73019
73020         * m4/getline.m4 (AM_FUNC_GETLINE):
73021         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
73022         hosts.  Problem reported by Derek Robert Price in
73023         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
73024         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
73025         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
73026
73027 2003-10-21  Paul Eggert  <eggert@twinsun.com>
73028
73029         * lib/getndelim2.c (getndelim2): When size calculation overflows,
73030         ceiling the allocation at NMAX bytes rather than silently
73031         discarding input bytes before NMAX is reached.  This makes
73032         a difference only if NMAX exceeds SIZE_MAX / 2.
73033
73034         * lib/obstack.c: Merge from glibc.
73035         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
73036         Add libc_hidden_def (_obstack_newchunk).
73037         (_obstack_free) [! defined _LIBC]: Remove.
73038         [defined _LIBC]: Make a strong alias from obstack_free, rather than
73039         a clone of the function body.
73040         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
73041         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
73042
73043         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
73044         glibc.
73045         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
73046         arg to memcpy.
73047
73048         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
73049         (obstack_ptr_grow_fast, obstack_int_grow_fast):
73050         Don't use lvalue casts, as GCC plans to remove support for them
73051         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
73052         was also present in the non-GCC version, indicating that this
73053         code had always been buggy and had never been widely used.
73054         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
73055         Use the fast variant of each macro, rather than copying the
73056         definiens of the fast variant; that way, we'll be more likely to
73057         catch future bugs in the fast variants.
73058
73059 2003-10-20  Bruno Haible  <bruno@clisp.org>
73060
73061         * modules/wait-process: New file.
73062         * MODULES.html.sh (func_all_modules): Add wait-process.
73063
73064 2003-10-20  Bruno Haible  <bruno@clisp.org>
73065
73066         * m4/wait-process.m4: New file.
73067
73068 2003-10-20  Bruno Haible  <bruno@clisp.org>
73069
73070         * lib/wait-process.h: New file, from GNU gettext.
73071         * lib/wait-process.c: New file, from GNU gettext.
73072
73073 2003-10-19  Jim Meyering  <jim@meyering.net>
73074
73075         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
73076         HPUX 10.20.
73077
73078 2003-10-18  Karl Berry  <karl@gnu.org>
73079
73080         * config/config.guess: update from config.
73081
73082 2003-10-16  Paul Eggert  <eggert@twinsun.com>
73083
73084         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
73085         (getgroups): First arg is int, not size_t.
73086         Don't let 'free' mangle errno.
73087
73088 2003-10-16  Paul Eggert  <eggert@twinsun.com>
73089
73090         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
73091
73092 2003-10-16  Karl Berry  <karl@gnu.org>
73093
73094         * config/config.{guess,sub}: update from config.
73095
73096 2003-10-16  Jim Meyering  <jim@meyering.net>
73097
73098         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
73099         memcpy.
73100
73101 2003-10-15  Paul Eggert  <eggert@twinsun.com>
73102
73103         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
73104         (SIZE_MAX): Remove.
73105         (new_exclude, add_exclude_file): Initial size no longer needs to
73106         be a power of 2.
73107         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
73108         our own address arithmetic overflow checking.
73109
73110         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
73111         (fnmatch): Do not alloca more than 2000 wide characters;
73112         instead, use malloc for large buffers.
73113         Check for address arithmetic overflow, and return -1
73114         with errno set to ENOMEM in that case.
73115         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
73116         (NEW_PATTERN): Do not alloca more than 8000 bytes;
73117         instead, return -1.  Check for address arithmetic overflow.
73118
73119 2003-10-14  Paul Eggert  <eggert@twinsun.com>
73120
73121         Handle invalid suffixes and overflow independently, so that
73122         callers can treat them independently as needed.  Fix some bugs in
73123         suffix handling, e.g., "100k@" was not diagnosed as an invalid
73124         suffix for a human-readable blocksize.  The major caller-visible
73125         change is the addition of a new
73126         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
73127         that both overflow and suffix chars were found.
73128
73129         * lib/human.c (humblock): Don't check separately for invalid suffix
73130         char; that is xstrtoumax's job (now that its bug is fixed).
73131         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
73132         INTMAX_MAX]: New macros.
73133         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
73134         TYPE_MAXIMUM): New macros.
73135         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
73136         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
73137         if overflow occurs, as it's what __strtol does and it's more useful
73138         in practice.
73139         (__xstrtol): If __strtol reports some error other than ERANGE,
73140         reflect it to the caller as LONGINT_INVALID.  If it reports
73141         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
73142         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
73143         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
73144         value.
73145         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
73146         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
73147         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
73148         [defined UINTMAX_MAX]: New macros.
73149
73150 2003-10-14  Bruno Haible  <bruno@clisp.org>
73151
73152         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
73153
73154 2003-10-14  Bruno Haible  <bruno@clisp.org>
73155
73156         * m4/sig_atomic_t: New file, from GNU gettext.
73157         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
73158
73159 2003-10-14  Bruno Haible  <bruno@clisp.org>
73160
73161         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
73162         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
73163         Also use volatile where needed.
73164
73165 2003-10-12  Paul Eggert  <eggert@twinsun.com>
73166
73167         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
73168         Change maintainer from Bruno Haible to 'all'.
73169
73170 2003-10-12  Paul Eggert  <eggert@twinsun.com>
73171
73172         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
73173
73174 2003-10-12  Paul Eggert  <eggert@twinsun.com>
73175
73176         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
73177         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
73178         and define in terms of the other primitives.
73179         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
73180         (SIZE_MAX): Define if not already defined.
73181         (array_size_overflow): New function.
73182         (xalloc_die): Abort instead of exiting if 'error' returns.
73183         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
73184         (xmalloc, xrealloc): Use them.
73185         (xcalloc): Check for address arithmetic overflow.
73186         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
73187         a bit faster than strcpy.
73188
73189 2003-10-10  Simon Josefsson  <jas@extundo.com>
73190
73191         * modules/argp (Depends-on): Add restrict and strcase.
73192
73193 2003-10-10  Simon Josefsson  <jas@extundo.com>
73194
73195         * m4/argp.m4: Add AC_C_INLINE.
73196
73197 2003-10-08  Paul Eggert  <eggert@twinsun.com>
73198
73199         Merge getpass from libc, plus a few fixes.
73200
73201         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
73202         Include <stdbool.h>.
73203         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
73204         __fsetlocking to empty.
73205         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
73206         do include <bits/libc-lock.h>.
73207         Do not include <fcntl.h>; not needed.
73208         [_LIBC]: Include <wchar.h>.
73209         (NOTCANCEL_MODE): New macro.
73210         (flockfile, funlockfile) [_LIBC]: New macros.
73211         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
73212         [!_LIBC]: New macros.
73213         (call_fclose): New function.
73214         (getpass): Use it.  Save tty stream separately; this simplifies the
73215         code and makes it more reliable if stdin happens to equal stdout.
73216         Invoke __fsetlocking on tty.
73217         Handle thread cancellation if needed.
73218         Namespace cleanup (use __tcgetattr, __getline).
73219         Use bool for Booleans.
73220         [USE_IN_LIBIO]: Handle wide streams.
73221         [!_LIBC]: Unconditionally do the fseek, since we don't know what
73222         stream might go where.
73223
73224         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
73225         doesn't have to include <stdio.h> before us.
73226         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
73227         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
73228         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
73229         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
73230         if not declared, so that we can use getpass.c code from libc without
73231         rewriting it.
73232         (flockfile, ftrylockfile, funlockfile): New macros.
73233
73234 2003-10-08  Paul Eggert  <eggert@twinsun.com>
73235
73236         * modules/getpass: Depend on stdbool.
73237
73238 2003-10-08  Paul Eggert  <eggert@twinsun.com>
73239
73240         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
73241
73242 2003-10-07  Karl Berry  <karl@gnu.org>
73243
73244         * config/config.{guess,sub}: update from config.
73245
73246 2003-10-06  Jim Meyering  <jim@meyering.net>
73247             Bruno Haible  <bruno@clisp.org>
73248
73249         This lets translators provide better translations for the
73250         "Written by ..." part of --version output.
73251         * lib/version-etc.h: Include stdarg.h.
73252         (version_etc_copyright): Declare as readonly.
73253         (version_etc): Make this function variadic with a NULL-terminated list
73254         of author name strings.
73255         (version_etc_va): New declaration.
73256         * lib/version-etc.c: Include stdarg.h, stdlib.h.
73257         (version_etc_copyright): Declare as readonly.
73258         (version_etc_va): New function. Provide a different translatable string
73259         for each possible number of authors < 10. Abbreviate when there are 10
73260         authors or more.
73261         (version_etc): Make this function variadic. Call version_etc_va.
73262         Suggestion from Gary V. Vaughan.
73263
73264         * lib/long-options.h (parse_long_options): Change prototype: the
73265         authors string is moved to the end and becomes variadic.
73266         * lib/long-options.c: Include stdarg.h.
73267         (parse_long_options): Make this function variadic, too.
73268         Call version_etc_va, not version_etc.
73269
73270 2003-10-06  Bruno Haible  <bruno@clisp.org>
73271
73272         * modules/version-etc-2: Remove file.
73273         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
73274
73275 2003-10-06  Bruno Haible  <bruno@clisp.org>
73276
73277         * modules/fatal-signal: New file.
73278         * MODULES.html.sh (func_all_modules): Add fatal-signal.
73279
73280 2003-10-06  Bruno Haible  <bruno@clisp.org>
73281
73282         * m4/fatal-signal.m4: New file.
73283         * m4/signalblocking.m4: New file, from GNU gettext.
73284
73285 2003-10-06  Bruno Haible  <bruno@clisp.org>
73286
73287         * lib/version-etc-2.h: Remove file.
73288         * lib/version-etc-2.c: Remove file.
73289
73290 2003-10-06  Bruno Haible  <bruno@clisp.org>
73291
73292         * lib/fatal-signal.h: New file, from GNU gettext.
73293         * lib/fatal-signal.c: New file, from GNU gettext.
73294
73295 2003-10-05  Paul Eggert  <eggert@twinsun.com>
73296
73297         * README: Rework advice for preventing empty .o files.
73298         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
73299         not <sys/types.h>.
73300
73301 2003-10-04  Karl Berry  <karl@gnu.org>
73302
73303         * lib/argp*: update from libc.
73304
73305 2003-10-04  Karl Berry  <karl@gnu.org>
73306
73307         * config/config.{guess,sub}: update from config.
73308
73309 2003-10-02  Bruno Haible  <bruno@clisp.org>
73310
73311         * modules/lchown (Include): Add lchown.h.
73312         * modules/time_r (Include): Use "..." syntax.
73313         * modules/xgetdomainname (Include): Add xgetdomainname.h.
73314
73315 2003-10-01  Simon Josefsson  <jas@extundo.com>
73316
73317         * MODULES.html.sh (func_all_modules): Move gethostname from section
73318         'based on' to section 'lacking' POSIX:2001.
73319
73320 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
73321
73322         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
73323         to output mode on the same stream.
73324
73325 2003-09-29  Paul Eggert  <eggert@twinsun.com>
73326
73327         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
73328         Fix arg typo in previous patch.
73329
73330 2003-09-28  Jim Meyering  <jim@meyering.net>
73331
73332         * lib/error.c: Correct cpp indentation.
73333
73334 2003-09-27  Paul Eggert  <eggert@twinsun.com>
73335
73336         * modules/free: New file.
73337
73338 2003-09-27  Paul Eggert  <eggert@twinsun.com>
73339
73340         * m4/free.m4: New file.
73341
73342 2003-09-27  Paul Eggert  <eggert@twinsun.com>
73343
73344         * lib/minmax.h (MIN, MAX)
73345         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
73346         Omit the special code that used __typeof__, since we worry that
73347         it could be more trouble than it's worth.  See:
73348         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
73349         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
73350
73351         * lib/free.c: New file.
73352
73353 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
73354
73355         Trivial fixes to Makefile.am parts of module listings.
73356         * modules/strstr: Append strstr.h to lib_SOURCES.
73357         * modules/strcase: Likewise, for strcase.h.
73358
73359 2003-09-27  Karl Berry  <karl@gnu.org>
73360
73361         * config/mkinstalldirs: update from automake.
73362
73363 2003-09-26  Paul Eggert  <eggert@twinsun.com>
73364
73365         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
73366         (error_tail): Do not loop, reallocating temporary buffer, since
73367         the output cannot contain more wide characters than the input
73368         contains bytes, the size must be big enough already.  This avoids
73369         one potential size overflow calculation.  Check for size overflow
73370         when calculating temporary buffer size.  Free temporary buffer
73371         when done, if it was allocated with malloc; this plugs a memory
73372         leak.  Remove casts from void * to pointers, that are no longer
73373         needed now that we're assuming C89 or better.
73374
73375         Merge error changes from glibc.
73376
73377         * lib/error.c, error.h: Update copyright notice header to match glibc.
73378         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
73379         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
73380         Disable cancellation while printing error.
73381         * lib/error.h: Prepend __ to parameter names.
73382
73383 2003-09-26  Jim Meyering  <jim@meyering.net>
73384
73385         * lib/error.c (error_tail): Move some declarations
73386         into inner scope where the local variables are used.
73387
73388 2003-09-26  Bruno Haible  <bruno@clisp.org>
73389
73390         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
73391         stpncpy().
73392         Don't define stpncpy through config.h; it's now done through stpncpy.h.
73393
73394 2003-09-26  Bruno Haible  <bruno@clisp.org>
73395
73396         * lib/stpncpy.h (gnu_stpncpy): New declaration.
73397         (stpncpy): Define as alias for gnu_stpncpy.
73398         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
73399
73400 2003-09-25  Simon Josefsson  <jas@extundo.com>
73401
73402         * lib/xgetdomainname.h: New file.
73403         * lib/xgetdomainname.c: New file.
73404
73405 2003-09-25  Simon Josefsson  <jas@extundo.com>
73406             Bruno Haible  <bruno@clisp.org>
73407
73408         * modules/getdomainname: New file.
73409         * modules/xgetdomainname: New file.
73410         * MODULES.html.sh (func_all_modules): Add getdomainname,
73411         xgetdomainname.
73412
73413 2003-09-25  Simon Josefsson  <jas@extundo.com>
73414             Bruno Haible  <bruno@clisp.org>
73415
73416         * m4/getdomainname.m4: New file.
73417
73418 2003-09-25  Simon Josefsson  <jas@extundo.com>
73419             Bruno Haible  <bruno@clisp.org>
73420
73421         * lib/getdomainname.h: New file.
73422         * lib/getdomainname.c: New file.
73423
73424 2003-09-25  Karl Berry  <karl@gnu.org>
73425
73426         * lib/argp-fmtstream.c, argp-help.c: update from libc.
73427
73428 2003-09-25  Karl Berry  <karl@gnu.org>
73429
73430         * config/install-sh: update from automake.
73431
73432 2003-09-25  Bruno Haible  <bruno@clisp.org>
73433
73434         * modules/version-etc-2: New file, from modules/version-etc with
73435         modifications.
73436         * MODULES.html.sh (func_all_modules): Add version-etc-2.
73437
73438 2003-09-25  Bruno Haible  <bruno@clisp.org>
73439
73440         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
73441         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
73442
73443 2003-09-24  Simon Josefsson  <jas@extundo.com>
73444
73445         * modules/xgethostname: Add xgethostname.h.
73446
73447 2003-09-24  Paul Eggert  <eggert@twinsun.com>
73448
73449         * lib/linebuffer.c (freebuffer): Don't free the argument, just
73450         the buffer associated with the argument.  Bug reported by
73451         Simon Josefsson.
73452
73453 2003-09-24  Paul Eggert  <eggert@twinsun.com>
73454
73455         * README: Document assumptions that 'int' is at least 32 bits
73456         wide, that integer arithmetic is 2's complement without overflow,
73457         that there are no holes in integer values, that adding sizes of
73458         two nonoverlapping objects can't overflow, and that all-bits-zero
73459         yields scalar zero.  Fix spelling and capitalization typos.
73460
73461 2003-09-19  Karl Berry  <karl@gnu.org>
73462
73463         * lib/argp.h: update from libc.
73464
73465 2003-09-17  Paul Eggert  <eggert@twinsun.com>
73466
73467         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
73468         to avoid spurious warnings like "AC_RUN_IFELSE was called before
73469         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
73470
73471 2003-09-17  Paul Eggert  <eggert@twinsun.com>
73472
73473         * gnulib-tool: Use "test -h", not "test -L", for portability
73474         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
73475         (tags_regexp): Remove, since \| doesn't conform to POSIX.
73476         (sed_extract_prog): Issue s commands one-by-one, rather than
73477         using \| in one s command.
73478
73479 2003-09-16  Paul Eggert  <eggert@twinsun.com>
73480
73481         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
73482         input error, instead of returning NULL the next time we are called
73483         (and therefore losing track of errno).
73484
73485 2003-09-16  Bruno Haible  <bruno@clisp.org>
73486
73487         * gnulib-tool (func_create_testdir): Warn about duplicated
73488         dependencies.
73489
73490 2003-09-15  Paul Eggert  <eggert@twinsun.com>
73491
73492         * modules/argmatch, modules/fatal, modules/obstack,
73493         modules/xalloc, modules/xgethostname: Sort dependencies by
73494         importance, not alphabetically.
73495
73496 2003-09-15  Paul Eggert  <eggert@twinsun.com>
73497
73498         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
73499         fails, so that the caller gets the proper errno.
73500
73501         * lib/readutmp.c (read_utmp): Likewise.
73502         Check for fstat error.  Close stream and free storage
73503         when failing.
73504
73505 2003-09-14  Karl Berry  <karl@gnu.org>
73506
73507         * config/srclist.txt (strdup.c): disable for c89 changes.
73508
73509 2003-09-14  Jim Meyering  <jim@meyering.net>
73510
73511         * lib/getloadavg.c: Correct cpp indentation.
73512         * lib/strdup.c: Likewise.
73513         * lib/vasnprintf.c: Likewise.
73514
73515 2003-09-14  Bruno Haible  <bruno@clisp.org>
73516
73517         * modules/fwriteerror: New file.
73518         * MODULES.html.sh (func_all_modules): Add fwriteerror.
73519
73520 2003-09-14  Bruno Haible  <bruno@clisp.org>
73521
73522         * lib/fwriteerror.h: New file.
73523         * lib/fwriteerror.c: New file.
73524
73525 2003-09-12  Paul Eggert  <eggert@twinsun.com>
73526
73527         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
73528         modules/xgethostname, modules/xalloc: Depend on exit.
73529
73530 2003-09-12  Paul Eggert  <eggert@twinsun.com>
73531
73532         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
73533
73534         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
73535         and AC_MINIX, too, so that their extensions are available.
73536
73537         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
73538         This macro has been superseded by gl_BACKUPFILE.
73539
73540         More patches to assume C89 or better.
73541
73542         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
73543
73544         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
73545         unconditionally.
73546         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
73547         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
73548         Include <string.h>, <stdlib.h> unconditionally.
73549         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
73550         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
73551         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
73552         headers or for string.h.
73553         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
73554         or strtoul.
73555
73556         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
73557         headers.
73558         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
73559         * m4/userspec.m4 (gl_USERSPEC): Likewise.
73560         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
73561         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
73562         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
73563         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
73564         memcpy, memset.
73565         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
73566         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
73567         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
73568         strtol.
73569         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
73570         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
73571         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
73572         strtoul.
73573
73574 2003-09-12  Paul Eggert  <eggert@twinsun.com>
73575
73576         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
73577         * lib/obstack.c [!defined _LIBC]: Likewise.
73578         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
73579         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
73580         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
73581
73582         More changes to assume C89 or better.
73583
73584         * lib/error.c (error_tail): Assume vprintf.
73585
73586         * lib/argmatch.c (getenv): Remove decl.
73587         * lib/progreloc.c (get_full_program_name): Define via prototype.
73588         * lib/setenv.c (clearenv): Likewise.
73589         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
73590         needed.
73591         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
73592         (malloc, memcpy): Remove decls.
73593         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
73594         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
73595         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
73596         (memcpy): Remove macro.
73597         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
73598         (__P): Remove.  All uses removed.
73599         (PTR): Remove.  All uses changed to void *.
73600         (CHAR_BIT, NULL): Remove.
73601         (spaces, zeros, memset_space, memset_zero)
73602         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
73603         Remove.
73604         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
73605         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
73606         Define with prototype.
73607         Remove now-unnecessary prototype decl.
73608         (extra_args_spec): Assume ANSI C.  All uses changed.
73609         (extra_args_spec_iso): Remove.
73610         (my_strftime, emacs_strftimeu): Define via prototype.
73611         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
73612         unconditionally.
73613         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
73614         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
73615         (strtoul, strtol): Remove decls.
73616         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
73617         LONG_MAX): Remove.
73618         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
73619         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
73620         (LOCALE_PARAM_PROTO): New macro.
73621         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
73622         (INTERNAL (strtol), strtol): Define with a prototype.
73623         (PARAMS): Remove.  All uses removed.
73624         * lib/tempname.c: Include <string.h> unconditionally.
73625         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
73626         * lib/xgethostname.c (main): Define with a prototype.
73627         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
73628         Include <stdlib.h> unconditionally.
73629         (calloc, malloc, realloc, free): Remove decls.
73630         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
73631         Include <stdlib.h> unconditionally.  Sort include file names.
73632         (strtod): Remove.
73633         (xstrtod): Define with a prototype.
73634         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
73635         (strtol, strtoul): Remove decls.
73636
73637 2003-09-11  Paul Eggert  <eggert@twinsun.com>
73638
73639         More patches to assume C89 or better.
73640         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
73641         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
73642         string.h, memchr, STDC_HEADERS.
73643
73644 2003-09-11  Paul Eggert  <eggert@twinsun.com>
73645
73646         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
73647         Include <stdlib.h>, <string.h> unconditionally.
73648         Remove now-unnecessary cast to char *.
73649         * lib/strnlen.c: Include <string.h> unconditionally.
73650         * lib/yesno.c (yesno): Define with a prototype.
73651
73652 2003-09-11  Bruno Haible  <bruno@clisp.org>
73653
73654         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
73655
73656 2003-09-10  Jim Meyering  <jim@meyering.net>
73657
73658         * lib/error.c: Correct indentation of cpp directives.
73659
73660 2003-09-10  Bruno Haible  <bruno@clisp.org>
73661
73662         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
73663         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
73664         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
73665         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
73666         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
73667         <stdlib.h> and <string.h> checks.
73668         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
73669         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
73670
73671 2003-09-10  Bruno Haible  <bruno@clisp.org>
73672
73673         * lib/strcspn.c: Include <string.h> unconditionally.
73674         * lib/strpbrk.c: Include <string.h> unconditionally.
73675         * lib/strstr.c: Include <string.h> unconditionally.
73676         * lib/unicodeio.c: Include <string.h> unconditionally.
73677         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
73678         * lib/unsetenv.c: Likewise.
73679         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
73680         * lib/yesno.c: Include <stdlib.h> unconditionally.
73681         (rpmatch): Add prototype.
73682
73683 2003-09-09  Paul Eggert  <eggert@twinsun.com>
73684
73685         More patches to assume C89 or better.
73686         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
73687         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
73688         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
73689         or for string.h.
73690         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
73691         stdlib.h.
73692         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
73693         C headers.
73694         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
73695         string.h.
73696         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
73697         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
73698         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
73699         or for string.h.
73700         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
73701         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
73702         C headers.
73703         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
73704         memcpy.
73705         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
73706         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
73707         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
73708         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
73709         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
73710         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
73711         string.h, free.
73712         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
73713         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
73714         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
73715         C headers, or for string.h.
73716         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
73717         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
73718         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
73719         headers, memory.h, stdlib.h, string.h, strings.h.
73720         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
73721         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
73722         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
73723         strchr.
73724         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
73725         headers, memory.h, string.h.
73726         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
73727         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
73728         free.
73729         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
73730         headers.
73731         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
73732         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
73733         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
73734         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
73735         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
73736
73737 2003-09-09  Paul Eggert  <eggert@twinsun.com>
73738
73739         More K&R removal.
73740
73741         * lib/acosl.c (main): Use a prototype.
73742         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
73743         tanl.c: Likewise.
73744
73745         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
73746
73747         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
73748         (getopt, etopt_long, getopt_long_only, _getopt_internal)
73749         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
73750         with a prototype.
73751         * lib/getopt.c (const): Remove macro.
73752         Include <string.h> unconditionally.
73753         (my_index): Remove; all uses changed to strchr.
73754         (strlen): Remove decl.
73755         (exchange): Remove forward decl; no longer needed.
73756         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
73757         Define with prototype.
73758         * lib/getopt1.c (const): Remove macro.
73759         (getopt_long, getopt_long_only, main): Define with prototype.
73760
73761         * lib/getugroups.c: Include <string.h> unconditionally.
73762
73763         * lib/getusershell.c: Include <stdlib.h> unconditionally.
73764         (getusershell, setusershell, endusershell, readname, main):
73765         Define with prototypes.
73766
73767         * lib/group-member.c: Include group-member.h first.
73768         Include <stdlib.h> unconditionally.
73769
73770         * lib/hard-locale.c: Include hard-locale.h first.
73771         Include <stdlib.h>, <string.h> unconditionally.
73772
73773         * lib/hash.c (free, malloc): Remove decls.
73774         Include <stdlib.h> unconditionally.
73775
73776         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
73777         (getenv): Do not declare.
73778
73779         * lib/idcache.c: Include <string.h> unconditionally.
73780
73781         * lib/long-options.c: Include long-options.h first, to test interface.
73782         Include <stdlib.h> unconditionally.
73783
73784         * lib/makepath.c: Include makepath.h first, to test interface.
73785         Include <stdlib.h> and <string.h> unconditionally.
73786
73787         * lib/linebuffer.c: Include <stdlib.h>.
73788         (free): Remove decl.
73789
73790         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
73791         stddef.h. rpl_malloc returns void *, not char *.
73792         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
73793         prototype.
73794
73795         * lib/md5.h: Include <limits.h> unconditionally.
73796         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
73797         (__P): Remove; all uses removed.
73798         * lib/md5.c: Include "md5.h" first.
73799         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
73800         md5_buffer, md5_process_bytes, md5_process_block):
73801         Define with prototypes.
73802         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
73803         * lib/sha.c: Include "sha.h" first.
73804         Include <stdlib.h>, <string.h> unconditionally.
73805
73806         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
73807         * lib/memcmp.c (__ptr_t): Likewise.
73808         * lib/memrchr.c (__ptr_t): Likewise.
73809         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
73810         Include <string.h> unconditionally.
73811         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
73812         * lib/memchr.c: Include <stdlib.h> unconditionally.
73813         * lib/memchr.c (LONG_MAX): Remove.
73814         * lib/memrchr.c (LONG_MAX): Likewise.
73815         * lib/memchr.c (__memchr): Define via a prototype.
73816         * lib/memrchr.c (__memrchr): Likewise.
73817         * lib/memcmp.c (__P): Remove, and remove all uses.
73818         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
73819         Remove forward decls; no longer needed.
73820         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
73821         Use types required by C89 in prototype.
73822
73823         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
73824         * lib/savedir.c: Likewise.
73825         * lib/mkdir.c (free): Remove decl.
73826         * lib/rmdir.c (rmdir): Define with a prototype.
73827         * lib/savedir.c: Include savedir.h first, to test interface.
73828
73829         * lib/mktime.c (STDC_HEADERS): Remove.
73830         Include <stdlib.h>, <string.h> unconditionally.
73831
73832         * lib/modechange.c: Include <stdlib.h> unconditionally.
73833         (malloc): Remove decl.
73834
73835         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
73836         (free): Remove decl.
73837
73838         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
73839         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
73840         (This type really should be intptr_t, but that's a C99ism.)
73841         (_obstack_memcpy): Remove: all uses changed to memcpy.
73842         Include <string.h> unconditionally.
73843         (struct obstack): Assume __STDC__ for types of members
73844         chunkfun, freefun, extra_arg.
73845         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
73846         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
73847         obstack_begin, obstack_specify_allocation,
73848         obstack_specify_allocation_with_arg, obstack_chunkfun,
73849         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
73850         Remove unprototyped decls and the macros that use them.
73851         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
73852         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
73853         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
73854         (defined __STDC__ && __STDC__)]:
73855         Remove nonprototyped code.
73856         Include <stdlib.h> unconditionally.
73857         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
73858         _obstack_allocated_p, _obstack_free, obstack_free,
73859         _obstack_memory_used, print_and_abort):
73860         Define using prototypes.
73861         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
73862         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
73863         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
73864         obstack_next_free, obstack_object_size, obstack_room) [0]:
73865         Remove unused, unprototyped code.
73866
73867         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
73868
73869         * lib/physmem.c (physmem_total, physmem_available, main): Define
73870         with prototypes.
73871
73872         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
73873         (main): Define with a prototype.
73874
73875         * lib/posixver.c (getenv): Remove decl.
73876
73877         * lib/putenv.c (malloc): Returns void *, not char *.
73878         Include <string.h> unconditionally.
73879         (strchr, memcpy, NULL): Do not define.
73880
73881         * lib/readtokens.c: Include readtokens.h first, to test interface.
73882         Include <stdlib.h>, <string.h> unconditionally.
73883         (init_tokenbuffer): Define with a prototype.
73884
73885         * lib/regex.c (PARAMS): Remove.  All uses removed.
73886         All uses of _RE_ARGS removed, too.
73887         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
73888         unconditionally.
73889         (bzero): Assume memset exists.
73890         (memcmp, memcpy, NULL): Remove.
73891         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
73892         char, or assignments to local vars of type signed char.
73893         (init_syntax_once, PREFIX(extract_number_and_incr),
73894         PREFIX(print_partial_compiled_pattern),
73895         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
73896         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
73897         PREFIX(regex_grow_registers), PREFIX(regex_compile),
73898         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
73899         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
73900         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
73901         wcs_compile_range, byte_compile_range, truncate_wchar,
73902         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
73903         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
73904         count_mbs_length, wcs_re_match_2_internal,
73905         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
73906         PREFIX(alt_match_null_string_p),
73907         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
73908         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
73909         regfree, PREFIX(extract_number)): Define with prototype.  Remove
73910         now-unnecessary declaration, if any.
73911         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
73912         regcomp, regexec):
73913         Remove now-unnecessary casts among pointer types.
73914         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
73915
73916         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
73917         (free): Remove decl.
73918
73919         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
73920
73921         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
73922         (free): Remove decl.
73923
73924         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
73925         * lib/xgetcwd.c: Likewise.
73926
73927         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
73928         (free): Remove decl.
73929
73930         * lib/strchrnul.c (strchrnul): Define with a prototype.
73931         Fix bug: c_in was not converted to char before searching.
73932
73933         The following changes are not K&R related:
73934
73935         * lib/group-member.h: Include <sys/types.h>, so that this file is
73936         self-contained.
73937         * lib/makepath.h: Likewise.
73938
73939         * lib/getusershell.c (readname, default_index, line_size, readname):
73940         Use size_t, not int, for sizes.
73941         (readname): If the size overflows, report an error instead of
73942         looping forever.
73943
73944 2003-09-09  Paul Eggert  <eggert@twinsun.com>
73945
73946         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
73947         libc.
73948
73949 2003-09-09  Paul Eggert  <eggert@twinsun.com>
73950
73951         * README: New section: portability guidelines.
73952
73953 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
73954
73955         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
73956         C89 spec.
73957
73958 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
73959
73960         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
73961
73962 2003-09-08  Paul Eggert  <eggert@twinsun.com>
73963
73964         Assume C89 or better; remove K&R cruft.
73965         A few of these changes were first proposed by Derek Robert Price
73966         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
73967
73968         * lib/addext.c: Include <string.h> unconditionally.
73969         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
73970         Don't declare getenv or malloc.
73971
73972         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
73973         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
73974         (NULL): Remove.
73975         (find_stack_direction, alloca): Use prototypes.
73976
73977         * lib/atexit.c (atexit): Define using a prototype.
73978
73979         * lib/basename.c, dirname.c, stripslash.c:
73980         Include <string.h> unconditionally.
73981
73982         * lib/bcopy.c: Include <stddef.h>.
73983         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
73984
73985         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
73986
73987         * lib/error.h (error, error_at_line, error_print_progname)
73988         [! (defined (__STDC__) && __STDC__)]: Remove decls.
73989         * lib/error.c: Include error.h first, to check interface.
73990         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
73991         (VA_START): Remove; all uses changeed to va_start.
73992         (exit, strerror): Remove decls.
73993         (error_print_progname): Prototype uncondionally.
73994         Don't include <errno.h>; no longer needed.
73995         (private_strerror): Remove.
73996         (error_tail): Always define.
73997         (error, error_at_line): Assume C89 or better; always use prototypes.
73998         * lib/fatal.c: Include "fatal.h" first, to test interface.
73999         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
74000         (VA_START): Remove; all uses changed to va_start.
74001         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
74002         this case.
74003         (exit): Remove decl.
74004         (fatal): Prototype unconditionally.  Assume va_start works.
74005         Abort at end, to pacify gcc.
74006
74007         * lib/euidaccess.c (main): Define with a prototype.
74008
74009         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
74010
74011         * lib/exitfail.c: Include <stdlib.h> unconditionally.
74012
74013         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
74014         prototypes.
74015         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
74016         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
74017         (getenv): Remove decl.
74018         (fnmatch): Define using a prototype.
74019         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
74020         (FCT): Define using a prototype.
74021
74022         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
74023
74024         * lib/gethostname.c: Include <stddef.h>.
74025         (gethostname): Define with prototype.  Length is size_t, not int.
74026
74027 2003-09-08  Paul Eggert  <eggert@twinsun.com>
74028
74029         Assume C89 or better; remove K&R cruft.
74030         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
74031         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
74032         string.h, getenv, malloc.
74033         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
74034         headers.
74035         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
74036         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
74037         do not check for strerror.
74038         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
74039         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
74040         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
74041         do not check for doprnt or vprintf.
74042         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
74043         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
74044
74045 2003-09-08  Paul Eggert  <eggert@twinsun.com>
74046
74047         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
74048         getversion.c should have been removed then, but was accidentally
74049         preserved.
74050
74051         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
74052         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
74053
74054 2003-09-08  Karl Berry  <karl@gnu.org>
74055
74056         * config/config.sub, config.guess, srclistvars.sh: update from savannah
74057                 config, forget about prep.
74058
74059         * config/depcomp, missing: update from automake.
74060
74061 2003-09-07  Paul Eggert  <eggert@twinsun.com>
74062
74063         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
74064         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
74065
74066 2003-09-07  Paul Eggert  <eggert@twinsun.com>
74067
74068         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
74069         copy_tm_result.  Bug reported by Simon Josefsson in
74070         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
74071
74072 2003-09-06  Paul Eggert  <eggert@twinsun.com>
74073
74074         * m4/time_r.m4: New file.
74075         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
74076         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
74077         is. Check for timegm declaration.
74078         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
74079         Do not check for gmtime_r.
74080         Replace mktime if __mktime_internal does not exist and if mktime
74081         hasn't been replaced already.
74082
74083 2003-09-06  Paul Eggert  <eggert@twinsun.com>
74084
74085         * lib/time_r.c, lib/time_r.h: New files.
74086
74087         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
74088         __localtime_r.
74089         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
74090         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
74091
74092         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
74093         __gmtime_r.
74094         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
74095         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
74096         Include <time_r.h>.
74097
74098         * lib/timegm.c: Switch to glibc implementation, with the following
74099         changes:
74100         [defined HAVE_CONFIG_H]: Include <config.h>.
74101         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
74102         (__mktime_internal) [!defined _LIBC]: New decl.
74103         (__gmtime_r) [!defined _LIBC]: New macro and function.
74104         (timegm): Use a prototype, since gnulib assumes C89.
74105         Do not bother declaring tmp to be const, as it's not really usefu.
74106         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
74107         (timegm): Declare only if HAVE_DECL_TIMEGM.
74108
74109 2003-09-06  Paul Eggert  <eggert@twinsun.com>
74110
74111         * MODULES.html.sh (func_all_modules): Add time_r.
74112         * modules/time_r: New file.
74113         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
74114         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
74115
74116 2003-09-03  Paul Eggert  <eggert@twinsun.com>
74117
74118         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
74119         Bug reported by Lute Kamstra in
74120         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
74121
74122         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
74123         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
74124         course with correspondingly smaller numbers for tomorrow and
74125         yesterday.  From Tadayoshi Funaba.  Originally installed into
74126         sh-utils on 1999-08-07, but the patch got lost (I guess during the
74127         coreutils merge?).
74128
74129 2003-08-31  Simon Josefsson  <jas@extundo.com>
74130
74131         * modules/timegm: New file.
74132         * MODULES.html.sh (func_all_modules): Add timegm.
74133
74134 2003-08-31  Simon Josefsson  <jas@extundo.com>
74135
74136         * m4/timegm.m4: New file.
74137
74138 2003-08-31  Simon Josefsson  <jas@extundo.com>
74139
74140         * lib/timegm.h: New file.
74141         * lib/timegm.c: New file.  Based on
74142         wget-1.8.2/src/http.c:mktime_from_utc.
74143
74144 2003-08-31  Karl Berry  <karl@gnu.org>
74145
74146         * lib/argp.h: update from libc.
74147
74148 2003-08-28  Bruno Haible  <bruno@clisp.org>
74149
74150         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
74151         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
74152         followed by '#define fnmatch fnmatch_posix' gives an error.
74153
74154 2003-08-28  Bruno Haible  <bruno@clisp.org>
74155
74156         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
74157         warning on QNX, which defines O_BINARY to 000000.
74158
74159 2003-08-27  Jim Meyering  <jim@meyering.net>
74160
74161         * m4/mkstemp.m4: Require that the system mkstemp be able to create
74162         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
74163         would fail after 32.  Reported by Danny Levinson.  Details here:
74164         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
74165
74166 2003-08-24  Bruno Haible  <bruno@clisp.org>
74167
74168         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
74169         MSVC7 <stdio.h> is included later.
74170
74171 2003-08-22  Simon Josefsson  <jas@extundo.com>
74172
74173         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
74174
74175 2003-08-20  Karl Berry  <karl@gnu.org>
74176
74177         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
74178
74179 2003-08-20  Bruno Haible  <bruno@clisp.org>
74180
74181         * modules/progname: New file.
74182         * MODULES.html.sh (func_all_modules): Add progname.
74183
74184 2003-08-20  Bruno Haible  <bruno@clisp.org>
74185
74186         * lib/progname.h: New file, from GNU gettext.
74187         * lib/progname.c: New file, from GNU gettext.
74188         * lib/progreloc.c: New file, from GNU gettext.
74189
74190 2003-08-19  Jim Meyering  <jim@meyering.net>
74191
74192         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
74193         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
74194
74195 2003-08-19  Bruno Haible  <bruno@clisp.org>
74196
74197         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
74198         more.
74199
74200 2003-08-19  Bruno Haible  <bruno@clisp.org>
74201
74202         * lib/xstrdup.c: Assume <string.h> exists.
74203
74204 2003-08-18  Paul Eggert  <eggert@twinsun.com>
74205
74206         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
74207         in makefile rules.
74208
74209 2003-08-18  Jim Meyering  <jim@meyering.net>
74210
74211         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
74212         * m4/lib-ld.m4: Likewise.
74213
74214 2003-08-18  Jim Meyering  <jim@meyering.net>
74215
74216         * lib/setenv.h: Indent nested cpp directive.
74217         * lib/vasnprintf.c: Remove trailing blanks.
74218
74219 2003-08-17  Simon Josefsson  <jas@extundo.com>
74220
74221         * modules/xstrndup: New file.
74222         * MODULES.html.sh (func_all_modules): Add xstrndup.
74223
74224 2003-08-17  Simon Josefsson  <jas@extundo.com>
74225
74226         * modules/argp: Fix autoconf macro name. Add more dependencies.
74227
74228 2003-08-17  Simon Josefsson  <jas@extundo.com>
74229
74230         * m4/xstrndup.m4: New file.
74231
74232 2003-08-17  Simon Josefsson  <jas@extundo.com>
74233
74234         * m4/argp.m4: New file.
74235
74236 2003-08-17  Simon Josefsson  <jas@extundo.com>
74237             Bruno Haible  <bruno@clisp.org>
74238
74239         * lib/xstrndup.h: New file.
74240         * lib/xstrndup.c: New file.
74241
74242 2003-08-17  Bruno Haible  <bruno@clisp.org>
74243
74244         * modules/strndup (Files, Include): Add lib/strndup.h.
74245
74246 2003-08-17  Bruno Haible  <bruno@clisp.org>
74247
74248         * modules/euidaccess (Files): Add lib/euidaccess.h.
74249
74250 2003-08-17  Bruno Haible  <bruno@clisp.org>
74251
74252         * lib/strndup.h: New file.
74253
74254 2003-08-17  Bruno Haible  <bruno@clisp.org>
74255
74256         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
74257         like AC_GNU_SOURCE.
74258         * modules/extensions (configure.ac): Comment out the invocation of
74259         gl_USE_SYSTEM_EXTENSIONS.
74260
74261 2003-08-16  Paul Eggert  <eggert@twinsun.com>
74262
74263         Merges from coreutils, etc.
74264         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
74265         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
74266         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
74267         fixing a typo.
74268         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
74269         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
74270
74271 2003-08-16  Paul Eggert  <eggert@twinsun.com>
74272
74273         Document merge from coreutils.
74274         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
74275         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
74276         * modules/utime: Add m4/utimes-null.m4.
74277
74278 2003-08-16  Paul Eggert  <eggert@twinsun.com>
74279
74280         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
74281         space, undoing this 2003-08-12 change:
74282         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
74283
74284 2003-08-16  Paul Eggert  <eggert@twinsun.com>
74285
74286         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
74287         strtoul.c from libc, undoing this 2003-08-12 change:
74288         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
74289
74290 2003-08-16  Jim Meyering  <jim@meyering.net>
74291
74292         Merges from coreutils.
74293         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
74294         prefix.  Adjust cache variables similarly.  Create 500 rather than
74295         just 300 files, to exercise bug on Darwin6.5, too.
74296         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
74297         $missing_dir.
74298         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
74299         AM_SYS_POSIX_TERMIOS.
74300         Reported by mkc@mathdogs.com.
74301         Also change use of $am_cv_sys_posix_termios
74302         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
74303         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
74304         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
74305         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
74306         in /proc/mounts until it finds one with matching device number.  This
74307         is unnecessary when the FILE argument *is* a mount point.  No stat call
74308         is necessary in that case.  So, disable the statvfs-testing code on
74309         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
74310         as RedHat bug# 84846.
74311         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
74312         to 1MB, so as not to render systems with no stack size limit (e.g.,
74313         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
74314         Include <unistd.h>.  On some systems,
74315         it is required for the definition of _SC_PAGESIZE.
74316
74317 2003-08-16  Jim Meyering  <jim@meyering.net>
74318
74319         Merge from coreutils.
74320         * lib/xstrtoimax.c: #else #if -> #elif.
74321         * lib/xstrtoumax.c: Likewise.
74322
74323 2003-08-16  Jim Meyering  <jim@meyering.net>
74324
74325         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
74326         * m4/utimes.m4: Removed.
74327         * m4/utimes-null.m4: Renamed from utimes.m4.
74328
74329         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
74330         to 1MB, so as not to render systems with no stack size limit (e.g.,
74331         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
74332         Include <unistd.h>.  On some systems,
74333         it is required for the definition of _SC_PAGESIZE.
74334
74335 2003-08-16  Jim Meyering  <jim@meyering.net>
74336         and Paul Eggert  <eggert@cs.ucla.edu>
74337
74338         Merges from coreutils, etc.
74339
74340         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
74341         using the latest version from cvs.  This avoids problems with #line
74342         directives using a vendor (Sun) compiler.
74343         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
74344         Don't set GETGROUPS_LIB here; now it's
74345         done via getgroups.m4's wrapper function.
74346         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
74347         rather than just in sh-util/configure.in, so that the
74348         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
74349         same.
74350         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
74351         AC_FUNC_GETLOADAVG where to find getloadavg.c.
74352         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
74353         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
74354         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
74355         Remove code that is now done by the newly-required macros.
74356         Append $(EXEEXT) to DF_PROG.
74357         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
74358         Do not invoke or require the following here,
74359         since prereq.m4 or some gnulib .m4 now does this for us:
74360         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
74361         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
74362         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
74363         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
74364         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
74365         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
74366         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
74367         AC_FUNC_OBSTACK.
74368         Do not replace the following functions, as this is now the job
74369         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
74370         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
74371         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
74372         atexit getpass, strdup, getpagesize.
74373         Replace 'raise'.
74374         Do not check for the following functions, as this is now the job
74375         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
74376         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
74377         setregid.
74378         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
74379         Check for sys/sysctl.h.
74380         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
74381         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
74382         of checking for ssize_t ourselves.
74383
74384         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
74385         Require every macro that gnulib/modules/* suggests for us.
74386         (jm_PREREQ_ADDEXT): New macro.
74387         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
74388         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
74389
74390         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
74391         (gl_PHYSMEM): Use it.
74392         Also check for `table' function.
74393         Check for new headers and functions.
74394         Add check for sys/sysmp.h.
74395         With suggestions from Kaveh Ghazi.
74396         Ignore headers that are present but cannot be compiled.  This
74397         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
74398         C 5.4.
74399
74400 2003-08-15  Paul Eggert  <eggert@twinsun.com>
74401
74402         Document merge from coreutils.
74403         * modules/userspec: Depend on posixver.
74404         * modules/strftime: Depend on tzset.
74405
74406 2003-08-15  Paul Eggert  <eggert@twinsun.com>
74407
74408         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
74409         rather than tab, after '#' in shell-script copyright notices.
74410         Suggested by Bruno Haible.
74411
74412 2003-08-15  Paul Eggert  <eggert@twinsun.com>
74413
74414         * config/srclist-update: Use three spaces, rather than tab, after '#'
74415         in shell-script copyright notices.  Suggested by Bruno Haible.
74416         Remove unnecessary parenthesization in regular expression.
74417
74418 2003-08-15  Jim Meyering  <jim@meyering.net>
74419
74420         Merge from coreutils.
74421         * lib/xgethostname.c: Include <stdlib.h>.
74422         (xghostname): Don't exit for anything other than memory-related
74423         failure; just return NULL.
74424         * lib/userspec.c: Include "posixver.h".
74425         (parse_user_spec): Accept `.' as a separator only
74426         in pre-POSIX-200112 mode.
74427         * lib/strtoimax.c: Use #elif rather than #else #if.
74428         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
74429         Remove function, now that we can rely on a working tzset function.
74430         [!_LIBC]: Ensure that the required autoconf test has been run.
74431         [!defined _NL_CURRENT && HAVE_STRFTIME]:
74432         Use underlying_strftime for %r.
74433         * lib/sha.c: Merge in some clean-up and optimization changes from
74434         glibc.
74435         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
74436         Ensure that it is a multiple of 64.
74437         Rearrange loop exit tests so as to avoid performing an
74438         additional fread after encountering an error or EOF.
74439         * lib/realloc.c: Update copyright date.
74440
74441 2003-08-15  Jim Meyering  <jim@meyering.net>
74442         and Paul Eggert  <eggert@twinsun.com>
74443
74444         Merge from coreutils.
74445         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
74446         member but strut utmpx does not.  Needed for AIX 4.3.3.
74447         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
74448
74449 2003-08-15  Jim Meyering  <jim@meyering.net>
74450         and Paul Eggert  <eggert@cs.ucla.edu>
74451
74452         Merges from coreutils, etc.
74453         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
74454         Require gl_FUNC_TZSET_CLOBBER.
74455         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
74456         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
74457         members.
74458
74459 2003-08-14  Paul Eggert  <eggert@twinsun.com>
74460
74461         Help the merge from coreutils.
74462         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
74463         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
74464         * m4/tzset.m4: Use it too.
74465
74466 2003-08-14  Paul Eggert  <eggert@twinsun.com>
74467
74468         * modules/tzset: New file.
74469
74470 2003-08-14  Jim Meyering  <jim@meyering.net>
74471
74472         Merges from coreutils.
74473         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
74474         variable names, rather than @FNMATCH_H@.
74475         * modules/alloca: Likewise for $(ALLOCA_H).
74476
74477         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
74478         the three copies of the literal target, `fnmatch.h'.
74479         * modules/alloca (alloca.h): Likewise.
74480
74481 2003-08-14  Jim Meyering  <jim@meyering.net>
74482
74483         Merge from coreutils.
74484         * m4/tzset.m4: New file.
74485         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
74486         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
74487         otherwise, AIX 5.1 systems would end up using the latter.
74488         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
74489         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
74490         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
74491         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
74492
74493 2003-08-14  Jim Meyering  <jim@meyering.net>
74494
74495         Merge from coreutils.
74496         * lib/obstack.h: Whitespace changes.
74497         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
74498         and xcalloc return values.
74499         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
74500         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
74501         hang on OSF/1 5.1 for DIR on both local and remote file systems.
74502         Reported by (and fix confirmed by) Nelson H. F. Beebe.
74503         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
74504         error from mntctl.
74505         Use mntctl's return value to drive the entry-processing loop, since
74506         we can't rely on the value of the vmt_length member in the last
74507         entry.  On some systems doing so could result in exhausting
74508         virtual memory.  Based in part on a patch from Mike Jetzer.
74509
74510 2003-08-14  Jim Meyering  <jim@meyering.net>
74511         and Paul Eggert  <eggert@twinsun.com>
74512
74513         Merges from coreutils, plus other fixes.
74514         * lib/physmem.c: Merge in portability changes from gcc/libiberty
74515         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
74516         for credits and details.  Thanks to Kaveh Ghazi for helping
74517         to keep these files in sync.
74518         (ARRAY_SIZE): Define it.
74519         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
74520         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
74521         (memcasecmp): Don't assume size_t fits in unsigned int.
74522         Remove casts and duplicate code.
74523         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
74524         (memcpy): Remove definition.
74525         Merge in some clean-up and optimization changes from glibc.
74526         [BLOCKSIZE]: Move definition to top of file.
74527         Ensure that it is a multiple of 64.
74528         Rearrange loop exit tests so as to avoid performing an
74529         additional fread after encountering an error or EOF.
74530         * lib/md5.h (md5_uintptr): Define.
74531         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
74532         return to the initial working directory.  Preserve errno
74533         for caller.
74534         * lib/idcache.c: Include "xalloc.h".
74535         (xmalloc, xrealloc): Remove decls.
74536         (getuser): Remove casts no longer required in C89.
74537         * lib/human.c: Include stdio.h, for sprintf.
74538         * lib/group-member.c: Include "xalloc.h".
74539         (xmalloc, xrealloc): Remove decls.
74540         (get_group_info): Remove casts no longer required in C89.
74541         * lib/getusershell.c (readname): Remove casts no longer required in
74542         C89.
74543         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
74544         * lib/getline.c: Whitespace fix, from coreutils.
74545
74546 2003-08-13  Paul Eggert  <eggert@twinsun.com>
74547
74548         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
74549         Check for isascii.
74550
74551         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
74552         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
74553         Undo previous (whitespace-only) change.
74554
74555 2003-08-13  Paul Eggert  <eggert@twinsun.com>
74556
74557         * lib/exclude.c: Include <ctype.h>
74558         (IN_CTYPE_DOMAIN): New macro.
74559         (is_space): New fn.
74560         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
74561         and empty lines.
74562
74563         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
74564         Undo previous (whitespace-only) change.
74565
74566 2003-08-13  Paul Eggert  <eggert@twinsun.com>
74567
74568         * config/srclist-update: Change update back to the old behavior,
74569         leaving whitespace alone.  Use one 'sed' command rather than a
74570         pipeline.
74571         (fixlicense): Now a variable, not a function.
74572         (remove_trailing_blanks): Remove.
74573         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
74574         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
74575         Undo previous (whitespace-only) change.
74576
74577 2003-08-12  Paul Eggert  <eggert@twinsun.com>
74578
74579         Merge from coreutils.
74580         * modules/euidaccess: Add lib_SOURCES, include for new
74581         file euidaccess.h
74582
74583 2003-08-12  Paul Eggert  <eggert@twinsun.com>
74584
74585         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
74586         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
74587         Normalize leading white space and remove trailing white space.
74588
74589         Merge from coreutils
74590         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
74591
74592         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
74593         0.12.1.  These files are now being upgraded automatically by
74594         ../config/srclist-update.
74595
74596 2003-08-12  Paul Eggert  <eggert@twinsun.com>
74597
74598         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
74599         Normalize leading white space and remove trailing white space.
74600         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
74601         notice, as per ../config/srclist-update.
74602
74603         Merge from coreutils.
74604         * lib/euidaccess.h: New file.
74605         * lib/euidaccess.c: Include it.
74606         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
74607         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
74608         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
74609
74610 2003-08-12  Paul Eggert  <eggert@twinsun.com>
74611
74612         * config/srclist-update: Add copyright notice.
74613         (remove_id_lines, remove_trailing_blanks): New constants.
74614         (fixfile): Use them to normalize spacing a bit in copied files.
74615         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
74616         Normalize leading white space and remove trailing white space.
74617
74618         * config/texinfo.tex: Sync with texinfo.
74619
74620         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
74621         strtoul.c from libc, to merge coreutils whitespace changes.
74622
74623         * config/srclist.txt: Get the following m4 files from gettext:
74624         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
74625         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
74626         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
74627         wint_t.m4.
74628
74629 2003-08-12  Karl Berry  <karl@gnu.org>
74630
74631         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
74632         been made.
74633
74634 2003-08-11  Paul Eggert  <eggert@twinsun.com>
74635
74636         * modules/gnu-source, m4/gnu-source.m4:
74637         Remove; we're assuming Autoconf 2.54 or later now.
74638         Suggested by Bruno Haible.
74639         * MODULES.html.sh (func_all_modules): Remove gnu-source.
74640
74641 2003-08-11  Bruno Haible  <bruno@clisp.org>
74642
74643         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
74644
74645 2003-08-11  Bruno Haible  <bruno@clisp.org>
74646
74647         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
74648         (vasnprintf): Use it instead of wcslen.
74649
74650 2003-08-11  Bruno Haible  <bruno@clisp.org>
74651
74652         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
74653         value to ensure that _Bool promotes to int. Use #define for _Bool when
74654         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
74655
74656 2003-08-10  Karl Berry  <karl@gnu.org>
74657
74658         * lib/regex.h: update from libc (whitespace fix).
74659
74660 2003-08-09  Paul Eggert  <eggert@twinsun.com>
74661
74662         Merge some files from coreutils.  These changes were
74663         originally made by Jim Meyering.
74664         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
74665         many older Unixes require this.
74666         * lib/alloca.c (alloca): Remove cast to argument of free;
74667         no longer needed in C89.
74668         * lib/alloca_.h, regex.h: Fix white space to match
74669         what GNU indent does.
74670
74671 2003-08-09  Paul Eggert  <eggert@twinsun.com>
74672
74673         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
74674         apparently Emacs's Unicode mode got confused before my 2003-08-05
74675         checkin.
74676
74677 2003-08-08  Paul Eggert  <eggert@twinsun.com>
74678
74679         * m4/extensions.m4: New file.
74680         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
74681         Require gl_USE_SYSTEM_EXTENSIONS.
74682         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
74683         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
74684
74685 2003-08-08  Paul Eggert  <eggert@twinsun.com>
74686
74687         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
74688         * modules/extensions, modules/gnu-source: New files.
74689         * modules/timespec, modules/unlocked-io: Depend on extensions.
74690
74691 2003-08-07  Paul Eggert  <eggert@twinsun.com>
74692
74693         * modules/restrict: New file.
74694         * MODULES.html.sh (func_all_modules): Add restrict.
74695         * modules/regex: Depend on restrict.
74696
74697 2003-08-07  Paul Eggert  <eggert@twinsun.com>
74698
74699         * m4/restrict.m4: New file.
74700         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
74701
74702 2003-08-07  Bruno Haible  <bruno@clisp.org>
74703
74704         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
74705         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
74706
74707 2003-08-07  Bruno Haible  <bruno@clisp.org>
74708
74709         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
74710         makes the module 'getndelim2' compatible with the module 'getline'.
74711
74712 2003-08-05  Paul Eggert  <eggert@twinsun.com>
74713
74714         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
74715         byte with "\201" to avoid glitches when editing that source file
74716         with multi-gnome-terminal.
74717
74718 2003-08-05  Paul Eggert  <eggert@twinsun.com>
74719
74720         * lib/bumpalloc.h: Remove.
74721
74722 2003-08-05  Paul Eggert  <eggert@twinsun.com>
74723
74724         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
74725         * modules/bumpalloc: Remove.
74726
74727 2003-08-04  Paul Eggert  <eggert@twinsun.com>
74728
74729         * lib/getloadavg.c: Change copyright notice and spacing to conform to
74730         GNU coding style.
74731
74732         Merge from coreutils.
74733         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
74734         1. From glibc.
74735         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
74736         from Karl Berry, implemented by Jim Meyering.
74737         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
74738         from Dmitry V. Levin.
74739         Remove anachronistic cast of xrealloc.
74740         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
74741         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
74742         type. Otherwise, it wouldn't compile with at least /bin/cc on
74743         ymp-cray-unicos9.0.2.X.
74744         Combine two mostly-identical uses of alloca into one.
74745         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
74746
74747 2003-08-04  Dave Love  <d.love@dl.ac.uk>
74748
74749         [From Emacs.]
74750
74751         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
74752         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
74753         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
74754         obsolete NLIST_NAME_UNION.
74755         [__GNU__]: Undef BSD and FSCALE.
74756         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
74757
74758 2003-08-03  Paul Eggert  <eggert@twinsun.com>
74759
74760         * lib/stdbool_.h (_Bool): Make it signed char, instead of
74761         an enum type, so that it's guaranteed to promote to int.  See:
74762         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
74763
74764 2003-08-03  Karl Berry  <karl@gnu.org>
74765
74766         * config/depcomp: update from automake.
74767
74768 2003-07-31  Paul Eggert  <eggert@twinsun.com>
74769
74770         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
74771         (strerror): Don't assume that a printable int fits in 14 bytes.
74772
74773 2003-07-31  Bruno Haible  <bruno@clisp.org>
74774
74775         * modules/getpass-gnu: New file.
74776         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
74777
74778 2003-07-31  Bruno Haible  <bruno@clisp.org>
74779
74780         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
74781
74782 2003-07-24  Karl Berry  <karl@gnu.org>
74783
74784         * config/missing: update from automake.
74785
74786 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
74787             Bruno Haible  <bruno@clisp.org>
74788
74789         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
74790         * lib/getline.c (getline, getdelim): Likewise.
74791         Remove _GNU_SOURCE define; now it's defined in config.h through
74792         m4/getline.m4.
74793
74794 2003-07-23  Karl Berry  <karl@gnu.org>
74795
74796         * config/config.sub: update from prep.
74797
74798 2003-07-22  Paul Eggert  <eggert@twinsun.com>
74799
74800         * modules/xalloc (Depends-on): Add exitfail.
74801         * modules/xmemcoll: Likewise.
74802
74803 2003-07-22  Paul Eggert  <eggert@twinsun.com>
74804
74805         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
74806         over-parenthesization in macros.
74807
74808         Sync with coreutils.
74809
74810         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
74811         required by C99.
74812
74813         Use `exit_failure' for xalloc and xmemcoll instead of their own
74814         private exit-failure variables.
74815         * lib/xalloc.h (xalloc_exit_failure): Remove.
74816         * lib/xmalloc.c: Likewise.  Include exitfail.h.
74817         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
74818         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
74819         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
74820         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
74821
74822 2003-07-20  Jim Meyering  <jim@meyering.net>
74823
74824         * modules/closeout (Depends-on): Add exitfail.
74825         Suggestion from Bruno Haible.
74826
74827 2003-07-19  Karl Berry  <karl@gnu.org>
74828
74829         * config/config.sub: update from prep.
74830
74831 2003-07-18  Paul Eggert  <eggert@twinsun.com>
74832
74833         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
74834         Remove.
74835         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
74836         to test that it can stand by itself.  Include "exitfail.h".
74837         Clients should set exit_failure instead.
74838         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
74839
74840 2003-07-18  Bruno Haible  <bruno@clisp.org>
74841
74842         * modules/getndelim2: New file.
74843         * modules/getline: Share files with module getndelim2.
74844         * modules/getnline: Depend on getndelim2 instead of sharing files with
74845         it. Add getnline.c to lib_SOURCES.
74846         * MODULES.html.sh (func_all_modules): Add getndelim2.
74847
74848 2003-07-18  Bruno Haible  <bruno@clisp.org>
74849
74850         * m4/getndelim2.m4: New file.
74851         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
74852         invoke gl_PREREQ_GETNDELIM2.
74853         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
74854         gl_PREREQ_GETNDELIM2.
74855         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
74856         gl_GETNDELIM2.
74857
74858 2003-07-18  Bruno Haible  <bruno@clisp.org>
74859
74860         * lib/getndelim2.h: New file.
74861         * lib/getndelim2.c: Make into a module of its own. Include config.h,
74862         getndelim2.h.
74863         (getndelim2): Make non-static. Change return type to ssize_t.
74864         * lib/getline.h: Change argument names.
74865         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
74866         * lib/getnline.c: Include getndelim2.h.
74867
74868 2003-07-18  Andreas Schwab  <schwab@suse.de>
74869
74870         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
74871
74872 2003-07-17  Karl Berry  <karl@gnu.org>
74873
74874         * config/config.sub: update from prep.
74875
74876 2003-07-17  Bruno Haible  <bruno@clisp.org>
74877
74878         * modules/getnline: New file.
74879         * modules/getline: Add lib/getndelim2.c to source file list.
74880         * MODULES.html.sh (func_all_modules): Add getnline.
74881
74882 2003-07-17  Bruno Haible  <bruno@clisp.org>
74883
74884         * m4/getnline.m4: New file.
74885
74886 2003-07-17  Bruno Haible  <bruno@clisp.org>
74887
74888         * m4/Makefile.am.in: Remove file.
74889         * m4/Makefile.am: Remove file.
74890         * m4/Makefile.in: Remove file.
74891
74892 2003-07-17  Bruno Haible  <bruno@clisp.org>
74893
74894         * lib/getnline.h: New file.
74895         * lib/getnline.c: New file.
74896         * lib/getndelim2.c: New file, extracted from getline.c.
74897         (getndelim2): Renamed from getdelim2, with added nmax argument.
74898         * lib/getline.c: Include getndelim2.c.
74899         (getdelim2): Moved out to getndelim2.c.
74900         (getline, getdelim): Update.
74901
74902 2003-07-17  Bruno Haible  <bruno@clisp.org>
74903
74904         * lib/Makefile.am: Remove file.
74905         * lib/Makefile.in: Remove file.
74906
74907 2003-07-17  Bruno Haible  <bruno@clisp.org>
74908
74909         * configure.in: Remove file.
74910         * Makefile.in: Remove file.
74911
74912 2003-07-17  Bruno Haible  <bruno@clisp.org>
74913
74914         * MODULES.html.sh: Put the </BODY> right before </HTML>.
74915
74916 2003-07-16  Karl Berry  <karl@gnu.org>
74917
74918         * config/srclist-update: was running fixlicense twice, which caused
74919                 texinfo.tex to be nullified for some reason.  Simplify,
74920                 $gplsrc is no longer needed as far as I can see?
74921
74922 2003-07-16  Jim Meyering  <jim@meyering.net>
74923
74924         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
74925
74926 2003-07-15  Paul Eggert  <eggert@twinsun.com>
74927
74928         * config/srclist.txt: Get the following files from gettext-runtime/intl
74929         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
74930         ref-del.sin.  From Bruno Haible.
74931         * config/srclist-update (fixfile): Change grep pattern again, since the
74932         previous fix didn't work (there was another trailing $).  Use
74933         '[$]' to escape the $s.
74934
74935 2003-07-15  Karl Berry  <karl@gnu.org>
74936
74937         * lib/vasnprintf.c: update from gettext.
74938
74939 2003-07-15  Karl Berry  <karl@gnu.org>
74940
74941         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
74942         gets expanded when surrounded by '$'.
74943
74944 2003-07-15  Jim Meyering  <jim@meyering.net>
74945
74946         * modules/save-cwd: Don't depend on error.  From Derek Price.
74947
74948 2003-07-15  Jim Meyering  <jim@meyering.net>
74949
74950         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
74951
74952 2003-07-14  Simon Josefsson  <jas@extundo.com>
74953
74954         * modules/mempcpy: New file.
74955         * MODULES.html.sh (func_all_modules): Add mempcpy.
74956
74957 2003-07-14  Simon Josefsson  <jas@extundo.com>
74958
74959         * m4/mempcpy.m4: New file.
74960
74961 2003-07-14  Simon Josefsson  <jas@extundo.com>
74962
74963         * lib/mempcpy.h: New file.
74964         * lib/mempcpy.c: New file.
74965
74966 2003-07-14  Paul Eggert  <eggert@twinsun.com>
74967
74968         * modules/getdate, modules/posixtm: Depend on mktime.
74969
74970 2003-07-14  Paul Eggert  <eggert@twinsun.com>
74971
74972         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
74973         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
74974         unicodeio.c, unicodeio.h, unlocked-io.h:
74975         Switch from LGPL to GPL.
74976
74977 2003-07-14  Paul Eggert  <eggert@twinsun.com>
74978
74979         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
74980         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
74981         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
74982         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
74983         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
74984         updated automatically by ../config/srclist-update.  This changes
74985         their license from LPGL to GPL.
74986
74987 2003-07-14  Paul Eggert  <eggert@twinsun.com>
74988
74989         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
74990         assumed to refer to the root of the most recent stable gettext version.
74991         * config/srclistvars.sh: Add defaults for eggert.
74992         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
74993         Match "This program" as well as "The program".  This is needed
74994         for gettext.
74995
74996 2003-07-14  Jim Meyering  <jim@meyering.net>
74997
74998         Don't emit diagnostics.  Let callers do that.
74999         * lib/save-cwd.c: Don't include "error.h".
75000         (save_cwd): Don't call error.  Ensure that errno is valid
75001         when returning nonzero.
75002
75003         * lib/save-cwd.h (restore_cwd): Update prototype.
75004         * lib/save-cwd.c (restore_cwd): Remove two parameters.
75005         Simplify.  Don't call error upon failure.  Let callers do that.
75006         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
75007         when auditing is enabled.  But don't bother updating the #if.
75008
75009 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
75010
75011         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
75012         it breaks C++ compilation.
75013         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
75014
75015 2003-07-10  Simon Josefsson  <jas@extundo.com>
75016
75017         * modules/strchrnul (Makefile.am): Add strchrnul.h.
75018
75019 2003-07-10  Jim Meyering  <jim@meyering.net>
75020
75021         * m4/clock_time.m4: Remove trailing blank.
75022         * m4/intmax_t.m4: Likewise.
75023
75024 2003-07-10  Jim Meyering  <jim@meyering.net>
75025
75026         * lib/vasnprintf.c: Remove trailing blanks.
75027         Make cpp indentation consistent.
75028
75029 2003-07-09  Paul Eggert  <eggert@twinsun.com>
75030
75031         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
75032         posixver.c, strftime.c, strnlen.c, strverscmp.c:
75033         Switch from LGPL to GPL.
75034
75035 2003-07-09  Paul Eggert  <eggert@twinsun.com>
75036
75037         * config/srclist.txt: Sort sublists.  Add
75038         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
75039         that differ from gnulib for one reason or another; we'd like this list
75040         to be smaller but for now let's document what we have.
75041
75042 2003-07-08  Paul Eggert  <eggert@twinsun.com>
75043
75044         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
75045         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
75046         and sweeter "eval x=$x".
75047         * config/srclist.txt: Get lib/argp* from glibc.
75048
75049 2003-07-07  Paul Eggert  <eggert@twinsun.com>
75050
75051         * lib/mktime.c: Fix some boundary cases and remove need for floating
75052         point.
75053
75054         Issue a compile-time diagnostic if time_t is floating point, or if
75055         two's complement arithmetic is not in effect, or if arithmetic
75056         right shift does not propagate the sign.  These assumptions were
75057         all in the original code but they weren't checked.
75058
75059         (TIME_T_MIDPOINT, verify): New macros.
75060         (__isleap): Remove; it has integer overflow problems.
75061         (leapyear): New function, without those problems.
75062         (ydhms_tm_diff): Remove; splitting into two parts.
75063         (ydhms_diff): New function, containing the arithmetic part of
75064         the old ydhms_tm_diff function.  Issue a compile-time
75065         diagnostic if we are not using C99 integer division.
75066         Avoid casts when possible.
75067         (guess_time_tm): New function, containing the checking part of
75068         the old ydhms_tm_diff function.  Return the new value, rather than
75069         the difference between it and the old.  Accept a new argument T
75070         so that *T specifies the old value.  Check for overflow in the result.
75071
75072         (__mktime_internal): Use a time_t offset, not a long int offset.
75073         This undoes the 2003-06-04 change, which is no longer needed now
75074         that we have better overflow checking.
75075         (localtime_offset): Likewise.
75076
75077         (__mktime_internal): Avoid harmful overflow on hosts where time_t
75078         and long are 64-bit but int is only 32-bit.
75079         (ydhms_diff): Use long int to store year1 and yday1.
75080         Issue a compile-time diagnostic if long int is not wide enough.
75081
75082         (__mktime_internal): Use long int to store adjusted year and yday.
75083         Use plain C rather than preprocessor commands, if that doesn't
75084         affect efficiency.
75085         Check for overflow (and try to repair) after each probe
75086         rather than checking only at the very end.  This avoids some bugs
75087         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
75088         does not equal GMT offset at maximum time).
75089         Use integer to check for overflow rather than floating point; this
75090         is more portable to non-IEEE hosts, and is a tad faster.
75091         When we detect that we are oscillating between two values,
75092         don't check whether tm_isdst has the requested value, since
75093         we already know the answer.  When tm_isdst has the wrong value,
75094         use a different heuristic to find the right one, based on the
75095         extreme values actually observed in practice in tz2003a,
75096         rather than the (overly optimistic) "previous 3 calendar quarters".
75097
75098         (not_equal_tm, print_tm, check_result): Use "const T" rather than
75099         "T const" to accommodate glibc style.
75100         (check_result): Use less-confusing report format.  "long" -> "long int.
75101         (main): Likewise.
75102         Don't loop if the iteration overflows time_t.
75103         Allow a negative step in the iteration.
75104
75105 2003-07-06  Karl Berry  <karl@gnu.org>
75106
75107         * config/depcomp: update from automake.
75108         * config/config.sub: update from prep.
75109
75110 2003-07-03  Karl Berry  <karl@gnu.org>
75111
75112         * config/config.guess: update from prep.
75113
75114 2003-07-01  Paul Eggert  <eggert@twinsun.com>
75115
75116         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
75117         xreadlink.c now includes it unconditionally.
75118
75119 2003-07-01  Paul Eggert  <eggert@twinsun.com>
75120
75121         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
75122         having it depend on HAVE_SYS_TYPES_H.
75123
75124 2003-07-01  Bruno Haible  <bruno@clisp.org>
75125
75126         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
75127         <sys/types.h> should be sufficient.
75128         Reported by Paul Eggert.
75129
75130 2003-06-26  Karl Berry  <karl@gnu.org>
75131
75132         * config/depcomp: update from automake.
75133
75134 2003-06-26  Bruno Haible  <bruno@clisp.org>
75135
75136         * modules/human: Depend on module stdbool.
75137
75138 2003-06-25  Bruno Haible  <bruno@clisp.org>
75139
75140         * modules/readlink: New file.
75141         * modules/xreadlink: Depend on it.
75142         * MODULES.html.sh (func_all_modules): Add readlink.
75143
75144 2003-06-25  Bruno Haible  <bruno@clisp.org>
75145
75146         * m4/readlink.m4: New file.
75147
75148 2003-06-25  Bruno Haible  <bruno@clisp.org>
75149
75150         * lib/readlink.c: New file.
75151
75152 2003-06-22  Karl Berry  <karl@gnu.org>
75153
75154         * config/srclist.txt: update mkinstalldirs from automake.
75155         * config/mkinstalldirs: update.
75156
75157 2003-06-22  Bruno Haible  <bruno@clisp.org>
75158
75159         Portability to mingw32.
75160         * m4/ssize_t.m4: New file, from GNU gettext.
75161         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
75162         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
75163
75164 2003-06-22  Bruno Haible  <bruno@clisp.org>
75165
75166         * modules/safe-read: Add m4/ssize_t.m4.
75167         * modules/xreadlink: Add m4/ssize_t.m4.
75168
75169 2003-06-20  Bruno Haible  <bruno@clisp.org>
75170
75171         Assume C89, so PARAMS isn't needed.
75172         * lib/unicodeio.h (PARAMS): Remove.
75173         * lib/unicodeio.c: Don't use PARAMS.
75174
75175 2003-06-18  Karl Berry  <karl@gnu.org>
75176
75177         * config/config.{guess,sub}: update from prep.
75178
75179 2003-06-18  Jim Meyering  <jim@meyering.net>
75180
75181         Merge changes from coreutils.
75182         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
75183         Remove explicit declarations of xmalloc and realloc.
75184         Include xalloc.h.
75185         (read_utmp): Remove anachronistic cast of xmalloc.
75186
75187 2003-06-17  Paul Eggert  <eggert@twinsun.com>
75188
75189         Assume C89, so PARAMS isn't needed.
75190         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
75191         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
75192         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
75193         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
75194         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
75195         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
75196         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
75197         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
75198         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
75199         lib/xstrtod.h, lib/xstrtol.h: Likewise.
75200         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
75201         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
75202         no longer needed. Anyway, config.h should always be included before any
75203         other file.
75204
75205 2003-06-11  Simon Josefsson  <jas@extundo.com>
75206
75207         * modules/sysexits: New file.
75208         * MODULES.html.sh (func_all_modules): Add sysexits.
75209
75210 2003-06-11  Simon Josefsson  <jas@extundo.com>
75211
75212         * lib/sysexit_.h: New file.
75213
75214 2003-06-11  Derek Price  <derek@ximbiot.com>
75215
75216         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
75217         necessary.
75218
75219 2003-06-11  Bruno Haible  <bruno@clisp.org>
75220
75221         * m4/sysexits.m4: New file.
75222
75223 2003-06-10  Simon Josefsson  <jas@extundo.com>
75224
75225         * lib/argp.h: New file, from glibc.
75226         * lib/argp-ba.c: New file, from glibc.
75227         * lib/argp-eexst.c: New file, from glibc.
75228         * lib/argp-fmtstream.c: New file, from glibc.
75229         * lib/argp-fmtstream.h: New file, from glibc.
75230         * lib/argp-fs-xinl.c: New file, from glibc.
75231         * lib/argp-help.c: New file, from glibc.
75232         * lib/argp-namefrob.h: New file, from glibc.
75233         * lib/argp-parse.c: New file, from glibc.
75234         * lib/argp-pv.c: New file, from glibc.
75235         * lib/argp-pvh.c: New file, from glibc.
75236         * lib/argp-xinl.c: New file, from glibc.
75237
75238 2003-06-10  Simon Josefsson  <jas@extundo.com>
75239
75240         * modules/strchrnul: New file.
75241
75242 2003-06-10  Simon Josefsson  <jas@extundo.com>
75243
75244         * modules/argp: New file.
75245
75246 2003-06-10  Simon Josefsson  <jas@extundo.com>
75247
75248         * m4/strchrnul.m4: New file.
75249
75250 2003-06-10  Simon Josefsson  <jas@extundo.com>
75251
75252         * lib/strchrnul.h: New file.
75253         * lib/strchrnul.c: New file.
75254
75255 2003-06-10  Bruno Haible  <bruno@clisp.org>
75256
75257         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
75258
75259 2003-06-07  Karl Berry  <karl@gnu.org>
75260
75261         * config/config.{guess,sub}: update from prep.
75262
75263 2003-06-07  Jim Meyering  <jim@meyering.net>
75264
75265         * modules/strtod: Use $(...) notation, not @...@ for
75266         AC_REPLACE'd variables.
75267         * modules/localcharset: Likewise.
75268
75269 2003-06-07  Jim Meyering  <jim@meyering.net>
75270
75271         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
75272         in place of my name in the copyright comment.
75273         Remove definition and uses of __P.
75274
75275         From coreutils.
75276         * lib/stat.c: Don't declare xmalloc explicitly.
75277         Instead, include "xalloc.h".
75278         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
75279         xrealloc, and xcalloc return values.
75280         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
75281         Improve comment.
75282         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
75283
75284 2003-06-07  Bruno Haible  <bruno@clisp.org>
75285
75286         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
75287         avoid AC_CONFIG_LINKS.
75288         * modules/fnmatch (Makefile.am): Use explicit creation rule for
75289         fnmatch.h, to avoid AC_CONFIG_LINKS.
75290         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
75291
75292 2003-06-07  Bruno Haible  <bruno@clisp.org>
75293
75294         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
75295         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
75296         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
75297         directory.
75298         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
75299         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
75300         directory.
75301
75302 2003-06-06  Jim Meyering  <jim@meyering.net>
75303
75304         Merge from coreutils.
75305         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
75306         Consolidate declarations and initializations of *_base* locals.
75307
75308         Merge from coreutils.
75309         This avoids a core dump on systems without GNU putenv,
75310         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
75311         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
75312         (unsetenv): New static function, from GNU libc.
75313         (rpl_putenv): Use it.
75314
75315         * lib/modechange.c: Remove trailing blanks.
75316
75317         Merge from coreutils.
75318         * lib/fsusage.c: Remove declaration of statfs.
75319         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
75320
75321         * lib/posixtm.c: Include <stdbool.h> unconditionally.
75322
75323 2003-06-06  Jim Meyering  <jim@meyering.net>
75324
75325         * lib/stdbool_.h: Renamed from stdbool.h.in.
75326
75327 2003-06-06  Jim Meyering  <jim@meyering.net>
75328             Bruno Haible  <bruno@clisp.org>
75329
75330         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
75331         Adjust Makefile.am snippet not to redirect directly to target.
75332         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
75333
75334 2003-06-05  Paul Eggert  <eggert@twinsun.com>
75335
75336         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
75337         mismatch, look in future quarters as well as past.  This fixes a
75338         bug when processing fall-backwards gaps immediately after a long
75339         period of daylight-saving time.
75340
75341         * lib/mktime.c: Assume freestanding C89 or better.
75342         (HAVE_LIMITS_H): Remove.  Assume it's 1.
75343         (__P): Remove; not used.
75344         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
75345         (mktime, not_equal_tm, print_tm, check_result,
75346         main): Use prototypes.  Use const * where appropriate.
75347         (main): Fix typo in testing code that uncovered by above changes.
75348         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
75349
75350 2003-06-04  Paul Eggert  <eggert@twinsun.com>
75351
75352         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
75353         locale.h, localeconv.  This merges changes from coreutils.
75354
75355         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
75356         It can be removed after the next Autoconf is released.
75357         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
75358         needed.
75359
75360 2003-06-04  Paul Eggert  <eggert@twinsun.com>
75361
75362         * lib/mktime.c: Fix Debian bug 177940
75363         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
75364         (localtime_offset): Now long int, not time_t, because we want it
75365         to be guaranteed to be signed.  All uses changed.
75366         (__mktime_internal): If overflow would occur when adding offset,
75367         don't add it.
75368
75369         Merge 'human' changes from coreutils.  Rewrite to support
75370         locale-specific notations like thousands separators.
75371         * lib/human.c: Simplify authorship notice.
75372         Include human.h immediately after config.h.
75373         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
75374         <limits.h>: Do not include, since human.h does.
75375         (SIZE_MAX, UINTMAX_MAX): New macros.
75376         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
75377         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
75378         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
75379         (power_letter): Renamed from suffixes.
75380         (generate_suffix_backwards): Remove.
75381         (adjust_value): Now takes int style (because of human.h changes)
75382         and long double value (for greater precision on some platforms).
75383         (group_number): New function.
75384         (human_readable): Use it.  Use integer options, not enum.
75385         Put the options before the sizes in the arg list.
75386         Support all the new options.
75387         The old human_readable function has been removed;
75388         use inttostr.h instead.
75389         (human_readable, default_block_size, humblock):
75390         Use uintmax_t, not int, for block sizes.
75391         (human_readable_inexact, block_size_types): Remove.
75392         (block_size_opts): New constant.
75393         (human_options): Renamed from human_block_size, with new signature
75394         that allows block sizes up to UINTMAX_MAX.  All callers changed.
75395         * lib/human.h: Add copyright and authorship notice.
75396         Include <limits.h> and <stdbool.h> unconditionally.
75397         (PARAMS): Remove.  All uses removed.
75398         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
75399         (enum human_inexact_style): Remove tag; now a nameless enum.
75400         (human_floor, human_ceiling, human_round_to_even): Now have
75401         values 2, 0, 1 rather than -1, 1, 0.
75402         (human_group_digits, human_suppress_point_zero, human_autoscale,
75403         human_base_1024, human_SI, human_B): New constants.
75404         (human_readable_inexact, human_block_size): Remove.
75405         (human_readable): Size args are now uintmax_t, not int.
75406         (human_options): New decl.
75407
75408         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
75409         unnecessary now that we assume C89 or better.  This change
75410         imported from coreutils.
75411
75412         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
75413         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
75414         in the 2003-05-30 sync from glibc.
75415
75416         .h files should stand alone, but we shouldn't include <sys/types.h>
75417         if we can get away with just <stddef.h>.
75418
75419         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
75420         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
75421         rather than <sys/types.h>, as we merely need size_t.
75422         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
75423         to get size_t.
75424         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
75425         Include <stdio.h>, to get FILE.
75426         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
75427         memcasecmp.h has included <stddef.h> and all we need is size_t.
75428         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
75429         our interface, instead of including <sys/types.h>
75430
75431 2003-06-04  Paul Eggert  <eggert@twinsun.com>
75432
75433         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
75434         now, as glibc mktime is buggy on non-glibc systems.
75435
75436 2003-06-03  Karl Berry  <karl@gnu.org>
75437
75438         * config/config.sub: update from prep.
75439
75440 2003-06-02  Paul Eggert  <eggert@twinsun.com>
75441
75442         [from coreutils]
75443         Fix some minor time-related bugs with POSIX time arguments.
75444         Some valid time stamps were being rejected (notably -1, and
75445         time stamps before 1900 on 64-bit hosts).  And some invalid
75446         time stamps were being accepted, e.g. September 31.
75447
75448         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
75449         that we can return (time_t) -1 successfully.
75450         * lib/posixtm.c: Likewise.
75451         [HAVE_STDBOOL_H]: Include <stdbool.h>.
75452         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
75453         (t): Remove static var.
75454         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
75455         of static var.  All uses changed.
75456         (year): Do not reject years before 1900; they can occur with
75457         64-bit time_t.
75458         (posix_time_parse): Do not check for out-of-range components;
75459         that is now the caller's responsibility, since our checks were
75460         only approximations.
75461         (posixtime): Use mktime to check for out-of-range components,
75462         since it knows them exactly.
75463         If mktime returns (time_t) -1, check whether an error actually occurred
75464         by invoking localtime on -1.
75465         (main) [TEST_POSIXTIME]: Check for input data errors, and report
75466         posixtime failures better.
75467         Improve the test data (in comments only).
75468
75469 2003-06-02  Karl Berry  <karl@gnu.org>
75470
75471         * config/mkinstalldirs (version): new variable.
75472         (--version): new option.
75473         (usage): improve message.
75474
75475 2003-05-30  Karl Berry  <karl@gnu.org>
75476
75477         * lib/mktime.c: update from libc.
75478
75479 2003-05-30  Bruno Haible  <bruno@clisp.org>
75480
75481         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
75482         * config/config.rpath: Upgrade to gettext-0.12.1.
75483
75484 2003-05-30  Bruno Haible  <bruno@clisp.org>
75485
75486         * m4/gettext.m4: Upgrade to gettext-0.12.1.
75487         * m4/nls.m4: New file, from gettext-0.12.1.
75488         * m4/po.m4: New file, from gettext-0.12.1.
75489         * m4/progtest.m4: Upgrade to gettext-0.12.1.
75490
75491 2003-05-30  Bruno Haible  <bruno@clisp.org>
75492
75493         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
75494         * lib/localcharset.h: Likewise.
75495         * lib/localcharset.c: Likewise.
75496
75497 2003-05-29  Karl Berry  <karl@gnu.org>
75498
75499         * config/config.rpath: update from gettext.
75500
75501 2003-05-28  Paul Eggert  <eggert@twinsun.com>
75502
75503         Assume the headers required for C89 freestanding compilers.
75504         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
75505         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
75506         * m4/human.m4 (gl_HUMAN): Likewise.
75507         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
75508         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
75509         * m4/userspec.m4 (gl_USERSPEC): Likewise.
75510         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
75511         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
75512         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
75513
75514 2003-05-28  Paul Eggert  <eggert@twinsun.com>
75515
75516         Assume the headers required for C89 freestanding compilers.
75517         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
75518         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
75519         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
75520         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
75521         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
75522         define, since <limits.h> is guaranteed to do that.
75523         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
75524         * lib/exclude.c: Include <stdbool.h> unconditionally.
75525         * lib/tempname.c: Include <stddef.h> unconditionally.
75526         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
75527         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
75528         <stddef.h> does that.
75529         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
75530         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
75531         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
75532         needed.
75533         * lib/xstrtol.c: Likewise.
75534         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
75535         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
75536
75537         * lib/addext.c (addext): Use assignment rather than cast, to avoid
75538         warnings on some platforms.
75539
75540         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
75541         arbitrarily.
75542
75543 2003-05-26  Jim Meyering  <jim@meyering.net>
75544
75545         Merge in a change from coreutils:
75546         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
75547         that is guaranteed to be `no'.  Use `no_such_member' to indicate
75548         that condition, rather than `-1' which is slightly misleading.
75549         Change the name of the cache variable to have the gl_ prefix.
75550         Prompted by a patch from Richard Dawe for DJGPP.
75551
75552 2003-05-24  Karl Berry  <karl@gnu.org>
75553
75554         * config/config.guess: update from prep.
75555
75556 2003-05-22  Karl Berry  <karl@gnu.org>
75557
75558         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
75559
75560 2003-05-20  Karl Berry  <karl@gnu.org>
75561
75562         * config/config.guess: update from prep.
75563
75564 2003-05-18  Karl Berry  <karl@gnu.org>
75565
75566         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
75567         might actually be set by the user.
75568
75569         * config/depcomp, install-sh, mdate-sh: update from automake.
75570
75571 2003-05-17  Bruno Haible  <bruno@clisp.org>
75572
75573         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
75574         invalid expansion for AC_EGREP_CPP.
75575         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
75576         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
75577         Suggested by Akim Demaille <akim@epita.fr> in
75578         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
75579
75580 2003-05-12  Jim Meyering  <jim@meyering.net>
75581
75582         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
75583         the space-padded-by-default conversion specifiers, %e, %k, %l.
75584
75585 2003-05-12  Bruno Haible  <bruno@clisp.org>
75586
75587         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
75588         the string is longer than 4 KB.
75589
75590 2003-05-11  Karl Berry  <karl@gnu.org>
75591
75592         * config/config.{guess,sub}: update from prep.
75593
75594 2003-05-09  Bruno Haible  <bruno@clisp.org>
75595
75596         * modules/error: Add m4/strerror_r.m4 to file list.
75597
75598 2003-05-03  Bruno Haible  <bruno@clisp.org>
75599
75600         Upgrade to Unicode-4.0.
75601         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
75602         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
75603         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
75604         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
75605         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
75606         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
75607         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
75608         Change width of U+E0100..U+E01EF from 1 to 0.
75609
75610 2003-04-25  Jim Meyering  <jim@meyering.net>
75611
75612         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
75613         of type size_t, not int.
75614
75615 2003-04-25  Bruno Haible  <bruno@clisp.org>
75616
75617         * lib/copy-file.c: Include <stddef.h>, for size_t.
75618
75619 2003-04-21  Paul Eggert  <eggert@twinsun.com>
75620
75621         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
75622         code which expansion is under static control.  Patch imported from
75623         Akim Demaille's patch to Bison; see
75624         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
75625
75626 2003-04-14  Bruno Haible  <bruno@clisp.org>
75627
75628         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
75629
75630 2003-04-11  Jim Meyering  <jim@meyering.net>
75631
75632         Merge changes from Coreutils.
75633
75634         2003-03-22  Jim Meyering  <jim@meyering.net>
75635
75636         * lib/strftime.c (widen): Cast alloca return value to proper type.
75637
75638         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
75639
75640         From GNU libc.
75641         * lib/strftime.c (my_strftime): Handle very large width
75642         specifications for numeric values correctly.  Improve checks for
75643         overflow.
75644
75645         2003-01-19  Jim Meyering  <jim@meyering.net>
75646
75647         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
75648         definitions.
75649         (nl_get_alt_digit) [! defined my_strftime]: Define.
75650         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
75651         _nl_get_alt_digit and _nl_get_walt_digit.
75652
75653         * lib/strftime.c (my_strftime): Merge in locale-related changes from
75654         libc. These changes have no effect outside of _LIBC.
75655
75656 2003-04-10  Bruno Haible  <bruno@clisp.org>
75657
75658         * modules/findprog: New file.
75659         * MODULES.html.sh (func_all_modules): Add it.
75660
75661 2003-04-10  Bruno Haible  <bruno@clisp.org>
75662
75663         * m4/findprog.m4: New file.
75664         * m4/eaccess.m4: New file.
75665
75666 2003-04-10  Bruno Haible  <bruno@clisp.org>
75667
75668         * lib/findprog.h: New file, from GNU gettext.
75669         * lib/findprog.c: New file, from GNU gettext.
75670
75671 2003-04-05  Jim Meyering  <jim@meyering.net>
75672
75673         Merge changes from Coreutils.
75674
75675         * lib/exclude.h (PARAMS): Remove definition and uses.
75676         * lib/exclude.c: Remove uses of `PARAMS'.
75677
75678         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
75679         Add test-cases for DOS filenames. Declare program_name.
75680         (main): Set up program_name.  Patch by Rich Dawe.
75681
75682         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
75683         error from mntctl.
75684         Use mntctl's return value to drive the entry-processing loop, since
75685         we can't rely on the value of the vmt_length member in the last
75686         entry.  On some systems doing so could result in exhausting
75687         virtual memory.  Based in part on a patch from Mike Jetzer.
75688
75689 2003-04-04  Bruno Haible  <bruno@clisp.org>
75690
75691         * modules/linebreak: New file.
75692         * MODULES.html.sh (func_all_modules): Add it.
75693
75694 2003-04-04  Bruno Haible  <bruno@clisp.org>
75695
75696         * m4/linebreak.m4: New file.
75697
75698 2003-04-04  Bruno Haible  <bruno@clisp.org>
75699
75700         * lib/linebreak.h: New file, from GNU gettext.
75701         * lib/linebreak.c: New file, from GNU gettext with slight
75702         modifications.
75703         * lib/lbrkprop.h: New file, from GNU gettext.
75704
75705 2003-04-03  Bruno Haible  <bruno@clisp.org>
75706
75707         * modules/utf8-ucs4: New file.
75708         * modules/utf16-ucs4: New file.
75709         * modules/ucs4-utf8: New file.
75710         * modules/ucs4-utf16: New file.
75711         * MODULES.html.sh (func_all_modules): Add them.
75712
75713 2003-04-03  Bruno Haible  <bruno@clisp.org>
75714
75715         * m4/utf-ucs4.m4: New file.
75716         * m4/ucs4-utf.m4: New file.
75717
75718 2003-04-03  Bruno Haible  <bruno@clisp.org>
75719
75720         * lib/utf8-ucs4.h: New file, from GNU gettext.
75721         * lib/utf16-ucs4.h: New file, from GNU gettext.
75722         * lib/ucs4-utf8.h: New file, from GNU gettext.
75723         * lib/ucs4-utf16.h: New file, from GNU gettext.
75724
75725 2003-04-02  Bruno Haible  <bruno@clisp.org>
75726
75727         * modules/binary-io: New file.
75728         * MODULES.html.sh (func_all_modules): Add it.
75729
75730 2003-04-02  Bruno Haible  <bruno@clisp.org>
75731
75732         * lib/binary-io.h: New file, from GNU gettext.
75733
75734 2003-04-01  Bruno Haible  <bruno@clisp.org>
75735
75736         * modules/pathname: New file.
75737         * MODULES.html.sh (func_all_modules): Add it.
75738
75739 2003-04-01  Bruno Haible  <bruno@clisp.org>
75740
75741         * lib/pathname.h: New file, from GNU gettext.
75742         * lib/concatpath.c: New file, from GNU gettext.
75743
75744 2003-03-30  Bruno Haible  <bruno@clisp.org>
75745
75746         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
75747
75748 2003-03-30  Bruno Haible  <bruno@clisp.org>
75749
75750         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
75751         function chown() doesn't exist.
75752
75753 2003-03-28  Bruno Haible  <bruno@clisp.org>
75754
75755         * modules/copy-file: New file.
75756         * MODULES.html.sh (func_all_modules): Add it.
75757
75758 2003-03-28  Bruno Haible  <bruno@clisp.org>
75759
75760         * m4/copy-file.m4: New file.
75761
75762 2003-03-28  Bruno Haible  <bruno@clisp.org>
75763
75764         * lib/copy-file.h: New file, from GNU gettext.
75765         * lib/copy-file.c: New file, from GNU gettext.
75766
75767 2003-03-18  Jim Meyering  <jim@meyering.net>
75768
75769         * lib/quote.c (quote_n): Fix typo in comment.
75770
75771 2003-03-18  Bruno Haible  <bruno@clisp.org>
75772
75773         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
75774         checking.
75775         * m4/onceonly_2_57.m4: Likewise.
75776
75777 2003-03-17  Bruno Haible  <bruno@clisp.org>
75778
75779         * m4/onceonly.m4: Require autoconf 2.54 or newer.
75780         (m4_quote): Remove macro.
75781         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
75782
75783 2003-03-14  Jim Meyering  <jim@meyering.net>
75784
75785         Merge changes from Coreutils.
75786         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
75787         to be const, in order to avoid warnings.
75788         (obstack_room): Likewise.
75789         (obstack_empty_p): Likewise.
75790
75791 2003-03-14  Bruno Haible  <bruno@clisp.org>
75792
75793         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
75794         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
75795
75796 2003-03-13  Paul Eggert  <eggert@twinsun.com>
75797
75798         Merge changes from Bison.
75799         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
75800         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
75801         when compiling Bison 1.875's `bitset bset = obstack_alloc
75802         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
75803         * lib/hash.c: Include <stdbool.h> unconditionally.
75804
75805 2003-03-13  Paul Eggert  <eggert@twinsun.com>
75806
75807         * m4/onceonly.m4 (m4_quote): New macro.
75808         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
75809         Quote AC_FOREACH variable-expansions properly.
75810
75811 2003-03-13  Paul Eggert  <eggert@twinsun.com>
75812
75813         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
75814
75815 2003-03-09  Paul Eggert  <eggert@twinsun.com>
75816
75817         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
75818         Reported by Bruce Becker; see:
75819         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
75820
75821 2003-03-03  Paul Eggert  <eggert@twinsun.com>
75822             Bruno Haible  <bruno@clisp.org>
75823
75824         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
75825         Reported by John Hughes, see
75826         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
75827
75828 2003-02-20  Bruno Haible  <bruno@clisp.org>
75829
75830         * MODULES.html.sh (func_all_modules): Add poll.
75831
75832 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
75833
75834         * modules/poll: New file.
75835
75836 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
75837
75838         * lib/poll_.h: New file.
75839         * lib/poll.c: New file.
75840
75841 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
75842
75843         * m4/poll.m4: New file.
75844
75845 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
75846
75847         * modules/mathl: New file.
75848
75849 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
75850
75851         * lib/mathl.h: New file.
75852         * lib/acosl.c: New file.
75853         * lib/asinl.c: New file.
75854         * lib/atanl.c: New file.
75855         * lib/ceill.c: New file.
75856         * lib/cosl.c: New file.
75857         * lib/expl.c: New file.
75858         * lib/floorl.c: New file.
75859         * lib/frexpl.c: New file.
75860         * lib/ldexpl.c: New file.
75861         * lib/logl.c: New file.
75862         * lib/sincosl.c: New file.
75863         * lib/sinl.c: New file.
75864         * lib/sqrtl.c: New file.
75865         * lib/tanl.c: New file.
75866         * lib/trigl.c: New file.
75867         * lib/trigl.h: New file.
75868
75869 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
75870
75871         * m4/mathl.m4: New file.
75872
75873 2003-02-18  Bruno Haible  <bruno@clisp.org>
75874
75875         * MODULES.html.sh (func_all_modules): Add mathl.
75876
75877 2003-02-17  Bruno Haible  <bruno@clisp.org>
75878
75879         * modules/mkdtemp: New module.
75880         * MODULES.html.sh (func_all_modules): Add it.
75881
75882 2003-02-17  Bruno Haible  <bruno@clisp.org>
75883
75884         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
75885
75886 2003-02-17  Bruno Haible  <bruno@clisp.org>
75887
75888         * lib/mkdtemp.h: New file, from GNU gettext.
75889         * lib/mkdtemp.c: New file, from GNU gettext.
75890
75891 2003-02-02  Jim Meyering  <jim@meyering.net>
75892
75893         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
75894         e.g. glibc-2.2.93.
75895
75896 2003-01-31  Bruno Haible  <bruno@clisp.org>
75897
75898         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
75899         'rpl_rename'.
75900         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
75901         'rpl_strnlen'.
75902         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
75903         'rpl_strtod'.
75904         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
75905         'rpl_utime'.
75906
75907 2003-01-31  Bruno Haible  <bruno@clisp.org>
75908
75909         * lib/rename.c: #undef rename before defining rpl_rename.
75910         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
75911
75912 2003-01-30  Bruno Haible  <bruno@clisp.org>
75913
75914         * modules/vasnprintf, modules/vasprintf: New modules.
75915         * MODULES.html.sh (func_all_modules): Add them.
75916
75917 2003-01-30  Bruno Haible  <bruno@clisp.org>
75918
75919         * m4/signed.m4: New file, from GNU gettext.
75920         * m4/longdouble.m4: New file, from GNU gettext.
75921         * m4/wchar_t.m4: New file, from GNU gettext.
75922         * m4/wint_t.m4: New file, from GNU gettext.
75923         * m4/vasnprintf.m4: New file.
75924         * m4/vasprintf.m4: New file.
75925
75926 2003-01-30  Bruno Haible  <bruno@clisp.org>
75927
75928         * lib/printf-args.h: New file, from GNU gettext.
75929         * lib/printf-args.c: New file, from GNU gettext.
75930         * lib/printf-parse.h: New file, from GNU gettext.
75931         * lib/printf-parse.c: New file, from GNU gettext.
75932         * lib/vasnprintf.h: New file, from GNU gettext.
75933         * lib/vasnprintf.c: New file, from GNU gettext.
75934         * lib/asnprintf.c: New file, from GNU gettext.
75935         * lib/vasprintf.h: New file, from GNU gettext with modifications.
75936         * lib/vasprintf.c: New file, from GNU gettext.
75937         * lib/asprintf.c: New file, from GNU gettext.
75938
75939 2003-01-29  Bruno Haible  <bruno@clisp.org>
75940
75941         * modules/stpncpy: New module.
75942         * MODULES.html.sh (func_all_modules): Add it.
75943
75944 2003-01-29  Bruno Haible  <bruno@clisp.org>
75945
75946         * m4/stpncpy.m4: New file.
75947
75948 2003-01-29  Bruno Haible  <bruno@clisp.org>
75949
75950         * lib/stpncpy.h: New file, from GNU gettext with modifications.
75951         * lib/stpncpy.c: New file, from GNU gettext with modifications.
75952
75953 2003-01-28  Bruno Haible  <bruno@clisp.org>
75954
75955         * modules/c-ctype: New module.
75956         * MODULES.html.sh (func_all_modules): Add it.
75957
75958 2003-01-28  Bruno Haible  <bruno@clisp.org>
75959
75960         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
75961         Paul Eggert.
75962         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
75963         Paul Eggert.
75964
75965 2003-01-27  Bruno Haible  <bruno@clisp.org>
75966
75967         * modules/xsetenv: New module.
75968         * MODULES.html.sh (func_all_modules): Add it.
75969
75970 2003-01-27  Bruno Haible  <bruno@clisp.org>
75971
75972         * lib/xsetenv.h: New file, from GNU gettext.
75973         * lib/xsetenv.c: New file, from GNU gettext.
75974
75975 2003-01-23  Jim Meyering  <jim@meyering.net>
75976
75977         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
75978         from working on systems without dirfd (at least Irix and OSF1/Tru64).
75979
75980 2003-01-23  Bruno Haible  <bruno@clisp.org>
75981
75982         * modules/minmax: New module.
75983         * MODULES.html.sh (func_all_modules): Add it.
75984
75985 2003-01-23  Bruno Haible  <bruno@clisp.org>
75986
75987         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
75988         Eggert.
75989
75990 2003-01-22  Bruno Haible  <bruno@clisp.org>
75991
75992         * modules/exit: New module.
75993         * MODULES.html.sh (func_all_modules): Add it.
75994
75995 2003-01-22  Bruno Haible  <bruno@clisp.org>
75996
75997         * lib/exit.h: New file, from GNU gettext.
75998
75999 2003-01-19  Bruno Haible  <bruno@clisp.org>
76000
76001         * gnulib-tool: Recognize option --extract-maintainer.
76002         (func_get_maintainer): New function.
76003         * modules/*: Add Maintainer entry.
76004
76005 2003-01-16  Jim Meyering  <jim@meyering.net>
76006
76007         * m4/regex.m4: The `regex' struct is both input and output.
76008         Initialize it before each use.  Patch by Tim Waugh.
76009
76010 2003-01-16  Bruno Haible  <bruno@clisp.org>
76011
76012         * MODULES.html.sh: Add a table of contents. Add the module name as
76013         leftmost column. Add hyperlinks.
76014
76015 2003-01-15  Bruno Haible  <bruno@clisp.org>
76016
76017         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
76018
76019 2003-01-15  Bruno Haible  <bruno@clisp.org>
76020
76021         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
76022         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
76023         suffix.
76024
76025 2003-01-15  Bruno Haible  <bruno@clisp.org>
76026
76027         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
76028
76029 2003-01-15  Bruno Haible  <bruno@clisp.org>
76030
76031         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
76032         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
76033
76034 2003-01-14  Jim Meyering  <jim@meyering.net>
76035
76036         * lib/same.c (same_name): Tweak a comment.
76037
76038 2003-01-14  Bruno Haible  <bruno@clisp.org>
76039
76040         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
76041         when a string comparison is sufficient.
76042
76043 2003-01-14  Bruno Haible  <bruno@clisp.org>
76044
76045         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
76046         'unsigned int'.
76047
76048 2003-01-14  Bruno Haible  <bruno@clisp.org>
76049
76050         * lib/hash-pjw.c: Add comment about low quality of this function.
76051
76052 2003-01-13  Bruno Haible  <bruno@clisp.org>
76053
76054         * modules/stpcpy: Distribute lib/stpcpy.h.
76055         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
76056
76057 2003-01-13  Bruno Haible  <bruno@clisp.org>
76058
76059         * modules/*: Add a description.
76060         * modules/strpbrk: Fix Makefile.am snippet.
76061         * modules/strtoimax: Fix dependencies.
76062         * modules/strtoumax: Likewise.
76063
76064 2003-01-13  Bruno Haible  <bruno@clisp.org>
76065
76066         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
76067         * modules/alloca (Makefile.am): All object files depend on alloca.h.
76068         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
76069
76070 2003-01-13  Bruno Haible  <bruno@clisp.org>
76071
76072         * gnulib-tool (func_create_testdir): Store config/* files in the main
76073         directory.
76074         * config.rpath: Move to ...
76075         * config/config.rpath: ... here.
76076         * modules/gettext: Contains config/config.rpath, not config.rpath.
76077         * modules/iconv: Likewise.
76078
76079 2003-01-12  Paul Eggert  <eggert@twinsun.com>
76080
76081         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
76082         to avoid collisions with libcurses and libreadline.
76083
76084         * m4/getstr.m4: Remove.
76085         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
76086
76087 2003-01-12  Paul Eggert  <eggert@twinsun.com>
76088
76089         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
76090         to avoid collisions with libcurses and libreadline.
76091
76092         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
76093         * lib/getstr.h, getstr.c: Remove.
76094         * lib/getline.c: Include "getline.h", to check interface.
76095         Move body of old getstr.c here: this defines MIN_CHUNK and
76096         declares getdelim2, which is renamed from getstr.
76097         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
76098
76099         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
76100         All uses changed.
76101         * lib/linebuffer.h: Likewise.
76102         (readline): Remove backward-compatibility macro.
76103
76104 2003-01-12  Paul Eggert  <eggert@twinsun.com>
76105
76106         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
76107         to avoid collisions with libcurses and libreadline.
76108         * getstr: Remove.
76109         * MODULES.html.sh: Remove getstr.
76110         * modules/getline: Depend on unlocked-io, not getstr.
76111
76112 2003-01-12  Jim Meyering  <jim@meyering.net>
76113
76114         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
76115
76116 2003-01-10  Bruno Haible  <bruno@clisp.org>
76117
76118         * modules/alloca: Change Makefile.am requirements. Simplify Include
76119         requirements. Add lib/alloca_.h to file list.
76120
76121 2003-01-10  Bruno Haible  <bruno@clisp.org>
76122
76123         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
76124
76125 2003-01-10  Bruno Haible  <bruno@clisp.org>
76126
76127         * lib/alloca_.h: New file.
76128         * lib/getdate.y: Unconditionally include alloca.h.
76129         * lib/makepath.c: Likewise.
76130         * lib/setenv.c: Likewise.
76131         * lib/userspec.c: Likewise.
76132
76133 2003-01-09  Karl Berry  <karl@gnu.org>
76134
76135         * MODULES.html.sh: include `dirname $0` in PATH, to find
76136         gnulib-tool.
76137
76138 2003-01-09  Bruno Haible  <bruno@clisp.org>
76139
76140         * modules/stdbool: Change configure.ac, Makefile.am requirements.
76141         Simplify Include requirements. Add lib/stdbool.h.in to file list.
76142
76143 2003-01-09  Bruno Haible  <bruno@clisp.org>
76144
76145         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
76146
76147 2003-01-09  Bruno Haible  <bruno@clisp.org>
76148
76149         * lib/stdbool.h.in: New file.
76150
76151 2003-01-09  Bruno Haible  <bruno@clisp.org>
76152
76153         * gnulib-tool (func_all_modules): Ignore files ending in ~.
76154         * MODULES.html.sh: Likewise.
76155
76156 2003-01-08  Jim Meyering  <jim@meyering.net>
76157
76158         * lib/full-write.c: Undefine and define-away `const' after inclusion
76159         of errno.h, not before.  Suggestion from Bruno Haible.
76160
76161 2003-01-08  Bruno Haible  <bruno@clisp.org>
76162
76163         * modules/full-read: Depend on full-write.
76164
76165 2003-01-08  Bruno Haible  <bruno@clisp.org>
76166
76167         * lib/safe-read.c: Include specification header first, to ensure its
76168         selfcontainedness.
76169         * lib/full-write.c: Likewise.
76170
76171 2003-01-07  Jim Meyering  <jim@meyering.net>
76172
76173         * lib/full-write.c: Rework so that it may serve to define full_read,
76174         too.
76175         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
76176
76177 2003-01-07  Bruno Haible  <bruno@clisp.org>
76178
76179         * lib/strtoimax.c: Include <stdint.h> as an alternative to
76180         <inttypes.h>.
76181         * lib/xstrtol.h: Likewise.
76182         * lib/xstrtoimax.c: Likewise.
76183         * lib/xstrtoumax.c: Likewise.
76184         * lib/human.h: Likewise.
76185
76186         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
76187         on systems that have <inttypes.h> but not <stdint.h>.
76188
76189 2003-01-07  Bruno Haible  <bruno@clisp.org>
76190
76191         * MODULES.html.sh: Add copyright notice.
76192         (missed_files): Omit CVS directory entries.
76193         (func_module): Make it work with sed-3.02.
76194         * MODULES.txt: Remove file.
76195
76196 2003-01-06  Jim Meyering  <jim@meyering.net>
76197
76198         * lib/version-etc.c: Update year in translatable copyright string.
76199
76200 2003-01-03  Karl Berry  <karl@gnu.org>
76201
76202         * config/config.{guess,sub}: update from prep.
76203
76204 2003-01-02  Karl Berry  <karl@gnu.org>
76205
76206         * doc/COPYING.DOC: belatedly updated to 1.2.
76207
76208 2003-01-01  Karl Berry  <karl@gnu.org>
76209
76210         * gnulib-tool (func_verify_module): report module name $module in
76211         error message, not $1.
76212         * gnulib-tool (create-testdir): don't complain if destdir couldn't
76213         be created, only if it doesn't exist.
76214         * gnulib-tool (last_checkin_date): don't expand the $Date here.
76215
76216 2002-12-31  Paul Eggert  <eggert@twinsun.com>
76217
76218         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
76219
76220 2002-12-31  Paul Eggert  <eggert@twinsun.com>
76221
76222         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
76223         memcmp if strcoll doesn't work.
76224
76225 2002-12-31  Bruno Haible  <bruno@clisp.org>
76226
76227         * lib/utime.c (utime_null): No need to call ftruncate if the file was
76228         nonempty.
76229
76230 2002-12-31  Bruno Haible  <bruno@clisp.org>
76231
76232         * lib/memcoll.c (STRCOLL): New macro.
76233         (memcoll): Use it.
76234
76235 2002-12-31  Bruno Haible  <bruno@clisp.org>
76236
76237         * lib/localcharset.h: New file.
76238         * lib/localcharset.c: Include it.
76239         * lib/unicodeio.c: Likewise.
76240
76241 2002-12-31  Bruno Haible  <bruno@clisp.org>
76242
76243         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
76244         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
76245
76246 2002-12-31  Bruno Haible  <bruno@clisp.org>
76247
76248         * lib/getline.h: Include <stddef.h>, for size_t.
76249
76250         * lib/unicodeio.h: Include <stddef.h>, for size_t.
76251         * lib/unicodeio.c: Don't include <stddef.h>.
76252
76253 2002-12-31  Bruno Haible  <bruno@clisp.org>
76254
76255         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
76256         HAVE_TM_ZONE.
76257
76258 2002-12-24  Karl Berry  <karl@gnu.org>
76259
76260         * config/config.guess: update from prep.
76261
76262 2002-12-24  Bruno Haible  <bruno@clisp.org>
76263
76264         General infrasructure.
76265         * m4/README: Rewritten.
76266         * m4/onceonly.m4: New file.
76267         * m4/onceonly_2_57.m4: New file.
76268
76269         Module atexit.
76270         * m4/atexit.m4: New file.
76271
76272         Module strtod.
76273         * m4/strtod.m4: New file.
76274
76275         Module strtol.
76276         * m4/strtol.m4: New file.
76277
76278         Module strtoul.
76279         * m4/strtoul.m4: New file.
76280
76281         Module memchr.
76282         * m4/memchr.m4: New file.
76283
76284         Module memcmp.
76285         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
76286         (jm_FUNC_MEMCMP): Invoke it.
76287
76288         Module memcpy.
76289         * m4/memcpy.m4: New file.
76290
76291         Module memmove.
76292         * m4/memmove.m4: New file.
76293
76294         Module memset.
76295         * m4/memset.m4: New file.
76296
76297         Module strcspn.
76298         * m4/strcspn.m4: New file.
76299
76300         Module strpbrk.
76301         * m4/strpbrk.m4: New file.
76302
76303         Module strstr.
76304         * m4/strstr.m4: New file.
76305
76306         Module strerror.
76307         * m4/strerror.m4: New file.
76308
76309         Module mktime.
76310         * m4/mktime.m4: Renamed from jm-mktime.m4.
76311         (gl_PREREQ_MKTIME): New macro.
76312         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
76313
76314         Module malloc.
76315         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
76316         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
76317         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
76318
76319         Module realloc.
76320         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
76321         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
76322         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
76323
76324         Module strftime.
76325         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
76326         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
76327         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
76328         gl_TM_GMTOFF.
76329         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
76330
76331         Module xalloc.
76332         * m4/xalloc.m4: New file.
76333
76334         Module alloca.
76335         * m4/alloca.m4: New file.
76336
76337         Module putenv.
76338         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
76339         (jm_FUNC_PUTENV): Invoke it.
76340
76341         Module setenv.
76342         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
76343         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
76344         when invoked twice.
76345         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
76346         gt_FUNC_SETENV.
76347
76348         Module memrchr.
76349         * m4/memrchr.m4: New file.
76350
76351         Module stpcpy.
76352         * m4/stpcpy.m4: New file.
76353
76354         Module strcase.
76355         * m4/strcase.m4: New file.
76356
76357         Module strdup.
76358         * m4/strdup.m4: New file.
76359
76360         Module strnlen.
76361         * m4/strnlen.m4: New file.
76362
76363         Module strndup.
76364         * m4/strndup.m4: New file.
76365
76366         Module xstrtod.
76367         * m4/xstrtod.m4: New file.
76368
76369         Module xstrtol.
76370         * m4/xstrtol.m4: New file.
76371
76372         Module getdate.
76373         * m4/getdate.m4: New file.
76374
76375         Module unlocked-io.
76376         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
76377         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
76378         * m4/jm-glibc-io.m4n: Remove file.
76379
76380         Module long-options.
76381         * m4/long-options.m4: New file.
76382
76383         Module md5.
76384         * m4/md5.m4: New file.
76385
76386         Module sha.
76387         * m4/sha.m4: New file.
76388
76389         Module getstr.
76390         * m4/getstr.m4: New file.
76391
76392         Module getline.
76393         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
76394         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
76395         <sys/types.h>, for size_t. Use the function name gnu_getline, not
76396         simply getline. Infoke gl_PREREQ_GETLINE.
76397
76398         Module obstack.
76399         * m4/obstack.m4: New file.
76400
76401         Module hash.
76402         * m4/hash.m4: New file.
76403
76404         Module readtokens.
76405         * m4/readtokens.m4: New file.
76406
76407         Module strverscmp.
76408         * m4/strverscmp.m4: New file.
76409
76410         Module stdbool.
76411         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
76412         OSF/1.
76413
76414         Module strtoll.
76415         * m4/strtoll.m4: New file.
76416
76417         Module strtoull.
76418         * m4/strtoull.m4: New file.
76419
76420         Module strtoimax.
76421         * m4/strtoimax.m4: New file.
76422
76423         Module strtoumax.
76424         * m4/strtoumax.m4: New file.
76425
76426         Module xstrtoimax.
76427         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
76428         jm_AC_PREREQ_XSTRTOIMAX.
76429         Moved the strtol prerequisites to strtol.m4.
76430         Moved the strtoll prerequisites to strtoll.m4.
76431         Moved the strtoimax prerequisites to strtoimax.m4.
76432
76433         Module xstrtoumax.
76434         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
76435         jm_AC_PREREQ_XSTRTOUMAX.
76436         Moved the strtoul prerequisites to strtoul.m4.
76437         Moved the strtoull prerequisites to strtoull.m4.
76438         Moved the strtoumax prerequisites to strtoumax.m4.
76439
76440         Module chown.
76441         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
76442         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
76443
76444         Module dup2.
76445         * m4/dup2.m4: New file.
76446
76447         Module ftruncate.
76448         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
76449         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
76450
76451         Module getgroups.
76452         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
76453         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
76454
76455         Module gettimeofday.
76456         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
76457         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
76458         gl_PREREQ_GETTIMEOFDAY.
76459
76460         Module mkdir.
76461         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
76462         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
76463
76464         Module mkstemp.
76465         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
76466         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
76467         jm_AC_TYPE_UINTMAX_T.
76468         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
76469
76470         Module stat.
76471         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
76472         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
76473
76474         Module lstat.
76475         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
76476         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
76477
76478         Module timespec.
76479         * m4/timespec.m4 (gl_TIMESPEC): New macro.
76480         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
76481         * m4/st_mtim.m4: Indentation.
76482
76483         Module nanosleep.
76484         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
76485         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
76486         gl_PREREQ_NANOSLEEP.
76487
76488         Module regex.
76489         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
76490         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
76491         (gl_REGEX): New macro.
76492
76493         Module rename.
76494         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
76495         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
76496
76497         Module rmdir.
76498         * m4/rmdir.m4: New file.
76499
76500         Module utime.
76501         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
76502         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
76503         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
76504
76505         Module dirname.
76506         * m4/dirname.m4: New file.
76507
76508         Module getopt.
76509         * m4/getopt.m4: New file.
76510
76511         Module unistd-safer.
76512         * m4/unistd-safer.m4: New file.
76513
76514         Module fnmatch.
76515         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
76516         declaration.
76517         (gl_PREREQ_FNMATCH_EXTRA): New macro.
76518         (gl_FUNC_FNMATCH_POSIX): New macro.
76519         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
76520         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
76521         simply fnmatch.
76522
76523         Module exclude.
76524         * m4/exclude.m4: New file.
76525
76526         Module human.
76527         * m4/human.m4: New file.
76528
76529         Module acl.
76530         * m4/acl.m4: Nop.
76531
76532         Module backupfile.
76533         * m4/backupfile.m4: New file.
76534         * m4/d-ino.m4: Indentation.
76535
76536         Module fsusage.
76537         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
76538         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
76539         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
76540
76541         Module dirfd.
76542         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
76543         requirements.
76544
76545         Module euidaccess.
76546         * m4/euidaccess.m4: New file.
76547
76548         Module file-type.
76549         * m4/file-type.m4: New file.
76550
76551         Module fileblocks.
76552         * m4/fileblocks.m4: New file.
76553
76554         Module filemode.
76555         * m4/filemode.m4: New file.
76556
76557         Module isdir.
76558         * m4/isdir.m4: New file.
76559
76560         Module lchown.
76561         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
76562         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
76563
76564         Module makepath.
76565         * m4/makepath.m4: New file.
76566
76567         Module modechange.
76568         * m4/modechange.m4: New file.
76569
76570         Module mountlist.
76571         * m4/mountlist.m4: New file.
76572         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
76573         Indentation.
76574
76575         Module path-concat.
76576         * m4/path-concat.m4: New file.
76577
76578         Module pathmax.
76579         * m4/pathmax.m4: New file.
76580
76581         Module same.
76582         * m4/same.m4: New file.
76583
76584         Module save-cwd.
76585         * m4/save-cwd.m4: New file.
76586
76587         Module savedir.
76588         * m4/savedir.m4: New file.
76589
76590         Module xgetcwd.
76591         * m4/xgetcwd.m4: New file.
76592         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
76593
76594         Module xreadlink.
76595         * m4/xreadlink.m4: New file.
76596
76597         Module safe-read.
76598         * m4/safe-read.m4: New file.
76599
76600         Module safe-write.
76601         * m4/safe-write.m4: New file.
76602
76603         Module closeout.
76604         * m4/closeout.m4: New file.
76605
76606         Module stdio-safer.
76607         * m4/stdio-safer.m4: New file.
76608
76609         Module getpass.
76610         * m4/getpass.m4: New file.
76611
76612         Module getugroups.
76613         * m4/getugroups.m4: New file.
76614
76615         Module group-member.
76616         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
76617         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
76618
76619         Module idcache.
76620         * m4/idcache.m4: New file.
76621
76622         Module userspec.
76623         * m4/userspec.m4: New file.
76624
76625         Module gettime.
76626         * m4/clock_time.m4: New file.
76627         * m4/gettime.m4: New file.
76628
76629         Module settime.
76630         * m4/settime.m4: New file.
76631
76632         Module posixtm.
76633         * m4/posixtm.m4: New file.
76634
76635         Module gethostname.
76636         * m4/gethostname.m4: New file.
76637
76638         Module canon-host.
76639         * m4/canon-host.m4: New file.
76640
76641         Module gettext.
76642         * m4/codeset.m4: New file, from gettext-0.11.5.
76643         * m4/gettext.m4: New file, from gettext-0.11.5.
76644         * m4/glibc21.m4: New file, from gettext-0.11.5.
76645         * m4/iconv.m4: New file, from gettext-0.11.5.
76646         * m4/intdiv0.m4: New file, from gettext-0.11.5.
76647         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
76648         * m4/inttypes.m4: New file, from gettext-0.11.5.
76649         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
76650         * m4/isc-posix.m4: New file, from gettext-0.11.5.
76651         * m4/lcmessage.m4: New file, from gettext-0.11.5.
76652         * m4/lib-ld.m4: New file, from gettext-0.11.5.
76653         * m4/lib-link.m4: New file, from gettext-0.11.5.
76654         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
76655         * m4/progtest.m4: New file, from gettext-0.11.5.
76656         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
76657         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
76658         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
76659
76660         Module localcharset.
76661         * m4/localcharset.m4: New file.
76662
76663         Module hard-locale.
76664         * m4/hard-locale.m4: New file.
76665
76666         Module mbswidth.
76667         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
76668         onceonly macros.
76669         * m4/mbrtowc.m4: Add comment.
76670
76671         Module memcasecmp.
76672         * m4/memcasecmp.m4: New file.
76673
76674         Module memcoll.
76675         * m4/memcoll.m4: New file.
76676
76677         Module unicodeio.
76678         * m4/unicodeio.m4: New file.
76679
76680         Module rpmatch.
76681         * m4/rpmatch.m4: New file.
76682
76683         Module yesno.
76684         * m4/yesno.m4: New file.
76685
76686         Module exitfail.
76687         * m4/exitfail.m4: New file.
76688
76689         Module c-stack.
76690         * m4/c-stack.m4 (gl_C_STACK): New macro.
76691         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
76692
76693         Module error.
76694         * m4/error.m4 (gl_ERROR): New macro.
76695         (jm_PREREQ_ERROR): Use onceonly macros.
76696
76697         Module fatal.
76698         * m4/fatal.m4: New file.
76699
76700         Module getloadavg.
76701         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
76702         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
76703
76704         Module getpagesize.
76705         * m4/getpagesize.m4: New file.
76706
76707         Module getusershell.
76708         * m4/getusershell.m4: New file.
76709
76710         Module physmem.
76711         * m4/physmem.m4: New file.
76712
76713         Module posixver.
76714         * m4/posixver.m4: New file.
76715
76716         Module quotearg.
76717         * m4/quotearg.m4: New file.
76718
76719         Module quote.
76720         * m4/quote.m4: New file.
76721
76722         Module readutmp.
76723         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
76724
76725         Module sig2str.
76726         * m4/sig2str.m4: New file.
76727
76728         Other.
76729         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
76730         ulonglong.m4.
76731         * m4/intmax_t.m4: New file.
76732         * m4/d-type.m4: Indentation.
76733         * m4/jm-macros.m4: Update.
76734         * m4/prereq.m4 (jm_PREREQ): Update.
76735         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
76736         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
76737         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
76738         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
76739         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
76740         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
76741         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
76742         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
76743         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
76744         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
76745         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
76746         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
76747         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
76748         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
76749         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
76750         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
76751         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
76752         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
76753         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
76754
76755 2002-12-24  Bruno Haible  <bruno@clisp.org>
76756
76757         * MODULES.txt: Update according to m4/ changes.
76758
76759         Module gettext.
76760         * config.rpath: New file, from gettext-0.11.5.
76761
76762         * modules/*: New module descriptions.
76763         * gnulib-tool: New file.
76764         * MODULES.html.sh: New file.
76765
76766 2002-12-21  Karl Berry  <karl@gnu.org>
76767
76768         * doc/fdl.texi: update to version 1.2.
76769
76770 2002-12-19  Karl Berry  <karl@gnu.org>
76771
76772         * config/config.guess: update from prep.
76773
76774 2002-12-18  Bruno Haible  <bruno@clisp.org>
76775
76776         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
76777         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
76778
76779 2002-12-17  Bruno Haible  <bruno@clisp.org>
76780
76781         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
76782         stdlib.h, string.h.
76783
76784 2002-12-17  Bruno Haible  <bruno@clisp.org>
76785
76786         * lib/canon-host.c (strdup): Remove unused declaration.
76787
76788         * lib/fsusage.c: Include full_read.h.
76789         (get_fs_usage): Use full_read instead of safe_read.
76790
76791         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
76792
76793 2002-12-12  Karl Berry  <karl@gnu.org>
76794
76795         * config/config.guess: update from prep.
76796
76797 2002-12-11  Bruno Haible  <bruno@clisp.org>
76798
76799         * m4/setenv.m4: New file, from gettext-0.11.5.
76800
76801 2002-12-11  Bruno Haible  <bruno@clisp.org>
76802
76803         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
76804         not unsetenv().
76805         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
76806         modifications:
76807
76808         2002-12-11  Bruno Haible  <bruno@clisp.org>
76809
76810                 * setenv.c (alloca): Fall back to malloc.
76811                 (freea): New macro.
76812                 (setenv): Use freea() to free memory allocated with alloca().
76813
76814         2002-11-13  Bruno Haible  <bruno@clisp.org>
76815
76816                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
76817                 function declarations.
76818                 * unsetenv.c (unsetenv): Likewise.
76819
76820         2002-03-04  Bruno Haible  <bruno@clisp.org>
76821
76822                 Portability to AIX 4.3.3.
76823                 * unsetenv.c: New file, extracted from setenv.c.
76824                 * setenv.c: Move the unsetenv() function to unsetenv.c.
76825
76826         2001-12-20  Bruno Haible  <bruno@clisp.org>
76827
76828                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
76829                 use malloc instead. For SunOS 4.
76830
76831         2001-12-11  Bruno Haible  <bruno@clisp.org>
76832
76833                 * setenv.c: Declare alloca.
76834                 (compar_fn_t): New typedef.
76835                 (KNOWN_VALUE, STORE_VALUE): Use it.
76836
76837         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
76838         setenv.h.
76839
76840 2002-12-10  Paul Eggert  <eggert@twinsun.com>
76841
76842         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
76843         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
76844         Choose values that are less likely to collide with system fnmatch
76845         options.
76846         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
76847         defined (e.g., a pure POSIX system).
76848         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
76849         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
76850
76851 2002-12-06  Paul Eggert  <eggert@twinsun.com>
76852
76853         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
76854         a pain in practice to deal with generated m4 files.  This change
76855         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
76856
76857         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
76858         and jm-glibc-io.m4, as they are no longer a special case.
76859         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
76860         kludge and the auto-generation stuff.  Check only whether the
76861         functions are declared, not whether they exist, since older hosts
76862         that don't declare the functions can't use the optimization anyway.
76863
76864 2002-12-06  Jim Meyering  <jim@meyering.net>
76865
76866         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
76867
76868         Merge in changes from libc's misc/error.c, in preparation
76869         for the merge of gnulib's changes back into libc.
76870
76871         * lib/error.c (_): Define only if not already defined.
76872         Move definition to follow all #include directives.
76873         Include unlocked-io.h only if !_LIBC.
76874         [_LIBC]: Include <libio/libioP.h>.
76875         [USE_IN_LIBIO]: Include <libio/iolibio.h>
76876         (fflush): Tweak definition to use INTUSE.
76877         (putc): Define.
76878
76879 2002-12-05  Paul Eggert  <eggert@twinsun.com>
76880
76881         * lib/alloca.c [defined emacs]: Include "lisp.h".
76882         (xalloc_die) [defined emacs]: New macro.
76883         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
76884         [! defined emacs]: Include <xalloc.h>.
76885         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
76886         (pointer): Typedef to POINTER_TYPE *.
76887         (malloc): Remove decl; we now always use xmalloc.
76888         (alloca): Use old-style definition, since Emacs needs this.
76889         Check for arithmetic overflow when computing combined size.
76890
76891 2002-12-04  Paul Eggert  <eggert@twinsun.com>
76892
76893         Do not generate unlocked-io.h automatically, since it's easier to
76894         maintain it by hand.
76895
76896         * lib/unlocked-io.h: New file, from GNU diffutils,
76897         but with proper copyright notice and attribution.
76898         * lib/gen-uio: Remove.
76899         * lib/Makefile.am: Add copyright notice.
76900         (libfetish_a_SOURCES): Add unlocked-io.h.
76901         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
76902         (DISTCLEANFILES, io_functions): Remove macros.
76903         (EXTRA_DIST): Remove gen_uio.
76904         (unlocked-io.h): Remove rule.
76905
76906 2002-12-04  Jim Meyering  <jim@meyering.net>
76907
76908         Reflect the fact that stat.c and lstat.c are no longer generated.
76909         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
76910         (DISTCLEANFILES): Likewise.
76911         (EXTRA_DIST): Likewise.
76912         (all_local): Don't depend on stat.c or lstat.c.
76913         (stat.c, lstat.c): Remove rules.
76914         (EXTRA_DIST): Remove xstat.in.
76915
76916         * lib/xstat.in: Remove file.  Contents moved into stat.c.
76917         * lib/stat.c: New file.  Contents mostly from xstat.in.
76918         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
76919         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
76920
76921         * lib/safe-read.c: Rework so that it may serve to define safe_write,
76922         too.
76923         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
76924
76925 2002-12-03  Jim Meyering  <jim@meyering.net>
76926
76927         * lib/safe-read.c, safe-write.c: Change variable names and comments,
76928         but not semantics, to minimize the differences between these two files.
76929         (safe_read): Change comment to mention SAFE_READ_ERROR.
76930
76931         * lib/safe-read.c (IS_EINTR): Define.
76932         (safe_read): Use IS_EINTR in place of in-function cpp directives.
76933
76934 2002-12-02  Jim Meyering  <jim@meyering.net>
76935
76936         * lib/safe-read.c (EINTR): Define.
76937         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
76938         (INT_MAX): Provide fallback.
76939         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
76940
76941         * lib/safe-read.h (SAFE_READ_ERROR): Define.
76942
76943 2002-12-02  Bruno Haible  <bruno@clisp.org>
76944
76945         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
76946         Define, taken from safe-read.c.
76947         (INT_MAX): Provide fallback.
76948         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
76949         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
76950
76951         * lib/safe-read.c (EINTR): Remove definition.
76952         (safe_read): Don't use EINTR if it is absent.
76953
76954 2002-12-01  Jim Meyering  <jim@meyering.net>
76955
76956         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
76957         zero.
76958         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
76959
76960 2002-11-27  Paul Eggert  <eggert@twinsun.com>
76961
76962         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
76963         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
76964         with `if (! (value < limit)) abort ();', for readability.
76965
76966 2002-11-26  Karl Berry  <karl@gnu.org>
76967
76968         * lib/strdup.c: copy from libc again, with jim's ok.
76969         * lib/.cppi-disable: re-add strdup.c
76970
76971 2002-11-25  Karl Berry  <karl@gnu.org>
76972
76973         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
76974         instead of "strtol.c".
76975
76976 2002-11-25  Karl Berry  <karl@gnu.org>
76977
76978         * config/install-sh: update from automake for variable quoting, $0 in
76979         error msgs, etc.
76980
76981         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
76982         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
76983         entry.
76984
76985 2002-11-25  Jim Meyering  <jim@meyering.net>
76986
76987         * lib/mktime.c: Sync from libc, now that it has the latest fix.
76988
76989 2002-11-24  Karl Berry  <karl@gnu.org>
76990
76991         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
76992         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
76993
76994 2002-11-24  Jim Meyering  <jim@meyering.net>
76995
76996         Update from coreutils:
76997
76998         * lib/mktime.c: Merge in changes from libc.
76999
77000         Avoid a link-time failure on some Linux systems.
77001         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
77002         (otherwise).
77003         (__mon_yday): Declare with the STATIC attribute.
77004         (__mktime_internal): Likewise.
77005         Based on a report from Greg Schafer.
77006
77007 2002-11-23  Jim Meyering  <jim@meyering.net>
77008
77009         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
77010         Use `unsigned', not `int', as type of index.
77011
77012         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
77013
77014         * lib/fsusage.c: Remove unneeded parentheses around operands of
77015         `defined'.
77016
77017 2002-11-22  Paul Eggert  <eggert@twinsun.com>
77018
77019         * lib/quotearg.h: Allow multiple inclusion by surrounding with
77020         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
77021         so that we can be included first.
77022         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
77023         * lib/quotearg.c: Include quotearg.h immediately after config.h.
77024         No need to include stddef.h or sys/types.h any more.
77025         Surround local include files with "", not "<>".
77026         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
77027         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
77028         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
77029         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
77030         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
77031         (ISPRINT): Remove; no longer needed now that we assume C89.
77032
77033         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
77034         Preserve errno.
77035
77036         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
77037         quotearg_char): Use SIZE_MAX rather than
77038         (size_t) -1 when we are talking about "infinity".
77039
77040         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
77041
77042 2002-11-22  Paul Eggert  <eggert@twinsun.com>
77043
77044         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
77045         hint that one should use `if (! x) abort ();' rather than `assert
77046         (x);', and anyway it's one less thing to worry about configuring.
77047         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
77048         hash_rehash, hash_insert): Use abort rather than assert.
77049
77050 2002-11-22  Bruno Haible  <bruno@clisp.org>
77051
77052         * lib/safe-read.h: Assume C89. Add comments.
77053         (safe_read): Change return type to size_t.
77054         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
77055         byte counts > SSIZE_MAX correctly.
77056         * lib/safe-write.h: New file.
77057         * lib/safe-write.c: New file.
77058         * lib/full-read.h: New file.
77059         * lib/full-read.c: New file.
77060         * lib/full-write.h: Assume C89. Add comments.
77061         * lib/full-write.c: Include safe-write.h.
77062         (full_write): Rewritten to use safe_write.
77063         Suggested by Jim Meyering and Paul Eggert.
77064
77065 2002-11-21  Jim Meyering  <jim@meyering.net>
77066
77067         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
77068
77069         Merge in changes from the coreutils.
77070
77071         2002-09-25  Paul Eggert  <eggert@twinsun.com>
77072         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
77073         <stdint.h>.
77074         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
77075         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
77076         int.  Work more efficiently if X is the same width as uintmax_t.
77077         Do not compare X to -1, to avoid bogus compiler warning.
77078         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
77079         Don't assume that f_frsize and f_bsize are the same type.
77080
77081         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
77082         warning on FreeBSD.
77083
77084         * lib/makepath.c (make_path): Restore umask *before* creating the final
77085         component.
77086         (make_path): Minor reformatting.
77087
77088         * lib/xmalloc.c: Adjust to work with new autoconf macros,
77089         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
77090         HAVE_MALLOC/HAVE_REALLOC.
77091
77092         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
77093         dummy ones.  At least on GNU/Linux systems, `auto' means something
77094         else.
77095         From Michael Stone.
77096
77097 2002-11-21  Bruno Haible  <bruno@clisp.org>
77098
77099         Remove case insensitive option matching.
77100         * lib/argmatch.h (argcasematch): Remove declaration.
77101         (ARGCASEMATCH): Remove macro.
77102         (__xargmatch_internal): Remove case_sensitive argument.
77103         (XARGMATCH): Update.
77104         (XARGCASEMATCH): Remove macro.
77105         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
77106         case_sensitive argument.
77107         (argcasematch): Remove function.
77108         (__xargmatch_internal): Remove case_sensitive argument.
77109         (main): Use XARGMATCH instead of XARGCASEMATCH.
77110
77111         * lib/xmalloc.c: Change compile-time error message. Add comment about
77112         required autoconf version.
77113
77114 2002-11-20  Paul Eggert  <eggert@twinsun.com>
77115
77116         Merge argmatch cleanups from Bison.  Assume C89.
77117
77118         * lib/argmatch.c: Include config.h here, not in argmatch.h.
77119         Include stdlib.h, for EXIT_FAILURE.
77120         Always include <string.h>, since we assume C89.
77121         (EXIT_FAILURE): Remove pre-C89 bug workaround.
77122         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
77123         Include <stddef.h> instead, since it's all we need for size_t.
77124         (PARAMS): Remove.  All uses removed.
77125         (ARRAY_CARDINALITY): Do not bother to #undef.
77126         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
77127         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
77128         Remove unnecessary parentheses.
77129         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
77130         Insert necessary parentheses.
77131         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
77132         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
77133
77134 2002-11-19  Bruno Haible  <bruno@clisp.org>
77135
77136         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
77137         * lib/mbswidth.h: Include <stddef.h>, for size_t.
77138
77139         * lib/mbswidth.h (PARAMS): Remove macro.
77140         (mbswidth, mbsnwidth): Use ANSI C function declarations.
77141         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
77142
77143         * lib/gcd.h (PARAMS): Remove macro.
77144         (gcd): Use ANSI C function declarations.
77145         * lib/gcd.c (gcd): Likewise.
77146
77147 2002-11-15  Bruno Haible  <bruno@clisp.org>
77148
77149         * lib/strcspn.c: Include <stddef.h>.
77150         (strcspn): Use ANSI C function declaration. Change return type to
77151         size_t. Use NULL.
77152         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
77153         (strpbrk): Use NULL.
77154         * lib/strpbrk.h (PARAMS): Remove macro.
77155         (strpbrk): Use ANSI C function declaration.
77156         * lib/strstr.c: Don't include <sys/types.h>.
77157         * lib/strstr.h (PARAMS): Remove macro.
77158         (strstr): Use ANSI C function declarations.
77159
77160 2002-11-14  Karl Berry  <karl@gnu.org>
77161
77162         * config/mkinstalldirs: `do' on separate line, instead of
77163         `for var; do'.
77164
77165 2002-11-06  Bruno Haible  <bruno@clisp.org>
77166
77167         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
77168         * lib/gcd.c (gcd): Likewise.
77169
77170 2002-11-05  Bruno Haible  <bruno@clisp.org>
77171
77172         * lib/gcd.h: New file, from gettext-0.11.5.
77173         * lib/gcd.c: New file, from gettext-0.11.5.
77174
77175 2002-11-05  Bruno Haible  <bruno@clisp.org>
77176
77177         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
77178         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
77179         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
77180         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
77181
77182         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
77183         <libintl.h>.
77184         * lib/makepath.c: Include gettext.h instead of <locale.h> and
77185         <libintl.h>.
77186
77187         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
77188         * lib/human.c: Include gettext.h instead of <libintl.h>.
77189         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
77190         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
77191         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
77192         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
77193         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
77194         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
77195         (textdomain): Remove definition.
77196         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
77197
77198         * lib/long-options.c: Remove include of <libintl.h> and definition of
77199         _.
77200         * lib/same.c: Remove include of <libintl.h> and definition of _.
77201
77202 2002-11-04  Owen Taylor  <otaylor@redhat.com>
77203
77204         * lib/config.charset: A few additions for Solaris.
77205
77206 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
77207
77208         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
77209         * lib/localcharset.c (locale_charset): Declare as extern "C".
77210
77211 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
77212
77213         * lib/config.charset: msdos in uk_UA uses CP1125.
77214
77215 2002-11-04  Bruno Haible  <bruno@clisp.org>
77216
77217         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
77218         * lib/strcase.h: New file, from GNU gettext-0.11.5.
77219         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
77220         * lib/strstr.h: New file, from GNU gettext-0.11.5.
77221         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
77222
77223 2002-11-04  Bruno Haible  <bruno@clisp.org>
77224
77225         * lib/localcharset.c (locale_charset): Don't return an empty string.
77226
77227 2002-11-04  Bruno Haible  <bruno@clisp.org>
77228
77229         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
77230         aliases.
77231
77232 2002-11-04  Bruno Haible  <bruno@clisp.org>
77233
77234         * lib/config.charset: Update for newest glibc. Add canonical names
77235         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
77236
77237 2002-11-04  Bruno Haible  <bruno@clisp.org>
77238
77239         * lib/config.charset: Add support for NetBSD.
77240
77241 2002-11-04  Bruno Haible  <bruno@clisp.org>
77242
77243         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
77244
77245 2002-11-01  Bruno Haible  <bruno@clisp.org>
77246
77247         * configure.in: Add AC_CONFIG_AUX_DIR call.
77248         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
77249         test/Makefile.
77250         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
77251
77252 2002-09-28  Karl Berry  <karl@gnu.org>
77253
77254         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
77255         installed automake until the next release, since changes have been
77256         made.
77257
77258 2002-09-25  Karl Berry  <karl@gnu.org>
77259
77260         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
77261         * lib/getopt*: copy from libc/posix.
77262         * lib/gettext.h: copy from gettext.
77263         * lib/.cppi-disable: add strdup.c, gettext.h.
77264
77265 2002-09-25  Karl Berry  <karl@gnu.org>
77266
77267         * config/srclist.txt: enable gettext.h check.
77268         * config/config.{guess,sub}: update from prep.
77269         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
77270                 from automake 1.6.3.
77271         See srclist*.
77272
77273 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
77274
77275         * regex.c (PATFETCH): Remove the translating fetch.
77276         (PATFETCH_RAW): Rename to PATFETCH.
77277         (set_image_of_range): New fun.
77278         (SET_RANGE_TABLE_WORK_AREA): Use it.
77279         (regex_compile): Don't translate the pattern chars so eagerly.
77280         Only do it when inserting an `exactn' bytecode or when handling
77281         a char-range.
77282         (mutually_exclusive_p): Avoid empty statement.
77283
77284 2002-07-06  Jim Meyering  <meyering@lucent.com>
77285
77286         * m4/README: Don't mention Makefile.am.in.
77287         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
77288
77289 2002-07-01  Jim Meyering  <meyering@lucent.com>
77290
77291         * lib/c-stack.c: Include sys/time.h.
77292         From Volker Borchert.
77293
77294 2002-06-26  Paul Eggert  <eggert@twinsun.com>
77295
77296         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
77297
77298 2002-06-26  Paul Eggert  <eggert@twinsun.com>
77299
77300         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
77301         New macro.  Use it uniformly instead of
77302         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
77303         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
77304         reported by Vin Shelton.
77305
77306 2002-06-22  Paul Eggert  <eggert@twinsun.com>
77307
77308         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
77309         Do not assume SA_SIGINFO behavior.
77310         Bug reported by Jim Meyering on NetBSD 1.5.2.
77311
77312 2002-06-22  Jim Meyering  <meyering@lucent.com>
77313
77314         * m4/c-stack.m4: New file, from diffutils-2.8.2.
77315         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
77316
77317         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
77318         now that configure.ac uses AC_GNU_SOURCE.
77319         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
77320         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
77321
77322         Update to latest tools.  Suggestions from Paul Eggert.
77323         * m4/stdbool.m4: New file, from diffutils-2.8.2.
77324         * m4/gnu-source.m4: Update from diffutils-2.8.2.
77325         * m4/fnmatch.m4: Likewise.
77326         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
77327         to AC_HEADER_STDBOOL
77328
77329 2002-06-22  Jim Meyering  <meyering@lucent.com>
77330
77331         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
77332         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
77333
77334 2002-06-22  Jim Meyering  <meyering@lucent.com>
77335
77336         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
77337
77338         * lib/exitfail.c, exitfail.h: Likewise.
77339         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
77340
77341         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
77342         of fnmatch.h.
77343         (EXTRA_DIST): Add fnmatch_loop.c.
77344         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
77345
77346         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
77347         * lib/fnmatch.c: Update from diffutils-2.8.2.
77348         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
77349         * lib/fnmatch.h: Remove file.
77350
77351 2002-06-21  Jim Meyering  <meyering@lucent.com>
77352
77353         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
77354         * m4/mbrtowc.m4: Likewise.
77355
77356         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
77357         * m4/mbswidth.m4: Reflect name change:
77358         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
77359         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
77360
77361         * m4/lib-link.m4: Update from gettext-0.11.2.
77362         * m4/gettext.m4: Likewise.
77363
77364         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
77365         From Alfred M. Szmidt.
77366
77367 2002-06-18  Paul Eggert  <eggert@twinsun.com>
77368
77369         * lib/file-type.h: Report an error if neither S_ISREG nor
77370         S_IFREG is defined, instead of using a test specific to glibc
77371         2.2.  This should be safe, since POSIX requires S_ISREG and
77372         Unix Version 7 had S_IFREG.  We don't need to check for
77373         <sys/types.h> since we don't use any symbols that it defines.
77374
77375 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
77376
77377         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
77378         $@-t, so that each temporary file name is unique and valid in the first
77379         8 characters, for operation under DOS.
77380
77381 2002-06-15  Paul Eggert  <eggert@twinsun.com>
77382
77383         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
77384
77385 2002-06-15  Jim Meyering  <meyering@lucent.com>
77386
77387         Work even with DJGPP 2.03, which lacks support for symlinks.
77388         From Richard Dawe.
77389         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
77390         is defined.
77391         * lib/lchown.c (S_ISLNK): Likewise.
77392
77393 2002-06-15  Jim Meyering  <meyering@lucent.com>
77394
77395         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
77396         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
77397         have been included before this file.
77398
77399 2002-06-14  Jim Meyering  <meyering@lucent.com>
77400
77401         * lib/file-type.h: Use the version from diffutils-2.8.2.
77402         * lib/file-type.c: Likewise.
77403
77404 2002-06-07  Jim Meyering  <meyering@lucent.com>
77405
77406         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
77407         They're needed at least for NetBSD 1.5.2.
77408         ($statxfs_includes): Include those same headers.
77409         ($statxfs_includes): Include sys/vfs.h if available.
77410         ($statxfs_includes): Likewise for sys/statvfs.h.
77411         Check for the following members in both structs statfs and statvfs:
77412         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
77413
77414 2002-06-01  Jim Meyering  <meyering@lucent.com>
77415
77416         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
77417         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
77418
77419 2002-05-28  Jim Meyering  <meyering@lucent.com>
77420
77421         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
77422         Reported by Volker Borchert.
77423
77424 2002-05-27  Jim Meyering  <meyering@lucent.com>
77425
77426         Fix a problem seen only on nonconforming systems whereby ls.c's
77427         use of localtime, and then of gettimeofday would cause trouble:
77428         the localtime call used to initialize rpl_gettimeofday's save
77429         mechanism would clobber ls's current local time information so
77430         that in any long listing the first file would always be listed
77431         with date 1970-01-01.  Analysis by Volker Borchert.
77432
77433         * lib/gettimeofday.c (localtime): Undefine.
77434         (rpl_localtime): New function.
77435
77436 2002-05-27  Jim Meyering  <meyering@lucent.com>
77437
77438         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
77439         localtime.
77440
77441         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
77442         use the replacement function; it wouldn't resolve at link time.
77443         Reported by Volker Borchert.
77444
77445 2002-05-22  Jim Meyering  <meyering@lucent.com>
77446
77447         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
77448         file-type.h.
77449         * lib/file-type.h: New file.
77450         * lib/file-type.c (file_type): New file/function.  Extracted from
77451         diffutils.
77452
77453 2002-04-30  Jim Meyering  <meyering@lucent.com>
77454
77455         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
77456
77457 2002-04-29  Paul Eggert  <eggert@twinsun.com>
77458
77459         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
77460
77461 2002-04-29  Paul Eggert  <eggert@twinsun.com>
77462
77463         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
77464         Do not check for alloca.h (no longer used) or stdbool.h (was never
77465         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
77466
77467 2002-04-29  Paul Eggert  <eggert@twinsun.com>
77468
77469         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
77470
77471 2002-04-29  Jim Meyering  <meyering@lucent.com>
77472
77473         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
77474         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
77475         Use AC_FUNC_STRNLEN here instead.
77476
77477         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
77478         With autoconf-2.53a, it's part of AC_PROG_CC.
77479
77480 2002-04-28  Paul Eggert  <eggert@twinsun.com>
77481
77482         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
77483         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
77484
77485 2002-04-28  Paul Eggert  <eggert@twinsun.com>
77486
77487         * lib/sig2str.h, lib/sig2str.c: New files.
77488         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
77489
77490 2002-04-28  Paul Eggert  <eggert@twinsun.com>
77491
77492         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
77493         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
77494         of 127, since 64 is the largest conceivable number for ancient
77495         nonstandard hosts.
77496         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
77497
77498 2002-04-28  Jim Meyering  <meyering@lucent.com>
77499
77500         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
77501
77502 2002-04-24  Jim Meyering  <meyering@lucent.com>
77503
77504         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
77505         (jm_PREREQ): Use it.
77506
77507         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
77508         mach/mach.h fcntl.h.
77509         Check for this function: setlocale.
77510
77511 2002-04-24  Jim Meyering  <meyering@lucent.com>
77512
77513         * lib/gettext.h: New file, from Gettext.
77514         * lib/Makefile.am (INCLUDES): Remove -I../intl.
77515         (libfetish_a_SOURCES): Add gettext.h.
77516
77517 2002-04-16  Jim Meyering  <meyering@lucent.com>
77518
77519         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
77520         ut_pid, ut_id, ut_exit.
77521
77522 2002-04-16  Jim Meyering  <meyering@lucent.com>
77523
77524         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
77525         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
77526         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
77527
77528 2002-04-12  Jim Meyering  <meyering@lucent.com>
77529
77530         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
77531         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
77532         existence of the getmntinfo function.  Needed for Darwin 5.3.
77533
77534         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
77535         This is necessary at least on Darwin 5.3.
77536
77537         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
77538         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
77539         strnlen.o in the library, and that makes some versions of ranlib
77540         object.
77541
77542 2002-04-12  Jim Meyering  <meyering@lucent.com>
77543
77544         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
77545
77546 2002-04-09  Jim Meyering  <meyering@lucent.com>
77547
77548         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
77549         to be more precise.  Rather than saying we're checking whether the
77550         function `works', say what we're testing.
77551         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
77552         Reported by Bruno Haible.
77553
77554 2002-03-10  Jim Meyering  <meyering@lucent.com>
77555
77556         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
77557         Suggestion from Santiago Vila.
77558
77559 2002-03-08  Jim Meyering  <meyering@lucent.com>
77560
77561         * lib/rename.c: Mention that this wrapper is needed also on
77562         mips-dec-ultrix4.4 systems.
77563
77564 2002-03-02  Jim Meyering  <meyering@lucent.com>
77565
77566         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
77567         not HAVE_CLOCK_SETTIME.
77568
77569 2002-02-27  Paul Eggert  <eggert@twinsun.com>
77570
77571         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
77572         Check for clock_settime.
77573
77574 2002-02-27  Paul Eggert  <eggert@twinsun.com>
77575
77576         * lib/nanosleep.h: Rename to....
77577         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
77578
77579         * lib/gettime.c: New file.
77580         * lib/settime.c: New file.
77581         * lib/stime.c: Remove.
77582
77583         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
77584         timespec.h.  Remove nanosleep.h.
77585
77586 2002-02-25  Paul Eggert  <eggert@twinsun.com>
77587
77588         * m4/acl.m4: New file.
77589         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
77590         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
77591
77592 2002-02-25  Paul Eggert  <eggert@twinsun.com>
77593
77594         * lib/acl.c, lib/acl.h: New files.
77595         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
77596
77597 2002-02-24  Jim Meyering  <meyering@lucent.com>
77598
77599         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
77600         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
77601         cause trouble.  Reported by Nelson Beebe.
77602
77603 2002-02-23  Paul Eggert  <eggert@twinsun.com>
77604
77605         * lib/path-concat.c (xpath_concat): Reorder code to pacify
77606         compilers that don't know that xalloc_die never returns.
77607
77608 2002-02-20  Jim Meyering  <meyering@lucent.com>
77609
77610         * lib/getdate.c: Regenerate using bison-1.33.
77611
77612 2002-02-17  Jim Meyering  <meyering@lucent.com>
77613
77614         * config/config.guess (main): Don't use `head -1'; it's no longer
77615         portable. Use `sed 1q' instead.
77616
77617 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
77618
77619         * m4/codeset.m4: Upgrade to gettext-0.11.
77620         * m4/gettext.m4: Upgrade to gettext-0.11.
77621         * m4/glibc21.m4: Upgrade to gettext-0.11.
77622         * m4/iconv.m4: Upgrade to gettext-0.11.
77623         * m4/isc-posix.m4: Upgrade to gettext-0.11.
77624         * m4/lcmessage.m4: Upgrade to gettext-0.11.
77625         * m4/lib-ld.m4: New file, from gettext-0.11.
77626         * m4/lib-link.m4: New file, from gettext-0.11.
77627         * m4/lib-prefix.m4: New file, from gettext-0.11.
77628         * m4/progtest.m4: Upgrade to gettext-0.11.
77629
77630 2002-02-15  Paul Eggert  <eggert@twinsun.com>
77631
77632         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
77633         (jm_PREREQ): Use it.
77634
77635 2002-02-15  Paul Eggert  <eggert@twinsun.com>
77636
77637         * lib/posixver.c, lib/posixver.h: New files.
77638         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
77639
77640 2002-02-02  Paul Eggert  <eggert@twinsun.com>
77641             Bruno Haible  <bruno@clisp.org>
77642
77643         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
77644         (fwrite_success_callback): New declaration.
77645         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
77646         print_unicode_char. Call failure callback instead of error.
77647         (fwrite_success_callback): New function.
77648         (exit_failure_callback): New function.
77649         (fallback_failure_callback): New function.
77650         (print_unicode_char): Call unicode_to_mb.
77651
77652 2002-01-26  Jim Meyering  <meyering@lucent.com>
77653
77654         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
77655         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
77656
77657 2002-01-26  Jim Meyering  <meyering@lucent.com>
77658
77659         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
77660
77661 2002-01-22  Paul Eggert  <eggert@twinsun.com>
77662
77663         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
77664
77665 2002-01-22  Jim Meyering  <meyering@lucent.com>
77666
77667         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
77668         Otherwise, some versions of automake would omit the rule that makes
77669         Makefile from Makefile.in.
77670
77671 2002-01-21  Paul Eggert  <eggert@twinsun.com>
77672
77673         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
77674         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
77675         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
77676         (memcoll): Set errno to zero if there is no error.
77677
77678         * lib/quotearg.c (quotearg_buffer_restyled):
77679         Fix bug with quoting buffers containing NUL when backslashing escapes.
77680         This bug was exposed by the other changes in this patch.
77681         (quotearg_n_options): New arg ARGSIZE.
77682         All callers changed.
77683         (quoting_options_from_style): New function.
77684         (quotearg_n_style): Use it.
77685         (quotearg_n_style_mem): New function.
77686
77687         * lib/quotearg.h (quotearg_n_style_mem): New function.
77688
77689 2002-01-19  Jim Meyering  <meyering@lucent.com>
77690
77691         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
77692         Remove useless quotes: DF_PROG="df".
77693         * m4/strnlen.m4: New file.
77694
77695 2002-01-16  Paul Eggert  <eggert@twinsun.com>
77696
77697         * lib/backupfile.c (ISDIGIT): Comment fix.
77698         * lib/getdate.y (ISDIGIT): Likewise.
77699         * lib/posixtm.c (ISDIGIT, year): Likewise.
77700         * lib/strverscmp.c (ISDIGIT): Likewise.
77701         * lib/userspec.c (ISDIGIT): Likewise.
77702
77703 2002-01-16  Jim Meyering  <meyering@lucent.com>
77704
77705         * lib/getdate.y: Add three semicolons, each just before a closing
77706         brace. Bison (as of version 1.31) no longer papers over that mistake.
77707
77708 2002-01-05  Jim Meyering  <meyering@lucent.com>
77709
77710         * lib/version-etc.c (version_etc_copyright): Update copyright year.
77711
77712 2001-12-19  Paul Eggert  <eggert@twinsun.com>
77713
77714         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
77715         not silently exit merely because the output buffer happens to
77716         have nothing pending.
77717
77718 2001-12-18  Paul Eggert  <eggert@twinsun.com>
77719
77720         See the big note in ../ChangeLog.
77721         * lib/human.c (suffixes): Prefer K to k for 1024.
77722         (generate_suffix_backwards): New function.
77723         (human_readable_inexact): Use it.
77724         * lib/xstrtol.c (__xstrtol): If there is no number but there
77725         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
77726         Accept 'K' as well as 'k'.
77727
77728 2001-12-15  Jim Meyering  <meyering@lucent.com>
77729
77730         * lib/regex.h (__restrict_arr): Update from libc.
77731
77732         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
77733         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
77734         (STREQ): Define.
77735
77736 2001-12-14  Jim Meyering  <meyering@lucent.com>
77737
77738         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
77739         Suggestion from Bruno Haible.
77740
77741 2001-12-10  Jim Meyering  <meyering@lucent.com>
77742
77743         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
77744         xrealloc, Instead, include "xalloc.h".
77745         (initbuffer): Don't cast xmalloc return value to char*.
77746         (readline): Reword comment.
77747         Don't cast xrealloc return value to char*
77748         Return NULL, not 0.
77749
77750 2001-12-09  Jim Meyering  <meyering@lucent.com>
77751
77752         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
77753         about `signed and unsigned type in conditional expression'.
77754         * lib/posixtm.c (posix_time_parse): Likewise.
77755
77756         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
77757
77758         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
77759         to avoid a pedantic warning.
77760
77761         * lib/getstr.c: Don't include assert.h.
77762         (getstr): Remove warning-evoking assertions.
77763         Return -1 if offset parameter is out of bounds.
77764         Change the type of a local from int to size_t.
77765
77766         * lib/strftime.c (my_strftime_localtime_r): Include this function
77767         definition in the `#if ! HAVE_TM_GMTOFF' block.
77768
77769         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
77770         Include xalloc.h instead.
77771
77772 2001-12-02  Jim Meyering  <meyering@lucent.com>
77773
77774         * lib/tempname.c: Don't declare getenv, thus reverting the change of
77775         2001-11-18.  It's no longer necessary, now that stdlib.h is always
77776         included.
77777
77778         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
77779         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
77780
77781 2001-11-30  Akim Demaille  <akim@epita.fr>
77782
77783         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
77784         before being defined.
77785
77786 2001-11-27  Paul Eggert  <eggert@twinsun.com>
77787
77788         * lib/quotearg.h (quotearg_n, quotearg_n_style):
77789         First arg is int, not unsigned.
77790         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
77791         (SIZE_MAX, UINT_MAX): New macros.
77792         (quotearg_n_options): Abort if N is negative.
77793         Avoid overflow check on hosts where size_t is 64 bits and int
77794         is 32 bits, as overflow is impossible there.
77795         Fix off-by-one typo that caused unnecessary reallocation.
77796
77797 2001-11-27  Jim Meyering  <meyering@lucent.com>
77798
77799         * lib/tempname.c: Merge with version from libc.
77800         * lib/regex.c: Likewise.
77801
77802         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
77803         systems for which STDC_HEADERS is 0, it was not included, resulting in
77804         a warning about an integer-to-pointer conversion problem with getenv.
77805         Reported by Volker Borchert.
77806
77807 2001-11-26  Jim Meyering  <meyering@lucent.com>
77808
77809         * lib/gtod.h: Remove file.
77810         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
77811         * lib/gettimeofday.c: Don't include gtod.h.
77812         (GTOD_init): Remove function.
77813         (rpl_gettimeofday): Do its job here instead, rather than aborting.
77814         Suggestion from Volker Borchert.
77815
77816 2001-11-23  Jim Meyering  <meyering@lucent.com>
77817
77818         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
77819         it.
77820         * lib/hash.c (struct hash_table): Define it here instead.
77821
77822 2001-11-22  Jim Meyering  <meyering@lucent.com>
77823
77824         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
77825
77826 2001-11-20  Jim Meyering  <meyering@lucent.com>
77827
77828         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
77829         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
77830
77831 2001-11-19  Jim Meyering  <meyering@lucent.com>
77832
77833         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
77834         directory.  Use "conftestXXXXXX" as the template.
77835         Suggestion from Paul Eggert.
77836
77837         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
77838         immediately, so the test doesn't mistakenly hit the max-open-files
77839         limit.
77840
77841 2001-11-18  Paul Eggert  <eggert@twinsun.com>
77842
77843         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
77844         (TEMPORARIES): New macro.
77845         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
77846         removes an artificial limitation (e.g. HP-UX 10.20, where
77847         TMP_MAX is 17576).
77848
77849 2001-11-18  Jim Meyering  <meyering@lucent.com>
77850
77851         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
77852
77853 2001-11-18  Jim Meyering  <meyering@lucent.com>
77854
77855         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
77856         on SunOS 4.
77857
77858         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
77859         files will be created before anything else.
77860
77861 2001-11-17  Paul Eggert  <eggert@twinsun.com>
77862
77863         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
77864         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
77865
77866 2001-11-17  Jim Meyering  <meyering@lucent.com>
77867
77868         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
77869         Prompted by a report from Bob Proulx.
77870
77871         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
77872         Instead, require UTILS_FUNC_MKSTEMP.
77873
77874 2001-11-17  Jim Meyering  <meyering@lucent.com>
77875
77876         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
77877         Now, that's done as part of AC_FUNC_STRTOD.
77878
77879 2001-11-17  Jim Meyering  <meyering@lucent.com>
77880
77881         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
77882         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
77883         rather than group writable.  Patch by Juan F. Codagnone.
77884
77885         * lib/readtokens.c: Remove explicit declarations of xmalloc and
77886         xrealloc, Instead, include "xalloc.h".
77887
77888         * lib/mountlist.c: Include unlocked-io.h after all system headers.
77889         Remove explicit declarations of xmalloc, xrealloc,
77890         and xstrdup.  Instead, include "xalloc.h".
77891
77892         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
77893         unlocked-io.h.
77894         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
77895         Likewise.
77896         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
77897
77898         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
77899         Reported by Padraig Brady.
77900
77901         * lib/mkstemp.c: #undef mkstemp.
77902         Include config.h.
77903         (rpl_mkstemp): Rename from mkstemp.
77904         Protoize.
77905
77906 2001-11-16  Jim Meyering  <meyering@lucent.com>
77907
77908         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
77909         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
77910         determine the amount of total physical memory, use pstat_getstatic.
77911         HPUX-11 doesn't define _SC_PHYS_PAGES.
77912         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
77913         If sysconf couldn't be used to determine the amount of available
77914         physical memory, use both pstat_getstatic and pstat_getdynamic.
77915         Based on a patch from Bob Proulx.
77916
77917 2001-11-10  Jim Meyering  <meyering@lucent.com>
77918
77919         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
77920         (jm_PREREQ): Use it.
77921
77922 2001-11-09  Jim Meyering  <meyering@lucent.com>
77923
77924         * m4/jm-macros.m4: Require autoconf-2.52f.
77925         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
77926         Use these AC_-prefixed names, not the AM_-prefixed ones.
77927
77928         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
77929
77930 2001-11-05  Jim Meyering  <meyering@lucent.com>
77931
77932         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
77933
77934 2001-11-04  Jim Meyering  <meyering@lucent.com>
77935
77936         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
77937         $DEFS.
77938
77939 2001-11-03  Jim Meyering  <meyering@lucent.com>
77940
77941         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
77942         of AC_DEFUN.
77943
77944         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
77945         know the name of the variable in the macro definition.
77946
77947 2001-11-03  Jim Meyering  <meyering@lucent.com>
77948
77949         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
77950         in argmatch_to_argument call.
77951
77952         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
77953         argument.
77954
77955         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
77956         e.g., a fault due to an attempt to free a NULL pointer.
77957
77958 2001-11-01  Jim Meyering  <meyering@lucent.com>
77959
77960         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
77961         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
77962
77963 2001-11-01  Jim Meyering  <meyering@lucent.com>
77964
77965         * lib/dirfd.c, lib/dirfd.h: New files.
77966         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
77967
77968         * lib/hash.c (hash_print) [TESTING]: Clean up.
77969
77970 2001-10-22  Paul Eggert  <eggert@twinsun.com>
77971
77972         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
77973         to avoid a warning if -Wall.
77974
77975 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
77976
77977         * README: New file
77978         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
77979         (per RMS's instructions, this is now the canonical source)
77980         * lgpl/, gpl/: New directories.
77981
77982 2001-10-21  Paul Eggert  <eggert@twinsun.com>
77983
77984         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
77985
77986 2001-10-21  Jim Meyering  <meyering@lucent.com>
77987
77988         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
77989         this code would end up calling gettext even in packages built
77990         with --disable-nls.
77991         * lib/getopt.c (_): Likewise.
77992         * lib/regex.c (_): Likewise.
77993
77994 2001-10-20  Paul Eggert  <eggert@twinsun.com>
77995
77996         * m4/error.m4 (jm_PREREQ_ERROR):
77997         Do not invoke AC_CHECK_FUNCS with strerror_r, as
77998         AC_FUNC_STRERROR_R does that.
77999         Check for strerror declaration.
78000
78001         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
78002         are supposed to have them these days.
78003         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
78004         Merge changes from latest Autoconf CVS.
78005         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
78006         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
78007         POSIX decided to standardize on the int flavor of strerror_r.
78008
78009 2001-10-20  Paul Eggert  <eggert@twinsun.com>
78010
78011         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
78012         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
78013         Use strerror_r that is only a macro, even if it is not a function.
78014         (strerror): Check for HAVE_DECL_STRERROR before declaring.
78015         (private_strerror): Use prototypes, not old-style function definition.
78016         (print_errno_message): New function.
78017         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
78018         char*-flavored one.
78019         (error_tail, error, error_at_line): Use it.
78020
78021 2001-10-11  Jim Meyering  <meyering@lucent.com>
78022
78023         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
78024         and quote_n (1, ... to avoid clobbering a buffer.
78025
78026 2001-10-05  Jim Meyering  <meyering@lucent.com>
78027
78028         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
78029         hash-pjw.h.
78030         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
78031         * lib/hash-pjw.h: New file.
78032
78033 2001-09-30  Jim Meyering  <meyering@lucent.com>
78034
78035         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
78036         `struct fsstat' has the `f_fstypename' member.
78037         Use that to define FS_TYPE, which is now used to make
78038         the getfsstat link test tighter.
78039
78040 2001-09-30  Jim Meyering  <meyering@lucent.com>
78041
78042         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
78043         Include <sys/ucred.h>, for Apple Darwin.
78044         Include sys/mount.h and sys/fs_types.h only if available.
78045         (FS_TYPE): Define.
78046         (read_filesystem_list): Use FS_TYPE.
78047
78048 2001-09-29  Paul Eggert  <eggert@twinsun.com>
78049
78050         * lib/exclude.c (excluded_filename): 0 -> false, since it's
78051         a boolean context.
78052
78053 2001-09-29  Jim Meyering  <meyering@lucent.com>
78054
78055         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
78056         [one-argument getmntent function]): Include stdio.h before mntent.h.
78057         SunOS 4.1.x needs it for the declaration of `FILE'.
78058         Patch by Volker Borchert.
78059
78060         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
78061         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
78062         sys/fs_types.h, and make the link-test for getfsstat guard #include
78063         directives with appropriate #if HAVE_*_H tests so that we can
78064         detect getfsstat on Apple Darwin1.3.7 systems.
78065         Reported by Nelson Beebe.
78066         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
78067
78068 2001-09-28  Paul Eggert  <eggert@twinsun.com>
78069
78070         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
78071         #defines strtoimax.  Also treat the other strto* functions
78072         like strtoimax.
78073
78074         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
78075         Check for strtoul and strtoumax,
78076         as those declarations are made even in the signed case.
78077         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
78078         Likewise, for strtol and strtoimax.
78079
78080 2001-09-28  Paul Eggert  <eggert@twinsun.com>
78081
78082         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
78083         #defines strtoimax.  Also treat the other strto* functions
78084         like strtoimax.
78085
78086         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
78087         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
78088         (strtoimax, strtoumax): Do not declare if already defined as a macro.
78089
78090 2001-09-26  Jim Meyering  <meyering@lucent.com>
78091
78092         Most macros in unlocked-io.h had the wrong number of arguments.
78093         * lib/gen-uio: New script.
78094         (USE_UNLOCKED_IO): Define to 1 if not already defined.
78095         * lib/unlocked-io.hin: Remove file.
78096         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
78097         rather than trying to embed it here.
78098         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
78099         Reported by Padraig Brady.
78100
78101 2001-09-25  Volker Borchert  <bt@teknon.de>
78102
78103         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
78104         `result'.
78105
78106 2001-09-24  Jim Meyering  <meyering@lucent.com>
78107
78108         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
78109
78110 2001-09-23  Jim Meyering  <meyering@lucent.com>
78111
78112         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
78113         instead of the mere test for existence of mntent.h.  The latter
78114         would get a false-positive on AIX 3.4 systems.
78115         In the outer getmntent if-block, don't die if neither of the getmntent
78116         tests succeeds.  Instead, just fall through and continue with the
78117         remaining tests.
78118
78119 2001-09-23  Jim Meyering  <meyering@lucent.com>
78120
78121         * lib/mountlist.c: Remove useless parentheses in #if directives.
78122         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
78123         the deprecated MOUNTED symbol is no longer defined in mntent.h.
78124
78125 2001-09-22  Jim Meyering  <meyering@lucent.com>
78126
78127         * m4/gettext.m4: New file.  From gettext.
78128         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
78129         * m4/progtest.m4: Likewise
78130         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
78131         * m4/glibc21.m4: Likewise.
78132
78133         * m4/libintl.m4: Remove.  No longer used.
78134
78135 2001-09-22  Jim Meyering  <meyering@lucent.com>
78136
78137         * lib/localcharset.c: Update from latest gettext.
78138         * lib/config.charset: Likewise.
78139
78140 2001-09-20  Jim Meyering  <meyering@lucent.com>
78141
78142         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
78143         strtoimax.
78144         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
78145         strtoumax.
78146
78147 2001-09-20  Jim Meyering  <meyering@lucent.com>
78148
78149         * lib/xstrtol.c (strtoimax): Guard declaration with
78150         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
78151         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
78152         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
78153         (strtoumax): Likewise, for completeness (it wasn't necessary).
78154
78155 2001-09-17  Paul Eggert  <eggert@twinsun.com>
78156
78157         * lib/strtoimax.c (HAVE_LONG_LONG):
78158         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
78159         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
78160         to work around bug in IBM C compiler.
78161
78162 2001-09-17  Jim Meyering  <meyering@lucent.com>
78163
78164         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
78165         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
78166         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
78167         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
78168         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
78169         whenever the right hand side need not be expanded by the shell.
78170
78171 2001-09-16  Paul Eggert  <eggert@twinsun.com>
78172
78173         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
78174         library.  It's not correct, as some older glibcs are buggy.
78175         fnmatch wasn't fixed until glibc 2.2.
78176
78177         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
78178         special shell magic here.
78179
78180 2001-09-16  Jim Meyering  <meyering@lucent.com>
78181
78182         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
78183         * m4/jm-macros.m4: Require it.
78184
78185 2001-09-16  Jim Meyering  <meyering@lucent.com>
78186
78187         * lib/mkdir.c: New file.
78188
78189 2001-09-15  Jim Meyering  <meyering@lucent.com>
78190
78191         * m4/jm-macros.m4: Check for help2man.
78192
78193 2001-09-11  Jim Meyering  <meyering@lucent.com>
78194
78195         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
78196         The body, by Paul Eggert, was moved here from configure.in.
78197         * m4/jm-macros.m4: Require UTILS_HOST_OS.
78198
78199 2001-09-04  Paul Eggert  <eggert@twinsun.com>
78200
78201         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
78202         (jm_PREREQ): Use it.
78203
78204 2001-09-04  Paul Eggert  <eggert@twinsun.com>
78205
78206         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
78207         Use ssize_t, not int, to store result of readlink.
78208         Check for ssize_t overflow as well as size_t overflow,
78209         as POSIX says the result of readlink is implementation-defined
78210         when ssize_t overflows.
78211         Remove unnecessary cast to char*.
78212         Use free+malloc instead of realloc, as the storage doesn't need
78213         to be preserved and it's clearer and can be more efficient that way.
78214         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
78215         * lib/xreadlink.h (xreadlink): Update prototype.
78216
78217 2001-09-04  Paul Eggert  <eggert@twinsun.com>
78218
78219         * lib/xgetcwd.c: Revert some of the previous change; intead,
78220         fix the HAVE_GETCWD_NULL code to behave more like the
78221         !HAVE_GETCWD_NULL code used to.
78222
78223         Include "xalloc.h".
78224         (xgetcwd): Do not return NULL when memory is exhausted; instead,
78225         invoke xalloc_die.
78226
78227 2001-09-03  Paul Eggert  <eggert@twinsun.com>
78228
78229         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
78230         sys/param.h, as pathmax.h includes them.
78231
78232 2001-09-03  Paul Eggert  <eggert@twinsun.com>
78233
78234         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
78235         (jm_PREREQ_XGETCWD): New macro.
78236
78237         * m4/getcwd.m4: New file.
78238
78239 2001-09-03  Paul Eggert  <eggert@twinsun.com>
78240
78241         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
78242         like the HAVE_GETCWD_NULL code.
78243         Include pathmax.h if not HAVE_GETCWD.
78244         Do not include xalloc.h.
78245         (INITIAL_BUFFER_SIZE): New symbol.
78246         Do not use xmalloc / xrealloc, since the caller is responsible for
78247         handling errors.  Preserve errno around `free' during failure.
78248         Do not overrun buffer when using getwd.
78249
78250 2001-09-03  Paul Eggert  <eggert@twinsun.com>
78251
78252         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
78253         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
78254         getcwd (NULL, 0).
78255
78256 2001-09-03  Paul Eggert  <eggert@twinsun.com>
78257
78258         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
78259         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
78260         spotted by Jim Meyering.
78261
78262 2001-09-03  Jim Meyering  <meyering@lucent.com>
78263
78264         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
78265         failure.
78266
78267 2001-09-02  Jim Meyering  <meyering@lucent.com>
78268
78269         * lib/error.c: Update from GNU libc.
78270
78271 2001-09-01  Jim Meyering  <meyering@lucent.com>
78272
78273         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
78274         Used by df.
78275
78276 2001-09-01  Jim Meyering  <meyering@lucent.com>
78277
78278         * lib/xreadlink.c: New file.
78279         * lib/xreadlink.h: New file.
78280         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
78281         xreadlink.h.
78282
78283         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
78284         doesn't conflict with sparc Solaris 7's definition in
78285         /usr/include/sys/int_types.h.
78286
78287         * lib/exclude.c: Use `""', not `<>' to #include non-system header
78288         files.
78289         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
78290         and strncasecmp as r-values.  Unixware didn't have declarations.
78291
78292 2001-08-31  Paul Eggert  <eggert@twinsun.com>
78293
78294         * lib/xstrtol.h: Add copyright notice.
78295         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
78296         LONGINT_INVALID_SUFFIX_CHAR.
78297
78298 2001-08-31  Paul Eggert  <eggert@twinsun.com>
78299
78300         * lib/xstrtol.c (strtoimax): New decl.
78301
78302 2001-08-31  Paul Eggert  <eggert@twinsun.com>
78303
78304         * lib/xgetcwd.c: Don't include pathmax.h.
78305         Include stdlib.h and unistd.h if available.
78306         Include xalloc.h.
78307         (xmalloc, xstrdup, free): Remove decls.
78308         (xgetcwd): Don't assume sizes fit in unsigned.
78309         Check for overflow when computing sizes.
78310         Simplify reallocation code.
78311
78312 2001-08-31  Paul Eggert  <eggert@twinsun.com>
78313
78314         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
78315         a directory's st_size can have an arbitrary value, so the old
78316         usage could waste an arbitrary amount of memory.  All uses
78317         changed.
78318         * lib/savedir.h: Update prototype.
78319
78320 2001-08-31  Paul Eggert  <eggert@twinsun.com>
78321
78322         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
78323
78324         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
78325         old strtoimax.c.
78326
78327         Also, make the following further changes to make this file's
78328         configuration more similar to that of strtol.c:
78329         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
78330         (strtoumax, uintmax_t, strtoull, strtol): Remove.
78331         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
78332         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
78333         changed to signed values.
78334
78335         And make the following changes as well:
78336         Fix copyright notice, as 1999 was missing.
78337         (verify): New macro.
78338         (strtoimax): Check sizes at compile-time, not run-time.
78339         Prefer strtol to strtoll if both work.
78340         (main): Remove; it was not that useful and was a pain to maintain.
78341
78342         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
78343
78344 2001-08-31  Jim Meyering  <meyering@lucent.com>
78345
78346         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
78347         Use an initial, malloc'd, buffer of length 128 rather than
78348         a statically allocated one of length 1024.
78349
78350 2001-08-30  Paul Eggert  <eggert@twinsun.com>
78351
78352         Simplify code, partly by assuming autoconf 2.52 semantics.
78353
78354         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
78355
78356         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
78357         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
78358         All uses removed.
78359         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
78360         Move AC_REQUIRE to next-to-top level, to avoid confusion.
78361         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
78362         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
78363         jm_AC_HEADER_INTTYPES_H.
78364         * m4/jm-macros.m4 (jm_MACROS): Likewise.
78365
78366         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
78367
78368         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
78369         Quote first arg of AC_DEFUN.
78370         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
78371         since they are needed to parse the include file even if we need
78372         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
78373         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
78374         but with opposite signedness.
78375
78376 2001-08-30  Paul Eggert  <eggert@twinsun.com>
78377
78378         Merge 'exclude' changes from tar 1.13.22.
78379         This fixes one or two unlikely storage allocation overflow bugs,
78380         but doesn't change user-visible behavior otherwise.
78381
78382 2001-08-30  Paul Eggert  <eggert@twinsun.com>
78383
78384         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
78385         (jm_PREREQ_EXCLUDE): New macro.
78386
78387 2001-08-30  Paul Eggert  <eggert@twinsun.com>
78388
78389         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
78390         tm to be declared.
78391
78392 2001-08-30  Paul Eggert  <eggert@twinsun.com>
78393
78394         * lib/hash.c: Remove '2001' from copyright notice.
78395
78396 2001-08-30  Paul Eggert  <eggert@twinsun.com>
78397
78398         * lib/full-write.h: New file.
78399         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
78400         * lib/full-write.c: Correct credits, as cccp.c no longer
78401         exists and anyway it was so heavily changed from the old cccp
78402         code as to be unrecognizable.  Include full-write.h.
78403         (full_write): Return size_t, with short writes meaning failure.
78404         All callers changed.  This fixes a bug with large buffers
78405         on 64-bit hosts.
78406         * lib/utime.c: Include full-write.h.
78407
78408 2001-08-30  Paul Eggert  <eggert@twinsun.com>
78409
78410         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
78411         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
78412         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
78413         Include if available.
78414         (<xalloc.h>): Include
78415         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
78416         (verify): New macro.  Use it to verify that EXCLUDE macros do not
78417         collide with FNM macros.
78418         (struct patopts): New struct.
78419         (struct exclude): Use it, as exclude patterns now come with options.
78420         (new_exclude): Support above changes.
78421         (new_exclude, add_exclude_file):
78422         Initial size must now be a power of two to simplify overflow checking.
78423         (free_exclude, fnmatch_no_wildcards): New function.
78424         (excluded_filename): No longer requires options arg, as the options
78425         are determined by add_exclude.  Now returns bool, not int.
78426         (excluded_filename, add_exclude):
78427         Add support for the fancy new exclusion options.
78428         (add_exclude, add_exclude_file): Now takes int options arg.
78429         Check for arithmetic overflow when computing sizes.
78430         (add_exclude_file): xrealloc might modify errno, so don't
78431         realloc until after errno might be used.
78432
78433         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
78434         New macros.
78435         (free_exclude): New decl.
78436         (add_exclude, add_exclude_file): Now takes int options arg.
78437         (excluded_filename): No longer requires options arg, as the options
78438         are determined by add_exclude.  Now returns bool, not int.
78439
78440 2001-08-30  Paul Eggert  <eggert@twinsun.com>
78441
78442         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
78443
78444 2001-08-27  Jim Meyering  <meyering@lucent.com>
78445
78446         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
78447
78448         * lib/version-etc.c (N_): Remove definition.
78449         Revert most of last change.
78450         Instead, simply don't mark the `Copyright...' string for translation.
78451         Based on advice from Paul Eggert.
78452
78453         * lib/strtoxmax.c: Tweak comment.
78454
78455 2001-08-26  Jim Meyering  <meyering@lucent.com>
78456
78457         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
78458
78459         * m4/xstrtoimax.m4: New file.
78460         * m4/xstrtoumax.m4: Add comments explaining why we
78461         AC_REPLACE_FUNCS(strtol).
78462
78463 2001-08-26  Jim Meyering  <meyering@lucent.com>
78464
78465         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
78466         of copyright with `%s' so translators don't get an untranslated
78467         message in 2002.
78468         (COPYRIGHT_YEAR): Define.
78469         (version_etc): Use fprintf rather than fputs.
78470         Suggestion from Ulrich Drepper.
78471
78472         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
78473
78474         * lib/strtoll.c: New file, from GNU libc.
78475         * lib/xstrtoimax.c: New file.
78476
78477         * lib/xstrtol.h: Add xstrtoimax.
78478         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
78479         * lib/strtoimax.c: New file.  Likewise, but first define
78480         STRTOUXMAX_SIGNED.
78481
78482         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
78483         ...
78484         * lib/strtoxmax.c: ... then renamed to this.
78485
78486 2001-08-18  Paul Eggert  <eggert@twinsun.com>
78487
78488         * m4/inttypes.m4: Add AC_PREREQ(2.13).
78489         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
78490         (jm_AC_TYPE_INTMAX_T): New macro.
78491         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
78492
78493         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
78494
78495         * m4/longlong.m4: Renamed from ulonglong.m4.
78496         * m4/inttypes.m4: Renamed from inttypes_h.m4.
78497         * m4/uintmax_t.m4: Removed.
78498
78499 2001-08-13  Paul Eggert  <eggert@twinsun.com>
78500
78501         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
78502         Port to Solaris 8, where 'sed' requires a space after the 'r'
78503         command, and where sh dislikes "$/".  Clean up the spacing a bit.
78504         Redirect output to $tmp just once.
78505
78506 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
78507
78508         * lib/addext.c (<errno.h>): Include.
78509         (errno): Declare if not defined.
78510         (addext): Work correctly when pathconf returns -1 and leaves
78511         errno alone because there is no limit.  Also, work even if
78512         pathconf returns a value greater than SIZE_MAX.
78513
78514 2001-08-12  Jim Meyering  <meyering@lucent.com>
78515
78516         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
78517         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
78518         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
78519         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
78520         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
78521         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
78522         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
78523         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
78524         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
78525         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
78526         utime.m4, utimes.m4, xstrtoumax.m4:
78527         Quote the first argument in each use of AC_DEFUN.
78528
78529 2001-08-12  Jim Meyering  <meyering@lucent.com>
78530
78531         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
78532         Simply `return getcwd (NULL, 0);'.
78533         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
78534         Use 1300 as initial value for length, not PATH_MAX.
78535
78536         * lib/pathmax.h: Clean up cpp syntax.
78537
78538 2001-08-12  Jim Meyering  <meyering@lucent.com>
78539
78540         * lib/gettimeofday.c: New file.
78541         * lib/gtod.h: New file.
78542         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
78543
78544 2001-08-05  Jim Meyering  <meyering@lucent.com>
78545
78546         * m4/jm-macros.m4: Require autoconf-2.52.
78547
78548 2001-08-04  Jim Meyering  <meyering@lucent.com>
78549
78550         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
78551         stmt, to get in sync with glibc.
78552
78553 2001-08-03  Paul Eggert  <eggert@twinsun.com>
78554
78555         The following changes are from gettext 0.10.39 as maintained by
78556         Bruno Haible.
78557
78558         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
78559         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
78560         with inverted sense.  All uses changed.
78561
78562         * lib/mbswidth.c: Don't include <limits.h>.
78563         Include <stdlib.h> and <string.h> unconditionally.
78564         (iswcntrl, mbsinit, ISCNTRL): New macros.
78565         (mbsnwidth): Use K&R style function declarations.
78566         Don't bother checking for MB_LEN_MAX == 1, since the compiler
78567         can optimize it when MB_CUR_MAX == 1.
78568         The width of control characters is zero, not 1.
78569
78570 2001-08-03  Paul Eggert  <eggert@twinsun.com>
78571
78572         The following changes are from gettext 0.10.39 as maintained by
78573         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
78574
78575         * m4/codeset.m4: Upgrade to serial AM1.
78576         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
78577         all uses changed.  Quote first arg of AC_DEFUN.
78578         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
78579
78580         * m4/iconv.m4: Upgrade to serial AM2.
78581         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
78582         Add --with-libconv-prefix.
78583         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
78584         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
78585         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
78586         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
78587         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
78588
78589         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
78590         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
78591         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
78592         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
78593         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
78594         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
78595         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
78596         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
78597         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
78598
78599         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
78600         string.h any more.
78601
78602         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
78603         not the default value.
78604
78605         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
78606         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
78607         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
78608         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
78609         Also check for iswcntrl, used for wcwidth fallback.
78610         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
78611         to Autoconf 2.13.
78612
78613 2001-08-03  Jim Meyering  <meyering@lucent.com>
78614
78615         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
78616         as it was in the original.  Reported by Paul Eggert.
78617
78618 2001-07-16  Jim Meyering  <meyering@lucent.com>
78619
78620         * m4/gettimeofday.m4: New file.
78621         Prompted by a report from Bernhard Baehr.
78622
78623 2001-07-15  Jim Meyering  <meyering@lucent.com>
78624
78625         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
78626         stuff. Now it's in ../Makefile.cfg.
78627
78628 2001-07-15  Jim Meyering  <meyering@lucent.com>
78629
78630         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
78631         (BUILT_SOURCES): Add unlocked-io.h.
78632         (io_functions): Define.
78633         (unlocked-io.h): New rule.
78634         (DISTCLEANFILES): Add unlocked-io.h.
78635         (all-local): Depend on unlocked-io.h, to ensure it is created.
78636
78637         * lib/unlocked-io.hin: New file
78638
78639         * lib/regex.c: Update from glibc.
78640
78641 2001-07-05  Jim Meyering  <meyering@lucent.com>
78642
78643         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
78644         recommendation.
78645         (libfetish_a_SOURCES): Put all .h files here instead.
78646         Remove a thus-exposed (better checks in automake) duplicate and
78647         two unnecessary .h files.
78648
78649 2001-07-04  Jim Meyering  <meyering@lucent.com>
78650
78651         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
78652         that generates jm-glibc-io.m4 so that it doesn't trigger any make
78653         distcheck failure.
78654
78655 2001-07-02  Jim Meyering  <meyering@lucent.com>
78656
78657         The following changes were prompted by suggestions from Bruno Haible.
78658
78659         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
78660         is now generated.
78661         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
78662         definition of EXTRA_DIST.
78663         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
78664         ensure that the generated file is created/updated whenever the list
78665         of $(unlocked_functions) is changed.
78666         (jm-glibc-io.m4): New rule.
78667         (unlocked-io.h): New rule -- currently unused.
78668
78669 2001-06-24  Jim Meyering  <meyering@lucent.com>
78670
78671         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
78672         unmatched right bracket, rather than kludging it with an extra,
78673         falsely-matching quote in a comment.  Patch by Akim Demaille.
78674
78675 2001-06-11  Jim Meyering  <meyering@lucent.com>
78676
78677         * lib/regex.c: Update from GNU libc.
78678
78679 2001-05-27  Jim Meyering  <meyering@lucent.com>
78680
78681         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
78682         Check for ut_type in struct utmp.
78683
78684 2001-05-27  Jim Meyering  <meyering@lucent.com>
78685
78686         * lib/readutmp.h (UT_TYPE): Define.
78687
78688 2001-05-24  Jim Meyering  <meyering@lucent.com>
78689
78690         * lib/argmatch.c: Include "quote.h".
78691         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
78692         quote function.  Reported by Göran Uddeborg.
78693
78694 2001-05-22  Jim Meyering  <meyering@lucent.com>
78695
78696         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
78697         now that we use the package-supplied version unconditionally.
78698         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
78699
78700 2001-05-21  Jim Meyering  <meyering@lucent.com>
78701
78702         * m4/regex.m4: Change a couple backticks to single quotes to avoid
78703         shell syntax errors.
78704
78705 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
78706
78707         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
78708
78709 2001-05-20  Paul Eggert  <eggert@twinsun.com>
78710
78711         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
78712         Don't bother to check library strftime, since
78713         we'll be using our own my_strftime function anyway.
78714         Define my_strftime instead of strftime.
78715
78716 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
78717
78718         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
78719         which is not yet declared.
78720
78721 2001-05-15  Jim Meyering  <meyering@lucent.com>
78722
78723         * m4/regex.m4: Use proper quoting so brackets appear in the test
78724         program.
78725         Reported by, and with help from, Bruno Haible.
78726
78727 2001-05-13  Jim Meyering  <meyering@lucent.com>
78728
78729         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
78730         undefined.
78731
78732 2001-05-11  Paul Eggert  <eggert@twinsun.com>
78733
78734         dirname code cleanup.  base_name now behaves more compatibly
78735         with POSIX basename when given file names that have trailing
78736         slashes, and similarly for dir_name.  Add new primitives
78737         base_len and dir_len.  Put the directory-name-related decls
78738         into dirname.h.
78739
78740         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
78741         * lib/backupfile.c (base_name): Likewise.
78742         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
78743         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
78744         * lib/makepath.c (strip_trailing_slashes): Likewise.
78745         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
78746         ISSLASH): Likewise.
78747         * lib/rename.c (strip_trailing_slashes): Likewise.
78748         * lib/same.c (base_name): Likewise.
78749         * lib/stripslash.c (ISSLASH): Likewise.
78750
78751         * lib/addext.c: Include <dirname.h> after size_t is defined.
78752         * lib/backupfile.c: Likewise.
78753
78754         * lib/addext.c (addext): Use base_len to trim redundant
78755         trailing slashes instead of doing it ourselves.
78756         But do not trim the last slash if it is not redundant.
78757
78758         * lib/backupfile.c (find_backup_file_name,
78759         max_backup_version): Use base_len instead of rolling it ourselves.
78760         Handle the case of "" and (on DOS) "C:" correctly.
78761
78762         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
78763         needed. Include <string.h>, <dirname.h>.
78764         (base_name): Allow file names ending in slashes, other than names
78765         that are all slashes.  In this case, return the basename followed
78766         by the slashes.  This is more general, and can be used in places
78767         where the original base_name purposely had an assertion failure.
78768         (base_len): New function.
78769
78770         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
78771         Do not include <assert.h>; no longer needed.
78772         Include xalloc.h.
78773         (memrchr): Remove decl.
78774         (dir_name_r): Remove.
78775         (dir_len): Renamed from dirlen.  All callers changed.
78776         Rewrite in terms of base_name, for simplicity and consistency.
78777         (dir_name): Never return NULL.  All callers changed.
78778         Do not include <stdlib.h> in test program; no longer needed.
78779         return 0; is fine for test program.
78780
78781         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
78782         New macros.
78783         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
78784
78785         * lib/path-concat.c (path_concat): Use base_len to compute
78786         base length, not strlen; this means we cannot rely on memcpy
78787         to null-terminate.
78788
78789         * lib/same.c (STREQ): Remove.
78790         (same_name): Handle the case where the basename ends in trailing '/'.
78791
78792         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
78793         a slash was stripped.  Do not strip the last slash after a
78794         file system prefix.
78795
78796 2001-05-11  Paul Eggert  <eggert@twinsun.com>
78797
78798         * lib/Makefile.am (libfetish_a_SOURCES):
78799         Add strftime.c, since we now compile it on all hosts.
78800
78801         * lib/strftime.c (my_strftime):
78802         Define to nstrftime if emacs, but only if my_strftime is not defined.
78803         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
78804         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
78805         Add one more extra argument: a nanoseconds value.
78806         All uses changed.
78807         (ns): New macro.
78808         (my_strftime function): Add %N format.
78809         (emacs_strftimeu): Renamed from emacs_strftime,
78810         with extra ut argument.
78811
78812 2001-05-09  Paul Eggert  <eggert@twinsun.com>
78813
78814         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
78815
78816 2001-04-21  Jim Meyering  <meyering@lucent.com>
78817
78818         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
78819         doesn't interfere.
78820
78821 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
78822
78823         * m4/ftruncate.m4: Check for chsize.
78824         Link with ftruncate.o unconditionally if ftruncate is missing.
78825         This was required when cross-compiling to i586-mingw32msvc.
78826
78827 2001-04-08  Jim Meyering  <meyering@lucent.com>
78828
78829         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
78830         recomputed; that's necessary when the offset spans a DST transition.
78831         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
78832
78833 2001-04-02  Jim Meyering  <meyering@lucent.com>
78834
78835         * lib/regex.h, regex.c: Update from GNU libc.
78836
78837 2001-03-24  Jim Meyering  <meyering@lucent.com>
78838
78839         * m4/jm-macros.m4: Require autoconf-2.49d.
78840
78841 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
78842
78843         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
78844
78845 2001-03-19  Paul Eggert  <eggert@twinsun.com>
78846
78847         * lib/version-etc.c (version_etc_copyright): Update to 2001.
78848
78849 2001-03-17  Jim Meyering  <meyering@lucent.com>
78850
78851         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
78852         now that the version in autoconf is equivalent.
78853         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
78854
78855         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
78856         Suggestion from Akim Demaille.
78857
78858         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
78859         (jm_PREREQ_TEMPNAME): New function.
78860
78861 2001-03-16  Paul Eggert  <eggert@twinsun.com>
78862
78863         * lib/tempname.c (uint64_t): Define to uintmax_t if
78864         not defined, and if UINT64_MAX is not defined.
78865         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
78866         Reported by John David Anglin.
78867
78868 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
78869
78870         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
78871         resolve alias if codeset is empty.
78872         * lib/config.charset (BeOS): Use wildcard syntax.
78873
78874 2001-03-13  Jim Meyering  <meyering@lucent.com>
78875
78876         * lib/path-concat.c (path_concat)
78877         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
78878         concatenating e.g., `C:' and `foo'.
78879         From Bruno Haible.
78880
78881 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
78882
78883         * lib/localcharset.c (locale_charset): Don't use
78884         setlocale(LC_CTYPE,NULL). Don't return NULL.
78885         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
78886
78887 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
78888
78889         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
78890         support for DOS/DJGPP.
78891
78892 2001-03-01  Paul Eggert  <eggert@twinsun.com>
78893
78894         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
78895         lacks mkstemp.  Compile our own tempname.c if we compile our own
78896         mkstemp.c, as mkstemp relies on tempname.
78897
78898 2001-03-01  Jim Meyering  <meyering@lucent.com>
78899
78900         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
78901         AH_VERBATIM really does output its argument verbatim.
78902
78903 2001-02-28  Paul Eggert  <eggert@twinsun.com>
78904
78905         * lib/Makefile.am (libfetish_a_SOURCES):
78906         Add dup-safer.c, fopen-safer.c.
78907         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
78908
78909         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
78910         * lib/unistd-safer.h: New files.
78911
78912 2001-02-25  Paul Eggert  <eggert@twinsun.com>
78913
78914         The mkstemp replacement is taken from glibc 2.2.2, with some
78915         portability fixes for use outside glibc, as follows:
78916
78917         * lib/tempname.c (struct_stat64): New macro.
78918         (direxists, __gen_tempname): Use it.
78919         This avoids a portability problem with Solaris 8.
78920
78921         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
78922         (<stddef.h>, <stdint.h>, <string.h>):
78923         Include only if STDC_HEADERS || _LIBC.
78924         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
78925         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
78926         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
78927         (__set_errno): Define this macro if <errno.h> doesn't.
78928         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
78929         Define these macros if <stdio.h> doesn't.
78930         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
78931         Define these macros if <sys/stat.h>
78932         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
78933         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
78934         __xstat64): Define if not _LIBC.
78935         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
78936         (__gen_tempname): Invoke gettimeofday only if
78937         HAVE_GETTIMEOFDAY || _LIBC;
78938         otherwise, fall back on plain "time".
78939         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
78940
78941         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
78942
78943         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
78944
78945 2001-02-18  Paul Eggert  <eggert@twinsun.com>
78946
78947         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
78948
78949 2001-02-17  Paul Eggert  <eggert@twinsun.com>
78950
78951         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
78952         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
78953         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
78954         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
78955
78956 2001-02-17  Paul Eggert  <eggert@twinsun.com>
78957
78958         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
78959         Remove workaround macros for hosts that have mbrtowc but not
78960         mbstate_t, as we now insist on proper declarations for both
78961         before using mbrtowc.
78962
78963 2001-02-17  Jim Meyering  <meyering@lucent.com>
78964
78965         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
78966         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
78967         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
78968         UnixWare 7.1.1.
78969
78970         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
78971         rather than AC_CACHE_VAL.
78972
78973 2001-02-17  Jim Meyering  <meyering@lucent.com>
78974
78975         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
78976         around included file name.
78977
78978         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
78979
78980         * lib/strftime.c: Update from GNU libc (the only changes were to
78981         comments).
78982
78983 2001-02-17  Jim Meyering  <meyering@lucent.com>
78984
78985         * lib/regex.c: Update from libc.
78986
78987 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
78988
78989         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
78990         clash.
78991
78992 2001-02-16  Paul Eggert  <eggert@twinsun.com>
78993
78994         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
78995         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
78996         Reported by Mark Hounschell via Paul Eggert.
78997
78998 2001-02-07  Jim Meyering  <meyering@lucent.com>
78999
79000         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
79001
79002 2001-02-05  Jim Meyering  <meyering@lucent.com>
79003
79004         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
79005         it includes the patch required for `large file' support with at least
79006         HP-UX's 10.20 /bin/cc.
79007
79008 2001-02-03  Jim Meyering  <meyering@lucent.com>
79009
79010         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
79011         AS_IF, now that it works once again (mysteriously).
79012         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
79013
79014 2001-01-30  Jim Meyering  <meyering@lucent.com>
79015
79016         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
79017         * m4/chown.m4: Rename conftestchown to conftest.chown.
79018         * m4/rename.m4: s/conftestdir/conftest.d1/ and
79019         s/conftestdir2/conftest.d2/.
79020         * m4/utimes.m4: s/conftestdata/conftest.data/
79021         Inspired by Pavel Roskin's change in autoconf.
79022
79023 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
79024
79025         * lib/config.charset: Update for FreeBSD 4.2.
79026
79027 2001-01-27  Jim Meyering  <meyering@lucent.com>
79028
79029         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
79030         a use of AS_IF.
79031         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
79032
79033 2001-01-26  Jim Meyering  <meyering@lucent.com>
79034
79035         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
79036         quotearg.c includes it.
79037
79038 2001-01-26  Jim Meyering  <meyering@lucent.com>
79039
79040         * lib/quotearg.c: Include stddef.h.
79041         * lib/quote.c: Include stddef.h.
79042         Reported by Axel Kittenberger.
79043
79044         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
79045         line in double quotes so that it evokes a better diagnostic.
79046         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
79047         Reported by Axel Kittenberger.
79048
79049 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
79050
79051         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
79052         as if it was a `charset'.
79053
79054 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
79055
79056         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
79057         has const.
79058
79059 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
79060
79061         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
79062         to avoid a warning.  Add back 'const' to inptr.
79063
79064 2001-01-20  Jim Meyering  <meyering@lucent.com>
79065
79066         Be sure that headers are checked before used in code compiled
79067         for the type checks.
79068         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
79069         In place of that, invoke jm_CHECK_ALL_TYPES.
79070         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
79071         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
79072         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
79073         The check for ssize_t was mistakenly run before the test for unistd.h.
79074
79075         The configure-time check for stdbool.h was missing.
79076         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
79077         (jm_PREREQ_HASH): New function.
79078
79079 2001-01-17  Jim Meyering  <meyering@lucent.com>
79080
79081         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
79082         for autoconf-2.49c.
79083         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
79084
79085 2001-01-16  Jim Meyering  <meyering@lucent.com>
79086
79087         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
79088         From Bruno Haible.
79089
79090 2001-01-14  Jim Meyering  <meyering@lucent.com>
79091
79092         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
79093         foo and bar.  Create conftestdir/ in the script, not in the C code.
79094         Remove directories in the script, not in the C code.
79095         Remove conftestdir{,2} before trying to create the directory.
79096         Make the entire configure script fail if the mkdir fails.
79097
79098 2001-01-14  Jim Meyering  <meyering@lucent.com>
79099
79100         * lib/rename.c: New file.  From Volker Borchert.
79101         Include stdlib.h, string.h or strings.h, and xalloc.h.
79102         Use strip_trailing_slashes rather than open-coding it.
79103
79104 2001-01-03  Paul Eggert  <eggert@twinsun.com>
79105
79106         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
79107
79108 2001-01-03  Jim Meyering  <meyering@lucent.com>
79109
79110         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
79111         of local `inptr' to avoid warning with some system declarations of
79112         iconv.
79113
79114 2001-01-02  Volker Borchert  <bt@teknon.de>
79115
79116         * m4/rename.m4: New file.
79117         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
79118
79119 2001-01-01  Jim Meyering  <meyering@lucent.com>
79120
79121         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
79122         even on systems with utmpx.h.  It's necessary for the declaration of
79123         utmp's ut_user member.  Reported by Andreas Jaeger.
79124
79125         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
79126         available. They are required for the declarations of getgrgid and
79127         getpwuid resp.
79128         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
79129         Reported by Andreas Jaeger.
79130
79131 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
79132
79133         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
79134         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
79135         so `make install' also works in VPATH builds.
79136
79137 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
79138
79139         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
79140         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
79141         can be used in subdirectories.
79142
79143 2000-12-29  Paul Eggert  <eggert@twinsun.com>
79144
79145         * lib/modechange.c: Do not assume that mode_t uses the
79146         traditional octal encoding.  E.g. "chmod 1 FOO" should set
79147         the other-execute bit of FOO even if S_IXOTH != 1.
79148
79149         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
79150         WOTH, XOTH, ALLM): New macros.
79151         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
79152          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
79153         Use them.
79154         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
79155         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
79156         (mode_compile):
79157         No need to use uintmax_t; unsigned long is long enough.
79158         Don't bother to get suffix since we don't use it.
79159
79160 2000-12-26  Jim Meyering  <meyering@lucent.com>
79161
79162         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
79163         better with autoheader.
79164
79165 2000-12-24  Jim Meyering  <meyering@lucent.com>
79166
79167         * lib/hash.c (is_prime): Return explicit boolean values.
79168         (hash_get_first): Return NULL to appease Irix5.6's 89.
79169         Reported by Nelson Beebe.
79170
79171 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
79172
79173         * lib/localcharset.c (locale_charset): Add support for Win32.
79174
79175 2000-12-18  Paul Eggert  <eggert@twinsun.com>
79176
79177         * lib/physmem.h, lib/physmem.c: New files.
79178
79179         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
79180         (noinst_HEADERS): Add physmem.h.
79181
79182         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
79183         't' for compatibility with Solaris 8 sort.
79184
79185 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
79186
79187         * lib/config.charset: Add support for BeOS.
79188
79189 2000-12-17  Jim Meyering  <meyering@lucent.com>
79190
79191         * m4/dos.m4 (jm_AC_DOS): New file and macro.
79192         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
79193
79194 2000-12-16  Jim Meyering  <meyering@lucent.com>
79195
79196         This bug had a serious impact on chown: `chown N:M FILE' (for integer
79197         N and M) would have treated it like `chown N:N FILE'.
79198
79199         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
79200
79201 2000-12-16  Jim Meyering  <meyering@lucent.com>
79202
79203         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
79204         SHELLS_FILE to a file name that's useful on djgpp systems.
79205         Include stdlib.h.
79206         (ADDITIONAL_DEFAULT_SHELLS): Define.
79207         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
79208         Based mostly on a patch from Prashant TR.
79209
79210 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
79211
79212         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
79213         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
79214         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
79215
79216 2000-12-08  Andreas Schwab  <schwab@suse.de>
79217
79218         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
79219         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
79220
79221 2000-12-07  Jim Meyering  <meyering@lucent.com>
79222
79223         * lib/stripslash.c (ISSLASH): Define.
79224         (strip_trailing_slashes): Use ISSLASH rather than comparing against
79225         `/'.
79226         From Prashant TR.
79227
79228         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
79229         (dir_name_r): Declare this function as static.
79230         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
79231         manifest itself on a name containing a mix of slashes and
79232         backslashes.
79233         Make this function work with names starting with a DOS-style
79234         drive letter and colon prefix.
79235         (dir_name): Append `.' if necessary.
79236         Based mostly on patches from Prashant TR and Eli Zaretskii.
79237
79238         * lib/dirname.h (dir_name_r): Remove prototype.
79239
79240 2000-12-06  Paul Eggert  <eggert@twinsun.com>
79241
79242         * m4/off_t-format.m4: Remove this file.
79243         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
79244
79245 2000-12-06  Jim Meyering  <meyering@lucent.com>
79246
79247         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
79248         replacement strtoull, we may well need the replacement strtoul, too.
79249         Check for declarations of strtoul and strtoull.
79250         Check for strtol.  Mainly as a cue to cause automake to include
79251         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
79252         Check for limits.h -- strtol.c needs it.
79253
79254 2000-12-05  Jim Meyering  <meyering@lucent.com>
79255
79256         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
79257
79258 2000-12-04  Jim Meyering  <meyering@lucent.com>
79259
79260         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
79261         Also include memory.h, stdlib.h, unistd.h if appropriate.
79262         Reported by Andreas Jaeger (conflicting declaration of malloc).
79263
79264 2000-12-02  Jim Meyering  <meyering@lucent.com>
79265
79266         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
79267         * m4/jm-macros.m4 (jm_MACROS): require it.
79268
79269 2000-12-02  Jim Meyering  <meyering@lucent.com>
79270
79271         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
79272
79273 2000-12-01  Paul Eggert  <eggert@twinsun.com>
79274
79275         * lib/memrchr.c: Include <config.h> before any system include file.
79276
79277 2000-11-30  Jim Meyering  <meyering@lucent.com>
79278
79279         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
79280
79281 2000-11-30  Jim Meyering  <meyering@lucent.com>
79282
79283         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
79284
79285 2000-11-29  Paul Eggert  <eggert@twinsun.com>
79286
79287         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
79288
79289 2000-11-26  Jim Meyering  <meyering@lucent.com>
79290
79291         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
79292
79293 2000-11-22  Paul Eggert  <eggert@twinsun.com>
79294
79295         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
79296         size of (size_t) -1; it's not portable.
79297
79298 2000-11-17  Jim Meyering  <meyering@lucent.com>
79299
79300         * lib/strstr.c: Update from GNU libc.
79301
79302 2000-11-17  Akim Demaille  <akim@epita.fr>
79303
79304         * lib/obstack.h: Formatting changes.
79305         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
79306         prevent type checking.
79307         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
79308         cast the value to (void *): assigning a `foo *' to a `void *'
79309         variable is valid.
79310         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
79311
79312 2000-11-16  Jim Meyering  <meyering@lucent.com>
79313
79314         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
79315
79316 2000-11-11  Jim Meyering  <meyering@lucent.com>
79317
79318         * lib/error.c: Add a couple #includes, merging from GNU libc version.
79319
79320 2000-11-10  Jim Meyering  <meyering@lucent.com>
79321
79322         * lib/obstack.h: Update from GNU libc.
79323         * lib/obstack.c: Likewise.
79324
79325 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
79326
79327         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
79328
79329 2000-11-06  Paul Eggert  <eggert@twinsun.com>
79330
79331         * lib/getusershell.c (setusershell): Use rewind rather than
79332         fseek/fseeko, to avoid configuration hassles with fseeko.
79333         Don't bother opening SHELLS_FILE if shellstream is NULL;
79334         it's not necessary.
79335
79336 2000-11-05  Jim Meyering  <meyering@lucent.com>
79337
79338         * lib/makepath.h (make_dir): Declare.
79339         * lib/makepath.c (make_dir): Remove `static' attribute.
79340         Tweak a comment.
79341
79342 2000-11-04  Jim Meyering  <meyering@lucent.com>
79343
79344         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
79345
79346 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
79347
79348         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
79349         last one in a bucket, advance to the next bucket.
79350
79351 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
79352
79353         * lib/fnmatch.c: Do not comment out all the code if we are using
79354         the GNU C library, because in some cases we are replacing buggy
79355         code in the GNU C library itself.
79356
79357 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
79358
79359         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
79360         (regex_compile): Catch bogus \(\1\).
79361
79362 2000-10-30  Paul Eggert  <eggert@twinsun.com>
79363
79364         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
79365         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
79366         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
79367
79368 2000-10-30  Paul Eggert  <eggert@twinsun.com>
79369
79370         * lib/error.h, getline.h, modechange.h:
79371         Remove "2000" from Copyright line, as the file hasn't been
79372         changed this year other than in the copyright notice.
79373
79374         * lib/xalloc.h: Add "2000" to Copyright line, as this file
79375         was changed this year.
79376
79377 2000-10-29  Jim Meyering  <meyering@lucent.com>
79378
79379         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
79380         renaming.
79381         * m4/ls-mntd-fs.m4: Likewise
79382
79383 2000-10-29  Jim Meyering  <meyering@lucent.com>
79384
79385         * lib/xstat.in: Fix grammar in comment.
79386
79387 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
79388
79389         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
79390         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
79391         doesn't define __restrict_arr.
79392
79393 2000-10-28  Jim Meyering  <meyering@lucent.com>
79394
79395         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
79396         (jm_PREREQ_MEMCHR): New function.
79397
79398 2000-10-28  Jim Meyering  <meyering@lucent.com>
79399
79400         * lib/memchr.c: Update from libc.
79401         Adjust for portability:
79402         [HAVE_STDLIB_H]: Include stdlib.h.
79403         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
79404         Undef __memchr, too.
79405         [!weak_alias]: Define __memchr to memchr.
79406
79407         * lib/regex.c: Update from libc.
79408         * lib/regex.h: Likewise.
79409         * lib/getopt1.c: Likewise.
79410         * lib/memcmp.c: Likewise.
79411
79412         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
79413         Avoid using fseek, when possible -- it's broken by design.
79414         Patch by Ulrich Drepper.
79415
79416 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
79417
79418         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
79419         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
79420         Giving in to popular pressure to shut up the compiler with casts.
79421
79422 2000-10-26  Jim Meyering  <meyering@lucent.com>
79423
79424         * lib/strftime.c: Update from libc.
79425
79426 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
79427
79428         * regex.c: More `unsigned char' -> `re_char' changes.
79429         Also change several `int' into `re_wchar_t'.
79430         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
79431         (PUSH_FAILURE_POINTER): Don't cast any more.
79432         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
79433         We want GCC to complain, since this piece of code makes
79434         re_match non-reentrant, which *should* be fixed.
79435         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
79436         (EXTEND_BUFFER): Use RETALLOC.
79437         (SET_LIST_BIT): Don't cast.
79438         (re_wchar_t): New type.
79439         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
79440         that those two functions will always properly return.
79441         (IMMEDIATE_QUIT_CHECK): Cast to void.
79442         (analyse_first): Use recursion rather than an explicit stack.
79443         (re_compile_fastmap): Can't fail anymore.
79444         (re_search_2): Don't check re_compile_fastmap for failure.
79445         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
79446         Now also sets the new value (passed in a new argument).
79447         (re_match_2_internal): Use it.
79448         Also, use a new var `reg' of type size_t when looping through regs
79449         rather than reuse the inappropriate `mcnt'.
79450
79451 2000-10-25  Jim Meyering  <meyering@lucent.com>
79452
79453         * lib/obstack.c: Update from libc.
79454
79455 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
79456
79457         * regex.c (regex_compile): Change the way of handling a range from
79458         a char less than 256 to a char not less than 256.
79459
79460 2000-10-24  Andrew Innes  <andrewi@gnu.org>
79461
79462         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
79463         NT-Emacs only.
79464         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
79465         so that re_search functions only quit when callers expect them to.
79466
79467 2000-10-23  Jim Meyering  <meyering@lucent.com>
79468
79469         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
79470         wrong.  That set_locale call must not have any side effects.
79471         From Paul Eggert.
79472
79473 2000-10-22  Jim Meyering  <meyering@lucent.com>
79474
79475         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
79476         [CYCLIC]: Remove now-unused definition.
79477
79478         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
79479         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
79480         Suggestion from Ulrich Drepper.
79481
79482 2000-10-21  Jim Meyering  <meyering@lucent.com>
79483
79484         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
79485         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
79486         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
79487
79488 2000-10-21  Jim Meyering  <meyering@lucent.com>
79489
79490         * lib/dirname.c (memrchr): Declare if necessary.
79491         (dir_name): Remove the restriction that there be no
79492         trailing slashes.  Now, this code skips past them, effectively
79493         ignoring them.
79494         [TEST_DIRNAME] (main): New unit tests.
79495
79496         * lib/memrchr.c: New file from GNU libc.
79497         Undef __memrchr, too.
79498         [!weak_alias]: Define __memrchr to memrchr.
79499         Guard weak_alias use with `#ifdef weak_alias'.
79500
79501 2000-10-21  Jim Meyering  <meyering@lucent.com>
79502
79503         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
79504         (dir_name): Use dir_name_r.
79505         * lib/dirname.h (dir_name_r): Declare it.
79506
79507 2000-10-17  Jim Meyering  <meyering@lucent.com>
79508
79509         * lib/quote.h (PARAMS): Define and use.
79510         Reported by Akim Demaille.
79511
79512         * lib/getopt.c: Update from libc.
79513
79514 2000-10-16  Jim Meyering  <meyering@lucent.com>
79515
79516         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
79517         setlocale.
79518         From Jan Fedak.
79519
79520 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
79521
79522         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
79523
79524 2000-09-25  Jim Meyering  <meyering@lucent.com>
79525
79526         * lib/md5.h (rol): Define (from GnuPG).
79527
79528         * lib/sha.c: Give credit (GnuPG) where due.
79529         (M): Use rol rather than open-coding it.
79530         Add a FIXME comment.
79531
79532 2000-09-21  Jim Meyering  <meyering@lucent.com>
79533
79534         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
79535         Reported by Michael Stone.
79536
79537 2000-09-20  Jim Meyering  <meyering@lucent.com>
79538
79539         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
79540         (noinst_HEADERS): Add sha.h.
79541         Based on code from Scott G. Miller and from GnuPG.
79542
79543 2000-09-18  Jim Meyering  <meyering@lucent.com>
79544
79545         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
79546         LIBS. Otherwise, everyone ends up linking with -lelf for some
79547         configurations.
79548         Reported by Mike Stone.
79549
79550 2000-09-15  Jim Meyering  <meyering@lucent.com>
79551
79552         * lib/regex.c: Update from libc.
79553
79554 2000-09-10  Jim Meyering  <meyering@lucent.com>
79555
79556         * lib/getopt.c (_getopt_internal): Update from glibc.
79557
79558 2000-09-09  Jim Meyering  <meyering@lucent.com>
79559
79560         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
79561         think it should be used as a general replacement for isascii.
79562         * lib/fnmatch.c: Likewise.
79563         * lib/mbswidth.c: Likewise
79564         * lib/regex.c: Likewise.
79565
79566         Don't use atoi.
79567         * lib/userspec.c: Include sys/param.h and limits.h.
79568         Include xstrtol.h.
79569         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
79570         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
79571         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
79572         UID, GID.  Check range.
79573
79574 2000-09-06  Jim Meyering  <meyering@lucent.com>
79575
79576         * lib/getopt.c (_getopt_internal): Update from glibc.
79577
79578 2000-08-30  Jim Meyering  <meyering@lucent.com>
79579
79580         * lib/strftime.c: Merge in changes from GNU libc.
79581
79582 2000-08-26  Jim Meyering  <meyering@lucent.com>
79583
79584         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
79585         * m4/fpending.m4: New file.
79586
79587 2000-08-26  Jim Meyering  <meyering@lucent.com>
79588
79589         * lib/closeout.c: Include "__fpending.h".
79590         (close_stdout_status): Return right away if there's nothing to flush.
79591
79592         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
79593         * lib/__fpending.c: New file.
79594         * lib/__fpending.h: New file.
79595
79596 2000-08-20  Jim Meyering  <meyering@lucent.com>
79597
79598         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
79599         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
79600         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
79601
79602 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
79603
79604         Improve fileutils installation on systems where running
79605         programs (like install) can't be unlinked.
79606         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
79607         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
79608
79609 2000-08-07  Paul Eggert  <eggert@twinsun.com>
79610
79611         Standardize on "memory exhausted" instead of "Memory exhausted"
79612         or "virtual memory exhausted".
79613         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
79614         "virtual memory exhausted".
79615         * lib/same.c (same_name): Invoke xalloc_die instead of printing
79616         our own message.
79617         * lib/userspec.c (parse_user_spec): Likewise.
79618         * lib/bumpalloc.h: comment fix
79619         * lib/same.c, userspec.c: Include xalloc.h.
79620
79621         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
79622         not char *const and pointing to a constant array.
79623         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
79624         (xrealloc): Comment fix.
79625
79626         * lib/userspec.c (parse_user_spec):
79627         Don't translate a message until just before returning,
79628         to avoid unnecessary translation.
79629
79630 2000-08-07  Jim Meyering  <meyering@lucent.com>
79631
79632         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
79633         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
79634         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
79635         getgroups.c, gethostname.c, getopt.h, group-member.c,
79636         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
79637         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
79638         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
79639         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
79640         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
79641         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
79642         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
79643         yesno.c: Back out Copyright date changes for each file with no change
79644         this year.  This eases coordination with other programs using the same
79645         source code modules.  From Paul Eggert.
79646
79647 2000-08-06  Paul Eggert  <eggert@twinsun.com>
79648
79649         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
79650         not char, for compatibility with glibc 2.1.3 strftime.c.
79651
79652 2000-08-03  Greg McGary  <greg@mcgary.org>
79653
79654         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
79655         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
79656         (EXTEND_BUFFER): Use them.
79657
79658 2000-08-01  Jim Meyering  <meyering@lucent.com>
79659
79660         * lib/dirname.c (ISSLASH): Define.
79661         (BACKSLASH_IS_PATH_SEPARATOR): Define.
79662         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
79663         both `\' and `/' may be use as path separators.
79664         Based on a patch from Prashant TR.
79665
79666 2000-07-31  Paul Eggert  <eggert@twinsun.com>
79667
79668         * lib/quotearg.c (quotearg_n_options): Don't make the initial
79669         slot vector a constant, since it might get modified.
79670
79671 2000-07-31  Jim Meyering  <meyering@lucent.com>
79672
79673         * lib/xmalloc.c: Use `virtual memory exhausted', not
79674         `Memory exhausted'.
79675         * lib/obstack.c (print_and_abort): Likewise.
79676
79677 2000-07-30  Paul Eggert  <eggert@twinsun.com>
79678
79679         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
79680         buffer, so that the caller can always quote one small
79681         component of a "memory exhausted" message in slot 0.
79682         From a suggestion by Jim Meyering.
79683
79684 2000-07-30  Jim Meyering  <meyering@lucent.com>
79685
79686         * lib/makepath.c (make_path): Quote the other instance, too.
79687
79688         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
79689         (STATIC_BUF_SIZE): Define.
79690         (quotearg_n_options): Use only statically allocated storage when
79691         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
79692         than STATIC_BUF_SIZE.
79693
79694 2000-07-29  Jim Meyering  <meyering@lucent.com>
79695
79696         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
79697         * lib/dirname.c (dir_name): Likewise.
79698
79699         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
79700         `/'.
79701
79702         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
79703         (dir_name): Assert that there are no trailing slashes.
79704
79705 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
79706
79707         * lib/mbswidth.h (mbswidth): Add a flags argument.
79708         (mbswidth): New declaration.
79709         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
79710         * lib/mbswidth.c (mbswidth): Add a flags argument.
79711         (mbsnwidth): New function.
79712
79713 2000-07-24  Jim Meyering  <meyering@lucent.com>
79714
79715         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
79716
79717 2000-07-23  Paul Eggert  <eggert@twinsun.com>
79718
79719         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
79720
79721 2000-07-23  Paul Eggert  <eggert@twinsun.com>
79722
79723         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
79724         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
79725         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
79726         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
79727         invoke multibyte primitives.
79728
79729 2000-07-23  Paul Eggert  <eggert@twinsun.com>
79730
79731         * lib/quotearg.c:
79732         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
79733         so that mbstate_t is always defined.
79734
79735         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
79736         be 1 in at least one GCC installation, and this configuration
79737         error is likely to be common.  Ignoring MB_LEN_MAX hurts
79738         performance on hosts that have mbrtowc but have only unibyte
79739         locales, but I assume these hosts are rare.
79740
79741 2000-07-23  Paul Eggert  <eggert@twinsun.com>
79742
79743         * lib/mbswidth.c (_XOPEN_SOURCE):
79744         Don't define; this causes problems on Solaris 7.
79745         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
79746
79747 2000-07-23  Jim Meyering  <meyering@lucent.com>
79748
79749         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
79750         too: getgrgid, getpwuid, getuid.
79751
79752 2000-07-23  Jim Meyering  <meyering@lucent.com>
79753
79754         * lib/basename.c (base_name): Add an assertion.
79755
79756 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
79757
79758         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
79759         shadow its mbsinit function.
79760
79761 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
79762
79763         * lib/mbswidth.h: New file.
79764         * lib/mbswidth.c: New file.
79765         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
79766         (noinst_HEADERS): Add mbswidth.h.
79767
79768 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
79769
79770         * lib/config.charset: Add support for FreeBSD. Improve support for
79771         HP-UX and IRIX 6.
79772
79773 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
79774
79775         * m4/mbswidth.m4: New file.
79776         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
79777
79778 2000-07-15  Jim Meyering  <meyering@lucent.com>
79779
79780         * lib/makepath.c: Include quote.h.
79781         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
79782         corresponding argument in a `quote (...)' call.
79783         Give better diagnostics.
79784
79785         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
79786         (noinst_HEADERS): Add quote.h.
79787
79788         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
79789         from tar's src/misc.c.
79790         * lib/quote.h: New file.  Prototypes for same.
79791
79792 2000-07-14  Paul Eggert  <eggert@twinsun.com>
79793
79794         From a suggestion by Bruno Haible.
79795         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
79796         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
79797         to decide whether to define the BeOS workaround macro;
79798         this adjusts to the change to AC_MBSTATE_T.
79799
79800 2000-07-14  Jim Meyering  <meyering@lucent.com>
79801
79802         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
79803         jm_AC_TYPE_UINTMAX_T.
79804
79805 2000-07-13  Paul Eggert  <eggert@twinsun.com>
79806
79807         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
79808
79809         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
79810         quotearg_buffer_restyled): Add support for
79811         clocale_quoting_style.  Undo previous change to
79812         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
79813         and "{RIGHT QUOTATION MARK}" msgids.
79814
79815 2000-07-10  Paul Eggert  <eggert@twinsun.com>
79816
79817         From a suggestion by Bruno Haible.
79818         * m4/mbstate_t.m4 (AC_MBSTATE_T):
79819         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
79820         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
79821         and mbstate_t, to a single-part test that simply defines mbstate_t.
79822         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
79823         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
79824
79825 2000-07-10  Jim Meyering  <meyering@lucent.com>
79826
79827         * m4/strerror_r.m4: Mirror the correction made in autoconf.
79828
79829         * m4/gnu-source.m4: Output to confdefs.h directly.
79830         Suggestion from Akim Demaille.
79831
79832 2000-07-09  Paul Eggert  <eggert@twinsun.com>
79833
79834         The old behavior of quoting `like this' doesn't look good with
79835         newer, ISO-style fonts.  See:
79836         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
79837
79838         Instead, quote "like this" by default.  Let the translator
79839         tailor the locale-specific quoting behavior by providing
79840         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
79841
79842         * lib/quotearg.c (N_): New macro.
79843         (gettext_default): New function.
79844         (quotearg_buffer_restyled): Use
79845         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
79846         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
79847
79848 2000-07-09  Jim Meyering  <meyering@lucent.com>
79849
79850         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
79851         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
79852
79853         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
79854         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
79855
79856 2000-07-09  Jim Meyering  <meyering@lucent.com>
79857
79858         * lib/Most files: Update copyright dates to include 2000.
79859
79860 2000-07-08  Jim Meyering  <meyering@lucent.com>
79861
79862         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
79863         if not defined.
79864         (xgethostname): Remove now-unnecessary #ifdef.
79865         Move declaration of `err' into loop where it's used.
79866
79867 2000-07-05  Paul Eggert  <eggert@twinsun.com>
79868         and Bruno Haible  <haible@clisp.cons.org>
79869
79870         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
79871         only if the test for an object-type mbstate_t fails.  This
79872         prevents us from mistakenly reporting that mbstate_t is a
79873         system object type after we "#define mbstate_t int" to work
79874         around its lack.
79875
79876 2000-07-05  Paul Eggert  <eggert@twinsun.com>
79877         and Bruno Haible  <haible@clisp.cons.org>
79878
79879         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
79880
79881 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
79882
79883         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
79884         to strerror_r.
79885         Include <ctype.h> for use of isalpha.
79886
79887 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
79888
79889         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
79890         by allocating a larger buffer. Test the gethostname return value for
79891         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
79892         returns an error and ENAMETOOLONG isn't defined.
79893
79894 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
79895
79896         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
79897         dimension.
79898
79899 2000-07-04  Jim Meyering  <meyering@lucent.com>
79900
79901         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
79902         of the deprecated AC_CHECKING.
79903
79904 2000-07-04  Jim Meyering  <meyering@lucent.com>
79905
79906         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
79907         Reported by Bruno Haible.
79908
79909 2000-07-04  Jim Meyering  <meyering@lucent.com>
79910
79911         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
79912         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
79913         lacks mbrtowc.
79914
79915 2000-07-03  Paul Eggert  <eggert@twinsun.com>
79916
79917         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
79918         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
79919
79920 2000-07-03  Paul Eggert  <eggert@twinsun.com>
79921         and Bruno Haible  <haible@clisp.cons.org>
79922
79923         * lib/quotearg.c (mbrtowc):
79924         Assign to *pwc, and return 1 only if result is nonzero.
79925         (iswprint): Use ISPRINT when substituting our own mbrtowc.
79926
79927 2000-07-03  Jim Meyering  <meyering@lucent.com>
79928
79929         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
79930
79931 2000-07-03  Jim Meyering  <meyering@lucent.com>
79932
79933         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
79934         This is necessary to get a definition of e.g., UTMP_FILE on
79935         HP-UX 10.20.
79936         From Bob Proulx.
79937
79938 2000-07-02  Jim Meyering  <meyering@lucent.com>
79939
79940         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
79941
79942         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
79943         AC_LIBOBJ(function_name).
79944         * m4/chown.m4: Likewise.
79945         * m4/fnmatch.m4: Likewise.
79946         * m4/ftruncate.m4: Likewise.
79947         * m4/getgroups.m4: Likewise.
79948         * m4/getline.m4: Likewise.
79949         * m4/group-member.m4: Likewise.
79950         * m4/jm-macros.m4: Likewise.
79951         * m4/lstat.m4: Likewise.
79952         * m4/malloc.m4: Likewise.
79953         * m4/memcmp.m4: Likewise.
79954         * m4/nanosleep.m4: Likewise.
79955         * m4/putenv.m4: Likewise.
79956         * m4/realloc.m4: Likewise.
79957         * m4/regex.m4: Likewise.
79958         * m4/stat.m4: Likewise.
79959         * m4/strftime.m4: Likewise.
79960
79961 2000-07-02  Jim Meyering  <meyering@lucent.com>
79962
79963         * lib/quotearg.c (mbstate_t): Don't define here.
79964
79965 2000-07-02  Jim Meyering  <meyering@lucent.com>
79966
79967         * lib/nanosleep.c (SIGCONT): Define if not already defined.
79968
79969 2000-07-01  Jim Meyering  <meyering@lucent.com>
79970
79971         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
79972
79973 2000-07-01  Jim Meyering  <meyering@lucent.com>
79974
79975         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
79976         problem.
79977
79978 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
79979
79980         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
79981         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
79982
79983 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
79984
79985         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
79986         per change in ../m4/ls-mntd-fs.m4.
79987         (read_filesystem_list): Ignore symbolic links.
79988
79989 2000-06-29  Jim Meyering  <meyering@lucent.com>
79990
79991         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
79992         for declaration of strcmp.
79993
79994         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
79995
79996         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
79997         Avoid warning by casting result to `char *' to remove `const'.
79998
79999 2000-06-28  Jim Meyering  <meyering@lucent.com>
80000
80001         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
80002         included by quotearg.c, for which we perform this test.  From
80003         Bruno Haible.
80004
80005 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
80006
80007         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
80008         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
80009         <utmpx.h> exists, put readutmp.o into LIBOBJS.
80010
80011 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
80012
80013         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
80014
80015 2000-06-26  Paul Eggert  <eggert@twinsun.com>
80016
80017         savedir now sets errno on failure and invokes xmalloc to get memory.
80018         Fix a couple of other minor bugs while we're at it.
80019
80020         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
80021         (NAMLEN): Remove macro.
80022         (malloc, realloc): Remove decls.
80023         (stpcpy): Likewise.
80024         ("xalloc.h"): Include.
80025         (NAME_SIZE_DEFAULT): New macro.
80026         (savedir): Use xmalloc / xrealloc to allocate memory.
80027         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
80028         Skip "" directory entries.
80029         Use strlen to calculate directory entry length, since the old method
80030         is rarely used these days and isn't worth supporting.
80031         Don't use a pointer after freeing it.
80032         Check for integer overflow when calculating allocation size.
80033         Use memcpy to copy entries, instead of stpcpy.
80034         Set errno properly when returning NULL.
80035         Check for readdir error.
80036
80037 2000-06-26  Jim Meyering  <meyering@lucent.com>
80038
80039         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
80040
80041 2000-06-25  Jim Meyering  <meyering@lucent.com>
80042
80043         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
80044         Linux header bug when _XOPEN_SOURCE is defined to 500.
80045
80046 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
80047
80048         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
80049         deficiency.
80050
80051 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
80052
80053         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
80054         Include xalloc.h.
80055         Don't include <stdlib.h>.  Don't declare malloc, realloc.
80056
80057 2000-06-24  Jim Meyering  <meyering@lucent.com>
80058
80059         * m4/strerror_r.m4: Revive this file -- to try out an experimental
80060         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
80061         for which strerror does return char*, but which lacks a conveniently
80062         accessible declaration of the function.  If the compile-test says
80063         strerror_r doesn't work, then resort to a `run'-test that works on
80064         BeOS and segfaults on DEC Unix.
80065
80066 2000-06-24  Jim Meyering  <meyering@lucent.com>
80067
80068         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
80069
80070 2000-06-23  Paul Eggert  <eggert@twinsun.com>
80071
80072         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
80073         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
80074
80075 2000-06-23  Paul Eggert  <eggert@twinsun.com>
80076
80077         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
80078         (mbrtowc, mbstate_t): Define substitutes if
80079         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
80080         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
80081         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
80082
80083 2000-06-23  Jim Meyering  <meyering@lucent.com>
80084
80085         * m4/afs.m4: Add missing AC_MSG_RESULT.
80086         Reported by Bruno Haible.
80087
80088         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
80089         Suggestion from Bruno Haible.
80090
80091 2000-06-23  Jim Meyering  <meyering@lucent.com>
80092
80093         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
80094
80095 2000-06-21  Jim Meyering  <meyering@lucent.com>
80096
80097         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
80098
80099 2000-06-21  Jim Meyering  <meyering@lucent.com>
80100
80101         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
80102         (noinst_HEADERS): Add getstr.h.
80103
80104         * lib/getline.c (getstr): Move into a separate file.
80105         * lib/getstr.c (getstr): New file, extracted from getline.c, with
80106         the following changes: new parameter, delim2; both delim[12]
80107         parameters have type `int', not `char'.  The latter would lose
80108         with 8-bit delimiters.
80109         * lib/getstr.h: New file.
80110
80111 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
80112
80113         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
80114         than 1024, return a memory chunk of least possible size, instead
80115         of size PATH_MAX + 2. In the loop, increment the size proportionally.
80116         Use free/xmalloc instead of xrealloc to avoid copying for very long
80117         paths.
80118
80119 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
80120
80121         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
80122         the empty string.
80123
80124 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
80125
80126         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
80127         address, not strdup.  Include <stdlib.h> and don't declare free().
80128
80129 2000-06-19  Jim Meyering  <meyering@lucent.com>
80130
80131         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
80132
80133 2000-06-18  Jim Meyering  <meyering@lucent.com>
80134
80135         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
80136
80137         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
80138         `checking whether...' message to be consistent with that of the
80139         lstat test.
80140
80141 2000-06-18  Jim Meyering  <meyering@lucent.com>
80142
80143         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
80144         Besides, these days every porting target provides a mkdir function.
80145
80146         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
80147         needed. (this snippet comes from src/system.h).
80148
80149 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
80150
80151         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
80152
80153 2000-06-15  Paul Eggert  <eggert@twinsun.com>
80154
80155         * lib/human.c (adjust_value): New function.
80156         (human_readable_inexact): Apply rounding style even when
80157         printing approximate values.
80158
80159 2000-06-14  Paul Eggert  <eggert@twinsun.com>
80160
80161         * lib/human.c (human_readable_inexact): Allow an input block
80162         size that is not a multiple of the output block size, and vice versa.
80163         Reported by Piergiorgio Sartor.
80164
80165 2000-06-14  Paul Eggert  <eggert@twinsun.com>
80166
80167         * lib/getdate.y (get_date): Apply relative times after time
80168         zone indicator, not before.  Reported by Todd A. Jacobs.
80169
80170 2000-06-13  Jim Meyering  <meyering@lucent.com>
80171
80172         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
80173
80174         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
80175
80176 2000-06-12  Paul Eggert  <eggert@twinsun.com>
80177
80178         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
80179
80180 2000-06-12  Jim Meyering  <meyering@lucent.com>
80181
80182         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
80183         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
80184         optional argument.
80185         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
80186         the optional argument, `lib'.
80187
80188 2000-06-08  Jim Meyering  <meyering@lucent.com>
80189
80190         * m4/largefile.m4: Remove file (now that it's part of autoconf).
80191
80192 2000-06-04  Paul Eggert  <eggert@twinsun.com>
80193
80194         Rewrite largefile configuration so that we don't need to run
80195         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
80196         AC_CANONICAL_HOST in configure.in -- jmm]
80197
80198         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
80199         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
80200         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
80201         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
80202         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
80203         All uses changed.
80204         Instead of inspecting the output of getconf, try to compile the
80205         test program without and with the macro definition.
80206         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
80207         for getconf.  Instead, check for the needed flags by compiling
80208         test programs.
80209
80210 2000-06-04  Paul Eggert  <eggert@twinsun.com>
80211
80212         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
80213
80214 2000-06-04  Jim Meyering  <meyering@lucent.com>
80215
80216         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
80217         SunOS 4.1.4 for which gid_t is an unsigned type.
80218
80219 2000-06-03  Jim Meyering  <meyering@lucent.com>
80220
80221         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
80222         now that autoconf requires that.
80223
80224         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
80225         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
80226         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
80227
80228 2000-06-03  Jim Meyering  <meyering@lucent.com>
80229
80230         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
80231
80232 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
80233
80234         * m4/glibc21.m4: New file.
80235         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
80236
80237 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
80238
80239         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
80240         newer, don't install charset.alias.
80241         * lib/config.charset: Change the Linux/glibc rules so they become empty
80242         on glibc-2.1 or newer.
80243
80244 2000-06-02  Jim Meyering  <meyering@lucent.com>
80245
80246         * lib/mountlist.c: Back out last change.  Instead, do this...
80247         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
80248         me_dummy member using the same `ignore'-testing code.
80249         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
80250         fs_type strings.
80251         From Mark D. Roth.
80252
80253 2000-05-29  Jim Meyering  <meyering@lucent.com>
80254
80255         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
80256         mounts with the `ignore' attribute.  Based on a patch from
80257         Mark D. Roth.
80258
80259 2000-05-28  Jim Meyering  <meyering@lucent.com>
80260
80261         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
80262         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
80263         * m4/stat.m4: Likewise.
80264         * m4/lstat.m4: Likewise.
80265         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
80266
80267         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
80268         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
80269
80270 2000-05-26  Jim Meyering  <meyering@lucent.com>
80271
80272         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
80273
80274 2000-05-24  Jim Meyering  <meyering@lucent.com>
80275
80276         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
80277         autoconf requires that.
80278         * m4/lib-check.m4: Likewise.
80279         * m4/jm-macros.m4: Likewise.
80280         * m4/strftime.m4: Likewise.
80281
80282         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
80283         AC_CHECK_DECLS, now that autoconf requires that.
80284
80285 2000-05-22  Jim Meyering  <meyering@lucent.com>
80286
80287         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
80288         * m4/lstat.m4: Likewise.
80289
80290 2000-05-22  Jim Meyering  <meyering@lucent.com>
80291
80292         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
80293
80294 2000-05-20  Jim Meyering  <meyering@lucent.com>
80295
80296         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
80297         (jm_PREREQ): Use it.
80298
80299 2000-05-18  Jim Meyering  <meyering@lucent.com>
80300
80301         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
80302         back, too, since it may have been modified by allocate_entry.
80303         (hash_delete): Rewrite to use neither the assignment operator
80304         nor the comma operator in an if-expression.
80305
80306 2000-05-15  Paul Eggert  <eggert@twinsun.com>
80307
80308         * lib/closeout.c:
80309         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
80310         Remove; no longer needed.
80311         "quotearg.h": Add include.
80312         (file_name): Do not bother to explicitly initialize to NULL; it's less
80313         efficient on some hosts.
80314         (close_stdout_status): Remove test as to whether stdout was already
80315         closed; it breaks for the case "echo x | sort >&-".
80316         Quote file name colons.
80317         Do not assume that _("write error") lacks format strings.
80318
80319 2000-05-15  Jim Meyering  <meyering@lucent.com>
80320
80321         * lib/version-etc.c (version_etc_copyright): Update the copyright
80322         string used in all --version output.
80323
80324 2000-05-14  Jim Meyering  <meyering@lucent.com>
80325
80326         * lib/closeout.c (close_stdout_set_file_name): New function.
80327         (close_stdout_status): Use new file-scoped global.
80328         Return right away if fstat says the stdout file descriptor is invalid.
80329         * lib/closeout.h (close_stdout_set_file_name): Declare.
80330
80331 2000-05-10  Jim Meyering  <meyering@lucent.com>
80332
80333         * lib/closeout.c [default_exit_status]: New file-scoped variable.
80334         (close_stdout_set_status): New function.
80335         * lib/closeout.h (close_stdout_set_status): Declare.
80336
80337 2000-05-09  Jim Meyering  <meyering@lucent.com>
80338
80339         * m4/gettext.m4: Rename this...
80340         * m4/libintl.m4: ...to this.
80341
80342 2000-05-08  Jim Meyering  <meyering@lucent.com>
80343
80344         * lib/long-options.c: Don't include closeout.h.
80345         (parse_long_options): Don't call close_stdout for --version.
80346
80347 2000-05-06  Paul Eggert  <eggert@twinsun.com>
80348
80349         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
80350         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
80351         2.1.3 bug.  This avoids a clash when files like regex.c define
80352         _GNU_SOURCE.
80353
80354 2000-05-06  Jim Meyering  <meyering@lucent.com>
80355
80356         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
80357         (AC_REPLACE_FUNCS): Add strnlen.
80358
80359         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
80360         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
80361
80362         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
80363         AC_SEARCH_LIBS call for nanosleep.
80364         (LIB_NANOSLEEP): Set and AC_SUBST.
80365
80366 2000-05-06  Jim Meyering  <meyering@lucent.com>
80367
80368         * lib/strnlen.c: Undefine __strnlen and strnlen.
80369         [!weak_alias]: Define __strnlen to strnlen.
80370
80371         * lib/atexit.c: New file, from libiberty.
80372
80373 2000-05-06  Jim Meyering  <meyering@lucent.com>
80374
80375         * lib/closeout.c (close_stdout_status): Also check for errors on the
80376         stderr stream.
80377
80378 2000-05-05  Jim Meyering  <meyering@lucent.com>
80379
80380         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
80381         AC_SEARCH_LIBS call for clock_gettime.
80382         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
80383
80384         * m4/search-libs.m4: Update from autoconf.
80385
80386         su doesn't work on Solaris 2.6.
80387         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
80388         <shadow.h>.  Reported by Dragos Harabor.
80389
80390 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
80391
80392         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
80393         memcpy instead of xmalloc, xrealloc, path_concat.
80394         (locale_charset): Treat empty environment variables as absent.
80395         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
80396
80397 2000-05-04  Jim Meyering  <meyering@lucent.com>
80398
80399         * lib/getopt.c: Update from glibc.
80400         * lib/obstack.c: Likewise.
80401         * lib/obstack.h: Likewise.
80402         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
80403         file
80404
80405         * lib/regex.h: Likewise.
80406         * lib/strndup.c: Likewise.
80407         * lib/strnlen.c: New file, from glibc.
80408
80409 2000-05-03  Jim Meyering  <meyering@lucent.com>
80410
80411         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
80412
80413 2000-05-02  Paul Eggert  <eggert@twinsun.com>
80414
80415         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
80416         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
80417         compile-time test, rather than inspecting host and OS, to
80418         decide whether to define _LARGEFILE_SOURCE.
80419
80420 2000-05-01  Jim Meyering  <meyering@lucent.com>
80421
80422         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
80423
80424         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
80425         Based on a patch from Bruno Haible.
80426
80427 2000-05-01  Jim Meyering  <meyering@lucent.com>
80428
80429         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
80430
80431 2000-04-29  Jim Meyering  <meyering@lucent.com>
80432
80433         * lib/path-concat.c: Declare strdup only if it's not defined.
80434         * lib/canon-host.c: Likewise.
80435
80436 2000-04-28  Jim Meyering  <meyering@lucent.com>
80437
80438         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
80439         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
80440         is included first, then limits.h is included by locale.h by libintl.h.
80441         From John David Anglin.
80442
80443 2000-04-25  Jim Meyering  <meyering@lucent.com>
80444
80445         * lib/makepath.c (S_IRWXUGO): Define.
80446         (make_path): Always perform explicit chmod if MODE specifies any
80447         of the `special' permission bits.  Prompted by a bug report against
80448         install from Mate Wierdl and Joost van Baal.
80449
80450 2000-04-18  Jim Meyering  <meyering@lucent.com>
80451
80452         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
80453         (jm_PREREQ): Use it.
80454
80455 2000-04-18  Jim Meyering  <meyering@lucent.com>
80456
80457         * lib/README: New file.
80458
80459         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
80460         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
80461
80462 2000-04-17  Jim Meyering  <meyering@lucent.com>
80463
80464         Get it right :-)
80465         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
80466         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
80467         Suggestion from Akim Demaille.
80468
80469 2000-04-17  Jim Meyering  <meyering@lucent.com>
80470
80471         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
80472         the definition of it to rpl_strftime also defined-away the system's
80473         declaration.
80474
80475 2000-04-15  Jim Meyering  <meyering@lucent.com>
80476
80477         Use `C' to denote so-called `contiguous' files, the same way
80478         that tar does.
80479         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
80480         (ftypelet): Use S_ISCTG.
80481         From Michael Deutschmann.
80482
80483 2000-04-14  Jim Meyering  <meyering@lucent.com>
80484
80485         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
80486         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
80487         clobbered.
80488
80489 2000-04-14  Jim Meyering  <meyering@lucent.com>
80490
80491         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
80492
80493 2000-04-13  Jim Meyering  <meyering@lucent.com>
80494
80495         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
80496         AH_VERBATIM to insert required #ifndef into config.h.in.
80497         Suggestion from Akim Demaille.
80498
80499 2000-04-12  Jim Meyering  <meyering@lucent.com>
80500
80501         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
80502         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
80503         Christian Krackowizer.
80504
80505         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
80506         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
80507         (AC_SYS_LARGEFILE): Require.
80508         (AM_C_PROTOTYPES): Require.
80509
80510 2000-04-08  Jim Meyering  <meyering@lucent.com>
80511
80512         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
80513         names don't conflict.  Reported by Eli Zaretskii.
80514
80515 2000-04-07  Jim Meyering  <meyering@lucent.com>
80516
80517         * lib/putenv.c: Move inclusion of errno.h so it follows that of
80518         sys/types.h, to work around system header problems on AIX 3.2.5.
80519         From Bruno Haible.
80520
80521 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
80522
80523         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
80524         bug.  Deal with the different error behavior of Irix iconv.
80525
80526 2000-04-05  Paul Eggert  <eggert@twinsun.com>
80527
80528         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
80529         IRIX if the installer said otherwise.
80530
80531 2000-04-05  Jim Meyering  <meyering@lucent.com>
80532
80533         Portability tweaks required for ultrix4.3.
80534         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
80535         (jm_CHECK_DECLS): Add getutent to the list of functions.
80536         (_jm_DECL_HEADERS): Add utmpx.h.
80537         From John David Anglin.
80538
80539         * m4/strftime.m4: Back out the 2000-04-02 change.
80540         Instead of that change, simply undefine putenv in the test program.
80541
80542 2000-04-05  Jim Meyering  <meyering@lucent.com>
80543
80544         Portability tweaks required for ultrix4.3.
80545         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
80546         getutent.
80547         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
80548         * lib/canon-host.c: Declare strdup.
80549         * lib/path-concat.c: Likewise.
80550         From John David Anglin.
80551
80552 2000-04-04  Jim Meyering  <meyering@lucent.com>
80553
80554         Be more DOS 8.3-friendly.
80555         * lib/ref-add.sin: Renamed from ref-add.sed.in.
80556         * lib/ref-del.sin: Renamed from ref-del.sed.in.
80557         * lib/Makefile.am: Reflect renaming.
80558         Reported by Eli Zaretskii.
80559
80560         Use a temporary file name that won't clash with `charset.alias'
80561         in the DOS 8.3 name space.
80562         * lib/Makefile.am (charset_tmp): Define.
80563         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
80564         (uninstall-local): Likewise.
80565         Reported by Eli Zaretskii.
80566
80567 2000-04-03  Jim Meyering  <meyering@lucent.com>
80568
80569         * m4/gettext.m4: Fix typo in comment.
80570
80571         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
80572         textutils/configure.in).  Suggestion from Paul Eggert.
80573         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
80574
80575 2000-04-02  Paul Eggert  <eggert@twinsun.com>
80576
80577         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
80578         variable in the shell rather than using putenv, which isn't
80579         portable.  This avoids the configure-time inter-test dependency
80580         on the potentially-renamed putenv function.
80581
80582 2000-03-30  Paul Eggert  <eggert@twinsun.com>
80583
80584         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
80585         before checking struct stat.st_blksize, so that
80586         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
80587
80588 2000-03-29  Paul Eggert  <eggert@twinsun.com>
80589
80590         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
80591         since strftime.c uses HAVE_STRFTIME to decide whether to use
80592         the underlying strftime.
80593
80594 2000-03-29  Paul Eggert  <eggert@twinsun.com>
80595
80596         * lib/time/strftime.c (my_strftime): Make sure we call the system
80597         strftime, not ourselves, when invoking the underlying strftime.
80598
80599 2000-03-24  Jim Meyering  <meyering@lucent.com>
80600
80601         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
80602         (charset_alias): Define.
80603         (install-exec-local): Factor out common code.
80604         (uninstall-local): Split lines longer than 80.
80605         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
80606         (SUFFIXES): Define.
80607         (.sed.in.sed): New rule.  Don't redirect directly to $@.
80608         (CLEANFILES): Add ref-add.sed and ref-del.sed.
80609
80610 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
80611
80612         * lib/config.charset: Output a line containing "Packages using this
80613         file".
80614         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
80615         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
80616         ref-del.sed): New rules.
80617
80618 2000-03-17  Jim Meyering  <meyering@lucent.com>
80619
80620         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
80621         Otherwise, include <strings.h>
80622
80623 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
80624
80625         * lib/unicodeio.c (utf8_wctomb): New function.
80626         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
80627         format instead of in UCS-4 with platform dependent endianness.
80628
80629 2000-03-10  Jim Meyering  <meyering@lucent.com>
80630
80631         * m4/lib-check.m4: Look for getspnam in -lgen, too.
80632         From Marco Franzen.
80633
80634 2000-03-07  Paul Eggert  <eggert@twinsun.com>
80635
80636         * lib/savedir.c (savedir): Work even if directory size is
80637         negative; this can happen with some screwy NFS configurations.
80638
80639 2000-03-06  Jim Meyering  <meyering@lucent.com>
80640
80641         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
80642         if it's NULL (because we ran out of memory).  From Bruno Haible.
80643
80644 2000-03-05  Jim Meyering  <meyering@lucent.com>
80645
80646         * lib/localcharset.c ("path-concat.h"): Include.
80647         (get_charset_aliases): Use path_concat instead of ANSI string
80648         concatenation.
80649
80650         * lib/unicodeio.h (PARAMS): Define.
80651         Use it to guard prototype.
80652
80653 2000-03-04  Jim Meyering  <meyering@lucent.com>
80654
80655         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
80656         for lib/localcharset.c.
80657
80658 2000-03-04  Jim Meyering  <meyering@lucent.com>
80659
80660         * lib/Makefile.am (install-exec-local): Create $(libdir) before
80661         installing into it.
80662         (uninstall-local): Uncomment this rule so `make distcheck' works
80663         once again.
80664
80665         * lib/unicodeio.c (<errno.h>): Include it.
80666         (errno): Declare if not defined.
80667
80668         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
80669
80670         * lib/config.charset: New version, incorporating remarks from a linux
80671         i18n mailing list.  From Bruno Haible.
80672
80673 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
80674
80675         * m4/codeset.m4: New file.
80676         * m4/iconv.m4: New file.
80677         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
80678
80679 2000-03-03  Jim Meyering  <meyering@lucent.com>
80680
80681         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
80682
80683 2000-03-02  Jim Meyering  <meyering@lucent.com>
80684
80685         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
80686         the messages come out on separate lines.
80687
80688         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
80689         rather than jm_CHECK_DECLARATIONS.
80690         * m4/decl.m4: Remove now-unused file.
80691
80692         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
80693         geteuid.
80694
80695 2000-03-02  Jim Meyering  <meyering@lucent.com>
80696
80697         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
80698
80699 2000-03-01  Jim Meyering  <meyering@lucent.com>
80700
80701         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
80702         * lib/unicodeio.c: Likewise.
80703
80704 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
80705
80706         * lib/config.charset: New file.
80707         * lib/localcharset.c: New file.
80708         * lib/unicodeio.h, lib/unicodeio.c: New files.
80709         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
80710         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
80711         (noinst_HEADERS): Add unicodeio.h.
80712         (all-local, install-exec-local, charset.alias): New targets.
80713
80714 2000-02-28  Paul Eggert  <eggert@twinsun.com>
80715
80716         * lib/quotearg.c (ALERT_CHAR): New macro.
80717         (quotearg_buffer_restyled): Use it.
80718
80719 2000-02-27  Jim Meyering  <meyering@lucent.com>
80720
80721         * m4/check-decl.m4: Add getenv to the list.
80722
80723 2000-02-27  Jim Meyering  <meyering@lucent.com>
80724
80725         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
80726         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
80727
80728         * lib/backupfile.c: Guard inclusion of stdlib.h with
80729         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
80730         Declare malloc if needed.
80731
80732         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
80733         `#ifndef HAVE_DECL..'
80734         now that autoconf always defines the HAVE_DECL_ symbols.
80735         * lib/human.c: Likewise.
80736         * lib/same.c: Likewise.
80737         * lib/strtoumax.c: Likewise.
80738
80739         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
80740         declaration check was not run.
80741         * lib/hash.c: Likewise.
80742         * lib/human.c: Likewise.
80743         * lib/same.c: Likewise.
80744         * lib/strtoumax.c: Likewise.
80745
80746         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
80747         `.', then first look up the entire `.'-containing string as a login
80748         name.
80749
80750 2000-02-23  Jim Meyering  <meyering@lucent.com>
80751
80752         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
80753         in place of my hack.
80754
80755 2000-02-18  Paul Eggert  <eggert@twinsun.com>
80756
80757         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
80758         (textint): New typedef.
80759         (parser_control): Member year changed from int to textint.
80760         All uses changed.
80761         (YYSTYPE): Removed; replaced by %union with int and textint members.
80762         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
80763         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
80764         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
80765         (tSNUMBER, tUNUMBER): Now of type <textintval>.
80766         (date, number, to_year): Use width of number in digits, not its value,
80767         to determine whether it's a 2-digit year, or a 2-digit time.
80768         (yylex): Store number of digits of numeric tokens.
80769         Reported by John Kendall.
80770
80771         (parser_control): Changed from struct parser_control to typedef (for
80772         consistency).  All uses changed.
80773
80774         (tID): Removed; not used.
80775         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
80776
80777 2000-02-14  Paul Eggert  <eggert@twinsun.com>
80778
80779         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
80780         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
80781
80782 2000-02-12  Jim Meyering  <meyering@lucent.com>
80783
80784         * lib/userspec.c (ISDIGIT): Define it.
80785         (isdigit): Remove definition.
80786         (is_number): Use ISDIGIT, not isdigit.
80787         <libintl.h>: Include.
80788         (_ and N_): Define.
80789         (parse_user_spec): Mark translatable strings.
80790
80791 2000-02-10  Jim Meyering  <meyering@lucent.com>
80792
80793         With these changes, nanosleep.[ch] are finally enough like the other
80794         lib/* replacement files to compile on a few more losing systems.
80795
80796         * lib/nanosleep.h: Don't include config.h.
80797         Remove prototype from declaration of nanosleep.
80798         (PARAMS): Remove now-unneeded definition.
80799         * lib/nanosleep.c: #undef nanosleep.
80800         (rpl_nanosleep): Rename from nanosleep.
80801
80802 2000-02-10  Jim Meyering  <meyering@lucent.com>
80803
80804         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
80805         gnu_nanosleep to rpl_nanosleep.
80806
80807 2000-02-09  Jim Meyering  <meyering@lucent.com>
80808
80809         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
80810         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
80811
80812 2000-02-08  Akim Demaille  <akim@epita.fr>
80813
80814         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
80815         `[' and `]' and remove uses of `changequote'.
80816         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
80817         (AC_SYS_LARGEFILE): Likewise.
80818         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
80819         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
80820         of changequote.
80821         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
80822         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
80823         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
80824         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
80825
80826 2000-02-05  Jim Meyering  <meyering@lucent.com>
80827
80828         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
80829         Remove explicit use of AC_HEADER_TIME.  It is required by
80830         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
80831         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
80832         in autoconf whereby the expansion of the latter ended up preceding
80833         the expansion of its prerequisite, AC_HEADER_TIME.
80834         Reported by Volker Borchert.
80835
80836 2000-02-03  Jim Meyering  <meyering@lucent.com>
80837
80838         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
80839
80840 2000-02-03  Jim Meyering  <meyering@lucent.com>
80841
80842         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
80843         rather than with `#if HAVE_UTMPNAME'.
80844
80845 2000-02-02  Jim Meyering  <meyering@lucent.com>
80846
80847         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
80848         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
80849         Reported by Eli Zaretskii.
80850
80851 2000-02-01  Jim Meyering  <meyering@lucent.com>
80852
80853         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
80854
80855 2000-01-31  Jim Meyering  <meyering@lucent.com>
80856
80857         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
80858         functions.  Add the time.h and sys/time.h headers along with the
80859         AC_REQUIRE'ment of AC_HEADER_TIME.
80860
80861 2000-01-31  Jim Meyering  <meyering@lucent.com>
80862
80863         * lib/nanosleep.h (nanosleep): Guard declaration with
80864         `#if ! HAVE_DECL_NANOSLEEP'.
80865         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
80866         the declaration in that vendor's sys/timers.h.
80867         Reported by Christian Krackowizer.
80868
80869         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
80870         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
80871         (ISPRINT): Likewise.
80872         Reported by Tom Tromey.
80873
80874 2000-01-30  Jim Meyering  <meyering@lucent.com>
80875
80876         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
80877
80878         * m4/prereq.m4 (utmp_includes): Define.
80879         Check for ut_user and ut_name members in both struct utmpx
80880         and struct utmp.
80881
80882 2000-01-30  Jim Meyering  <meyering@lucent.com>
80883
80884         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
80885         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
80886         header files where only utmpx.ut_user is declared.
80887
80888         * lib/readutmp.h (UT_USER): Define.
80889
80890 2000-01-29  Jim Meyering  <meyering@lucent.com>
80891
80892         * m4/lib-check.m4: New file containing library-related checks from
80893         fileutils and sh-utils (textutils had none).
80894
80895 2000-01-28  Jim Meyering  <meyering@lucent.com>
80896
80897         * m4/perl.m4: Change format of warning message to look more like that
80898         from the missing script.  Suggestion from François Pinard.
80899
80900 2000-01-25  Jim Meyering  <meyering@lucent.com>
80901
80902         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
80903         well as time.h in the compile check.
80904         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
80905         Fix typo in cross-compiling case: s/yes/no/.
80906
80907 2000-01-23  Jim Meyering  <meyering@lucent.com>
80908
80909         * m4/jm-macros.m4: Move df-related tests here from
80910         fileutils/configure.in
80911
80912         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
80913         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
80914
80915         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
80916         s/space/ac_fsusage_space/.
80917         (jm_FILE_SYSTEM_USAGE): Take two parameters.
80918
80919         * m4/ftruncate.m4: New file (derived from part of
80920         fileutils/configure.in).
80921         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
80922         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
80923
80924         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
80925         AC_SUBST these here, rather than just in sh-util/configure.in, so
80926         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
80927         all the same.
80928         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
80929         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
80930         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
80931         (AC_SUBST(POW_LIBM)): Likewise.
80932         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
80933
80934 2000-01-23  Jim Meyering  <meyering@lucent.com>
80935
80936         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
80937         obstack.c.
80938
80939 2000-01-22  Jim Meyering  <meyering@lucent.com>
80940
80941         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
80942
80943         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
80944
80945         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
80946         configure.in
80947         (AC_CHECK_HEADERS): Likewise for sh-utils.
80948         (AC_CHECK_HEADERS): Likewise for textutils.
80949         Merge the three lists of headers.
80950
80951         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
80952         from fileutils' configure.in.
80953
80954         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
80955         code. Moved tests into their own function (_jm_DECL_HEADERS) in
80956         check-decl.m4.
80957
80958         * m4/check-decl.m4: Use #if rather than #ifdef.
80959         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
80960         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
80961         (_jm_DECL_HEADERS): Define new function.
80962         (jm_CHECK_DECLARATIONS): Require it.
80963
80964 2000-01-22  Jim Meyering  <meyering@lucent.com>
80965
80966         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
80967         [! HAVE_DECL_STRTOULL]: Declare strtoull.
80968         Required for some AIX systems.  Reported by Christian Krackowizer.
80969         [TESTING] (main): New function.
80970
80971         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
80972         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
80973         letters.
80974
80975         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
80976         iswprint.
80977
80978         * lib/strverscmp.c (ISDIGIT): Define.
80979         (strverscmp): Use ISDIGIT, not isdigit.
80980
80981 2000-01-19  Jim Meyering  <meyering@lucent.com>
80982
80983         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
80984         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
80985         defines `struct timespec' in <sys/time.h>
80986
80987         * m4/c-bs-a.m4: Remove uses of changequote altogether.
80988         Thanks to Akim for explaining.
80989
80990 2000-01-17  Paul Eggert  <eggert@twinsun.com>
80991
80992         * lib/nanosleep.c (nanosleep):
80993         Don't use SA_INTERRUPT to decide whether to call sigaction, as
80994         POSIX.1 doesn't require SA_INTERRUPT and some systems
80995         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
80996         it's been part of POSIX.1 since day 1 (in 1988).
80997
80998 2000-01-17  Jim Meyering  <meyering@lucent.com>
80999
81000         * lib/interlock: Remove unused file.  Reported by François Pinard.
81001
81002 2000-01-16  Paul Eggert  <eggert@twinsun.com>
81003
81004         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
81005         alert, backslash, formfeed, and vertical tab unnecessarily in
81006         shell quoting style.
81007
81008 2000-01-16  Jim Meyering  <meyering@lucent.com>
81009
81010         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
81011         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
81012         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
81013         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
81014
81015 2000-01-16  Jim Meyering  <meyering@lucent.com>
81016
81017         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
81018         because the latter didn't work.
81019
81020 2000-01-15  Jim Meyering  <meyering@lucent.com>
81021
81022         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
81023         (AC_REPLACE_FUNCS): Add memcpy and memset.
81024         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
81025         Add strpbrk.
81026         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
81027
81028 2000-01-12  Jim Meyering  <meyering@lucent.com>
81029
81030         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
81031         (jm_PREREQ): Use it.
81032         (jm_PREREQ_READUTMP): New macro.
81033         (jm_PREREQ): Use it.
81034
81035 2000-01-11  Paul Eggert  <eggert@twinsun.com>
81036
81037         Quote multibyte characters correctly.
81038         * m4/c-bs-a.m4: New file.
81039         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
81040         (jm_PREREQ): Use it.
81041
81042 2000-01-11  Paul Eggert  <eggert@twinsun.com>
81043
81044         * m4/uintmax_t.m4: Port to autoconf 2.13.
81045
81046 2000-01-08  Jim Meyering  <meyering@ascend.com>
81047
81048         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
81049         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
81050
81051 2000-01-04  Jim Meyering  <meyering@ascend.com>
81052
81053         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
81054         jm_STRUCT_DIRENT_D_TYPE.
81055         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
81056         jm_STRUCT_DIRENT_D_INO.
81057         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
81058         jm_STRUCT_UTIMBUF.
81059         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
81060         renamings.
81061         * m4/utime.m4: Likewise.
81062
81063         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
81064         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
81065
81066 2000-01-03  Paul Eggert  <eggert@twinsun.com>
81067
81068         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
81069         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
81070
81071 2000-01-02  Jim Meyering  <meyering@ascend.com>
81072
81073         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
81074         remember if this is necessary.
81075
81076 1999-12-26  Jim Meyering  <meyering@ascend.com>
81077
81078         * m4/jm-macros.m4: Use it here.
81079         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
81080
81081 1999-12-23  Jim Meyering  <meyering@ascend.com>
81082
81083         * m4/jm-macros.m4: Check for clock_gettime (moved from
81084         fileutils/configure.in)
81085         Check for gettimeofday.
81086
81087 1999-12-20  Jim Meyering  <meyering@ascend.com>
81088
81089         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
81090         autoconf-2.14a-1999-12-20.
81091
81092 1999-12-19  Jim Meyering  <meyering@ascend.com>
81093
81094         * m4/lstat-slash.m4: New file.
81095         * m4/jm-macros.m4: Use the new macro:
81096         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
81097
81098 1999-12-07  Jim Meyering  <meyering@ascend.com>
81099
81100         * m4/perl.m4: Require that File::Compare be available, too.
81101         Too many systems seem to lack it.
81102
81103         * m4/strftime.m4: Add checks for most of the cpp macros tested in
81104         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
81105
81106 1999-11-18  Paul Eggert  <eggert@twinsun.com>
81107
81108         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
81109         problem with the QNX 4.25 shell, which doesn't propagate exit
81110         status of failed commands inside shell assignments.
81111
81112 1999-11-17  Jim Meyering  <meyering@ascend.com>
81113
81114         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
81115
81116 1999-11-07  Jim Meyering  <meyering@ascend.com>
81117
81118         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
81119
81120 1999-11-06  Jim Meyering  <meyering@ascend.com>
81121
81122         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
81123         * m4/jm-macros.m4 (jm_MACROS): Use it here.
81124
81125 1999-11-05  Jim Meyering  <meyering@ascend.com>
81126
81127         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
81128         configure.in of textutils, fileutils, and sh-utils into this one
81129         (shared between those packages) file.
81130         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
81131         AC_STRUCT_ST_BLKSIZE.
81132
81133 1999-11-03  Jim Meyering  <meyering@ascend.com>
81134
81135         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
81136         of AC_CHECK_TYPE checks includes unistd.h.
81137         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
81138         Suggestion from Akim Demaille.
81139
81140 1999-10-30  Jim Meyering  <meyering@ascend.com>
81141
81142         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
81143         m4-quoted string.
81144         * m4/ls-mntd-fs.m4: Likewise.
81145         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
81146         * m4/jm-winsz1.m4: Likewise.
81147
81148         * m4/const.m4: Remove file, since the fix made it into the experimental
81149         version of autoconf.
81150         * m4/mktime.m4: Likewise.
81151
81152         * m4/check-type.m4: Remove file, now that the latest version of
81153         AC_CHECK_TYPE takes a third arg to specify additional #includes.
81154
81155         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
81156         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
81157         AC_CHECK_TYPE.
81158
81159 1999-10-04  Jim Meyering  <meyering@ascend.com>
81160
81161         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
81162
81163 1999-09-22  Paul Eggert  <eggert@twinsun.com>
81164
81165         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
81166         2.95.1 bug with HP-UX 10.20.
81167
81168 1999-09-17  Jim Meyering  <meyering@ascend.com>
81169
81170         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
81171         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
81172         due to missing strdup (against sh-utils-2.0).
81173
81174 1999-08-29  Jim Meyering  <meyering@ascend.com>
81175
81176         * m4/jm-macros.m4: Require jm_BISON.
81177         * m4/bison.m4: New file.
81178
81179 1999-08-17  Paul Eggert  <eggert@twinsun.com>
81180
81181         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
81182         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
81183
81184 1999-08-05  Jim Meyering  <meyering@ascend.com>
81185
81186         * m4/getline.m4: Rename test file from conftestdata to conftest.data
81187         to avoid conflicts with `conftest' on 8+3 filesystems.
81188         Suggestion from Eli Zaretskii.
81189
81190 1999-08-04  Jim Meyering  <meyering@ascend.com>
81191
81192         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
81193         fileutils and sh-utils (textutils's getline test was inadequate).
81194         (AM_FUNC_GETLINE): Run this test.
81195         (AC_CHECK_FUNCS): Check for getdelim.
81196         Reported by Bob Proulx.
81197
81198 1999-08-02  Jim Meyering  <meyering@ascend.com>
81199
81200         * m4/jm-macros.m4: Add a comment.
81201
81202 1999-08-01  Paul Eggert  <eggert@twinsun.com>
81203
81204         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
81205         <inttypes.h> defines strtoumax as a macro (and not as a
81206         function).
81207
81208 1999-08-01  Paul Eggert  <eggert@twinsun.com>
81209
81210         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
81211         that we can shift, multiply and divide unsigned long long
81212         values; Ultrix cc can't do it.
81213
81214 1999-08-01  Paul Eggert  <eggert@twinsun.com>
81215
81216         * m4/mktime.m4: New file, which is a preview of what should appear
81217         in the next public autoconf release.
81218
81219 1999-08-01  Paul Eggert  <eggert@twinsun.com>
81220
81221         * m4/lfs.m4: Remove this file.
81222         * m4/largefile.m4: New file.  It contains the old contents of
81223         lfs.m4, except that all names with prefix AC_LFS have been
81224         changed to use the prefix AC_SYS_LARGEFILE instead, to be
81225         compatible with future autoconf versions.  Also, some minor m4
81226         quoting problems have been fixed.
81227
81228 1999-08-01  Paul Eggert  <eggert@twinsun.com>
81229
81230         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
81231         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
81232         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
81233         and simplify the shell code.
81234
81235 1999-08-01  Jim Meyering  <meyering@ascend.com>
81236
81237         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
81238         m4.
81239
81240 1999-07-20  Jim Meyering  <meyering@ascend.com>
81241
81242         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
81243
81244 1999-07-15  Jim Meyering  <meyering@ascend.com>
81245
81246         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
81247
81248 1999-05-22  Jim Meyering  <meyering@ascend.com>
81249
81250         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
81251
81252 1999-05-20  Jim Meyering  <meyering@ascend.com>
81253
81254         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
81255         Add a colon after each `then' in case $4 is empty.
81256
81257 1999-05-16  Jim Meyering  <meyering@ascend.com>
81258
81259         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
81260
81261 1999-05-10  Jim Meyering  <meyering@ascend.com>
81262
81263         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
81264
81265         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
81266         AC_FUNC_MKTIME.
81267
81268 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
81269
81270         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
81271
81272 1999-05-04  Paul Eggert  <eggert@twinsun.com>
81273
81274         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
81275         not CPPFLAGS, so that linking works correctly in IRIX.
81276
81277 1999-04-30  Paul Eggert  <eggert@twinsun.com>
81278
81279         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
81280
81281 1999-04-20  Paul Eggert  <eggert@twinsun.com>
81282
81283         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
81284         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
81285         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
81286         jm_AC_TYPE_UNSIGNED_LONG_LONG.
81287         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
81288
81289         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
81290
81291 1999-04-20  Jim Meyering  <meyering@ascend.com>
81292
81293         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
81294         AC_REPLACE xstroull if necessary.  From Paul Eggert.
81295         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
81296
81297 1999-04-18  Jim Meyering  <meyering@ascend.com>
81298
81299         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
81300         * m4/jm-macros.m4: Use it.
81301
81302 1999-04-06  Jim Meyering  <meyering@ascend.com>
81303
81304         * m4/strftime.m4: Remove test for %f.
81305
81306 1999-03-29  Jim Meyering  <meyering@ascend.com>
81307
81308         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
81309         superset of the AC_TYPE_* checks in the textutils, fileutils,
81310         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
81311         AC_TYPE_PID_T.
81312
81313 1999-03-28  Jim Meyering  <meyering@ascend.com>
81314
81315         * m4/jm-macros.m4: Define GNU_PACKAGE here.
81316         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
81317         replaced e.g., in the *.sh files of the sh-utils.
81318
81319 1999-03-20  Jim Meyering  <meyering@ascend.com>
81320
81321         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
81322         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
81323         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
81324
81325 1999-03-19  Jim Meyering  <meyering@ascend.com>
81326
81327         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
81328
81329 1999-03-12  Jim Meyering  <meyering@ascend.com>
81330
81331         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
81332
81333 1999-03-07  Jim Meyering  <meyering@ascend.com>
81334
81335         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
81336         declared.
81337
81338 1999-02-17  Jim Meyering  <meyering@ascend.com>
81339
81340         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
81341         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
81342
81343 1999-02-07  Jim Meyering  <meyering@ascend.com>
81344
81345         * m4/group-member.m4: New file -- extracted from sh-utils'
81346         configure.in.
81347
81348         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
81349         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
81350
81351 1999-02-06  Jim Meyering  <meyering@ascend.com>
81352
81353         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
81354         * m4/fnmatch.m4: Likewise.
81355         * m4/getgroups.m4: Likewise.
81356         * m4/lstat.m4: Likewise.
81357         * m4/malloc.m4: Likewise.
81358         * m4/putenv.m4: Likewise.
81359         * m4/realloc.m4: Likewise.
81360         * m4/regex.m4: Likewise.
81361         * m4/stat.m4: Likewise.
81362         * m4/strftime.m4: Likewise.
81363         Suggestion from Alain Magloire.
81364
81365         * m4/chown.m4: Use `.$ac_objext', not `.o'.
81366         * m4/fnmatch.m4: Likewise.
81367         * m4/getgroups.m4: Likewise.
81368         * m4/getline.m4: Likewise.
81369         * m4/lstat.m4: Likewise.
81370         * m4/malloc.m4: Likewise.
81371         * m4/memcmp.m4: Likewise.
81372         * m4/putenv.m4: Likewise.
81373         * m4/realloc.m4: Likewise.
81374         * m4/regex.m4: Likewise.
81375         * m4/stat.m4: Likewise.
81376         * m4/strftime.m4: Likewise.
81377         Suggestion from Alain Magloire.
81378
81379         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
81380         an argument.
81381
81382         * m4/regex.m4: Add a run-time Test for proper operation of
81383         re_compile_pattern.
81384
81385 1999-01-31  Jim Meyering  <meyering@ascend.com>
81386
81387         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
81388
81389 1999-01-30  Jim Meyering  <meyering@ascend.com>
81390
81391         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
81392
81393         * m4/jm-mktime.m4: Make this a wrapper around the official
81394         AM_FUNC_MKTIME rather than my private copy, now that the official one
81395         is up to date.
81396         * m4/mktime.m4: Remove file.
81397
81398         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
81399         * m4/uptime.m4: Likewise.
81400         * m4/uintmax_t.m4: Likewise.
81401
81402 1999-01-28  Jim Meyering  <meyering@ascend.com>
81403
81404         * m4/jm-macros.m4: Use jm_AFS.
81405         * m4/afs.m4: New file (from fileutils' configure.in).
81406
81407         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
81408         * m4/chown.m4: Likewise.
81409         * m4/d-ino.m4: Likewise.
81410         * m4/d-type.m4: Likewise.
81411         * m4/fnmatch.m4: Likewise.
81412         * m4/getgroups.m4: Likewise.
81413         * m4/gettext.m4: Likewise.
81414         * m4/jm-mktime.m4: Likewise.
81415         * m4/jm-winsz2.m4: Likewise.
81416         * m4/lcmessage.m4: Likewise.
81417         * m4/ls-mntd-fs.m4: Likewise.
81418         * m4/malloc.m4: Likewise.
81419         * m4/memcmp.m4: Likewise.
81420         * m4/putenv.m4: Likewise.
81421         * m4/realloc.m4: Likewise.
81422         * m4/st_mtim.m4: Likewise.
81423         * m4/strftime.m4: Likewise.
81424
81425 1999-01-16  Jim Meyering  <meyering@ascend.com>
81426
81427         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
81428         (ARGMATCH_DIE_DECL): Define.
81429
81430 1999-01-12  Jim Meyering  <meyering@ascend.com>
81431
81432         * m4/Makefile.am.in: Rewrite to avoid using fmt.
81433         Reported by Lars Hecking.
81434
81435 1999-01-10  Jim Meyering  <meyering@ascend.com>
81436
81437         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
81438         gross kludge.
81439         * m4/inttypes_h.m4: Likewise.
81440         * m4/lstat.m4: Likewise.
81441         * m4/malloc.m4: Likewise.
81442         * m4/readdir.m4: Likewise.
81443         * m4/realloc.m4: Likewise.
81444         * m4/st_dm_mode.m4: Likewise.
81445         * m4/stat.m4: Likewise.
81446         * m4/utimbuf.m4: Likewise.
81447         * m4/utimes.m4: Likewise.
81448
81449         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
81450         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
81451         comments in config.h.in are meaningful.
81452
81453         * m4/jm-macros.m4: Require autoconf-2.13 here.
81454
81455         * m4/regex.m4: By default, don't use the included regex.c on systems
81456         with glibc 2.  Suggestion from Uli Drepper.
81457
81458 1999-01-02  Jim Meyering  <meyering@ascend.com>
81459
81460         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
81461
81462 1998-12-18  Jim Meyering  <meyering@ascend.com>
81463
81464         * m4/Makefile.am.in (Makefile.am): Simplify rule.
81465         Based on a suggestion from Lars Hecking.
81466
81467 1998-11-16  Paul Eggert  <eggert@twinsun.com>
81468
81469         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
81470
81471 1998-11-16  Jim Meyering  <meyering@ascend.com>
81472
81473         * m4/lfs.m4: Double-quote the `uname...` expression.
81474
81475 1998-11-14  Jim Meyering  <meyering@ascend.com>
81476
81477         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
81478         * m4/stat.m4: Likewise.
81479
81480 1998-11-03  Jim Meyering  <meyering@ascend.com>
81481
81482         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
81483         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
81484
81485 1998-10-18  Jim Meyering  <meyering@ascend.com>
81486
81487         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
81488
81489 1998-10-17  Jim Meyering  <meyering@ascend.com>
81490
81491         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
81492         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
81493         calls for those previously hard-coded headers.  Instead, take a new
81494         parameter.
81495         (jm_CHECK_DECLARATIONS): Reflect interface change.
81496         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
81497         (jm_CHECK_DECL_LOCALTIME_R): New macro.
81498
81499         * m4/mktime.m4: Test for spring-forward gap before long-running test.
81500
81501 1998-10-14  Jim Meyering  <meyering@ascend.com>
81502
81503         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
81504         instead of "TZ=America/Vancouver".  From Paul Eggert.
81505
81506 1998-10-11  Jim Meyering  <meyering@ascend.com>
81507
81508         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
81509         This adds a test for a recently added compatibility fix for mktime.c.
81510         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
81511
81512 1998-09-27  Jim Meyering  <meyering@ascend.com>
81513
81514         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
81515
81516         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
81517         ../configure.in, including a change from Gordon Matzigkeit to allow
81518         cross-compiling for the Hurd.
81519
81520         * m4/glibc.m4: New file/macro to test for the GNU C Library
81521         versions 1 and 2.  From Gordon Matzigkeit.
81522         Indent.
81523
81524 1998-09-21  Jim Meyering  <meyering@ascend.com>
81525
81526         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
81527
81528 1998-08-18  Paul Eggert  <eggert@twinsun.com>
81529
81530         Port nanosecond-resolution times to UnixWare 2.1.2 and
81531         pedantic Solaris 2.6.
81532
81533         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
81534         AC_STRUCT_ST_MTIM.
81535         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
81536         Generate name of ns member, instead of just 1 or undef.
81537         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
81538
81539 1998-08-15  Jim Meyering  <meyering@ascend.com>
81540
81541         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
81542         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
81543         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
81544         instead of jm_TYPE_SSIZE_T.
81545
81546 1998-08-12  Jim Meyering  <meyering@ascend.com>
81547
81548         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
81549
81550 1998-08-02  Jim Meyering  <meyering@ascend.com>
81551
81552         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
81553         in acconfig.h manually.
81554
81555 1998-07-31  Paul Eggert  <eggert@twinsun.com>
81556
81557         * m4/st_mtim.m4: New file.
81558
81559 1998-07-28  Jim Meyering  <meyering@ascend.com>
81560
81561         * m4/utimes.m4: Undef stat.
81562
81563 1998-07-25  Jim Meyering  <meyering@ascend.com>
81564
81565         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
81566         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
81567
81568 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
81569
81570         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
81571         uid and gid actually remain unchanged.
81572
81573 1998-07-07  Jim Meyering  <meyering@ascend.com>
81574
81575         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
81576
81577 1998-07-04  Jim Meyering  <meyering@ascend.com>
81578
81579         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
81580         to prove that this macro can be used in packages without regex.c.
81581
81582 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
81583
81584         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
81585         is to be used.
81586
81587 1998-07-03  Jim Meyering  <meyering@ascend.com>
81588
81589         * m4/gettext.m4: Add -lintl if it's found to be necessary.
81590
81591         * m4/gettext.m4: New file -- from gettext-0.10.35.
81592         * m4/lcmessage.m4: Likewise.
81593         * m4/progtest.m4: Likewise.
81594
81595         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
81596         * m4/jm-macros.m4: Require the new macro.
81597
81598 1998-06-29  Jim Meyering  <meyering@ascend.com>
81599
81600         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
81601         for the definition of NGROUPS (used in a system header included
81602         by sys/mount.h).
81603
81604 1998-06-28  Jim Meyering  <meyering@ascend.com>
81605
81606         * m4/ls-mntd-fs.m4: New file.
81607         * m4/fstypename.m4: New file.
81608
81609         * m4/jm-macros.m4: Require the new macro.
81610         * m4/jm-glibc-io.m4: New file.
81611
81612 1998-05-19  Jim Meyering  <meyering@ascend.com>
81613
81614         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
81615         * m4/lchown.m4: New file.
81616
81617         * m4/Makefile.am.in: New file.
81618         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
81619
81620 1998-05-14  Jim Meyering  <meyering@ascend.com>
81621
81622         * m4/Makefile.am (EXTRA_DIST): Add them.
81623         * m4/jm-macros.m4: New file.
81624         * m4/utimbuf.m4: New file.
81625
81626 1998-05-12  Jim Meyering  <meyering@ascend.com>
81627
81628         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
81629
81630 1998-05-11  Jim Meyering  <meyering@ascend.com>
81631
81632         * m4/isc-posix.m4: New file.
81633
81634 1998-05-10  Jim Meyering  <meyering@ascend.com>
81635
81636         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
81637
81638 1998-05-09  Jim Meyering  <meyering@ascend.com>
81639
81640         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
81641         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
81642         with automake.
81643
81644         * m4/ssize_t.m4: New file.
81645         * m4/mktime.m4: Remove file -- the new automake has this now.
81646
81647 1998-04-26  Jim Meyering  <meyering@ascend.com>
81648
81649         * m4/assert.m4: New file.
81650         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
81651
81652 1998-04-05  Jim Meyering  <meyering@ascend.com>
81653
81654         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
81655         (jm_PREREQ): Use it here.
81656
81657 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
81658
81659         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
81660         in acconfig.h.
81661
81662 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
81663
81664         * m4/prereq.m4: New file.
81665         * m4/error.m4: New file.
81666         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
81667
81668 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
81669
81670         * m4/getline.m4: Don't set am_cv_func_working_getline before the
81671         cache-check for the same variable -- that defeated the purpose of
81672         the test; the test program was never run.  This was a problem only
81673         on systems with losing getline functions -- HP-UX 10.20 is one.
81674         Reported by Bjorn Helgaas.
81675
81676 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
81677
81678         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
81679
81680 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
81681
81682         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
81683
81684         * m4/const.m4: New file.  Use an initializer in this declaration
81685         typedef int charset[2]; const charset x;
81686         Reported by Bob Glickstein.
81687
81688 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
81689
81690         * m4/chown.m4: Fix reversed types on -1 args to chown.
81691         From Kaveh Ghazi.
81692
81693 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
81694
81695         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
81696         Add lseek and memchr.
81697
81698         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
81699         T.E.Dickey <dickey@clark.net> said that some older preprocessors
81700         have a 20-character limit on names.
81701
81702 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
81703
81704         * m4/inttypes_h.m4: New file.
81705         * m4/uintmax_t.m4: New file.
81706         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
81707
81708
81709         -----
81710
81711         Local Variables:
81712         coding: utf-8
81713         End:
81714
81715         Copyright (C) 1997-2011 Free Software Foundation, Inc.
81716
81717         Copying and distribution of this file, with or without
81718         modification, are permitted provided the copyright notice
81719         and this notice are preserved.