4b1069c5759e7db8ce7090d7d105b4da1cb5da0f
[gnulib.git] / ChangeLog
1 2011-05-23  Bruno Haible  <bruno@clisp.org>
2
3         closeout: Move AC_LIBOBJ invocations to module description.
4         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
5         * modules/closeout (Makefile.am): Augment lib_SOURCES.
6
7 2011-05-23  Bruno Haible  <bruno@clisp.org>
8
9         closein: Move AC_LIBOBJ invocations to module description.
10         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
11         * modules/closein (Makefile.am): Augment lib_SOURCES.
12
13 2011-05-23  Bruno Haible  <bruno@clisp.org>
14
15         cloexec: Move AC_LIBOBJ invocations to module description.
16         * m4/cloexec.m4: Remove file.
17         * modules/cloexec (Files): Remove it.
18         (configure.ac): Remove gl_CLOEXEC call.
19         (Makefile.am): Augment lib_SOURCES.
20
21 2011-05-23  Bruno Haible  <bruno@clisp.org>
22
23         check-version: Move AC_LIBOBJ invocations to module description.
24         * m4/check-version.m4: Remove file.
25         * modules/check-version (Files): Remove it.
26         (configure.ac): Remove gl_CHECK_VERSION call.
27         (Makefile.am): Augment lib_SOURCES.
28
29 2011-05-23  Bruno Haible  <bruno@clisp.org>
30
31         chdir-safer: Move AC_LIBOBJ invocations to module description.
32         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
33         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
34
35 2011-05-23  Bruno Haible  <bruno@clisp.org>
36
37         canonicalize: Move AC_LIBOBJ invocations to module description.
38         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
39         AC_LIBOBJ invocation.
40         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
41
42 2011-05-23  Bruno Haible  <bruno@clisp.org>
43
44         canon-host: Move AC_LIBOBJ invocations to module description.
45         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
46         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
47         instead of gl_CANON_HOST.
48         (Makefile.am): Augment lib_SOURCES.
49
50 2011-05-23  Bruno Haible  <bruno@clisp.org>
51
52         backupfile: Move AC_LIBOBJ invocations to module description.
53         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
54         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
55
56 2011-05-23  Bruno Haible  <bruno@clisp.org>
57
58         argmatch: Move AC_LIBOBJ invocations to module description.
59         * m4/argmatch.m4: Remove file.
60         * modules/argmatch (Files): Remove it.
61         (configure.ac): Remove gl_ARGMATCH call.
62         (Makefile.am): Augment lib_SOURCES.
63
64 2011-05-23  Bruno Haible  <bruno@clisp.org>
65
66         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
67         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
68         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
69
70 2011-05-23  Bruno Haible  <bruno@clisp.org>
71
72         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
73         * m4/arcfour.m4: Remove file.
74         * modules/crypto/arcfour (Files): Remove it.
75         (configure.ac): Remove gl_ARCFOUR call.
76         (Makefile.am): Augment lib_SOURCES.
77
78 2011-05-22  Bruno Haible  <bruno@clisp.org>
79
80         write: Move AC_LIBOBJ invocations to module description.
81         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
82         * modules/write (configure.ac): ... to here.
83
84 2011-05-22  Bruno Haible  <bruno@clisp.org>
85
86         wmemset: Move AC_LIBOBJ invocations to module description.
87         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
88         here...
89         * modules/wmemset (configure.ac): ... to here.
90
91 2011-05-22  Bruno Haible  <bruno@clisp.org>
92
93         wmemmove: Move AC_LIBOBJ invocations to module description.
94         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
95         here...
96         * modules/wmemmove (configure.ac): ... to here.
97
98 2011-05-22  Bruno Haible  <bruno@clisp.org>
99
100         wmemcpy: Move AC_LIBOBJ invocations to module description.
101         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
102         here...
103         * modules/wmemcpy (configure.ac): ... to here.
104
105 2011-05-22  Bruno Haible  <bruno@clisp.org>
106
107         wmemcmp: Move AC_LIBOBJ invocations to module description.
108         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
109         here...
110         * modules/wmemcmp (configure.ac): ... to here.
111
112 2011-05-22  Bruno Haible  <bruno@clisp.org>
113
114         wmemchr: Move AC_LIBOBJ invocations to module description.
115         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
116         here...
117         * modules/wmemchr (configure.ac): ... to here.
118
119 2011-05-22  Bruno Haible  <bruno@clisp.org>
120
121         wcswidth: Move AC_LIBOBJ invocations to module description.
122         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
123         here...
124         * modules/wcswidth (configure.ac): ... to here.
125
126 2011-05-22  Bruno Haible  <bruno@clisp.org>
127
128         wcwidth: Respect rules for use of AC_LIBOBJ.
129         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
130         invocation from here...
131         * modules/wcwidth (configure.ac): ... to here.
132         (Depends-on): Update conditions.
133
134 2011-05-22  Bruno Haible  <bruno@clisp.org>
135
136         wctype: Move AC_LIBOBJ invocations to module description.
137         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
138         invocation from here...
139         * modules/wctype (configure.ac): ... to here.
140         (Depends-on): Update conditions.
141
142 2011-05-22  Bruno Haible  <bruno@clisp.org>
143
144         wctrans: Move AC_LIBOBJ invocations to module description.
145         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
146         invocation from here...
147         * modules/wctrans (configure.ac): ... to here.
148
149 2011-05-22  Bruno Haible  <bruno@clisp.org>
150
151         wctomb: Move AC_LIBOBJ invocations to module description.
152         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
153         invocations from here...
154         * modules/wctomb (configure.ac): ... to here.
155
156 2011-05-22  Bruno Haible  <bruno@clisp.org>
157
158         wctob: Move AC_LIBOBJ invocations to module description.
159         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
160         gl_PREREQ_WCTOB invocations from here...
161         * modules/wctob (configure.ac): ... to here.
162         (Depends-on): Update conditions.
163
164 2011-05-22  Bruno Haible  <bruno@clisp.org>
165
166         wcsxfrm: Move AC_LIBOBJ invocations to module description.
167         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
168         here...
169         * modules/wcsxfrm (configure.ac): ... to here.
170
171 2011-05-22  Bruno Haible  <bruno@clisp.org>
172
173         wcstok: Move AC_LIBOBJ invocations to module description.
174         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
175         * modules/wcstok (configure.ac): ... to here.
176
177 2011-05-22  Bruno Haible  <bruno@clisp.org>
178
179         wcsstr: Move AC_LIBOBJ invocations to module description.
180         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
181         * modules/wcsstr (configure.ac): ... to here.
182
183 2011-05-22  Bruno Haible  <bruno@clisp.org>
184
185         wcsspn: Move AC_LIBOBJ invocations to module description.
186         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
187         * modules/wcsspn (configure.ac): ... to here.
188
189 2011-05-22  Bruno Haible  <bruno@clisp.org>
190
191         wcsrtombs: Move AC_LIBOBJ invocations to module description.
192         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
193         gl_PREREQ_WCSRTOMBS invocations from here...
194         * modules/wcsrtombs (configure.ac): ... to here.
195
196 2011-05-22  Bruno Haible  <bruno@clisp.org>
197
198         wcsrchr: Move AC_LIBOBJ invocations to module description.
199         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
200         here...
201         * modules/wcsrchr (configure.ac): ... to here.
202
203 2011-05-22  Bruno Haible  <bruno@clisp.org>
204
205         wcspbrk: Move AC_LIBOBJ invocations to module description.
206         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
207         here...
208         * modules/wcspbrk (configure.ac): ... to here.
209
210 2011-05-22  Bruno Haible  <bruno@clisp.org>
211
212         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
213         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
214         gl_PREREQ_WCSNRTOMBS invocations from here...
215         * modules/wcsnrtombs (configure.ac): ... to here.
216
217 2011-05-22  Bruno Haible  <bruno@clisp.org>
218
219         wcsnlen: Move AC_LIBOBJ invocations to module description.
220         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
221         here...
222         * modules/wcsnlen (configure.ac): ... to here.
223
224 2011-05-22  Bruno Haible  <bruno@clisp.org>
225
226         wcsncpy: Move AC_LIBOBJ invocations to module description.
227         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
228         here...
229         * modules/wcsncpy (configure.ac): ... to here.
230
231 2011-05-22  Bruno Haible  <bruno@clisp.org>
232
233         wcsncmp: Move AC_LIBOBJ invocations to module description.
234         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
235         here...
236         * modules/wcsncmp (configure.ac): ... to here.
237
238 2011-05-22  Bruno Haible  <bruno@clisp.org>
239
240         wcsncat: Move AC_LIBOBJ invocations to module description.
241         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
242         here...
243         * modules/wcsncat (configure.ac): ... to here.
244
245 2011-05-22  Bruno Haible  <bruno@clisp.org>
246
247         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
248         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
249         from here...
250         * modules/wcsncasecmp (configure.ac): ... to here.
251
252 2011-05-22  Bruno Haible  <bruno@clisp.org>
253
254         wcslen: Move AC_LIBOBJ invocations to module description.
255         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
256         * modules/wcslen (configure.ac): ... to here.
257
258 2011-05-22  Bruno Haible  <bruno@clisp.org>
259
260         wcsdup: Move AC_LIBOBJ invocations to module description.
261         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
262         * modules/wcsdup (configure.ac): ... to here.
263
264 2011-05-22  Bruno Haible  <bruno@clisp.org>
265
266         wcscspn: Move AC_LIBOBJ invocations to module description.
267         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
268         here...
269         * modules/wcscspn (configure.ac): ... to here.
270
271 2011-05-22  Bruno Haible  <bruno@clisp.org>
272
273         wcscpy: Move AC_LIBOBJ invocations to module description.
274         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
275         * modules/wcscpy (configure.ac): ... to here.
276
277 2011-05-22  Bruno Haible  <bruno@clisp.org>
278
279         wcscoll: Move AC_LIBOBJ invocations to module description.
280         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
281         here...
282         * modules/wcscoll (configure.ac): ... to here.
283
284 2011-05-22  Bruno Haible  <bruno@clisp.org>
285
286         wcscmp: Move AC_LIBOBJ invocations to module description.
287         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
288         * modules/wcscmp (configure.ac): ... to here.
289
290 2011-05-22  Bruno Haible  <bruno@clisp.org>
291
292         wcschr: Move AC_LIBOBJ invocations to module description.
293         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
294         * modules/wcschr (configure.ac): ... to here.
295
296 2011-05-22  Bruno Haible  <bruno@clisp.org>
297
298         wcscat: Move AC_LIBOBJ invocations to module description.
299         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
300         * modules/wcscat (configure.ac): ... to here.
301
302 2011-05-22  Bruno Haible  <bruno@clisp.org>
303
304         wcscasecmp: Move AC_LIBOBJ invocations to module description.
305         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
306         here...
307         * modules/wcscasecmp (configure.ac): ... to here.
308
309 2011-05-22  Bruno Haible  <bruno@clisp.org>
310
311         wcrtomb: Move AC_LIBOBJ invocations to module description.
312         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
313         invocations from here...
314         * modules/wcrtomb (configure.ac): ... to here.
315
316 2011-05-22  Bruno Haible  <bruno@clisp.org>
317
318         wcpncpy: Move AC_LIBOBJ invocations to module description.
319         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
320         here...
321         * modules/wcpncpy (configure.ac): ... to here.
322
323 2011-05-22  Bruno Haible  <bruno@clisp.org>
324
325         wcpcpy: Move AC_LIBOBJ invocations to module description.
326         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
327         * modules/wcpcpy (configure.ac): ... to here.
328
329 2011-05-22  Bruno Haible  <bruno@clisp.org>
330
331         waitpid: Move AC_LIBOBJ invocations to module description.
332         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
333         invocation from here...
334         * modules/waitpid (configure.ac): ... to here.
335
336 2011-05-22  Bruno Haible  <bruno@clisp.org>
337
338         utimensat: Move AC_LIBOBJ invocations to module description.
339         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
340         here...
341         * modules/utimensat (configure.ac): ... to here.
342
343 2011-05-22  Bruno Haible  <bruno@clisp.org>
344
345         usleep: Move AC_LIBOBJ invocations to module description.
346         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
347         here...
348         * modules/usleep (configure.ac): ... to here.
349
350 2011-05-22  Bruno Haible  <bruno@clisp.org>
351
352         unlockpt: Move AC_LIBOBJ invocations to module description.
353         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
354         gl_PREREQ_UNLOCKPT invocations from here...
355         * modules/unlockpt (configure.ac): ... to here.
356
357 2011-05-22  Bruno Haible  <bruno@clisp.org>
358
359         unlink: Respect rules for use of AC_LIBOBJ.
360         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
361         * modules/unlink (configure.ac): ... to here.
362
363 2011-05-22  Bruno Haible  <bruno@clisp.org>
364
365         uname: Move AC_LIBOBJ invocations to module description.
366         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
367         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
368         here...
369         * modules/uname (configure.ac): ... to here.
370
371 2011-05-22  Bruno Haible  <bruno@clisp.org>
372
373         ttyname_r: Move AC_LIBOBJ invocations to module description.
374         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
375         gl_PREREQ_TTYNAME_R invocations from here...
376         * modules/ttyname_r (configure.ac): ... to here.
377
378 2011-05-22  Bruno Haible  <bruno@clisp.org>
379
380         tsearch: Move AC_LIBOBJ invocations to module description.
381         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
382         invocations from here...
383         * modules/tsearch (configure.ac): ... to here.
384
385 2011-05-22  Bruno Haible  <bruno@clisp.org>
386
387         towctrans: Move AC_LIBOBJ invocations to module description.
388         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
389         AC_LIBOBJ invocation from here...
390         * modules/towctrans (configure.ac): ... to here.
391
392 2011-05-22  Bruno Haible  <bruno@clisp.org>
393
394         tmpfile: Move AC_LIBOBJ invocations to module description.
395         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
396         invocations from here...
397         * modules/tmpfile (configure.ac): ... to here.
398
399 2011-05-22  Bruno Haible  <bruno@clisp.org>
400
401         times: Move AC_LIBOBJ invocations to module description.
402         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
403         * modules/times (configure.ac): ... to here.
404
405 2011-05-22  Bruno Haible  <bruno@clisp.org>
406
407         time_r: Move AC_LIBOBJ invocations to module description.
408         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
409         invocations from here...
410         * modules/time_r (configure.ac): ... to here.
411
412 2011-05-22  Bruno Haible  <bruno@clisp.org>
413
414         timegm: Move AC_LIBOBJ invocations to module description.
415         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
416         invocations from here...
417         * modules/timegm (configure.ac): ... to here.
418
419 2011-05-22  Bruno Haible  <bruno@clisp.org>
420
421         tcgetsid: Move AC_LIBOBJ invocations to module description.
422         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
423         and gl_PREREQ_TCGETSID invocations from here...
424         * modules/tcgetsid (configure.ac): ... to here.
425         (Depends-on): Update conditions.
426
427 2011-05-22  Bruno Haible  <bruno@clisp.org>
428
429         symlinkat: Move AC_LIBOBJ invocations to module description.
430         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
431         here...
432         * modules/symlinkat (configure.ac): ... to here.
433
434 2011-05-22  Bruno Haible  <bruno@clisp.org>
435
436         symlink: Move AC_LIBOBJ invocations to module description.
437         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
438         here...
439         * modules/symlink (configure.ac): ... to here.
440
441 2011-05-22  Bruno Haible  <bruno@clisp.org>
442
443         strverscmp: Move AC_LIBOBJ invocations to module description.
444         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
445         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
446         from here...
447         * modules/strverscmp (configure.ac): ... to here.
448
449 2011-05-22  Bruno Haible  <bruno@clisp.org>
450
451         strtok_r: Move AC_LIBOBJ invocations to module description.
452         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
453         and gl_PREREQ_STRTOK_R invocations from here...
454         * modules/strtok_r (configure.ac): ... to here.
455         (Depends-on): Update conditions.
456
457 2011-05-22  Bruno Haible  <bruno@clisp.org>
458
459         strtoumax: Move AC_LIBOBJ invocations to module description.
460         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
461         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
462         from here...
463         * modules/strtoumax (configure.ac): ... to here.
464
465 2011-05-22  Bruno Haible  <bruno@clisp.org>
466
467         strtoimax: Move AC_LIBOBJ invocations to module description.
468         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
469         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
470         from here...
471         * modules/strtoimax (configure.ac): ... to here.
472
473 2011-05-22  Bruno Haible  <bruno@clisp.org>
474
475         strtoull: Move AC_LIBOBJ invocations to module description.
476         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
477         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
478         from here...
479         * modules/strtoull (configure.ac): ... to here.
480
481 2011-05-22  Bruno Haible  <bruno@clisp.org>
482
483         strtoll: Move AC_LIBOBJ invocations to module description.
484         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
485         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
486         here...
487         * modules/strtoll (configure.ac): ... to here.
488
489 2011-05-22  Bruno Haible  <bruno@clisp.org>
490
491         strtoul: Move AC_LIBOBJ invocations to module description.
492         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
493         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
494         * modules/strtoul (configure.ac): ... to here.
495
496 2011-05-22  Bruno Haible  <bruno@clisp.org>
497
498         strtol: Move AC_LIBOBJ invocations to module description.
499         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
500         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
501         * modules/strtol (configure.ac): ... to here.
502
503 2011-05-22  Bruno Haible  <bruno@clisp.org>
504
505         strtod: Move AC_LIBOBJ invocations to module description.
506         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
507         invocations from here...
508         * modules/strtod (configure.ac): ... to here.
509
510 2011-05-22  Bruno Haible  <bruno@clisp.org>
511
512         strstr*: Move AC_LIBOBJ invocations to module description.
513         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
514         invocations from here...
515         * modules/strstr-simple (configure.ac): ... to here.
516         * modules/strstr (configure.ac): ... and here.
517
518 2011-05-22  Bruno Haible  <bruno@clisp.org>
519
520         strsignal: Move AC_LIBOBJ invocations to module description.
521         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
522         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
523         * modules/strsignal (configure.ac): ... to here.
524         (Depends-on): Update conditions.
525
526 2011-05-22  Bruno Haible  <bruno@clisp.org>
527
528         strsep: Move AC_LIBOBJ invocations to module description.
529         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
530         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
531         here...
532         * modules/strsep (configure.ac): ... to here.
533
534 2011-05-22  Bruno Haible  <bruno@clisp.org>
535
536         strptime: Move AC_LIBOBJ invocations to module description.
537         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
538         gl_PREREQ_STRPTIME invocations from here...
539         * modules/strptime (configure.ac): ... to here.
540
541 2011-05-22  Bruno Haible  <bruno@clisp.org>
542
543         strpbrk: Move AC_LIBOBJ invocations to module description.
544         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
545         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
546         here...
547         * modules/strpbrk (configure.ac): ... to here.
548
549 2011-05-22  Bruno Haible  <bruno@clisp.org>
550
551         strnlen: Move AC_LIBOBJ invocations to module description.
552         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
553         invocations from here...
554         * modules/strnlen (configure.ac): ... to here.
555
556 2011-05-22  Bruno Haible  <bruno@clisp.org>
557
558         strndup: Move AC_LIBOBJ invocations to module description.
559         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
560         invocations from here...
561         * modules/strndup (configure.ac): ... to here.
562         (Depends-on): Update conditions.
563
564 2011-05-22  Bruno Haible  <bruno@clisp.org>
565
566         strncat: Move AC_LIBOBJ invocations to module description.
567         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
568         invocations from here...
569         * modules/strncat (configure.ac): ... to here.
570
571 2011-05-22  Bruno Haible  <bruno@clisp.org>
572
573         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
574         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
575         invocations from here...
576         * modules/strdup (configure.ac): ... to here.
577         * modules/strdup-posix (configure.ac): ... and here.
578
579 2011-05-22  Bruno Haible  <bruno@clisp.org>
580
581         strcspn: Move AC_LIBOBJ invocations to module description.
582         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
583         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
584         here...
585         * modules/strcspn (configure.ac): ... to here.
586
587 2011-05-22  Bruno Haible  <bruno@clisp.org>
588
589         strchrnul: Move AC_LIBOBJ invocations to module description.
590         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
591         gl_PREREQ_STRCHRNUL invocations from here...
592         * modules/strchrnul (configure.ac): ... to here.
593
594 2011-05-22  Bruno Haible  <bruno@clisp.org>
595
596         strcasestr*: Move AC_LIBOBJ invocations to module description.
597         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
598         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
599         * modules/strcasestr-simple (configure.ac): ... to here.
600         * modules/strcasestr (configure.ac): ... and here.
601
602 2011-05-22  Bruno Haible  <bruno@clisp.org>
603
604         strcase: Move AC_LIBOBJ invocations to module description.
605         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
606         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
607         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
608         gl_PREREQ_STRNCASECMP invocations from here...
609         * modules/strcase (configure.ac): ... to here.
610
611 2011-05-22  Bruno Haible  <bruno@clisp.org>
612
613         stpncpy: Move AC_LIBOBJ invocations to module description.
614         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
615         here...
616         * modules/stpncpy (configure.ac): ... to here.
617
618 2011-05-22  Bruno Haible  <bruno@clisp.org>
619
620         stpcpy: Move AC_LIBOBJ invocations to module description.
621         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
622         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
623         here...
624         * modules/stpcpy (configure.ac): ... to here.
625
626 2011-05-21  Bruno Haible  <bruno@clisp.org>
627
628         stat: Move AC_LIBOBJ invocations to module description.
629         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
630         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
631         here...
632         * modules/stat (configure.ac): ... to here.
633
634 2011-05-21  Bruno Haible  <bruno@clisp.org>
635
636         sleep: Move AC_LIBOBJ invocations to module description.
637         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
638         * modules/sleep (configure.ac): ... to here.
639
640 2011-05-21  Bruno Haible  <bruno@clisp.org>
641
642         signbit: Move AC_LIBOBJ invocations to module description.
643         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
644         * modules/signbit (configure.ac): ... to here.
645
646 2011-05-21  Bruno Haible  <bruno@clisp.org>
647
648         sigprocmask: Move AC_LIBOBJ invocations to module description.
649         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
650         gl_PREREQ_SIGPROMASK invocations from here...
651         * modules/sigprocmask (configure.ac): ... to here.
652
653 2011-05-21  Bruno Haible  <bruno@clisp.org>
654
655         sigaction: Move AC_LIBOBJ invocations to module description.
656         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
657         gl_PREREQ_SIGACTION invocations from here...
658         * modules/sigaction (configure.ac): ... to here.
659
660 2011-05-21  Bruno Haible  <bruno@clisp.org>
661
662         sig2str: Move AC_LIBOBJ invocations to module description.
663         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
664         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
665         here...
666         * modules/sig2str (configure.ac): ... to here.
667
668 2011-05-21  Bruno Haible  <bruno@clisp.org>
669
670         setlocale: Move AC_LIBOBJ invocations to module description.
671         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
672         gl_PREREQ_SETLOCALE invocations from here...
673         * modules/setlocale (configure.ac): ... to here.
674
675 2011-05-21  Bruno Haible  <bruno@clisp.org>
676
677         unsetenv: Move AC_LIBOBJ invocations to module description.
678         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
679         and gl_PREREQ_UNSETENV invocations from here...
680         * modules/unsetenv (configure.ac): ... to here.
681         (Depends-on): Update.
682
683 2011-05-21  Bruno Haible  <bruno@clisp.org>
684
685         setenv: Move AC_LIBOBJ invocations to module description.
686         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
687         here...
688         * modules/setenv (configure.ac): ... to here.
689
690 2011-05-21  Bruno Haible  <bruno@clisp.org>
691
692         selinux-h: Move AC_LIBOBJ invocations to module description.
693         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
694         AC_LIBOBJ invocation from here...
695         * modules/selinux-h (configure.ac): ... to here.
696
697 2011-05-21  Bruno Haible  <bruno@clisp.org>
698
699         select: Respect rules for use of AC_LIBOBJ.
700         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
701         here...
702         * modules/select (configure.ac): ... to here.
703
704 2011-05-21  Bruno Haible  <bruno@clisp.org>
705
706         scandir: Move AC_LIBOBJ invocations to module description.
707         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
708         invocations from here...
709         * modules/scandir (configure.ac): ... to here.
710
711 2011-05-21  Bruno Haible  <bruno@clisp.org>
712
713         rpmatch: Move AC_LIBOBJ invocations to module description.
714         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
715         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
716         here...
717         * modules/rpmatch (configure.ac): ... to here.
718
719 2011-05-21  Bruno Haible  <bruno@clisp.org>
720
721         rmdir: Respect rules for use of AC_LIBOBJ.
722         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
723         * modules/rmdir (configure.ac): ... to here.
724
725 2011-05-21  Bruno Haible  <bruno@clisp.org>
726
727         renameat: Move AC_LIBOBJ invocations to module description.
728         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
729         here...
730         * modules/renameat (configure.ac): ... to here.
731
732 2011-05-21  Bruno Haible  <bruno@clisp.org>
733
734         rename: Respect rules for use of AC_LIBOBJ.
735         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
736         here...
737         * modules/rename (configure.ac): ... to here.
738
739 2011-05-21  Bruno Haible  <bruno@clisp.org>
740
741         remove: Move AC_LIBOBJ invocations to module description.
742         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
743         here...
744         * modules/remove (configure.ac): ... to here.
745
746 2011-05-21  Bruno Haible  <bruno@clisp.org>
747
748         relocatable-lib: Move AC_LIBOBJ invocations to module description.
749         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
750         macro.
751         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
752         * modules/relocatable-lib (configure.ac): ... to here.
753         * modules/relocatable-prog-wrapper (configure.ac): Invoke
754         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
755
756 2011-05-21  Bruno Haible  <bruno@clisp.org>
757
758         relocatable-prog: Move AC_LIBOBJ invocations to module description.
759         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
760         here...
761         * modules/relocatable-prog (configure.ac): ... to here.
762
763 2011-05-21  Bruno Haible  <bruno@clisp.org>
764
765         regex: Move AC_LIBOBJ invocations to module description.
766         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
767         invocations from here...
768         * modules/regex (configure.ac): ... to here.
769
770 2011-05-21  Bruno Haible  <bruno@clisp.org>
771
772         realloc-*: Move AC_LIBOBJ invocations to module description.
773         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
774         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
775         AC_LIBOBJ invocations from here...
776         * modules/realloc-gnu (configure.ac): ... to here.
777         * modules/realloc-posix (configure.ac): ... and here.
778
779 2011-05-21  Bruno Haible  <bruno@clisp.org>
780
781         readutmp: Move AC_LIBOBJ invocations to module description.
782         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
783         * modules/readutmp (configure.ac): ... to here.
784
785 2011-05-21  Bruno Haible  <bruno@clisp.org>
786
787         readlinkat: Move AC_LIBOBJ invocations to module description.
788         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
789         here...
790         * modules/readlinkat (configure.ac): ... to here.
791
792 2011-05-21  Bruno Haible  <bruno@clisp.org>
793
794         readlink: Move AC_LIBOBJ invocations to module description.
795         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
796         gl_PREREQ_READLINK invocations from here...
797         * modules/readlink (configure.ac): ... to here.
798
799 2011-05-21  Bruno Haible  <bruno@clisp.org>
800
801         readline: Move AC_LIBOBJ invocations to module description.
802         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
803         gl_PREREQ_READLINE invocations from here...
804         * modules/readline (configure.ac): ... to here.
805
806 2011-05-21  Bruno Haible  <bruno@clisp.org>
807
808         read: Move AC_LIBOBJ invocations to module description.
809         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
810         * modules/read (configure.ac): ... to here.
811
812 2011-05-21  Bruno Haible  <bruno@clisp.org>
813
814         rawmemchr: Move AC_LIBOBJ invocations to module description.
815         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
816         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
817         from here...
818         * modules/rawmemchr (configure.ac): ... to here.
819
820 2011-05-21  Bruno Haible  <bruno@clisp.org>
821
822         random_r: Move AC_LIBOBJ invocations to module description.
823         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
824         gl_PREREQ_RANDOM_R invocations from here...
825         * modules/random_r (configure.ac): ... to here.
826
827 2011-05-21  Bruno Haible  <bruno@clisp.org>
828
829         pwrite: Move AC_LIBOBJ invocations to module description.
830         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
831         * modules/pwrite (configure.ac): ... to here.
832
833 2011-05-21  Bruno Haible  <bruno@clisp.org>
834
835         putenv: Move AC_LIBOBJ invocations to module description.
836         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
837         * modules/putenv (configure.ac): ... to here.
838
839 2011-05-21  Bruno Haible  <bruno@clisp.org>
840
841         login_tty: Move AC_LIBOBJ invocations to module description.
842         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
843         * modules/login_tty (configure.ac): ... to here.
844
845 2011-05-21  Bruno Haible  <bruno@clisp.org>
846
847         openpty: Move AC_LIBOBJ invocations to module description.
848         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
849         * modules/openpty (configure.ac): ... to here.
850
851 2011-05-21  Bruno Haible  <bruno@clisp.org>
852
853         forkpty: Move AC_LIBOBJ invocations to module description.
854         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
855         * modules/forkpty (configure.ac): ... to here.
856
857 2011-05-21  Bruno Haible  <bruno@clisp.org>
858
859         ptsname: Move AC_LIBOBJ invocations to module description.
860         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
861         invocations from here...
862         * modules/ptsname (configure.ac): ... to here.
863
864 2011-05-21  Bruno Haible  <bruno@clisp.org>
865
866         pread: Move AC_LIBOBJ invocations to module description.
867         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
868         * modules/pread (configure.ac): ... to here.
869
870 2011-05-21  Bruno Haible  <bruno@clisp.org>
871
872         posix_spawn*: Move AC_LIBOBJ invocations to module description.
873         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
874         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
875         * modules/posix_spawn (configure.ac): ... to here.
876         * modules/posix_spawnp (configure.ac): ... and here.
877
878 2011-05-21  Bruno Haible  <bruno@clisp.org>
879
880         popen: Move AC_LIBOBJ invocations to module description.
881         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
882         invocations from here...
883         * modules/popen (configure.ac): ... to here.
884
885 2011-05-21  Bruno Haible  <bruno@clisp.org>
886
887         poll: Move AC_LIBOBJ invocations to module description.
888         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
889         invocations from here...
890         * modules/poll (configure.ac): ... to here.
891
892 2011-05-21  Bruno Haible  <bruno@clisp.org>
893
894         pipe-posix: Move AC_LIBOBJ invocations to module description.
895         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
896         * modules/pipe-posix (configure.ac): ... to here.
897
898 2011-05-21  Bruno Haible  <bruno@clisp.org>
899
900         openat: Respect rules for use of AC_LIBOBJ.
901         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
902         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
903         * modules/openat (configure.ac): ... to here.
904
905 2011-05-21  Bruno Haible  <bruno@clisp.org>
906
907         obstack-printf*: Move AC_LIBOBJ invocations to module description.
908         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
909         invocation from here...
910         * modules/obstack-printf (configure.ac): ... to here.
911         * modules/obstack-printf-posix (configure.ac): ... and here.
912
913 2011-05-21  Bruno Haible  <bruno@clisp.org>
914
915         nl_langinfo: Move AC_LIBOBJ invocations to module description.
916         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
917         from here...
918         * modules/nl_langinfo (configure.ac): ... to here.
919
920 2011-05-21  Bruno Haible  <bruno@clisp.org>
921
922         nanosleep: Move AC_LIBOBJ invocations to module description.
923         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
924         gl_PREREQ_NANOSLEEP invocations from here...
925         * modules/nanosleep (configure.ac): ... to here.
926
927 2011-05-21  Bruno Haible  <bruno@clisp.org>
928
929         mountlist: Move AC_LIBOBJ invocations to module description.
930         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
931         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
932         * modules/mountlist (configure.ac): ... to here.
933
934 2011-05-21  Bruno Haible  <bruno@clisp.org>
935
936         mktime: Respect rules for use of AC_LIBOBJ.
937         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
938         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
939         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
940         (gl_FUNC_MKTIME_INTERNAL): ... and here...
941         * modules/mktime (configure.ac): ... to here.
942         * modules/mktime-internal (configure.ac): ... and here.
943         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
944
945 2011-05-21  Bruno Haible  <bruno@clisp.org>
946
947         mkstemps: Move AC_LIBOBJ invocations to module description.
948         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
949         here...
950         * modules/mkstemps (configure.ac): ... to here.
951
952 2011-05-21  Bruno Haible  <bruno@clisp.org>
953
954         mkstemp: Move AC_LIBOBJ invocations to module description.
955         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
956         gl_PREREQ_MKSTEMP invocations from here...
957         * modules/mkstemp (configure.ac): ... to here.
958
959 2011-05-21  Bruno Haible  <bruno@clisp.org>
960
961         mkostemps: Move AC_LIBOBJ invocations to module description.
962         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
963         here...
964         * modules/mkostemps (configure.ac): ... to here.
965
966 2011-05-21  Bruno Haible  <bruno@clisp.org>
967
968         mkostemp: Move AC_LIBOBJ invocations to module description.
969         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
970         gl_PREREQ_MKOSTEMP invocations from here...
971         * modules/mkostemp (configure.ac): ... to here.
972
973 2011-05-21  Bruno Haible  <bruno@clisp.org>
974
975         mknod: Move AC_LIBOBJ invocations to module description.
976         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
977         * modules/mknod (configure.ac): ... to here.
978
979 2011-05-21  Bruno Haible  <bruno@clisp.org>
980
981         mkfifoat: Move AC_LIBOBJ invocations to module description.
982         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
983         here...
984         * modules/mkfifoat (configure.ac): ... to here.
985
986 2011-05-21  Bruno Haible  <bruno@clisp.org>
987
988         mkfifo: Respect rules for use of AC_LIBOBJ.
989         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
990         here...
991         * modules/mkfifo (configure.ac): ... to here.
992
993 2011-05-21  Bruno Haible  <bruno@clisp.org>
994
995         mkdtemp: Move AC_LIBOBJ invocations to module description.
996         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
997         invocations from here...
998         * modules/mkdtemp (configure.ac): ... to here.
999
1000 2011-05-21  Bruno Haible  <bruno@clisp.org>
1001
1002         mkdir: Move AC_LIBOBJ invocations to module description.
1003         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
1004         * modules/mkdir (configure.ac): ... to here.
1005
1006 2011-05-21  Bruno Haible  <bruno@clisp.org>
1007
1008         memset: Move AC_LIBOBJ invocations to module description.
1009         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
1010         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
1011         here...
1012         * modules/memset (configure.ac): ... to here.
1013
1014 2011-05-21  Bruno Haible  <bruno@clisp.org>
1015
1016         memrchr: Move AC_LIBOBJ invocations to module description.
1017         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
1018         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
1019         here...
1020         * modules/memrchr (configure.ac): ... to here.
1021
1022 2011-05-21  Bruno Haible  <bruno@clisp.org>
1023
1024         mempcpy: Move AC_LIBOBJ invocations to module description.
1025         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
1026         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
1027         here...
1028         * modules/mempcpy (configure.ac): ... to here.
1029
1030 2011-05-21  Bruno Haible  <bruno@clisp.org>
1031
1032         memmove: Move AC_LIBOBJ invocations to module description.
1033         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
1034         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
1035         here...
1036         * modules/memmove (configure.ac): ... to here.
1037
1038 2011-05-21  Bruno Haible  <bruno@clisp.org>
1039
1040         memmem*: Move AC_LIBOBJ invocations to module description.
1041         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
1042         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
1043         here...
1044         (gl_FUNC_MEMMEM): ... and here...
1045         * modules/memmem-simple (configure.ac): ... to here.
1046         * modules/memmem (configure.ac): ... and here.
1047
1048 2011-05-21  Bruno Haible  <bruno@clisp.org>
1049
1050         memcpy: Move AC_LIBOBJ invocations to module description.
1051         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
1052         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
1053         here...
1054         * modules/memcpy (configure.ac): ... to here.
1055
1056 2011-05-21  Bruno Haible  <bruno@clisp.org>
1057
1058         memcmp: Simplify autoconf macro.
1059         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
1060         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
1061         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
1062
1063 2011-05-21  Bruno Haible  <bruno@clisp.org>
1064
1065         memcmp: Move AC_LIBOBJ invocations to module description.
1066         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
1067         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
1068         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
1069         * modules/memcmp (configure.ac): ... to here.
1070         (Depends-on): Update conditions.
1071
1072 2011-05-21  Bruno Haible  <bruno@clisp.org>
1073
1074         memchr: Respect rules for use of AC_LIBOBJ.
1075         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
1076         invocations from here...
1077         * modules/memchr (configure.ac): ... to here.
1078
1079 2011-05-21  Bruno Haible  <bruno@clisp.org>
1080
1081         mbtowc: Move AC_LIBOBJ invocations to module description.
1082         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
1083         invocations from here...
1084         * modules/mbtowc (configure.ac): ... to here.
1085
1086 2011-05-21  Bruno Haible  <bruno@clisp.org>
1087
1088         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
1089         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
1090         gl_PREREQ_MBSRTOWCS invocations from here...
1091         * modules/mbsrtowcs (configure.ac): ... to here.
1092
1093 2011-05-21  Bruno Haible  <bruno@clisp.org>
1094
1095         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
1096         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
1097         gl_PREREQ_MBSNRTOWCS invocations from here...
1098         * modules/mbsnrtowcs (configure.ac): ... to here.
1099
1100 2011-05-21  Bruno Haible  <bruno@clisp.org>
1101
1102         mbsinit: Move AC_LIBOBJ invocations to module description.
1103         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
1104         invocations from here...
1105         * modules/mbsinit (configure.ac): ... to here.
1106
1107 2011-05-21  Bruno Haible  <bruno@clisp.org>
1108
1109         mbrlen: Move AC_LIBOBJ invocations to module description.
1110         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
1111         invocations from here...
1112         * modules/mbrlen (configure.ac): ... to here.
1113
1114 2011-05-21  Bruno Haible  <bruno@clisp.org>
1115
1116         mbrtowc: Respect rules for use of AC_LIBOBJ.
1117         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
1118         invocations from here...
1119         * modules/mbrtowc (configure.ac): ... to here.
1120
1121 2011-05-21  Bruno Haible  <bruno@clisp.org>
1122
1123         malloc-*: Move AC_LIBOBJ invocations to module description.
1124         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
1125         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
1126         AC_LIBOBJ invocations from here...
1127         * modules/malloc-gnu (configure.ac): ... to here.
1128         * modules/malloc-posix (configure.ac): ... and here.
1129
1130 2011-05-21  Bruno Haible  <bruno@clisp.org>
1131
1132         lstat, openat: Respect rules for use of AC_LIBOBJ.
1133         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
1134         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
1135         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
1136         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
1137         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
1138         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
1139         here.
1140         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
1141
1142 2011-05-21  Bruno Haible  <bruno@clisp.org>
1143
1144         lseek: Move AC_LIBOBJ invocations to module description.
1145         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
1146         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
1147         * modules/lseek (configure.ac): ... to here.
1148
1149 2011-05-21  Bruno Haible  <bruno@clisp.org>
1150
1151         linkat: Move AC_LIBOBJ invocations to module description.
1152         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
1153         here...
1154         * modules/linkat (configure.ac): ... to here.
1155
1156 2011-05-21  Bruno Haible  <bruno@clisp.org>
1157
1158         link: Respect rules for use of AC_LIBOBJ.
1159         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
1160         * modules/link (configure.ac): ... to here.
1161
1162 2011-05-21  Bruno Haible  <bruno@clisp.org>
1163
1164         lchown: Move AC_LIBOBJ invocations to module description.
1165         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
1166         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
1167         * modules/lchown (configure.ac): ... to here.
1168
1169 2011-05-21  Bruno Haible  <bruno@clisp.org>
1170
1171         iswctype: Move AC_LIBOBJ invocations to module description.
1172         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
1173         here...
1174         * modules/iswctype (configure.ac): ... to here.
1175
1176 2011-05-21  Bruno Haible  <bruno@clisp.org>
1177
1178         iswblank: Move AC_LIBOBJ invocations to module description.
1179         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
1180         here...
1181         * modules/iswblank (configure.ac): ... to here.
1182
1183 2011-05-21  Bruno Haible  <bruno@clisp.org>
1184
1185         atanl: Move AC_LIBOBJ invocations to module description.
1186         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
1187         * modules/atanl (configure.ac): ... to here.
1188
1189 2011-05-21  Bruno Haible  <bruno@clisp.org>
1190
1191         acosl: Move AC_LIBOBJ invocations to module description.
1192         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
1193         * modules/acosl (configure.ac): ... to here.
1194
1195 2011-05-21  Bruno Haible  <bruno@clisp.org>
1196
1197         asinl: Respect rules for use of AC_LIBOBJ.
1198         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
1199         * modules/asinl (configure.ac): ... to here.
1200
1201 2011-05-21  Bruno Haible  <bruno@clisp.org>
1202
1203         tanl: Move AC_LIBOBJ invocations to module description.
1204         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
1205         * modules/tanl (configure.ac): ... to here.
1206
1207 2011-05-21  Bruno Haible  <bruno@clisp.org>
1208
1209         cosl: Move AC_LIBOBJ invocations to module description.
1210         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
1211         * modules/cosl (configure.ac): ... to here.
1212
1213 2011-05-21  Bruno Haible  <bruno@clisp.org>
1214
1215         sinl: Move AC_LIBOBJ invocations to module description.
1216         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
1217         * modules/sinl (configure.ac): ... to here.
1218
1219 2011-05-21  Bruno Haible  <bruno@clisp.org>
1220
1221         logl: Move AC_LIBOBJ invocations to module description.
1222         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
1223         * modules/logl (configure.ac): ... to here.
1224
1225 2011-05-21  Bruno Haible  <bruno@clisp.org>
1226
1227         expl: Move AC_LIBOBJ invocations to module description.
1228         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
1229         * modules/expl (configure.ac): ... to here.
1230
1231 2011-05-21  Bruno Haible  <bruno@clisp.org>
1232
1233         roundl: Move AC_LIBOBJ invocations to module description.
1234         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
1235         * modules/roundl (configure.ac): ... to here.
1236
1237 2011-05-21  Bruno Haible  <bruno@clisp.org>
1238
1239         round: Move AC_LIBOBJ invocations to module description.
1240         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
1241         * modules/round (configure.ac): ... to here.
1242
1243 2011-05-21  Bruno Haible  <bruno@clisp.org>
1244
1245         roundf: Move AC_LIBOBJ invocations to module description.
1246         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
1247         * modules/roundf (configure.ac): ... to here.
1248
1249 2011-05-21  Bruno Haible  <bruno@clisp.org>
1250
1251         truncl: Move AC_LIBOBJ invocations to module description.
1252         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
1253         * modules/truncl (configure.ac): ... to here.
1254
1255 2011-05-21  Bruno Haible  <bruno@clisp.org>
1256
1257         trunc: Move AC_LIBOBJ invocations to module description.
1258         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
1259         * modules/trunc (configure.ac): ... to here.
1260
1261 2011-05-21  Bruno Haible  <bruno@clisp.org>
1262
1263         truncf: Move AC_LIBOBJ invocations to module description.
1264         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
1265         * modules/truncf (configure.ac): ... to here.
1266
1267 2011-05-21  Bruno Haible  <bruno@clisp.org>
1268
1269         ceill: Move AC_LIBOBJ invocations to module description.
1270         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
1271         * modules/ceill (configure.ac): ... to here.
1272
1273 2011-05-21  Bruno Haible  <bruno@clisp.org>
1274
1275         ceil: Move AC_LIBOBJ invocations to module description.
1276         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
1277         * modules/ceil (configure.ac): ... to here.
1278
1279 2011-05-21  Bruno Haible  <bruno@clisp.org>
1280
1281         ceilf: Move AC_LIBOBJ invocations to module description.
1282         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
1283         * modules/ceilf (configure.ac): ... to here.
1284
1285 2011-05-21  Bruno Haible  <bruno@clisp.org>
1286
1287         floorl: Respect rules for use of AC_LIBOBJ.
1288         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
1289         * modules/floorl (configure.ac): ... to here.
1290
1291 2011-05-21  Bruno Haible  <bruno@clisp.org>
1292
1293         floor: Respect rules for use of AC_LIBOBJ.
1294         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
1295         * modules/floor (configure.ac): ... to here.
1296
1297 2011-05-21  Bruno Haible  <bruno@clisp.org>
1298
1299         floorf: Move AC_LIBOBJ invocations to module description.
1300         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
1301         * modules/floorf (configure.ac): ... to here.
1302
1303 2011-05-20  Bruno Haible  <bruno@clisp.org>
1304
1305         sqrtl: Respect rules for use of AC_LIBOBJ.
1306         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
1307         * modules/sqrtl (configure.ac): ... to here.
1308
1309 2011-05-20  Bruno Haible  <bruno@clisp.org>
1310
1311         ldexpl: Respect rules for use of AC_LIBOBJ.
1312         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
1313         * modules/ldexpl (configure.ac): ... to here.
1314
1315 2011-05-20  Bruno Haible  <bruno@clisp.org>
1316
1317         frexpl*: Respect rules for use of AC_LIBOBJ.
1318         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
1319         invocation from here...
1320         * modules/frexpl (configure.ac): ... to here.
1321         * modules/frexpl-nolibm (configure.ac): ... and here.
1322
1323 2011-05-20  Bruno Haible  <bruno@clisp.org>
1324
1325         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
1326         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
1327         invocation from here...
1328         * modules/frexp (configure.ac): ... to here.
1329         * modules/frexp-nolibm (configure.ac): ... and here.
1330
1331 2011-05-20  Bruno Haible  <bruno@clisp.org>
1332
1333         isnan: Respect rules for use of AC_LIBOBJ.
1334         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
1335         invocations here.
1336         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
1337         REPLACE_ISNAN.
1338         * modules/isnand (configure.ac): Likewise.
1339         * modules/isnanl (configure.ac): Likewise.
1340
1341 2011-05-20  Bruno Haible  <bruno@clisp.org>
1342
1343         isnanl*: Respect rules for use of AC_LIBOBJ.
1344         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
1345         invocation from here...
1346         * modules/isnanl (configure.ac): ... to here.
1347         * modules/isnanl-nolibm (configure.ac): ... and here.
1348
1349 2011-05-20  Bruno Haible  <bruno@clisp.org>
1350
1351         isnand*: Move AC_LIBOBJ invocations to module description.
1352         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
1353         invocation from here...
1354         * modules/isnand (configure.ac): ... to here.
1355         * modules/isnand-nolibm (configure.ac): ... and here.
1356
1357 2011-05-20  Bruno Haible  <bruno@clisp.org>
1358
1359         isnanf*: Move AC_LIBOBJ invocations to module description.
1360         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
1361         invocation from here...
1362         * modules/isnanf (configure.ac): ... to here.
1363         * modules/isnanf-nolibm (configure.ac): ... and here.
1364
1365 2011-05-20  Bruno Haible  <bruno@clisp.org>
1366
1367         isnan*: Separate the AC_LIBOBJ invocations.
1368         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
1369         AC_LIBOBJ invocation.
1370         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
1371         here.
1372         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
1373         AC_LIBOBJ invocation.
1374         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
1375         here.
1376         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
1377         AC_LIBOBJ invocation.
1378         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
1379         here.
1380         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
1381
1382 2011-05-08  Bruno Haible  <bruno@clisp.org>
1383
1384         isinf: Move AC_LIBOBJ invocations to module description.
1385         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
1386         * modules/isinf (configure.ac): ... to here.
1387
1388 2011-05-08  Bruno Haible  <bruno@clisp.org>
1389
1390         isfinite: Move AC_LIBOBJ invocations to module description.
1391         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
1392         * modules/isfinite (configure.ac): ... to here.
1393
1394 2011-05-08  Bruno Haible  <bruno@clisp.org>
1395
1396         isblank: Move AC_LIBOBJ invocations to module description.
1397         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
1398         here...
1399         * modules/isblank (configure.ac): ... to here.
1400
1401 2011-05-08  Bruno Haible  <bruno@clisp.org>
1402
1403         isapipe: Move AC_LIBOBJ invocations to module description.
1404         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
1405         gl_PREREQ_ISAPIPE invocations from here...
1406         * modules/isapipe (configure.ac): ... to here.
1407         (Depends-on): Update condition.
1408
1409 2011-05-08  Bruno Haible  <bruno@clisp.org>
1410
1411         ioctl: Move AC_LIBOBJ invocations to module description.
1412         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
1413         invocations from here...
1414         * modules/ioctl (configure.ac): ... to here.
1415         (Depends-on): Update condition.
1416
1417 2011-05-08  Bruno Haible  <bruno@clisp.org>
1418
1419         imaxdiv: Move AC_LIBOBJ invocations to module description.
1420         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
1421         invocations from here...
1422         * modules/imaxdiv (configure.ac): ... to here.
1423
1424 2011-05-08  Bruno Haible  <bruno@clisp.org>
1425
1426         imaxabs: Move AC_LIBOBJ invocations to module description.
1427         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
1428         invocations from here...
1429         * modules/imaxabs (configure.ac): ... to here.
1430
1431 2011-05-08  Bruno Haible  <bruno@clisp.org>
1432
1433         getaddrinfo: Move AC_LIBOBJ invocations to module description.
1434         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
1435         AC_LIBOBJ invocations from here...
1436         * modules/getaddrinfo (configure.ac): ... to here.
1437         (Depends-on): Add conditions.
1438
1439 2011-05-08  Bruno Haible  <bruno@clisp.org>
1440
1441         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
1442         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
1443         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
1444         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
1445         (gl_PREREQ_INET_PTON): ... from here.
1446         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
1447         gl_PREREQ_INET_PTON here.
1448         (Depends-on): Update condition.
1449
1450 2011-05-08  Bruno Haible  <bruno@clisp.org>
1451
1452         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
1453         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
1454         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
1455         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
1456         (gl_PREREQ_INET_NTOP): ... from here.
1457         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
1458         gl_PREREQ_INET_NTOP here.
1459         (Depends-on): Update condition.
1460
1461 2011-05-08  Bruno Haible  <bruno@clisp.org>
1462
1463         iconv_open: Move AC_LIBOBJ invocations to module description.
1464         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
1465         AC_LIBOBJ invocations from here...
1466         * modules/iconv_open (configure.ac): ... to here.
1467
1468 2011-05-08  Bruno Haible  <bruno@clisp.org>
1469
1470         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
1471         If module 'iconv_open' is among the main modules and module
1472         'iconv_open-utf' is among the tests dependencies, then
1473         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
1474         return the special iconv_t values. Therefore iconv() and iconv_close()
1475         must support these special iconv_t values, already in lib, not only in
1476         tests.
1477         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
1478         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
1479         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
1480         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
1481         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
1482         (Depends-on): Add the dependencies of iconv_open-utf.
1483         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
1484         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
1485         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
1486
1487 2011-05-08  Bruno Haible  <bruno@clisp.org>
1488
1489         group-member: Move AC_LIBOBJ invocations to module description.
1490         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
1491         gl_PREREQ_GROUP_MEMBER invocations from here...
1492         * modules/group-member (configure.ac): ... to here.
1493
1494 2011-05-08  Bruno Haible  <bruno@clisp.org>
1495
1496         grantpt: Move AC_LIBOBJ invocations to module description.
1497         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
1498         invocations from here...
1499         * modules/grantpt (configure.ac): ... to here.
1500
1501 2011-05-08  Bruno Haible  <bruno@clisp.org>
1502
1503         glob: Move AC_LIBOBJ invocations to module description.
1504         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
1505         from here...
1506         * modules/glob (configure.ac): ... to here.
1507
1508 2011-05-08  Bruno Haible  <bruno@clisp.org>
1509
1510         getusershell: Move AC_LIBOBJ invocations to module description.
1511         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
1512         Move AC_LIBOBJ invocation from here...
1513         * modules/getusershell (configure.ac): ... to here.
1514         (Depends-on): Update condition.
1515
1516 2011-05-08  Bruno Haible  <bruno@clisp.org>
1517
1518         gettimeofday: Move AC_LIBOBJ invocations to module description.
1519         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
1520         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
1521         gl_PREREQ_GETTIMEOFDAY invocations from here...
1522         * modules/gettimeofday (configure.ac): ... to here.
1523
1524 2011-05-08  Bruno Haible  <bruno@clisp.org>
1525
1526         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
1527         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
1528         just gl_FUNC_TZSET.
1529         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
1530         (gl_FUNC_TZSET_CLOBBER): Remove actions.
1531         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
1532         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
1533
1534 2011-05-08  Bruno Haible  <bruno@clisp.org>
1535
1536         getsubopt: Move AC_LIBOBJ invocations to module description.
1537         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
1538         gl_PREREQ_GETSUBOPT invocations from here...
1539         * modules/getsubopt (configure.ac): ... to here.
1540
1541 2011-05-08  Bruno Haible  <bruno@clisp.org>
1542
1543         getpass-gnu: Move AC_LIBOBJ invocations to module description.
1544         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
1545         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
1546         * modules/getpass-gnu (configure.ac): ... to here.
1547
1548 2011-05-08  Bruno Haible  <bruno@clisp.org>
1549
1550         getpass: Move AC_LIBOBJ invocations to module description.
1551         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
1552         gl_PREREQ_GETPASS invocations from here...
1553         * modules/getpass (configure.ac): ... to here.
1554
1555 2011-05-08  Bruno Haible  <bruno@clisp.org>
1556
1557         getpagesize: Move AC_LIBOBJ invocations to module description.
1558         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
1559         from here...
1560         * modules/getpagesize (configure.ac): ... to here.
1561
1562 2011-05-08  Bruno Haible  <bruno@clisp.org>
1563
1564         getopt: Move AC_LIBOBJ invocations to module description.
1565         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
1566         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
1567         invocations from here...
1568         * modules/getopt-gnu (configure.ac): ... to here.
1569         * modules/getopt-posix (configure.ac): ... and here.
1570         (Depends-on): Update condition.
1571
1572 2011-05-08  Bruno Haible  <bruno@clisp.org>
1573
1574         getopt, argp: Respect rules for use of AC_LIBOBJ.
1575         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
1576         (gl_REPLACE_GETOPT_ALWAYS): New macro.
1577         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
1578         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
1579
1580 2011-05-08  Bruno Haible  <bruno@clisp.org>
1581
1582         getlogin_r: Move AC_LIBOBJ invocations to module description.
1583         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
1584         gl_PREREQ_GETLOGIN_R invocations from here...
1585         * modules/getlogin_r (configure.ac): ... to here.
1586
1587 2011-05-08  Bruno Haible  <bruno@clisp.org>
1588
1589         getlogin: Move AC_LIBOBJ invocations to module description.
1590         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
1591         here...
1592         * modules/getlogin (configure.ac): ... to here.
1593
1594 2011-05-08  Bruno Haible  <bruno@clisp.org>
1595
1596         getloadavg: Move AC_LIBOBJ invocations to module description.
1597         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
1598         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
1599         * modules/getloadavg (configure.ac): ... to here.
1600
1601 2011-05-08  Bruno Haible  <bruno@clisp.org>
1602
1603         gethrxtime: Move AC_LIBOBJ invocations to module description.
1604         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
1605         LIB_GETHRXTIME from here...
1606         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
1607         invocations from here...
1608         * modules/gethrxtime (configure.ac): ... to here.
1609
1610 2011-05-08  Bruno Haible  <bruno@clisp.org>
1611
1612         gethostname: Move AC_LIBOBJ invocations to module description.
1613         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
1614         gl_PREREQ_GETHOSTNAME invocations from here...
1615         * modules/gethostname (configure.ac): ... to here.
1616
1617 2011-05-08  Bruno Haible  <bruno@clisp.org>
1618
1619         getgroups: Move AC_LIBOBJ invocations to module description.
1620         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
1621         here...
1622         * modules/getgroups (configure.ac): ... to here.
1623
1624 2011-05-08  Bruno Haible  <bruno@clisp.org>
1625
1626         getdtablesize: Move AC_LIBOBJ invocations to module description.
1627         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
1628         invocation from here...
1629         * modules/getdtablesize (configure.ac): ... to here.
1630
1631 2011-05-08  Bruno Haible  <bruno@clisp.org>
1632
1633         getdomainname: Move AC_LIBOBJ invocations to module description.
1634         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
1635         gl_PREREQ_GETDOMAINNAME invocations from here...
1636         * modules/getdomainname (configure.ac): ... to here.
1637
1638 2011-05-08  Bruno Haible  <bruno@clisp.org>
1639
1640         getline: Move AC_LIBOBJ invocations to module description.
1641         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
1642         invocations from here...
1643         * modules/getline (configure.ac): ... to here.
1644
1645 2011-05-08  Bruno Haible  <bruno@clisp.org>
1646
1647         getline: Simplify.
1648         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
1649         It's already handled through the module dependency.
1650
1651 2011-05-08  Bruno Haible  <bruno@clisp.org>
1652
1653         getdelim: Move AC_LIBOBJ invocations to module description.
1654         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
1655         and gl_PREREQ_GETDELIM invocations from here...
1656         * modules/getdelim (configure.ac): ... to here.
1657         (Depends-on): Fix condition.
1658
1659 2011-05-08  Bruno Haible  <bruno@clisp.org>
1660
1661         getcwd: Move AC_LIBOBJ invocations to module description.
1662         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
1663         invocations from here...
1664         * modules/getcwd (configure.ac): ... to here.
1665
1666 2011-05-08  Bruno Haible  <bruno@clisp.org>
1667
1668         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
1669         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
1670         here...
1671         * modules/getcwd-lgpl (configure.ac): ... to here.
1672
1673 2011-05-07  Bruno Haible  <bruno@clisp.org>
1674
1675         crypto/gc: Move AC_LIBOBJ invocations to module description.
1676         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
1677         * modules/crypto/gc (configure.ac): ... to here.
1678
1679 2011-05-07  Bruno Haible  <bruno@clisp.org>
1680
1681         fwriting: Move AC_LIBOBJ invocations to module description.
1682         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
1683         here...
1684         * modules/fwriting (configure.ac): ... to here.
1685
1686 2011-05-07  Bruno Haible  <bruno@clisp.org>
1687
1688         fwritable: Move AC_LIBOBJ invocations to module description.
1689         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
1690         here...
1691         * modules/fwritable (configure.ac): ... to here.
1692
1693 2011-05-07  Bruno Haible  <bruno@clisp.org>
1694
1695         futimens: Move AC_LIBOBJ invocations to module description.
1696         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
1697         here...
1698         * modules/futimens (configure.ac): ... to here.
1699
1700 2011-05-07  Bruno Haible  <bruno@clisp.org>
1701
1702         ftruncate: Move AC_LIBOBJ invocations to module description.
1703         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
1704         gl_PREREQ_FTRUNCATE invocations from here...
1705         * modules/ftruncate (configure.ac): ... to here.
1706
1707 2011-05-07  Bruno Haible  <bruno@clisp.org>
1708
1709         fsync: Move AC_LIBOBJ invocations to module description.
1710         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
1711         invocations from here...
1712         * modules/fsync (configure.ac): ... to here.
1713
1714 2011-05-07  Bruno Haible  <bruno@clisp.org>
1715
1716         fsusage: Move AC_LIBOBJ invocations to module description.
1717         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
1718         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
1719         * modules/fsusage (configure.ac): ... to here.
1720
1721 2011-05-07  Bruno Haible  <bruno@clisp.org>
1722
1723         freopen: Move AC_LIBOBJ invocations to module description.
1724         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
1725         invocations from here...
1726         * modules/freopen (configure.ac): ... to here.
1727
1728 2011-05-07  Bruno Haible  <bruno@clisp.org>
1729
1730         free: Move AC_LIBOBJ invocations to module description.
1731         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
1732         invocations from here...
1733         * modules/free (configure.ac): ... to here.
1734
1735 2011-05-07  Bruno Haible  <bruno@clisp.org>
1736
1737         freadable: Move AC_LIBOBJ invocations to module description.
1738         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
1739         here...
1740         * modules/freadable (configure.ac): ... to here.
1741
1742 2011-05-07  Bruno Haible  <bruno@clisp.org>
1743
1744         fpurge: Move AC_LIBOBJ invocations to module description.
1745         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
1746         invocations from here...
1747         * modules/fpurge (configure.ac): ... to here.
1748
1749 2011-05-07  Bruno Haible  <bruno@clisp.org>
1750
1751         fpending: Move AC_LIBOBJ invocations to module description.
1752         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
1753         gl_FUNC_FPENDING.
1754         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
1755         invocations from here...
1756         * modules/fpending (configure.ac): ... to here.
1757
1758 2011-05-07  Bruno Haible  <bruno@clisp.org>
1759
1760         fopen: Move AC_LIBOBJ invocations to module description.
1761         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
1762         invocations from here...
1763         * modules/fopen (configure.ac): ... to here.
1764
1765 2011-05-07  Bruno Haible  <bruno@clisp.org>
1766
1767         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
1768         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
1769         gl_FUNC_FNMATCH_POSIX.
1770         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
1771         invocations from here...
1772         * modules/fnmatch (configure.ac): ... to here.
1773         * modules/fnmatch-gnu (configure.ac): ... and here.
1774
1775 2011-05-07  Bruno Haible  <bruno@clisp.org>
1776
1777         flock: Move AC_LIBOBJ invocations to module description.
1778         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
1779         invocations from here...
1780         * modules/flock (configure.ac): ... to here.
1781
1782 2011-05-07  Bruno Haible  <bruno@clisp.org>
1783
1784         fileblocks: Move AC_LIBOBJ invocations to module description.
1785         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
1786         gl_PREREQ_FILEBLOCKS invocations from here...
1787         * modules/fileblocks (configure.ac): ... to here.
1788
1789 2011-05-06  Bruno Haible  <bruno@clisp.org>
1790
1791         fflush: Move AC_LIBOBJ invocations to module description.
1792         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
1793         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
1794         invocations from here...
1795         * modules/fflush (configure.ac): ... to here.
1796
1797 2011-05-06  Bruno Haible  <bruno@clisp.org>
1798
1799         fdopendir: Move AC_LIBOBJ invocations to module description.
1800         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
1801         here...
1802         * modules/fdopendir (configure.ac): ... to here.
1803         (Depends-on): Improve conditions.
1804
1805 2011-05-06  Bruno Haible  <bruno@clisp.org>
1806
1807         _Exit: Move AC_LIBOBJ invocations to module description.
1808         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
1809         invocations from here...
1810         * modules/_Exit (configure.ac): ... to here.
1811
1812 2011-05-21  Bruno Haible  <bruno@clisp.org>
1813
1814         euidaccess: Respect rules for use of AC_LIBOBJ.
1815         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
1816         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
1817         from here...
1818         * modules/euidaccess (configure.ac): ... to here.
1819
1820 2011-05-06  Bruno Haible  <bruno@clisp.org>
1821
1822         error: Move AC_LIBOBJ invocations to module description.
1823         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
1824         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
1825         invocations from here...
1826         * modules/error (configure.ac): ... to here.
1827
1828 2011-05-06  Bruno Haible  <bruno@clisp.org>
1829
1830         duplocale: Move AC_LIBOBJ invocations to module description.
1831         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
1832         gl_PREREQ_DUPLOCALE invocations from here...
1833         * modules/duplocale (configure.ac): ... to here.
1834
1835 2011-05-05  Bruno Haible  <bruno@clisp.org>
1836
1837         dirfd: Move AC_LIBOBJ invocations to module description.
1838         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
1839         gl_FUNC_DIRFD.
1840         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
1841         here...
1842         * modules/dirfd (configure.ac): ... to here.
1843         (Depends-on): Fix condition.
1844
1845 2011-05-05  Bruno Haible  <bruno@clisp.org>
1846
1847         chown: Respect rules for use of AC_LIBOBJ.
1848         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
1849         * modules/chown (configure.ac): ... to here.
1850
1851 2011-05-05  Bruno Haible  <bruno@clisp.org>
1852
1853         chdir-long: Move AC_LIBOBJ invocations to module description.
1854         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
1855         gl_PREREQ_CHDIR_LONG invocations from here...
1856         * modules/chdir-long (configure.ac): ... to here.
1857
1858 2011-05-05  Bruno Haible  <bruno@clisp.org>
1859
1860         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
1861         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
1862         from here...
1863         * modules/canonicalize-lgpl (configure.ac): ... to here.
1864
1865 2011-05-05  Bruno Haible  <bruno@clisp.org>
1866
1867         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
1868         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
1869         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
1870         REPLACE_CALLOC.
1871         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
1872         * modules/calloc-gnu (configure.ac): Likewise.
1873
1874 2011-05-05  Bruno Haible  <bruno@clisp.org>
1875
1876         btowc: Move AC_LIBOBJ invocations to module description.
1877         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
1878         invocations from here...
1879         * modules/btowc (configure.ac): ... to here.
1880
1881 2011-05-21  Bruno Haible  <bruno@clisp.org>
1882
1883         atexit: Move AC_LIBOBJ invocations to module description.
1884         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
1885         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
1886         here...
1887         * modules/atexit (configure.ac): ... to here.
1888
1889 2011-05-05  Bruno Haible  <bruno@clisp.org>
1890
1891         atoll: Move AC_LIBOBJ invocations to module description.
1892         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
1893         invocations from here...
1894         * modules/atoll (configure.ac): ... to here.
1895
1896 2011-05-05  Bruno Haible  <bruno@clisp.org>
1897
1898         argz: Move AC_LIBOBJ invocations to module description.
1899         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
1900         * modules/argz (configure.ac): ... to here.
1901
1902 2011-05-05  Bruno Haible  <bruno@clisp.org>
1903
1904         alphasort: Move AC_LIBOBJ invocations to module description.
1905         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
1906         gl_PREREQ_ALPHASORT invocations from here...
1907         * modules/alphasort (configure.ac): ... to here.
1908
1909 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
1910
1911         verify: new macro verify_expr; verify_true deprecated
1912         * NEWS: Mention this.
1913         * doc/verify.texi (Compile-time Assertions): Document this.
1914         * lib/verify.h (verify_true): Deprecate.
1915         (verify_expr): New macro.
1916         * tests/test-verify.c (function): Test verify_expr.
1917
1918 2011-06-14  Jim Meyering  <meyering@redhat.com>
1919
1920         init.sh: give more portable redirection-related advice in a comment
1921         * tests/init.sh (stderr_fileno_): Update the advice in comments.
1922         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
1923         for lots of discussion.  Stefano Lattarini suggested the solution
1924         of putting "9>&2" after the command.  Reported by Bruno Haible.
1925
1926 2011-06-13  Bruno Haible  <bruno@clisp.org>
1927
1928         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
1929         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
1930         'none'.
1931
1932 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
1933
1934         ftoastr: use strtof only if HAVE_STRTOF
1935         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
1936         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00154.html>.
1937         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
1938         * modules/ftoastr (configure.ac): Check for strtof.
1939
1940 2011-06-13  Bruno Haible  <bruno@clisp.org>
1941
1942         gnulib-tool: Addendum to 2011-06-08 commit.
1943         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
1944         and --witness-c-macro have been given, augment AM_CPPFLAGS.
1945
1946 2011-06-13  Bruno Haible  <bruno@clisp.org>
1947
1948         fseeko: Provide a non-inline replacement of fseek().
1949         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
1950         * modules/fseeko (Depends-on): Add fseek.
1951         * modules/fseek (License): Change to LGPLv2+.
1952
1953 2011-06-13  Bruno Haible  <bruno@clisp.org>
1954
1955         ftello: Provide a non-inline replacement of ftell().
1956         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
1957         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
1958         not have ftello() (such as on mingw).
1959         * modules/ftello (Depends-on): Add ftell.
1960         * modules/ftell (License): Change to LGPLv2+.
1961
1962 2011-05-07  Bruno Haible  <bruno@clisp.org>
1963
1964         ftell: Move AC_LIBOBJ invocations to module description.
1965         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
1966         * modules/ftell (configure.ac): ... to here.
1967
1968 2011-05-07  Bruno Haible  <bruno@clisp.org>
1969
1970         ftello: Respect rules for use of AC_LIBOBJ.
1971         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
1972         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
1973         here...
1974         * modules/ftello (configure.ac): ... to here.
1975
1976 2011-05-07  Bruno Haible  <bruno@clisp.org>
1977
1978         fseeko: Simplify.
1979         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
1980         (gl_FUNC_FSEEKO): Inline it here.
1981
1982 2011-05-07  Bruno Haible  <bruno@clisp.org>
1983
1984         fseek: Move AC_LIBOBJ invocations to module description.
1985         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
1986         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
1987         * modules/fseek (configure.ac): ... to here.
1988
1989 2011-05-07  Bruno Haible  <bruno@clisp.org>
1990
1991         fseek: Respect rules for use of AC_LIBOBJ.
1992         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
1993         here...
1994         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
1995
1996 2011-05-07  Bruno Haible  <bruno@clisp.org>
1997
1998         fseeko: Respect rules for use of AC_LIBOBJ.
1999         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
2000         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
2001         here...
2002         * modules/fseeko (configure.ac): ... to here.
2003
2004 2011-06-13  Bruno Haible  <bruno@clisp.org>
2005
2006         gnulib-tool: Allow comments in the 'Depends-on' section.
2007         * doc/gnulib.texi (Module description): Mention comment syntax in the
2008         Depends-on section.
2009         * gnulib-tool (func_get_dependencies): Filter out comment lines.
2010
2011 2011-06-13  Bruno Haible  <bruno@clisp.org>
2012
2013         file-set.h: guard __attibute__ use, now that it's not always defined
2014         * lib/file-set.h (record_file): Use __attribute__ only with compiler
2015         versions that support it.  This fixes a coreutils build failure with
2016         the vendor cc on HP-UX 11.31.
2017
2018 2011-06-12  Bruno Haible  <bruno@clisp.org>
2019
2020         acl: Add support for HP-UX >= 11.11 JFS ACLs.
2021         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
2022         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
2023         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
2024         (acl, aclsort): New declarations.
2025         (aclv_nontrivial): New declaration.
2026         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
2027         (file_has_acl): Read also the second kind of HP-UX ACLs.
2028         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
2029         kind of HP-UX ACLs if the first kind fails.
2030         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
2031         second kind of HP-UX ACLs.
2032         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
2033         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
2034         agree.
2035         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
2036         hpuxjfs.
2037         Handle hpuxjfs.
2038         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
2039         hpuxjfs.
2040         Handle hpuxjfs.
2041         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
2042         (func_test_same_acls): Use both lsacl and getacl.
2043         Handle hpuxjfs.
2044         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
2045         (func_test_same_acls): Use both lsacl and getacl.
2046         Handle hpuxjfs.
2047
2048 2011-06-12  Bruno Haible  <bruno@clisp.org>
2049
2050         acl: Complete the 2010-08-10 fix.
2051         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
2052         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
2053         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
2054         explicitly.
2055         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
2056         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
2057
2058 2011-06-12  Bruno Haible  <bruno@clisp.org>
2059
2060         spawn-pipe tests: Comments.
2061         * tests/test-spawn-pipe-child.c (main): Update comment.
2062         Reported by James Youngman <jay@gnu.org>.
2063
2064 2011-06-11  James Youngman  <jay@gnu.org>
2065
2066         New module 'stat-size'.
2067         * modules/stat-size: New module.  Provides macros for accessing
2068         file size information in instances of struct stat.  Depends on the
2069         fileblocks module because it calls st_blocks.
2070         * lib/stat-size.h: New file, adapted from coreutils' system.h.
2071         * doc/gnulib.texi: Include stat-size.texi.
2072         * doc/stat-size.texi: Documentation for this module.
2073         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
2074         * m4/fileblocks.m4: Mention that stat-size depends on the call to
2075         AC_STRUCT_ST_BLOCKS.
2076
2077 2011-06-09  Bruno Haible  <bruno@clisp.org>
2078
2079         thread: Support pthreads-win32.
2080         * lib/glthread/thread.h (gl_thread_self): Define differently on
2081         pthreads-win32.
2082         (gl_null_thread): New declaration.
2083         (gl_thread_self_pointer): New macro.
2084         * lib/glthread/thread.c (gl_null_thread): New constant.
2085         * tests/test-lock.c: Use gl_thread_self_pointer instead of
2086         gl_thread_self.
2087         * tests/test-tls.c: Likewise.
2088         Suggested by Paul Eggert. Reported by Eric Blake.
2089
2090 2011-06-09  Bruno Haible  <bruno@clisp.org>
2091
2092         thread: Fix confusion between NULL and 0.
2093         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
2094         Reported by Paul Eggert.
2095
2096 2011-06-09  Bruno Haible  <bruno@clisp.org>
2097
2098         spawn-pipe tests: Avoid test failure on HP-UX 11.
2099         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
2100         is closed.
2101
2102 2011-06-09  Bruno Haible  <bruno@clisp.org>
2103
2104         acl tests: Fix compilation error on HP-UX 11.
2105         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
2106
2107 2011-06-09  Bruno Haible  <bruno@clisp.org>
2108
2109         rmdir: Avoid test failure on HP-UX 10.20.
2110         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
2111         EEXIST.
2112
2113 2011-06-08  Eric Blake  <eblake@redhat.com>
2114
2115         perror: fix test on mingw
2116         * modules/perror-tests (Depends-on): Add dup2.
2117
2118         strerror_r-posix: fix on MacOS
2119         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
2120         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
2121         logic bug.
2122         * lib/strerror_r.c (strerror_r): Fix the bug.
2123         * lib/strerror.c (strerror): Likewise.
2124         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
2125         problem.
2126         * doc/posix-functions/strerror.texi (strerror): Likewise.
2127         * doc/posix-functions/perror.texi (perror): Likewise.
2128         * tests/test-strerror.c (main): Enhance test.
2129         * tests/test-strerror_r.c (main): Likewise.
2130
2131 2011-06-08  Bruno Haible  <bruno@clisp.org>
2132
2133         gnulib-tool: Better isolation between different gnulib-tool invocations.
2134         * gnulib-tool: New option --witness-c-macro.
2135         (witness_c_macro): New variable.
2136         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
2137         AM_CPPFLAGS define it as a C macro.
2138         (func_emit_tests_Makefile_am): Likewise.
2139         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
2140         read it from there.
2141         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
2142         m4_define, not AC_DEFUN.
2143         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
2144         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
2145         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
2146         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
2147         s|...|...|, to substitute the values of the GNULIB_* module indicator
2148         variables.
2149         * modules/dirent (Makefile.am): Likewise.
2150         * modules/fcntl-h (Makefile.am): Likewise.
2151         * modules/iconv-h (Makefile.am): Likewise.
2152         * modules/langinfo (Makefile.am): Likewise.
2153         * modules/locale (Makefile.am): Likewise.
2154         * modules/math (Makefile.am): Likewise.
2155         * modules/netdb (Makefile.am): Likewise.
2156         * modules/poll-h (Makefile.am): Likewise.
2157         * modules/pty (Makefile.am): Likewise.
2158         * modules/search (Makefile.am): Likewise.
2159         * modules/signal (Makefile.am): Likewise.
2160         * modules/spawn (Makefile.am): Likewise.
2161         * modules/stdio (Makefile.am): Likewise.
2162         * modules/stdlib (Makefile.am): Likewise.
2163         * modules/string (Makefile.am): Likewise.
2164         * modules/sys_ioctl (Makefile.am): Likewise.
2165         * modules/sys_select (Makefile.am): Likewise.
2166         * modules/sys_socket (Makefile.am): Likewise.
2167         * modules/sys_stat (Makefile.am): Likewise.
2168         * modules/sys_times (Makefile.am): Likewise.
2169         * modules/sys_utsname (Makefile.am): Likewise.
2170         * modules/sys_wait (Makefile.am): Likewise.
2171         * modules/termios (Makefile.am): Likewise.
2172         * modules/time (Makefile.am): Likewise.
2173         * modules/unistd (Makefile.am): Likewise.
2174         * modules/wchar (Makefile.am): Likewise.
2175
2176 2011-06-08  Eric Blake  <eblake@redhat.com>
2177
2178         strerror: simplify replacement
2179         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
2180         * modules/strerror (configure.ac): No prereqs needed here...
2181         * modules/strerror-override (configure.ac): ...but this needs it.
2182         (Files): Add file for needed prereq macro.
2183
2184 2011-06-08  Bruno Haible  <bruno@clisp.org>
2185
2186         strerror_r-posix: Tweaks.
2187         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
2188         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
2189         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
2190         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
2191         (gl_FUNC_STRERROR_R): ... to here.
2192         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
2193
2194 2011-06-07  Eric Blake  <eblake@redhat.com>
2195
2196         perror: document fixed bugs
2197         * doc/posix-functions/perror.texi (perror): Document recent
2198         patches.
2199
2200 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
2201
2202         stat-time: get_stat_birthtime failure is better-defined
2203         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
2204         return a timestamp whose tv_sec and tv_nsec values are both -1.
2205         Previously, the spec said only that the tv_nsec value was negative.
2206         This upward-compatible change simplifies GNU tar a bit.
2207
2208 2011-06-07  Eric Blake  <eblake@redhat.com>
2209
2210         strerror_r-posix: work around cygwin 1.7.9
2211         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
2212         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
2213         bug without replacing strerror_r.
2214         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
2215         strerror_r is buggy, but without requiring strerror_r compilation.
2216         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
2217
2218         test-perror: relax test to ignore cygwin bug
2219         * tests/test-perror2.c (main): Relax test on requiring detection
2220         of stream errors, and use unbuffered stream.
2221         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
2222         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
2223         * doc/posix-functions/fputc.texi (fputc): Likewise.
2224         * doc/posix-functions/fputs.texi (fputs): Likewise.
2225         * doc/posix-functions/fputws.texi (fputws): Likewise.
2226         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
2227         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
2228         * doc/posix-functions/getopt.texi (getopt): Likewise.
2229         * doc/posix-functions/perror.texi (perror): Likewise.
2230         * doc/posix-functions/printf.texi (printf): Likewise.
2231         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
2232         * doc/posix-functions/psignal.texi (psignal): Likewise.
2233         * doc/posix-functions/putc.texi (putc): Likewise.
2234         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
2235         Likewise.
2236         * doc/posix-functions/putchar.texi (putchar): Likewise.
2237         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
2238         Likewise.
2239         * doc/posix-functions/puts.texi (puts): Likewise.
2240         * doc/posix-functions/putwc.texi (putwc): Likewise.
2241         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
2242         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
2243         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
2244         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
2245         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
2246         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
2247         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
2248         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
2249
2250 2011-05-22  Bruno Haible  <bruno@clisp.org>
2251
2252         strerror: Move AC_LIBOBJ invocations to module description.
2253         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
2254         gl_PREREQ_STRERROR invocations from here...
2255         * modules/strerror (configure.ac): ... to here.
2256
2257 2011-05-21  Bruno Haible  <bruno@clisp.org>
2258
2259         perror: Use common idiom.
2260         * modules/perror (configure.ac): Reorder statements.
2261
2262 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
2263
2264         tests: fix usage message in 'mktempd_'
2265         * tests/init.sh (mktempd_): In the usage message, use literal
2266         'mktempd_', not '$ME' (which is even undefined), as the name of
2267         the subroutine.
2268
2269 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
2270
2271         tests init: new function 'fatal_', for hard errors
2272         Before this patch, the only way offered by tests/init.sh to
2273         properly signal a hard error was the `framework_failure_'
2274         function.  But the error message issued by that function,
2275         as its name would suggest, refers to a set-up failure in the
2276         testsuite, while hard errors can obviously also be due to
2277         other reasons.  The best way to fix this inconsistency is to
2278         introduce a new function with a more general error message.
2279         * tests/init.sh (fatal_): New function.
2280
2281 2011-06-06  Eric Blake  <eblake@redhat.com>
2282
2283         canonicalize-lgpl: use common idiom
2284         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
2285         over newer POSIX -Rf.
2286         Reported by Bruno Haible.
2287
2288         canonicalize-lgpl: work around AIX realpath bug
2289         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
2290         * doc/posix-functions/realpath.texi (realpath): Document it.
2291         Reported by Bruno Haible.
2292
2293         strerror: work around FreeBSD bug
2294         * lib/strerror.c (strerror): Special case 0.
2295         Reported by Bruno Haible.
2296
2297         strerror-override: avoid bloating errno module
2298         * modules/errno (Files, configure.ac): Move replacement strings...
2299         * modules/strerror-override: ...to new module.
2300         * modules/strerror (Depends-on): Add strerror-override.
2301         * modules/strerror_r-posix (Depends-on): Likewise.
2302         * MODULES.html.sh: Document new module.
2303         Reported by Bruno Haible.
2304
2305 2011-06-06  Bruno Haible  <bruno@clisp.org>
2306
2307         spawn-pipe tests: Rename program.
2308         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
2309         * tests/test-spawn-pipe-child.c: Update comment.
2310         * tests/test-spawn-pipe.sh: Update.
2311         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
2312
2313         spawn-pipe tests: Link the child program only against libc.
2314         * tests/test-spawn-pipe-child.c: New file, extracted from
2315         tests/test-spawn-pipe.c.
2316         (main): Expect only one argument.
2317         (is_open): New function, copied from tests/test-pipe.c.
2318         * tests/test-spawn-pipe.c: Don't include <errno.h>.
2319         (child_main): Remove function.
2320         (test_pipe): Pass only one argument to the child program.
2321         (main): Remove child process code. Expect the child program's name as
2322         first argument.
2323         * tests/test-spawn-pipe.sh: Pass the child program's name as first
2324         argument.
2325         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
2326         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
2327         test-spawn-pipe-child against no libraries.
2328
2329 2011-06-06  Bruno Haible  <bruno@clisp.org>
2330
2331         careadlinkat: Avoid mismatch between ssize_t and int.
2332         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
2333         * lib/careadlinkat.c (careadlinkatcwd): Define always.
2334
2335 2011-06-06  Jim Meyering  <meyering@redhat.com>
2336
2337         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
2338         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
2339         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
2340
2341 2011-06-05  Bruno Haible  <bruno@clisp.org>
2342
2343         ansi-c++-opt: Interoperability with libtool.
2344         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
2345         set the variable to "no", not to ":".
2346         * NEWS: Mention the change.
2347
2348 2011-06-05  Bruno Haible  <bruno@clisp.org>
2349
2350         acl: Fix test failure on AIX 7.
2351         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
2352         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
2353
2354 2011-06-05  Bruno Haible  <bruno@clisp.org>
2355
2356         pipe-filter-ii: Fix test failure on AIX and IRIX.
2357         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
2358         with EAGAIN, retry with a smaller buffer size.
2359
2360 2011-06-05  Bruno Haible  <bruno@clisp.org>
2361
2362         localename: Fix link dependencies.
2363         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
2364         * modules/localename-tests (Makefile.am): Link test-localename with
2365         $(LIBTHREAD).
2366
2367 2011-06-05  Bruno Haible  <bruno@clisp.org>
2368
2369         error: Avoid gcc warning.
2370         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
2371
2372 2011-06-05  Bruno Haible  <bruno@clisp.org>
2373
2374         unsetenv: Avoid gcc warning.
2375         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
2376
2377 2011-06-05  Bruno Haible  <bruno@clisp.org>
2378
2379         setenv: Avoid gcc warning.
2380         * lib/setenv.c (setenv): Provide declaration if system lacks it.
2381
2382 2011-06-05  Bruno Haible  <bruno@clisp.org>
2383
2384         sys_select: Ensure memset is declared also on AIX 7.
2385         * lib/sys_select.in.h: Include <string.h> also on AIX.
2386         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
2387         self-contained also on AIX 7.1.
2388
2389 2011-06-04  Jim Meyering  <meyering@redhat.com>
2390
2391         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
2392         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
2393         function name, "error".
2394         (_gl_translatable_diag_func_re): New configurable variable.
2395
2396 2011-06-04  Bruno Haible  <bruno@clisp.org>
2397
2398         getopt: Avoid gcc warning.
2399         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
2400
2401 2011-06-04  Bruno Haible  <bruno@clisp.org>
2402
2403         strerror_r: Fix comments.
2404         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
2405         commit.
2406
2407 2011-06-04  Bruno Haible  <bruno@clisp.org>
2408
2409         perror: Fix compilation error.
2410         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
2411         Undefine fprintf, not sprintf.
2412         * modules/perror (Depends-on): Remove intprops, verify.
2413
2414 2011-06-04  Bruno Haible  <bruno@clisp.org>
2415
2416         setlocale: Enable replacement on Cygwin 1.5.
2417         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
2418         Cygwin 1.5.x.
2419         * doc/posix-functions/setlocale.texi: Mention that the problem with the
2420         LC_CTYPE category also exists on Cygwin 1.5.x.
2421
2422 2011-06-04  Bruno Haible  <bruno@clisp.org>
2423
2424         strerror-override: Don't disable symbol renamings.
2425         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
2426         * lib/strerror-override.c: Include config.h.
2427         (strerror_override): Don't undefine.
2428
2429 2011-06-03  Bruno Haible  <bruno@clisp.org>
2430
2431         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
2432         * lib/localename.h: Update copyright header.
2433         * lib/localename.c: Likewise.
2434         * lib/relocatable.h: Likewise.
2435         * lib/relocatable.c: Likewise.
2436
2437 2011-06-02  Bruno Haible  <bruno@clisp.org>
2438
2439         doc: Fix a module name.
2440         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
2441
2442 2011-06-02  Bruno Haible  <bruno@clisp.org>
2443
2444         pipe2: Remove dependency on 'nonblocking' module.
2445         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
2446         O_NONBLOCK is defined by gnulib.
2447         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
2448         is zero.
2449         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
2450         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
2451         defined by gnulib.
2452         (get_nonblocking_flag): New function.
2453         (main): Test O_NONBLOCK flag only if it is nonzero.
2454         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
2455
2456 2011-06-03  Jim Meyering  <meyering@redhat.com>
2457
2458         maint: three new prohibit-header-without-use rules
2459         Prohibit use of cloexec.h, posixver.h, same.h without use.
2460         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
2461         (sc_prohibit_posixver_without_use): Likewise.
2462         (sc_prohibit_same_without_use): Likewise.
2463
2464 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
2465
2466         allocator: 'die' routine is now given requested size
2467         * lib/allocator.h (struct allocator.die): New size arg.
2468         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
2469         If the actual problem is an ssize_t limitation, not a size_t or
2470         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
2471
2472 2011-06-01  Eric Blake  <eblake@redhat.com>
2473
2474         strerror: drop strerror_r dependency
2475         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
2476         * lib/strerror-override.c (strerror_override): ...to new file.
2477         * lib/strerror-override.h: Add prototype.
2478         * lib/strerror-impl.h: Delete.
2479         * lib/strerror.c (strerror): New implementation.
2480         * modules/errno (Files): Add new files.
2481         (configure.ac): Compile new file as appropriate.
2482         * modules/strerror (Files): Drop unused file.
2483         (Depends-on): Drop strerror_r-posix.
2484         * MODULES.html.sh: Document strerror_r-posix.
2485         Requested by Sam Steingold.
2486
2487         perror: call strerror_r directly
2488         * modules/perror (Files): Drop strerror-impl.h.
2489         * lib/perror.c (perror): Use our own stack buffer, rather than
2490         calling a wrapper that uses static storage.
2491         * doc/posix-functions/perror.texi (perror): Document a limitation
2492         of our replacement.
2493
2494         strerror_r: fix includes for FreeBSD
2495         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
2496         since we use abort on some platforms.
2497         Reported by Matthias Bolte.
2498
2499 2011-05-31  Bruno Haible  <bruno@clisp.org>
2500
2501         Fix link errors in tests: openat-die uses gettext-h.
2502         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
2503         against $(LIBINTL).
2504         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
2505         against $(LIBINTL).
2506         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
2507         $(LIBINTL).
2508         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
2509         against $(LIBINTL).
2510         * modules/linkat-tests (Makefile.am): Link test-linkat against
2511         $(LIBINTL).
2512         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
2513         $(LIBINTL).
2514         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
2515         against $(LIBINTL).
2516         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
2517         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
2518         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
2519         $(LIBINTL).
2520         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
2521         $(LIBINTL).
2522         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
2523         $(LIBINTL).
2524         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
2525
2526 2011-05-31  Bruno Haible  <bruno@clisp.org>
2527
2528         Fix link errors in tests: wait-process uses gettext-h.
2529         * modules/nonblocking-pipe-tests (Makefile.am): Set
2530         test_nonblocking_pipe_main_LDADD.
2531         * modules/nonblocking-socket-tests (Makefile.am): Link
2532         test-nonblocking-socket-main against $(LIBINTL).
2533         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
2534
2535 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
2536
2537         assert-h: work around 'verify' incompatibility
2538         * lib/verify.h: Use @...@ directives, not ifdef.
2539         * modules/assert-h (assert.h): Implement the directives.
2540         (assert.h): Substitute the symbol-prefix more consistently.
2541
2542 2011-05-29  Jim Meyering  <meyering@redhat.com>
2543
2544         trim: remove three superfluous assignments
2545         * lib/trim.c (trim2): Remove three superfluous assignments
2546         and correct brace positioning.
2547
2548 2011-05-29  Bruno Haible  <bruno@clisp.org>
2549
2550         wctype-h: Avoid namespace pollution on Solaris 2.6.
2551         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
2552         identifiers.
2553         * doc/posix-headers/wctype.texi: Mention the problem.
2554         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
2555
2556 2011-05-28  Jim Meyering  <meyering@redhat.com>
2557
2558         parse-datetime.y: accommodate -Wstrict-overflow
2559         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
2560         placate -Wstrict-overflow.
2561
2562         trim: avoid a warning from -O2 -Wstrict-overflow
2563         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
2564
2565 2011-05-29  Bruno Haible  <bruno@clisp.org>
2566
2567         gnulib-tool: Fix bug in yesterday's commit.
2568         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
2569         twice.
2570
2571 2011-05-29  Bruno Haible  <bruno@clisp.org>
2572
2573         Allow multiple gnulib generated include files to be combined.
2574         * gnulib-tool (func_compute_include_guard_prefix): New function.
2575         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
2576         ${gl_include_guard_prefix} references.
2577         (func_import, func_create_testdir): Invoke
2578         func_compute_include_guard_prefix.
2579         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
2580         * lib/ctype.in.h: Likewise.
2581         * lib/dirent.in.h: Likewise.
2582         * lib/errno.in.h: Likewise.
2583         * lib/fcntl.in.h: Likewise.
2584         * lib/float.in.h: Likewise.
2585         * lib/getopt.in.h: Likewise.
2586         * lib/iconv.in.h: Likewise.
2587         * lib/langinfo.in.h: Likewise.
2588         * lib/locale.in.h: Likewise.
2589         * lib/math.in.h: Likewise.
2590         * lib/netdb.in.h: Likewise.
2591         * lib/netinet_in.in.h: Likewise.
2592         * lib/poll.in.h: Likewise.
2593         * lib/pthread.in.h: Likewise.
2594         * lib/pty.in.h: Likewise.
2595         * lib/sched.in.h: Likewise.
2596         * lib/se-selinux.in.h: Likewise.
2597         * lib/search.in.h: Likewise.
2598         * lib/signal.in.h: Likewise.
2599         * lib/spawn.in.h: Likewise.
2600         * lib/stdarg.in.h: Likewise.
2601         * lib/stddef.in.h: Likewise.
2602         * lib/stdint.in.h: Likewise.
2603         * lib/stdio.in.h: Likewise.
2604         * lib/stdlib.in.h: Likewise.
2605         * lib/string.in.h: Likewise.
2606         * lib/strings.in.h: Likewise.
2607         * lib/sys_file.in.h: Likewise.
2608         * lib/sys_ioctl.in.h: Likewise.
2609         * lib/sys_select.in.h: Likewise.
2610         * lib/sys_socket.in.h: Likewise.
2611         * lib/sys_stat.in.h: Likewise.
2612         * lib/sys_time.in.h: Likewise.
2613         * lib/sys_times.in.h: Likewise.
2614         * lib/sys_uio.in.h: Likewise.
2615         * lib/sys_utsname.in.h: Likewise.
2616         * lib/sys_wait.in.h: Likewise.
2617         * lib/sysexits.in.h: Likewise.
2618         * lib/termios.in.h: Likewise.
2619         * lib/time.in.h: Likewise.
2620         * lib/unistd.in.h: Likewise.
2621         * lib/wchar.in.h: Likewise.
2622         * lib/wctype.in.h: Likewise.
2623         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
2624         * modules/ctype (Makefile.am): Likewise.
2625         * modules/dirent (Makefile.am): Likewise.
2626         * modules/errno (Makefile.am): Likewise.
2627         * modules/fcntl-h (Makefile.am): Likewise.
2628         * modules/float (Makefile.am): Likewise.
2629         * modules/getopt-posix (Makefile.am): Likewise.
2630         * modules/iconv-h (Makefile.am): Likewise.
2631         * modules/langinfo (Makefile.am): Likewise.
2632         * modules/locale (Makefile.am): Likewise.
2633         * modules/math (Makefile.am): Likewise.
2634         * modules/netdb (Makefile.am): Likewise.
2635         * modules/netinet_in (Makefile.am): Likewise.
2636         * modules/poll-h (Makefile.am): Likewise.
2637         * modules/pthread (Makefile.am): Likewise.
2638         * modules/pty (Makefile.am): Likewise.
2639         * modules/sched (Makefile.am): Likewise.
2640         * modules/search (Makefile.am): Likewise.
2641         * modules/selinux-h (Makefile.am): Likewise.
2642         * modules/signal (Makefile.am): Likewise.
2643         * modules/spawn (Makefile.am): Likewise.
2644         * modules/stdarg (Makefile.am): Likewise.
2645         * modules/stddef (Makefile.am): Likewise.
2646         * modules/stdint (Makefile.am): Likewise.
2647         * modules/stdio (Makefile.am): Likewise.
2648         * modules/stdlib (Makefile.am): Likewise.
2649         * modules/string (Makefile.am): Likewise.
2650         * modules/strings (Makefile.am): Likewise.
2651         * modules/sys_file (Makefile.am): Likewise.
2652         * modules/sys_ioctl (Makefile.am): Likewise.
2653         * modules/sys_select (Makefile.am): Likewise.
2654         * modules/sys_socket (Makefile.am): Likewise.
2655         * modules/sys_stat (Makefile.am): Likewise.
2656         * modules/sys_time (Makefile.am): Likewise.
2657         * modules/sys_times (Makefile.am): Likewise.
2658         * modules/sys_uio (Makefile.am): Likewise.
2659         * modules/sys_utsname (Makefile.am): Likewise.
2660         * modules/sys_wait (Makefile.am): Likewise.
2661         * modules/sysexits (Makefile.am): Likewise.
2662         * modules/termios (Makefile.am): Likewise.
2663         * modules/time (Makefile.am): Likewise.
2664         * modules/unistd (Makefile.am): Likewise.
2665         * modules/wchar (Makefile.am): Likewise.
2666         * modules/wctype-h (Makefile.am): Likewise.
2667         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
2668
2669 2011-05-29  Bruno Haible  <bruno@clisp.org>
2670
2671         assert-h: Allow multiple gnulib generated replacements to coexist.
2672         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
2673
2674 2011-05-29  Bruno Haible  <bruno@clisp.org>
2675
2676         argp: Allow coexistence with strerror_r-posix module.
2677         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
2678         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
2679         by gnulib's <string.h> replacement), assume it has the POSIX signature,
2680         not the glibc signature.
2681
2682 2011-05-28  Bruno Haible  <bruno@clisp.org>
2683
2684         gnulib-tool: Alternative structure of testdirs, similar to --import.
2685         * gnulib-tool: New option --single-configure.
2686         (func_usage): Document it.
2687         (single_configure): New variable.
2688         (func_modules_transitive_closure_separately,
2689         func_modules_transitive_closure_separately,
2690         func_determine_use_libtests, func_modules_add_dummy_separately,
2691         func_modules_to_filelist_separately): New functions, extracted from
2692         func_import.
2693         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
2694         (func_import): Use the new functions.
2695         (func_create_testdir): Set final_modules. Handle $single_configure =
2696         true case.
2697
2698 2011-05-28  Bruno Haible  <bruno@clisp.org>
2699
2700         getloadavg: Remove an unreliable safety check.
2701         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
2702         getloadavg.c is in place.
2703         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
2704         Reported by Sam Steingold <sds@gnu.org>.
2705
2706 2011-05-28  Bruno Haible  <bruno@clisp.org>
2707
2708         doc: Cleanup yet another file produced by texinfo.tex.
2709         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
2710
2711 2011-05-28  Bruno Haible  <bruno@clisp.org>
2712
2713         Finish the conditional dependencies mechanism.
2714         * gnulib-tool: New option --no-conditional-dependencies.
2715         (func_usage): Document it. Don't mark --conditional-dependencies as
2716         experimental.
2717         (cond_dependencies): The possible values can now be true, false, empty.
2718         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
2719         (func_import): Store setting in gnulib-cache.m4 and read it from there.
2720         * doc/gnulib-tool.texi (Conditional dependencies): New section.
2721
2722 2011-05-28  Bruno Haible  <bruno@clisp.org>
2723
2724         doc: Use a recent texinfo.tex.
2725         * doc/Makefile (tex_opts): New variable.
2726         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
2727
2728 2011-05-28  Jim Meyering  <meyering@redhat.com>
2729
2730         intprops.h: adjust comment to match code change
2731         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
2732         only once, it *may* have side effects.  Also fix an unrelated typo.
2733         (_GL_INT_SIGNED): Likewise.
2734
2735 2011-05-26  Simon Josefsson  <simon@josefsson.org>
2736
2737         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
2738
2739 2011-05-26  Bruno Haible  <bruno@clisp.org>
2740
2741         mbsrchr: Avoid collision with system function on Interix.
2742         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
2743         Reported by Markus Duft <mduft@gentoo.org>.
2744
2745 2011-05-15  James Youngman  <jay@gnu.org>
2746
2747         getopt: for ambiguous options, enumerate the possibilities.
2748         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
2749         the ambiguous options when an ambiguous prefix is given. This was
2750         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
2751         glibc change was
2752         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
2753
2754 2011-05-25  Eric Blake  <eblake@redhat.com>
2755
2756         getcwd: work around mingw bug
2757         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
2758         * doc/posix-functions/getcwd.texi (getcwd): Document it.
2759         Reported by Matthias Bolte.
2760
2761 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
2762
2763         test-intprops: disable -Wtype-limits diagnostics
2764         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
2765         diagnostics.  Otherwise, the integer overflow macros generate many
2766         diagnostics.  Reported by Jim Meyering in
2767         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
2768
2769         intprops: shorten, to pacify gcc -Woverlength-strings
2770         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
2771         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
2772         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
2773         likely to run afoul of C compiler limits for string constant lengths.
2774         See <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
2775
2776 2011-05-24  Eric Blake  <eblake@redhat.com>
2777
2778         docs: document recently fixed glibc printf bug
2779         * doc/posix-functions/fprintf.texi (fprintf): Document it.
2780         * doc/posix-functions/printf.texi (printf): Likewise.
2781         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
2782         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
2783
2784         closein-tests: convert to init.sh
2785         * modules/closein-tests (Files): Add init.sh
2786         * tests/test-closein.sh Use it.
2787
2788         yesno-tests: convert to init.sh
2789         * modules/yesno-tests (Files): Add init.sh.
2790         * tests/test-yesno.sh: Use it.
2791
2792         atexit-tests: ensure reliable exit status
2793         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
2794         Reported by Bruno Haible.
2795
2796 2011-05-24  Bruno Haible  <bruno@clisp.org>
2797
2798         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
2799         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
2800         gl_PREREQ_STRERROR_R invocations from here...
2801         * modules/strerror_r-posix (configure.ac): ... to here.
2802
2803 2011-05-24  Eric Blake  <eblake@redhat.com>
2804
2805         strerror_r: fix missing header
2806         * lib/strerror_r.c: Avoid compiler warning about snprintf.
2807
2808         strerror_r: fix AIX test failures
2809         * lib/strerror_r.c (strerror_r): Convert silent truncation to
2810         ERANGE failure.
2811
2812         strerror_r: fix Solaris test failures
2813         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
2814         failures.
2815         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
2816
2817         strerror_r: enforce POSIX recommendations
2818         * lib/strerror_r.c (safe_copy): New helper method.
2819         (strerror_r): Guarantee a non-empty string.
2820         * tests/test-strerror_r.c (main): Enhance tests to incorporate
2821         recent POSIX rulings and to match our strerror guarantees.
2822         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
2823
2824 2011-05-24  Jim Meyering  <meyering@redhat.com>
2825
2826         test-perror2.c: avoid warning about unused variable
2827         * tests/test-perror2.c (main): Remove declaration of unused "fp".
2828
2829 2011-05-24  Eric Blake  <eblake@redhat.com>
2830
2831         perror: avoid spurious test failure on HP-UX
2832         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
2833
2834         tests: fix logic bug in init.sh
2835         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
2836         shell.
2837
2838 2011-05-24  Jim Meyering  <meyering@redhat.com>
2839
2840         utimensat: do not reference an out-of-scope buffer
2841         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
2842         declared in an inner scope, yet "times" would be dereferenced outside
2843         the scope in which "ts" was valid.
2844         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
2845         of ts[2] "out/up", so that the use of aliased "times" (via
2846         "times = ts;") does not end up referencing an out-of-scope "ts"
2847
2848         opendir-safer.c: don't clobber errno; don't close negative FD
2849         * lib/opendir-safer.c (opendir_safer):
2850         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
2851         file descriptor, and more importantly, don't clobber the
2852         offending errno value with EINVAL.  Before, upon failure
2853         of dup_safer, we would pass the negative file descriptor to
2854         fdopendir, which would clobber errno.
2855
2856 2011-05-23  Bruno Haible  <bruno@clisp.org>
2857
2858         idcache: Fix module description.
2859         * modules/idcache (Include): Set to "idcache.h".
2860
2861 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
2862
2863         gnulib-tool: fix portability problem with MacOS sed
2864         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
2865         before the "}".  Problem reported by Leo in
2866         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
2867         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
2868         sed_extract_condition1, sed_extract_condition2.
2869
2870 2011-05-23  Bruno Haible  <bruno@clisp.org>
2871
2872         hash: Simplify autoconf macro.
2873         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
2874
2875 2011-05-23  Bruno Haible  <bruno@clisp.org>
2876
2877         getugroups: Fix module description.
2878         * modules/getugroups (Include): Set to "getugroups.h".
2879
2880 2011-05-23  Bruno Haible  <bruno@clisp.org>
2881
2882         linkat: Simplify autoconf macro.
2883         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
2884
2885 2011-05-23  Bruno Haible  <bruno@clisp.org>
2886             Eric Blake  <eblake@redhat.com>
2887
2888         linkat, renameat: Update dependencies.
2889         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
2890         * modules/linkat (Depends-on): Likewise. Remove also readlink,
2891         symlinkat.
2892
2893 2011-05-23  Jim Meyering  <meyering@redhat.com>
2894
2895         maint.mk: more tight_scope improvements
2896         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
2897         (_gl_TS_headers): Define only in if-0'd block.
2898         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
2899         sometimes we must *not* use it.  Adjust uses accordingly.
2900         (sc_tight_scope): Use much simpler grep-based test to determine
2901         whether we skip this rule.
2902
2903         maint.mk: generalize/improve the tight-scope rule
2904         * top/maint.mk: Emit a warning when the test is skipped.
2905         (_gl_TS_dir): Add $(srcdir)/ prefix.
2906         (_gl_TS_function_match): Simplify, rather than trying
2907         to enumerate common types.  Otherwise, it would fail to match an
2908         "extern unsigned char const *" declaration in idutils.
2909         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
2910         a way to support use of that type of macro.
2911         (_gl_TS_var_match): Simplify regexp.
2912         (_gl_TS_obj_files): New configurable variable.
2913         (_gl_TS_headers): Likewise.
2914
2915 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
2916
2917         verify: fix bug when gnulib <assert.h> is also included
2918         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
2919         is defined, not if _GL_STATIC_ASSERT_H is not defined.
2920         Perhaps there's a better way, but this fixes the immediate problem.
2921         Problem reported by Bruno Haible in
2922         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
2923
2924 2011-05-22  Bruno Haible  <bruno@clisp.org>
2925
2926         xgetcwd: Simplify autoconf macro.
2927         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
2928
2929 2011-05-22  Bruno Haible  <bruno@clisp.org>
2930
2931         New module 'mktime-internal'.
2932         * modules/mktime-internal: New file.
2933         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
2934         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
2935         mktime_internal as a C macro if libc has __mktime_internal.
2936         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
2937         conditions.
2938         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
2939
2940 2011-05-22  Bruno Haible  <bruno@clisp.org>
2941
2942         timegm: Correct mktime replacement statements.
2943         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
2944         defining mktime as a C macro. This completes a 2009-07-28 commit.
2945
2946 2011-05-22  Bruno Haible  <bruno@clisp.org>
2947
2948         timegm: Simplify autoconf macro.
2949         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
2950
2951 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
2952
2953         clock-time: change to LGPLv2+.
2954         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
2955         BSD-like but we have no mark for that; this is good enough for now.
2956
2957 2011-05-21  Bruno Haible  <bruno@clisp.org>
2958
2959         strerror_r: Fix comments.
2960         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
2961
2962 2011-05-21  Bruno Haible  <bruno@clisp.org>
2963
2964         relocatable-prog-wrapper: Fix possible link error.
2965         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
2966         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
2967         (gl_FUNC_SETENV): ... to here.
2968         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
2969         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
2970
2971 2011-05-21  Bruno Haible  <bruno@clisp.org>
2972
2973         relocatable-prog-wrapper: Assume strerror() exists.
2974         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
2975         m4/strerror.m4.
2976         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
2977         * lib/relocwrapper.c: Remove mention of strerror module.
2978         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
2979         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
2980         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
2981         C macro.
2982
2983 2011-05-21  Bruno Haible  <bruno@clisp.org>
2984
2985         select: Simplify replacement idiom.
2986         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
2987         Win32 platforms.
2988         * lib/sys_select.in.h (select): Simplify accordingly.
2989         * modules/select (Depends-on): Likewise.
2990
2991 2011-05-21  Bruno Haible  <bruno@clisp.org>
2992
2993         mkdir-p: Simplify autoconf macro.
2994         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
2995         gl_FUNC_LCHOWN.
2996
2997 2011-05-21  Eric Blake  <eblake@redhat.com>
2998
2999         strerror_r: avoid clobbering strerror on cygwin
3000         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
3001         fall back instead to sys_errlist.
3002         * modules/strerror (configure.ac): Add witness.
3003         * tests/test-strerror_r.c (main): Enhance test.
3004         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
3005         * tests/test-perror2.c (main): Free memory before exit.
3006
3007 2011-05-21  Bruno Haible  <bruno@clisp.org>
3008
3009         mkdtemp: Use gnulib naming conventions.
3010         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
3011         * modules/mkdtemp (configure.ac): Update.
3012
3013 2011-05-20  Eric Blake  <eblake@redhat.com>
3014
3015         strerror_r: avoid corrupting errno on Solaris
3016         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
3017         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
3018
3019         strerror_r: avoid compiler warning
3020         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
3021
3022         strerror_r: simplify AIX code
3023         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
3024
3025         test-perror: avoid spurious failure on FreeBSD
3026         * modules/perror-tests (Depends-on): Add strerror, now that
3027         strerror_r no longer pulls it in.
3028
3029 2011-05-20  Bruno Haible  <bruno@clisp.org>
3030
3031         strerror_r-posix: Remove unused dependencies.
3032         * modules/strerror_r-posix (Depends-on): Remove strerror.
3033         Reported by Eric Blake.
3034
3035 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
3036
3037         intprops: remove assumption about A|B representation
3038         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
3039         is a valid integer if both A and B are.  Although this is true for
3040         all known practical hosts, the C standard doesn't guarantee it,
3041         and the code need not assume it.  Also, this change may work around
3042         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
3043         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00426.html>.
3044
3045 2011-05-20  Eric Blake  <eblake@redhat.com>
3046
3047         perror: work around FreeBSD bug
3048         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
3049         is broken.  Move AC_LIBOBJ...
3050         * modules/perror (configure.ac): Here.
3051         * doc/posix-functions/perror.texi (perror): Document this.
3052         * tests/test-perror2.c (main): Enhance test.
3053
3054         test-perror: check for strerror interactions
3055         * tests/macros.h (STREQ): Add macro.
3056         * modules/perror-tests (Files): Add second test.
3057         * tests/test-perror2.c (main): New file.
3058         * doc/posix-functions/perror.texi (perror): Document glibc bug.
3059
3060         test-perror: rewrite to use init script
3061         * modules/perror-tests (Files): Add init.sh.
3062         * tests/test-perror.sh: Use temporary directory.
3063
3064 2011-05-20  Jim Meyering  <meyering@redhat.com>
3065
3066         maint: replace misused "a" with "an"
3067         * doc/intprops.texi: "a integer"
3068         * doc/regex.texi: "a explanation"
3069         * lib/alignof.h: "a object"
3070         * lib/argmatch.h: "a explanation"
3071         * lib/argp-help.c: "a option" and "a OPTION_DOC"
3072         * lib/stdint.in.h: "a integer"
3073         * lib/userspec.c: "a owner"
3074         * doc/gnulib.texi: Fix "a idea", and reword.
3075
3076 2011-05-19  Jim Meyering  <meyering@redhat.com>
3077
3078         maint: correct misuse of "a" and "an"
3079         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
3080         * lib/argp-help.c: "an docum...": s/an/a/
3081         * lib/argp-parse.c: "An vector": s/An/A/
3082         * lib/execute.c: "an native": s/an/a/
3083         * lib/spawn-pipe.c: Likewise.
3084         * lib/gc.h: "an Gc_rc": s/an/a/
3085         * lib/unigbrk.in.h: "an grapheme": s/an/a/
3086         * lib/fts.c: "an stat.st_dev": s/an/a/
3087
3088 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
3089
3090         intprops-tests: work around HP-UX 11.23 cc bug with constants
3091         * tests/test-intprops.c (VERIFY): New macro.
3092         (main): Use it, instead of verify, to work around the compiler bug; see
3093         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
3094
3095         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
3096         See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
3097         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
3098         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
3099         (_GL_REMAINDER_OVERFLOW): Use it.
3100
3101         intprops-tests: revert unsigned part of previous change
3102         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
3103         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
3104         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
3105         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.
3106
3107 2011-05-19  Bruno Haible  <bruno@clisp.org>
3108
3109         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
3110         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
3111         strerror_r() returned without filling the buffer.
3112         Reported by Eric Blake.
3113
3114 2011-05-19  Eric Blake  <eblake@redhat.com>
3115
3116         strerror_r: guarantee unchanged errno
3117         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
3118         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
3119         failure.
3120         * tests/test-strerror_r.c (main): Enhance test.
3121
3122 2011-05-19  Bruno Haible  <bruno@clisp.org>
3123
3124         strerror_r: Reorder #if blocks.
3125         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
3126         for consistency with the previous commit.
3127
3128 2011-05-19  Bruno Haible  <bruno@clisp.org>
3129
3130         perror: Avoid clobbering the strerror buffer when possible.
3131         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
3132         * lib/strerror.c: Include it.
3133         * modules/strerror (Files): Add lib/strerror-impl.h.
3134         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
3135         (my_strerror): New function, defined through lib/strerror-impl.h.
3136         (perror): Use it instead of strerror.
3137         * modules/perror (Files): Add lib/strerror-impl.h.
3138         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
3139
3140 2011-05-19  Eric Blake  <eblake@redhat.com>
3141
3142         strerror_r: fix on newer cygwin
3143         * lib/strerror_r.c (strerror_r): Cygwin now has
3144         __xpg_strerror_r, use it.
3145
3146 2011-05-19  Bruno Haible  <bruno@clisp.org>
3147
3148         strerror_r: Avoid clobbering the strerror buffer when possible.
3149         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
3150         (sys_nerr, sys_errlist): New declarations.
3151         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
3152         HP-UX, native Win32, IRIX, and 32-bit Solaris.
3153         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
3154
3155 2011-05-19  Bruno Haible  <bruno@clisp.org>
3156
3157         strerror_r: Fix test failure on mingw.
3158         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
3159         EXTEND_STRERROR_R.
3160         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
3161         macros from errno.in.h instead.
3162
3163 2011-05-19  Eric Blake  <eblake@redhat.com>
3164
3165         strerror: relax test for Solaris
3166         * tests/test-strerror.c (main): Permit Solaris behavior.
3167         * tests/test-strerror_r.c (main): Likewise.
3168
3169         strerror: enforce POSIX ruling on strerror(0)
3170         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
3171         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
3172         * lib/strerror_r.c (rpl_strerror_r): Work around it.
3173         * doc/posix-functions/strerror.texi (strerror): Document it.
3174         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
3175         * tests/test-strerror.c (main): Strengthen test.
3176         * tests/test-strerror_r.c (main): Likewise.
3177
3178 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
3179
3180         intprop-tests: port to older and more-pedantic compilers
3181         * modules/intprops-tests (Files): Add tests/macros.h.
3182         * tests/test-intprops.c: Include macros.h.
3183         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
3184         it's no longer documented to expand to an integer constant expression.
3185         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
3186         argument is floating point, as it's no longer documented to expand
3187         to an integer constant expression in that case.
3188         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
3189         compiler bugs reported by Bruno Haible.  See
3190         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
3191         (U0, U1): New constants, to work around the same bugs.  Also,
3192         in tests, use e.g., "(unsigned int) 39" rather than "39u".
3193
3194         intprops: work around C compiler bugs
3195         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
3196         bug in Sun C 5.11 2010/08/13 and other compilers; see
3197         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
3198
3199         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
3200         * doc/intprops.texi (Integer Type Determination): Fix
3201         documentation for TYPE_IS_INTEGER: it returns an constant
3202         expression, not an integer constant expression.  Fix doc for
3203         TYPE_SIGNED: it returns an integer constant expression only if its
3204         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
3205         hardly worth documented that way....)
3206
3207 2011-05-18  Bruno Haible  <bruno@clisp.org>
3208
3209         strerror_r: Avoid clobbering the strerror buffer when possible.
3210         * lib/strerror_r.c (strerror_r): Merge the three implementations.
3211         Handle gnulib defined errno values here. When strerror() returns NULL
3212         or an empty string, return EINVAL.
3213         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
3214         gnulib defined errno values here.
3215         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
3216
3217 2011-05-18  Eric Blake  <eblake@redhat.com>
3218
3219         fnmatch: avoid compiler warning
3220         * lib/fnmatch_loop.c (FCT): Use correct type.
3221         Reported by Matthias Bolte.
3222
3223 2011-05-13  Jim Meyering  <meyering@redhat.com>
3224
3225         maint.mk: three new prohibit_<HDR>_without_use rules
3226         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
3227         (sc_prohibit_stdio-safer_without_use): Likewise.
3228         (sc_prohibit_xfreopen_without_use): Likewise.
3229
3230 2011-05-17  Jim Meyering  <meyering@redhat.com>
3231
3232         announce-gen: fail if the NEWS delta is empty
3233         If there's nothing noteworthy in NEWS, then either you forgot
3234         or you shouldn't be releasing.
3235         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
3236
3237 2011-05-17  Pádraig Brady <P@draigBrady.com>
3238
3239         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
3240         reserved symbols starting with double underscore from the check.
3241
3242 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
3243
3244         intprops: add doc
3245         * doc/intprops.texi: New file, documenting intprops.
3246         * doc/gnulib.texi (Particular Modules): Include it.
3247
3248         verify: add doc to gnulib manual and fix example
3249         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
3250         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
3251         (Compile-time Assertions): Fix example so it can't overflow.
3252
3253 2011-05-17  Jim Meyering  <meyering@redhat.com>
3254
3255         warnings.m4: don't usurp save_CPPFLAGS variable name
3256         * m4/warnings.m4: Prefix local temporary variable name with gl_.
3257
3258         doc: fix typo
3259         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
3260
3261 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
3262             Bruno Haible  <bruno@clisp.org>
3263
3264         doc: Tweak recent change.
3265         * README (Portability guidelines): Tweak new text.
3266         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
3267         Interix 6.1.
3268
3269 2011-05-16  Eric Blake  <eblake@redhat.com>
3270
3271         inttypes: avoid autoconf warning
3272         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
3273         * m4/stdint.m4 (gl_STDINT_H): Likewise.
3274
3275 2011-05-16  Sam Steingold <sds@gnu.org>
3276         and Eric Blake  <eblake@redhat.com>
3277
3278         vc-list-files: accept multiple directory operands
3279         * build-aux/vc-list-files: Iterate over all remaining operands.
3280
3281 2011-05-16  Bruno Haible  <bruno@clisp.org>
3282
3283         Fix confusion regarding deprecated modules.
3284         * modules/calloc (Status, Notice): Mark module as deprecated, not
3285         obsolete.
3286         * modules/fnmatch-posix (Status, Notice): Likewise.
3287         * modules/getdate (Status, Notice): Likewise.
3288         * modules/getopt (Status, Notice): Likewise.
3289         * modules/malloc (Status, Notice): Likewise.
3290         * modules/pipe (Status, Notice): Likewise.
3291         * modules/realloc (Status, Notice): Likewise.
3292         * modules/rename-dest-slash (Status, Notice): Likewise.
3293         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
3294         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
3295         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
3296         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
3297         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
3298
3299 2011-05-16  Bruno Haible  <bruno@clisp.org>
3300
3301         doc: List the target platforms.
3302         * doc/gnulib-intro.texi (Target Platforms): New section.
3303         * doc/gnulib.texi (Introduction): Update menu.
3304         * README (Portability guidelines): Refer to the new section. Update
3305         statement about oldest supported environment. Remove rationale why
3306         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
3307         unportable C89 function.
3308         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
3309         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
3310
3311 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
3312
3313         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
3314
3315 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
3316
3317         intprops-tests: new module
3318         * modules/intprops-tests, tests/test-intprops.c: New files.
3319
3320         intprops: add safe, portable integer overflow checking
3321         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
3322         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
3323         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
3324         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
3325         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
3326         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
3327         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
3328         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
3329         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
3330         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
3331         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
3332
3333 2011-05-12  James Youngman  <jay@gnu.org>
3334
3335         Add a test for glibc's Bugzilla bug #12378.
3336         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
3337         doesn't allow the literal matching of a lone "[" (which is
3338         required by POSIX).
3339         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
3340
3341 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
3342
3343         Sync glibc change fixing Bugzilla bug #12378.
3344         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
3345         beginning and fall back to matching as normal character if the
3346         string ends before the matching ']' is found.  This is what POSIX
3347         requires.
3348
3349 2011-05-13  Eric Blake  <eblake@redhat.com>
3350
3351         getcwd-lgpl: relax test for FreeBSD
3352         * doc/posix-functions/getcwd.texi (getcwd): Document portability
3353         issue.
3354         * tests/test-getcwd-lgpl.c (main): Relax test.
3355         Reported by Matthias Bolte.
3356
3357 2011-05-11  Eric Blake  <eblake@redhat.com>
3358
3359         test-fflush: silence compiler warning
3360         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
3361
3362 2011-05-11  Bruno Haible  <bruno@clisp.org>
3363
3364         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
3365         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
3366         * modules/canonicalize (Depends-on): Add 'nocrash'.
3367         * modules/canonicalize-lgpl (Depends-on): Likewise.
3368         * doc/posix-functions/realpath.texi: Update platforms list.
3369         Reported by Ryan Schmidt <ryandesign@macports.org>.
3370
3371 2011-05-11  Bruno Haible  <bruno@clisp.org>
3372
3373         group-member: Declare function in <unistd.h>.
3374         * lib/unistd.in.h (group_member): New declaration.
3375         * lib/group-member.h: Remove file.
3376         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
3377         * tests/test-unistd-c++.cc: Check signature of group_member.
3378         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
3379         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
3380         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
3381         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
3382         HAVE_GROUP_MEMBER.
3383         * modules/group-member (Files): Remove lib/group-member.h.
3384         (Depends-on): Add unistd. Specify conditions.
3385         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
3386         (Include): Change to <unistd.h>.
3387         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
3388         HAVE_GROUP_MEMBER.
3389         * NEWS: Mention the change.
3390         * lib/euidaccess.c: Don't include group-member.h.
3391
3392 2011-05-11  Bruno Haible  <bruno@clisp.org>
3393
3394         group-member: Document module.
3395         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
3396         module.
3397
3398 2011-05-11  Bruno Haible  <bruno@clisp.org>
3399
3400         fclose: Fix mistake earlier today.
3401         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
3402
3403 2011-05-11  Eric Blake  <eblake@redhat.com>
3404
3405         fclose: preserve fflush errors
3406         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
3407         Reported by Jim Meyering.
3408
3409         bootstrap: support a prereq of 'rpcgen -' on RHEL5
3410         * build-aux/bootstrap (check_versions): When no specific version
3411         is required, merely check that the app produces an exit status
3412         that indicates its existence.
3413
3414         maint.mk: drop redundant check
3415         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
3416         the same but better.
3417
3418 2011-05-11  Bruno Haible  <bruno@clisp.org>
3419
3420         fclose: Fix possible link error.
3421         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
3422         unregister_shadow_fd. Improve comments.
3423         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
3424         Eric Blake.
3425
3426 2011-05-11  Jim Meyering  <meyering@redhat.com>
3427
3428         maint.mk: improve "can not" detection and generalize rule name
3429         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
3430         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
3431         Use the same technique as in sc_prohibit_doubled_word, so that
3432         we recognize "can not" also when the words are separated by a newline.
3433         Suggested by Eric Blake.
3434         (perl_filename_lineno_text_): Define.  Factored out of...
3435         (prohibit_doubled_word_): ...here.  Use the new definition.
3436         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
3437         (prohibit_undesirable_word_seq_RE_): New overridable variable.
3438         (ignore_undesirable_word_sequence_RE_): New overridable variable.
3439
3440 2011-05-10  Eric Blake  <eblake@redhat.com>
3441
3442         fclose: avoid double close race when possible
3443         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
3444         all but WINDOWS_SOCKETS.
3445
3446 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
3447
3448         openat: correct new comment
3449         * lib/openat-proc.c (openat_proc_name): Correct the comment.
3450
3451 2011-05-10  Jim Meyering  <meyering@redhat.com>
3452
3453         openat: add comments
3454         * lib/openat-proc.c (openat_proc_name): Add comments,
3455         mostly from Eric Blake.
3456
3457 2011-05-09  Eric Blake  <eblake@redhat.com>
3458
3459         openat: reduce syscalls in first probe of /proc
3460         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
3461         be a directory.  Simplify the probe for .. bugs.
3462         * modules/openat (Depends-on): Drop same-inode.
3463         Reported by Bastien ROUCARIES.
3464
3465 2011-05-09  Jim Meyering  <meyering@redhat.com>
3466
3467         maint.mk: change semantics/name of tight_scope variables
3468         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
3469         Rename variables to align with semantics that make them more useful.
3470
3471         maint.mk: tweak new rule's name not to impinge
3472         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
3473         (sc_tight_scope): Use new rule name rather than $@-0.
3474
3475         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
3476         * top/maint.mk (sc_tight_scope): New rule.
3477         (sc_tight_scope-0): New rule, ifdef'd out.
3478         (_gl_TS_dir): Default.
3479         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
3480         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
3481
3482 2011-05-09  Simon Josefsson  <simon@josefsson.org>
3483
3484         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
3485         Haible <bruno@clisp.org>.
3486
3487 2011-05-08  Bruno Haible  <bruno@clisp.org>
3488
3489         Comments.
3490         * m4/isnanf.m4: Add comment.
3491         * m4/isnanl.m4: Likewise.
3492
3493 2011-05-08  Bruno Haible  <bruno@clisp.org>
3494
3495         glob: Remove obsolete macro.
3496         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
3497
3498 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
3499
3500         intprops: Sun C 5.11 supports __typeof__
3501         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
3502         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
3503         which is new.
3504         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
3505
3506         intprops: switch to usual gnulib indenting and naming
3507         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
3508         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
3509
3510         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
3511
3512 2011-05-08  Jim Meyering  <meyering@redhat.com>
3513
3514         maint.mk: suppress "Entering/Leaving directory" diag in announcement
3515         * top/maint.mk (release-prep): Use make's --no-print-directory
3516         option when generating the announcement.  This eliminates the
3517         pesky "make[2]: Entering/Leaving directory" diagnostics in the
3518         generated announcement template.
3519
3520 2011-05-08  Bruno Haible  <bruno@clisp.org>
3521
3522         tzset: Fix gettimeofday wrapper on Solaris 2.6.
3523         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
3524         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
3525
3526 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
3527
3528         ignore-value, verify: Omit include files from lib_SOURCES.
3529         * modules/ignore-value, modules/verify (Makefile.am):
3530         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
3531         that leads Automake to duplicate use of am__objects_... variables
3532         in Makefile.in.  See
3533         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
3534
3535 2011-05-07  Bruno Haible  <bruno@clisp.org>
3536
3537         fclose: Simplify autoconf macro.
3538         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
3539         defined.
3540
3541 2011-05-07  Bruno Haible  <bruno@clisp.org>
3542
3543         canonicalize-lgpl: Fix autoconf macro ordering bug.
3544         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
3545         gl_STDLIB_H_DEFAULTS.
3546
3547 2011-05-06  Eric Blake  <eblake@redhat.com>
3548
3549         maintainer-makefile: make sc_po_check easier to tune
3550         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
3551         to probe for strings, such as an alternate location for gnulib.
3552
3553         fclose: guarantee behavior on seekable stdin
3554         * modules/fclose (Depends-on): Add fflush.
3555         * doc/posix-functions/fclose.texi (fclose): Document this.
3556         * tests/test-fclose.c (main): Make test for this unconditional.
3557
3558 2011-05-06  Bruno Haible  <bruno@clisp.org>
3559
3560         fflush, fpurge: Relicense under LGPLv2+.
3561         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
3562         * modules/fpurge (License): Likewise.
3563         With permission from Eric Blake and Jim Meyering.
3564         Suggested by Eric Blake.
3565
3566 2011-05-06  Karl Berry  <karl@gnu.org>
3567
3568         * MODULES.html.sh (func_all_modules): remove exit.
3569
3570 2011-05-06  Jim Meyering  <meyering@redhat.com>
3571
3572         maint.mk: use info-gnu@ as the default only for a stable release
3573         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
3574         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
3575         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
3576         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
3577
3578 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
3579
3580         assert-h: new module, which supports C1X-style static_assert
3581         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
3582         * lib/verify.h: Revamp so that this can be copied into assert.h,
3583         while retaining the ability to use it standalone as before.
3584         Rename private identifiers so as not to encroach on the
3585         standard C namespace, since this is now used by assert.h.
3586         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
3587         the old verify_true.
3588         (_GL_VERIFY_TRUE): New macro, with much of the contents of
3589         the old verify_true.  Use _GL_VERIFY_TYPE.
3590         (_GL_VERIFY): New macro, with much of the contents of the old verify.
3591         (static_assert): New macro, if _GL_STATIC_ASSERT_H
3592         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
3593         defined when this file is copied into the replacement assert.h.
3594         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
3595         and _Static_assert is not built in.
3596         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
3597         defined, and use the new macros mentioned above.
3598         * doc/posix-headers/assert.texi: Document this.
3599
3600 2011-05-05  Bruno Haible  <bruno@clisp.org>
3601
3602         fclose, fflush: Respect rules for use of AC_LIBOBJ.
3603         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
3604         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
3605         gl_REPLACE_FCLOSE here.
3606         * modules/fflush (Depends-on): Remove fclose.
3607         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
3608         combination with module 'fclose'.
3609
3610 2011-05-05  Bruno Haible  <bruno@clisp.org>
3611
3612         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
3613         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
3614         gl_FUNC_FFLUSH.
3615         (gl_FUNC_FFLUSH): Use it.
3616         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
3617         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
3618         gl_REPLACE_FSEEKO here.
3619
3620 2011-05-05  Bruno Haible  <bruno@clisp.org>
3621
3622         tzset: Relicense under LGPL.
3623         * modules/tzset (License): Change to LGPL.
3624         No agreement needed; it's a no-op.
3625
3626         strtoimax, strtoumax: Relicense under LGPL.
3627         * modules/strtoimax (License): Change to LGPL.
3628         * modules/strtoumax (License): Likewise.
3629         With permission from Jim Meyering, Paul Eggert:
3630         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
3631         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
3632
3633         getgroups: Relicense under LGPL.
3634         * modules/getgroups (License): Change to LGPL.
3635         With permission from Jim Meyering, Paul Eggert, Eric Blake:
3636         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
3637         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
3638         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
3639
3640         nanosleep: Relicense under LGPL.
3641         * modules/nanosleep (License): Change to LGPL.
3642         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
3643         Haible:
3644         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
3645         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
3646         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
3647         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
3648
3649         futimens: Relicense under LGPL.
3650         * modules/futimens (License): Change to LGPL.
3651         With permission from Eric Blake:
3652         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
3653
3654         fflush: Relicense under LGPL.
3655         * modules/fflush (License): Change to LGPL.
3656         With permission from Eric Blake, Bruno Haible, Jim Meyering:
3657         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
3658         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
3659         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
3660
3661         tmpfile: Relicense under LGPL.
3662         * modules/tmpfile (License): Change to LGPL.
3663         With permission from Ben Pfaff:
3664         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
3665
3666         isfinite: Relicense under LGPL.
3667         * modules/isfinite (License): Change to LGPL.
3668         With permission from Ben Pfaff, Bruno Haible:
3669         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
3670         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
3671
3672         acosl..tanl: Relicense under LGPL.
3673         * modules/acosl (License): Change to LGPL.
3674         * modules/asinl (License): Likewise.
3675         * modules/atanl (License): Likewise.
3676         * modules/cosl (License): Likewise.
3677         * modules/expl (License): Likewise.
3678         * modules/logl (License): Likewise.
3679         * modules/sinl (License): Likewise.
3680         * modules/sqrtl (License): Likewise.
3681         * modules/tanl (License): Likewise.
3682         Source code originally from glibc and Paolo Bonzini. Agreements:
3683         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
3684         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
3685
3686 2011-05-05  Bruno Haible  <bruno@clisp.org>
3687
3688         signal: Define sighandler_t.
3689         * lib/signal.in.h (sighandler_t): New type.
3690         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
3691         whether sighandler_t is defined.
3692         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
3693         * modules/signal (Depends-on): Add extensions.
3694         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
3695         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
3696         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
3697
3698 2011-05-05  Eric Blake  <eblake@redhat.com>
3699
3700         maint: remove useless REPLACE_*_H macros
3701         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
3702         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
3703         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
3704         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
3705         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
3706         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
3707         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
3708         * m4/btowc.m4: Update callers.
3709         * m4/dirfd.m4: Likewise.
3710         * m4/duplocale.m4: Likewise.
3711         * m4/fchdir.m4: Likewise.
3712         * m4/fdopendir.m4: Likewise.
3713         * m4/inet_ntop.m4: Likewise.
3714         * m4/inet_pton.m4: Likewise.
3715         * m4/ioctl.m4: Likewise.
3716         * m4/mbrlen.m4: Likewise.
3717         * m4/mbrtowc.m4: Likewise.
3718         * m4/mbsinit.m4: Likewise.
3719         * m4/mbsnrtowcs.m4: Likewise.
3720         * m4/mbsrtowcs.m4: Likewise.
3721         * m4/poll.m4: Likewise.
3722         * m4/setlocale.m4: Likewise.
3723         * m4/wcrtomb.m4: Likewise.
3724         * m4/wcsnrtombs.m4: Likewise.
3725         * m4/wcsrtombs.m4: Likewise.
3726         * m4/wctob.m4: Likewise.
3727         * m4/wcwidth.m4: Likewise.
3728         * modules/posix_spawn: Likewise.
3729         * modules/posix_spawn_file_actions_addclose: Likewise.
3730         * modules/posix_spawn_file_actions_adddup2: Likewise.
3731         * modules/posix_spawn_file_actions_addopen: Likewise.
3732         * modules/posix_spawn_file_actions_destroy: Likewise.
3733         * modules/posix_spawn_file_actions_init: Likewise.
3734         * modules/posix_spawnattr_destroy: Likewise.
3735         * modules/posix_spawnattr_getflags: Likewise.
3736         * modules/posix_spawnattr_getpgroup: Likewise.
3737         * modules/posix_spawnattr_getschedparam: Likewise.
3738         * modules/posix_spawnattr_getschedpolicy: Likewise.
3739         * modules/posix_spawnattr_getsigdefault: Likewise.
3740         * modules/posix_spawnattr_getsigmask: Likewise.
3741         * modules/posix_spawnattr_init: Likewise.
3742         * modules/posix_spawnattr_setflags: Likewise.
3743         * modules/posix_spawnattr_setpgroup: Likewise.
3744         * modules/posix_spawnattr_setschedparam: Likewise.
3745         * modules/posix_spawnattr_setschedpolicy: Likewise.
3746         * modules/posix_spawnattr_setsigdefault: Likewise.
3747         * modules/posix_spawnattr_setsigmask: Likewise.
3748         * modules/posix_spawnp: Likewise.
3749
3750 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
3751
3752         Add option to do-release-commit-and-tag to specify branch.
3753         * build-aux/do-release-commit-and-tag: Add --branch.
3754
3755 2011-05-03  Bruno Haible  <bruno@clisp.org>
3756
3757         Avoid unnecessary compilation units, through conditional dependencies.
3758         * modules/accept (Depends-on): Add conditions to the dependencies.
3759         * modules/acosl (Depends-on): Likewise.
3760         * modules/argz (Depends-on): Likewise.
3761         * modules/asinl (Depends-on): Likewise.
3762         * modules/atanl (Depends-on): Likewise.
3763         * modules/atoll (Depends-on): Likewise.
3764         * modules/bind (Depends-on): Likewise.
3765         * modules/btowc (Depends-on): Likewise.
3766         * modules/canonicalize-lgpl (Depends-on): Likewise.
3767         * modules/ceil (Depends-on): Likewise.
3768         * modules/ceilf (Depends-on): Likewise.
3769         * modules/ceill (Depends-on): Likewise.
3770         * modules/chdir-long (Depends-on): Likewise.
3771         * modules/chown (Depends-on): Likewise.
3772         * modules/close (Depends-on): Likewise.
3773         * modules/connect (Depends-on): Likewise.
3774         * modules/cosl (Depends-on): Likewise.
3775         * modules/dirfd (Depends-on): Likewise.
3776         * modules/dprintf (Depends-on): Likewise.
3777         * modules/dprintf-posix (Depends-on): Likewise.
3778         * modules/error (Depends-on): Likewise.
3779         * modules/euidaccess (Depends-on): Likewise.
3780         * modules/expl (Depends-on): Likewise.
3781         * modules/faccessat (Depends-on): Likewise.
3782         * modules/fchdir (Depends-on): Likewise.
3783         * modules/fclose (Depends-on): Likewise.
3784         * modules/fcntl (Depends-on): Likewise.
3785         * modules/fdopendir (Depends-on): Likewise.
3786         * modules/fflush (Depends-on): Likewise.
3787         * modules/floor (Depends-on): Likewise.
3788         * modules/floorf (Depends-on): Likewise.
3789         * modules/floorl (Depends-on): Likewise.
3790         * modules/fnmatch (Depends-on): Likewise.
3791         * modules/fopen (Depends-on): Likewise.
3792         * modules/fprintf-posix (Depends-on): Likewise.
3793         * modules/frexp (Depends-on): Likewise.
3794         * modules/frexp-nolibm (Depends-on): Likewise.
3795         * modules/frexpl (Depends-on): Likewise.
3796         * modules/frexpl-nolibm (Depends-on): Likewise.
3797         * modules/fseek (Depends-on): Likewise.
3798         * modules/fsusage (Depends-on): Likewise.
3799         * modules/ftell (Depends-on): Likewise.
3800         * modules/ftello (Depends-on): Likewise.
3801         * modules/futimens (Depends-on): Likewise.
3802         * modules/getcwd (Depends-on): Likewise.
3803         * modules/getcwd-lgpl (Depends-on): Likewise.
3804         * modules/getdelim (Depends-on): Likewise.
3805         * modules/getdomainname (Depends-on): Likewise.
3806         * modules/getgroups (Depends-on): Likewise.
3807         * modules/gethostname (Depends-on): Likewise.
3808         * modules/getline (Depends-on): Likewise.
3809         * modules/getlogin_r (Depends-on): Likewise.
3810         * modules/getopt-posix (Depends-on): Likewise.
3811         * modules/getpeername (Depends-on): Likewise.
3812         * modules/getsockname (Depends-on): Likewise.
3813         * modules/getsockopt (Depends-on): Likewise.
3814         * modules/getsubopt (Depends-on): Likewise.
3815         * modules/getusershell (Depends-on): Likewise.
3816         * modules/glob (Depends-on): Likewise.
3817         * modules/grantpt (Depends-on): Likewise.
3818         * modules/iconv_open (Depends-on): Likewise.
3819         * modules/iconv_open-utf (Depends-on): Likewise.
3820         * modules/inet_ntop (Depends-on): Likewise.
3821         * modules/inet_pton (Depends-on): Likewise.
3822         * modules/ioctl (Depends-on): Likewise.
3823         * modules/isapipe (Depends-on): Likewise.
3824         * modules/isfinite (Depends-on): Likewise.
3825         * modules/isinf (Depends-on): Likewise.
3826         * modules/lchown (Depends-on): Likewise.
3827         * modules/ldexpl (Depends-on): Likewise.
3828         * modules/link (Depends-on): Likewise.
3829         * modules/linkat (Depends-on): Likewise.
3830         * modules/listen (Depends-on): Likewise.
3831         * modules/logl (Depends-on): Likewise.
3832         * modules/lstat (Depends-on): Likewise.
3833         * modules/mbrlen (Depends-on): Likewise.
3834         * modules/mbrtowc (Depends-on): Likewise.
3835         * modules/mbsinit (Depends-on): Likewise.
3836         * modules/mbsnrtowcs (Depends-on): Likewise.
3837         * modules/mbsrtowcs (Depends-on): Likewise.
3838         * modules/mbtowc (Depends-on): Likewise.
3839         * modules/memcmp (Depends-on): Likewise.
3840         * modules/mkdir (Depends-on): Likewise.
3841         * modules/mkdtemp (Depends-on): Likewise.
3842         * modules/mkfifo (Depends-on): Likewise.
3843         * modules/mkfifoat (Depends-on): Likewise.
3844         * modules/mknod (Depends-on): Likewise.
3845         * modules/mkostemp (Depends-on): Likewise.
3846         * modules/mkostemps (Depends-on): Likewise.
3847         * modules/mkstemp (Depends-on): Likewise.
3848         * modules/mkstemps (Depends-on): Likewise.
3849         * modules/mktime (Depends-on): Likewise.
3850         * modules/nanosleep (Depends-on): Likewise.
3851         * modules/open (Depends-on): Likewise.
3852         * modules/openat (Depends-on): Likewise.
3853         * modules/perror (Depends-on): Likewise.
3854         * modules/poll (Depends-on): Likewise.
3855         * modules/popen (Depends-on): Likewise.
3856         * modules/posix_spawn (Depends-on): Likewise.
3857         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
3858         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
3859         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
3860         * modules/posix_spawnp (Depends-on): Likewise.
3861         * modules/pread (Depends-on): Likewise.
3862         * modules/printf-posix (Depends-on): Likewise.
3863         * modules/ptsname (Depends-on): Likewise.
3864         * modules/putenv (Depends-on): Likewise.
3865         * modules/pwrite (Depends-on): Likewise.
3866         * modules/readline (Depends-on): Likewise.
3867         * modules/readlink (Depends-on): Likewise.
3868         * modules/readlinkat (Depends-on): Likewise.
3869         * modules/recv (Depends-on): Likewise.
3870         * modules/recvfrom (Depends-on): Likewise.
3871         * modules/regex (Depends-on): Likewise.
3872         * modules/remove (Depends-on): Likewise.
3873         * modules/rename (Depends-on): Likewise.
3874         * modules/renameat (Depends-on): Likewise.
3875         * modules/rmdir (Depends-on): Likewise.
3876         * modules/round (Depends-on): Likewise.
3877         * modules/roundf (Depends-on): Likewise.
3878         * modules/roundl (Depends-on): Likewise.
3879         * modules/rpmatch (Depends-on): Likewise.
3880         * modules/select (Depends-on): Likewise.
3881         * modules/send (Depends-on): Likewise.
3882         * modules/sendto (Depends-on): Likewise.
3883         * modules/setenv (Depends-on): Likewise.
3884         * modules/setlocale (Depends-on): Likewise.
3885         * modules/setsockopt (Depends-on): Likewise.
3886         * modules/shutdown (Depends-on): Likewise.
3887         * modules/sigaction (Depends-on): Likewise.
3888         * modules/signbit (Depends-on): Likewise.
3889         * modules/sigprocmask (Depends-on): Likewise.
3890         * modules/sinl (Depends-on): Likewise.
3891         * modules/sleep (Depends-on): Likewise.
3892         * modules/snprintf (Depends-on): Likewise.
3893         * modules/snprintf-posix (Depends-on): Likewise.
3894         * modules/socket (Depends-on): Likewise.
3895         * modules/sprintf-posix (Depends-on): Likewise.
3896         * modules/sqrtl (Depends-on): Likewise.
3897         * modules/stat (Depends-on): Likewise.
3898         * modules/strchrnul (Depends-on): Likewise.
3899         * modules/strdup-posix (Depends-on): Likewise.
3900         * modules/strerror (Depends-on): Likewise.
3901         * modules/strerror_r-posix (Depends-on): Likewise.
3902         * modules/strndup (Depends-on): Likewise.
3903         * modules/strnlen (Depends-on): Likewise.
3904         * modules/strptime (Depends-on): Likewise.
3905         * modules/strsep (Depends-on): Likewise.
3906         * modules/strsignal (Depends-on): Likewise.
3907         * modules/strstr-simple (Depends-on): Likewise.
3908         * modules/strtod (Depends-on): Likewise.
3909         * modules/strtoimax (Depends-on): Likewise.
3910         * modules/strtok_r (Depends-on): Likewise.
3911         * modules/strtoumax (Depends-on): Likewise.
3912         * modules/symlink (Depends-on): Likewise.
3913         * modules/symlinkat (Depends-on): Likewise.
3914         * modules/tanl (Depends-on): Likewise.
3915         * modules/tcgetsid (Depends-on): Likewise.
3916         * modules/tmpfile (Depends-on): Likewise.
3917         * modules/trunc (Depends-on): Likewise.
3918         * modules/truncf (Depends-on): Likewise.
3919         * modules/truncl (Depends-on): Likewise.
3920         * modules/uname (Depends-on): Likewise.
3921         * modules/unlink (Depends-on): Likewise.
3922         * modules/unlockpt (Depends-on): Likewise.
3923         * modules/unsetenv (Depends-on): Likewise.
3924         * modules/usleep (Depends-on): Likewise.
3925         * modules/utimensat (Depends-on): Likewise.
3926         * modules/vasprintf (Depends-on): Likewise.
3927         * modules/vdprintf (Depends-on): Likewise.
3928         * modules/vdprintf-posix (Depends-on): Likewise.
3929         * modules/vfprintf-posix (Depends-on): Likewise.
3930         * modules/vprintf-posix (Depends-on): Likewise.
3931         * modules/vsnprintf (Depends-on): Likewise.
3932         * modules/vsnprintf-posix (Depends-on): Likewise.
3933         * modules/vsprintf-posix (Depends-on): Likewise.
3934         * modules/wcrtomb (Depends-on): Likewise.
3935         * modules/wcscasecmp (Depends-on): Likewise.
3936         * modules/wcscspn (Depends-on): Likewise.
3937         * modules/wcsdup (Depends-on): Likewise.
3938         * modules/wcsncasecmp (Depends-on): Likewise.
3939         * modules/wcsnrtombs (Depends-on): Likewise.
3940         * modules/wcspbrk (Depends-on): Likewise.
3941         * modules/wcsrtombs (Depends-on): Likewise.
3942         * modules/wcsspn (Depends-on): Likewise.
3943         * modules/wcsstr (Depends-on): Likewise.
3944         * modules/wcstok (Depends-on): Likewise.
3945         * modules/wcswidth (Depends-on): Likewise.
3946         * modules/wctob (Depends-on): Likewise.
3947         * modules/wctomb (Depends-on): Likewise.
3948         * modules/wctype (Depends-on): Likewise.
3949         * modules/wcwidth (Depends-on): Likewise.
3950         * modules/write (Depends-on): Likewise.
3951
3952 2011-05-03  Bruno Haible  <bruno@clisp.org>
3953
3954         Support for conditional dependencies.
3955         * doc/gnulib.texi (Module description): Document the syntax of
3956         conditional dependencies.
3957         * gnulib-tool: New option --conditional-dependencies.
3958         (func_usage): Document it.
3959         (cond_dependencies): New variable.
3960         (func_get_automake_snippet_conditional,
3961         func_get_automake_snippet_unconditional): New functions, extracted from
3962         func_get_automake_snippet.
3963         (func_get_automake_snippet): Use them.
3964         (sed_first_32_chars): New variable.
3965         (func_module_shellfunc_name): New function.
3966         (func_module_shellvar_name): New function.
3967         (func_module_conditional_name): New function.
3968         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
3969         func_cond_module_condition): New functions.
3970         (func_modules_transitive_closure): Add support for conditional
3971         dependencies.
3972         (func_emit_lib_Makefile_am): For a conditional module, enclose the
3973         conditional automake snippet in an automake conditional.
3974         (func_emit_autoconf_snippets): Emit shell functions that contain the
3975         code for conditional modules.
3976         (func_import, func_create_testdir): Update specification.
3977
3978 2011-05-03  Eric Blake  <eblake@redhat.com>
3979
3980         test-getaddrinfo: report error information
3981         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
3982
3983 2011-05-03  Jim Meyering  <meyering@redhat.com>
3984
3985         bootstrap: avoid build failure when $GZIP is set
3986         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
3987         program name.  If defined at all, it is supposed to list gzip options.
3988         Reported by Alan Curry in http://debbugs.gnu.org/8609
3989
3990 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
3991
3992         readme-release: new module with release instructions
3993         * modules/readme-release: New module.
3994         * top/README-release: New file, from coreutils, grep, diffutils.
3995         * MODULES.html.sh (Support for maintaining and releasing): Add it.
3996
3997 2011-05-02  Eric Blake  <eblake@redhat.com>
3998
3999         fflush: also replace fclose when fixing fflush
4000         * modules/fflush (Depends-on): Add fclose.
4001         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
4002         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
4003         memstreams with no backing fd.
4004         * doc/posix-functions/fclose.texi (fclose): Document the use of
4005         fflush module to fix the bug.
4006         * tests/test-fclose.c (main): Relax test when fclose is used in
4007         isolation.
4008
4009         fclose: add some tests
4010         * modules/fclose-tests: New test module.
4011         * tests/test-fclose.c: New file.
4012         * doc/posix-functions/fclose.texi (fclose): Document the bug.
4013
4014         fclose: reduced dependencies
4015         * modules/fclose (Depends-on): Switch from fflush/fseeko to
4016         simpler lseek.
4017         * lib/fclose.c (rpl_fclose): Likewise.
4018         Reported by Simon Josefsson.
4019
4020         exit: drop remaining clients
4021         * modules/argmatch (Depends-on): Replace exit with stdlib.
4022         * modules/copy-file (Depends-on): Likewise.
4023         * modules/execute (Depends-on): Likewise.
4024         * modules/exitfail (Depends-on): Likewise.
4025         * modules/obstack (Depends-on): Likewise.
4026         * modules/pagealign_alloc (Depends-on): Likewise.
4027         * modules/pipe-filter-gi (Depends-on): Likewise.
4028         * modules/pipe-filter-ii (Depends-on): Likewise.
4029         * modules/savewd (Depends-on): Likewise.
4030         * modules/spawn-pipe (Depends-on): Likewise.
4031         * modules/wait-process (Depends-on): Likewise.
4032         * modules/xsetenv (Depends-on): Likewise.
4033         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
4034         * modules/git-merge-changelog (Depends-on): Likewise.
4035         * modules/long-options (Depends-on): Likewise.
4036         * modules/pt_chown (Depends-on): Likewise.
4037         * modules/sysexits (Depends-on): Likewise.
4038
4039         freading: relax license from LGPLv3+ to LGPLv2+
4040         * modules/freading (License): Relax LGPL version.
4041
4042 2011-05-02  Bruno Haible  <bruno@clisp.org>
4043
4044         fchdir: Remove unused dependencies.
4045         * modules/fchdir (Depends-on): Remove include_next.
4046
4047 2011-05-02  Bruno Haible  <bruno@clisp.org>
4048
4049         gnulib-tool: Refactor.
4050         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
4051         from func_emit_autoconf_snippets.
4052         (func_emit_autoconf_snippets): Use it.
4053
4054 2011-05-02  Simon Josefsson  <simon@josefsson.org>
4055
4056         * NEWS: Document removal of 'exit'.
4057         * modules/exit: Remove file.
4058
4059 2011-05-01  Bruno Haible  <bruno@clisp.org>
4060
4061         Update DEPENDENCIES.
4062         * DEPENDENCIES (gettext): Recommend the newest release.
4063         Reported by Simon Josefsson.
4064
4065 2011-05-01  Bruno Haible  <bruno@clisp.org>
4066
4067         gnulib-tool: Reduce code duplication.
4068         * gnulib-tool (func_emit_autoconf_snippets): New function.
4069         (func_import, func_create_testdir): Use it.
4070
4071 2011-04-30  Eric Blake  <eblake@redhat.com>
4072
4073         fclose: don't fail on non-seekable input stream
4074         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
4075         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
4076         since fflush is allowed to fail in that case.
4077
4078 2011-04-30  Bruno Haible  <bruno@clisp.org>
4079
4080         dup3: cleanup
4081         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
4082
4083 2011-04-30  Bruno Haible  <bruno@clisp.org>
4084
4085         netdb: Make it work in C++ mode.
4086         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
4087         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
4088         module.
4089         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
4090         gl_MODULE_INDICATOR_FOR_TESTS.
4091         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
4092         * modules/netdb-c++-tests: New file.
4093         * tests/test-netdb-c++.cc: New file.
4094
4095 2011-04-30  Bruno Haible  <bruno@clisp.org>
4096
4097         New modules 'vfscanf', 'vscanf'.
4098         * modules/vfscanf: New file.
4099         * modules/vscanf: New file.
4100         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
4101         here.
4102         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
4103         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
4104
4105 2011-04-30  Bruno Haible  <bruno@clisp.org>
4106
4107         passfd: Add comments.
4108         * lib/passfd.c: Add comments about platforms.
4109
4110 2011-04-30  Bruno Haible  <bruno@clisp.org>
4111
4112         sys_uio: Make <sys/uio.h> self-contained.
4113         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
4114         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
4115
4116 2011-04-30  Bruno Haible  <bruno@clisp.org>
4117
4118         sys_socket: Ensure 'struct iovec' definition.
4119         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
4120         <sys/socket.h>.
4121         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
4122
4123 2011-04-30  Bruno Haible  <bruno@clisp.org>
4124
4125         sys_uio: Protect definition of 'struct iovec'.
4126         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
4127         it as a C struct.
4128
4129 2011-04-30  Bruno Haible  <bruno@clisp.org>
4130
4131         manywarnings: fix indentation
4132         * m4/manywarnings.m4: Indent by 2 spaces consistently.
4133
4134 2011-04-30  Pádraig Brady <P@draigBrady.com>
4135
4136         manywarnings: add -Wno-missing-field-initializers if needed.
4137         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
4138         option if it's needed to allow initialization with { 0, }
4139
4140 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
4141
4142         announce-gen: cosmetic improvement
4143         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
4144
4145 2011-04-29  Jim Meyering  <meyering@redhat.com>
4146
4147         vc-list-files: indent with spaces, not TABs
4148         * build-aux/vc-list-files: Convert leading TABs to spaces,
4149         to match the style of most other files in gnulib.
4150
4151         announce-gen: indent with spaces, not TABs
4152         * build-aux/announce-gen: Convert all TABs to spaces, to match
4153         the style of most other files in gnulib.
4154
4155 2011-04-29  Eric Blake  <eblake@redhat.com>
4156
4157         quotearg: avoid uninitialized variable use
4158         * lib/quotearg.c (quoting_options_from_style): Initialize
4159         remaining fields, and ensure that custom styles are only used via
4160         quoting_options rather than quoting_style.
4161
4162 2011-04-29  Jim Meyering  <meyering@redhat.com>
4163
4164         maint.mk: remove unused VC-tag variable
4165         * top/maint.mk (VC-tag): Remove unused variable.
4166
4167 2011-04-29  Bruno Haible  <bruno@clisp.org>
4168
4169         netdb: fix gai_strerror replacements
4170         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
4171         * modules/netdb: Substitute it.
4172
4173 2011-04-29  Jim Meyering  <meyering@redhat.com>
4174
4175         test-getcwd.c: avoid new set-but-not-used warning
4176         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
4177         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
4178         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
4179         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
4180
4181         test-hash.c: avoid a new shadowing warning
4182         * tests/test-hash.c (main): Don't shadow "dup".
4183
4184 2011-04-28  Eric Blake  <eblake@redhat.com>
4185
4186         getaddrinfo: fix gai_strerror signature
4187         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
4188         and work around mingw with UNICODE defined.
4189         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
4190         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
4191         * modules/netdb (Makefile.am): Substitute it.
4192         * lib/netdb.in.h (gai_strerror): Declare replacement.
4193         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
4194         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
4195         the fix.
4196
4197         getsockopt: avoid compiler warning
4198         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
4199         Reported by Matthias Bolte.
4200
4201         tests: drop unused link dependency
4202         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
4203         * modules/dirent-safer-tests (Makefile.am): Likewise.
4204         * modules/fdopendir-tests (Makefile.am): Likewise.
4205         * modules/mkfifoat-tests (Makefile.am): Likewise.
4206         * modules/openat-safer-tests (Makefile.am): Likewise.
4207         * modules/openat-tests (Makefile.am): Likewise.
4208         * modules/readlinkat-tests (Makefile.am): Likewise.
4209         * modules/symlinkat-tests (Makefile.am): Likewise.
4210         * modules/linkat-tests (Makefile.am): Likewise.
4211         (Depends-on): Switch to filenamecat-lgpl.
4212         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
4213         LIBINTL.
4214         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
4215         * tests/test-linkat.c (main): Don't require xalloc.
4216
4217         hash, mgetgroups: drop xalloc dependency
4218         * lib/hash.c (includes): Adjust includes.
4219         * lib/mgetgroups.c (includes): Likewise.
4220         (xgetgroups): Move...
4221         * lib/xgetgroups.c: ...to new file.
4222         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
4223         * modules/xgetgroups: New file, split from...
4224         * modules/mgetgroups: ...here.
4225         (Depends-on): Add xalloc-oversized.
4226         * modules/hash (Depends-on): Likewise.
4227         * modules/hash-tests (Depends-on): Drop xalloc.
4228         (test_hash_LDADD): Drop unused library.
4229         * tests/test-hash.c (main): Break xalloc dependency.
4230         (includes): Drop unused include.
4231
4232         xalloc-oversized: new module
4233         * modules/xalloc-oversized: New module.
4234         * modules/xalloc (Depends-on): Add it.
4235         * lib/xalloc.h (xalloc_oversized): Move...
4236         * lib/xalloc-oversized.h: ...into new file.
4237
4238         utimecmp: drop dependency on xmalloc
4239         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
4240         due to memory pressure.
4241         * modules/utimecmp (Depends-on): Drop xalloc.
4242
4243 2011-04-27  Eric Blake  <eblake@redhat.com>
4244
4245         getcwd: fix mingw bugs
4246         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
4247         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
4248         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
4249
4250 2011-04-27  Bruno Haible  <bruno@clisp.org>
4251
4252         mkstemps: Ensure declaration on MacOS X 10.5.
4253         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
4254         * doc/glibc-functions/mkstemps.texi: Document header file problem on
4255         MacOS X.
4256
4257 2011-04-27  Bruno Haible  <bruno@clisp.org>
4258
4259         mkstemp: More documentation.
4260         * doc/posix-functions/mkstemp.texi: Document header file problem on
4261         MacOS X.
4262
4263 2011-04-27  Bruno Haible  <bruno@clisp.org>
4264
4265         mkstemp: Tweak configure message when cross-compiling.
4266         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
4267         result as a guess.
4268
4269 2011-04-27  Bruno Haible  <bruno@clisp.org>
4270
4271         clean-temp: Clarify what it does.
4272         * lib/clean-temp.h: Add more comments.
4273         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
4274         module.
4275         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
4276         * doc/glibc-functions/mkstemps.texi: Likewise.
4277         * doc/glibc-functions/mkostemps.texi: Likewise.
4278
4279 2011-04-27  Eric Blake  <eblake@redhat.com>
4280
4281         fchdir: avoid extra chdir and fix test
4282         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
4283         getcwd-lgpl.
4284         * lib/fchdir.c (get_name): Any absolute name will do; it does not
4285         have to be canonical.
4286         (canonicalize_file_name): Drop unused macro.
4287         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
4288
4289         filenamecat-lgpl: fix licence
4290         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
4291         when it was first created.
4292
4293         linkat, renameat: add missing dependency
4294         * modules/linkat (Depends-on): Require getcwd-lgpl.
4295         * modules/renameat (Depends-on): Likewise.
4296
4297         tests: reduce dependencies
4298         * tests/test-linkat.c (main): Use lighter-weight getcwd.
4299         * tests/test-renameat.c (main): Likewise.
4300         * modules/linkat-tests (Depends-on): Relax dependency.
4301         * modules/renameat-tests (Depends-on): Likewise.
4302         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
4303         dependency explicit.
4304
4305         save-cwd: reduce default dependency
4306         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
4307         * lib/save-cwd.c: Update comments.
4308         * NEWS: Document the semantic change.
4309
4310         getcwd: enhance tests
4311         * tests/test-getcwd-lgpl.c: New file, taken from...
4312         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
4313         repeat long path stress tests from m4 probe.
4314         * modules/getcwd-lgpl-tests: New module.
4315         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
4316         * m4/getcwd-abort-bug.m4: Update comment.
4317         * m4/getcwd-path-max.m4: Likewise.
4318
4319         getcwd-lgpl: new module
4320         * modules/getcwd-lgpl: New module.
4321         * lib/getcwd-lgpl.c: New file.
4322         * doc/posix-functions/getcwd.texi (getcwd): Document it.
4323         * MODULES.html.sh (lacking POSIX:2008): Likewise.
4324         * modules/getcwd (configure.ac): Set C witness.
4325         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
4326
4327         getcwd: tweak comments
4328         * m4/getcwd-abort-bug.m4: Fix comments.
4329         * m4/getcwd-path-max.m4: Likewise.
4330         * m4/getcwd.m4: Likewise.
4331
4332 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
4333         and Eric Blake  <eblake@redhat.com>
4334
4335         mkstemp: replace if system version uses wrong permissions
4336         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
4337         read/write mode bits set in file created by mkstemp.
4338         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
4339
4340 2011-04-27  Eric Blake  <eblake@redhat.com>
4341
4342         passfd: avoid compiler warning
4343         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
4344         Reported by Laine Stump.
4345
4346 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
4347
4348         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
4349         required by the NetBSD (and perhaps other 4.4BSD derived) join.
4350
4351 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
4352         and Eric Blake  <eblake@redhat.com>
4353
4354         mkstemp: mention clean-temp module
4355         * lib/mkstemp.c: Add comment.
4356         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
4357
4358 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
4359
4360         inttypes: also provide default values for 32-bit tests
4361         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
4362         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
4363
4364 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
4365
4366         strtoumax: remove dependency on strtoimax
4367         This is like the strtoull change of yesterday.
4368         * modules/strtoumax (Files): Add lib/strtoimax.c.
4369         (Depends-on): Remove strtoimax and add verify.
4370
4371         inttypes-incomplete: new module
4372         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
4373         all but the PRI* and SCN* parts of gl_INTTYPES_H.
4374         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
4375         of gl_INTTYPES_H.
4376         (gl_INTTYPES_H): Rewrite in terms of these new macros.
4377         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
4378         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
4379         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
4380         * modules/strtoumax, modules/xstrtol (Depends-on):
4381         Depend on inttypes-incomplete, not inttypes.
4382         * modules/inttypes-incomplete: New module, containing the contents
4383         of the old modules/inttypes module, except that the Files: section
4384         omits m4/inttypes-pri.m4, and the configure.ac section invokes
4385         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
4386         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
4387         (Depends-on): Depend only on inttypes-incomplete.
4388         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
4389
4390         inttypes: omit now-redundant strtoimax and strtoumax work
4391         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
4392         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
4393
4394         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
4395         This supports apps that need pointers to strtoimax and strtoumax,
4396         and ports to HP-UX 11.00 64.bit, which has macros that expand to
4397         nonexistent functions.  See
4398         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
4399         et seq.
4400         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
4401         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
4402         a macro.
4403         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
4404
4405 2011-04-25  Simon Josefsson  <simon@josefsson.org>
4406
4407         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
4408
4409 2011-04-25  Bruno Haible  <bruno@clisp.org>
4410
4411         strtol, strtoul: Mark modules as obsolete.
4412         * modules/strtol (Status, Notice): New sections.
4413         * modules/strtoul (Status, Notice): New sections.
4414
4415 2011-04-25  Bruno Haible  <bruno@clisp.org>
4416
4417         strtod: Remove check for strtod, unless supporting old platforms.
4418         * modules/strtod-obsolete: New file.
4419         * m4/strtod-obsolete.m4: New file.
4420         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
4421         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
4422         * modules/strtod (Depends-on): Add strtod-obsolete.
4423         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
4424
4425 2011-04-25  Bruno Haible  <bruno@clisp.org>
4426
4427         strcase: Make module obsolete.
4428         * modules/strcase (Status, Notice): New sections.
4429
4430 2011-04-25  Bruno Haible  <bruno@clisp.org>
4431
4432         dup2: Remove check for dup2, unless supporting old obsolete platforms.
4433         * modules/dup2-obsolete: New file.
4434         * m4/dup2-obsolete.m4: New file.
4435         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
4436         gl_FUNC_DUP2_OBSOLETE is not also defined.
4437         * modules/dup2 (Depends-on): Add dup2-obsolete.
4438         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
4439
4440 2011-04-25  Bruno Haible  <bruno@clisp.org>
4441
4442         strnlen: Avoid memchr related link error on old obsolete platforms.
4443         * modules/memchr-obsolete: New file.
4444         * m4/memchr-obsolete.m4: New file.
4445         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
4446         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
4447         * modules/memchr (Depends-on): Add memchr-obsolete.
4448         * modules/strnlen (Depends-on): Likewise.
4449         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
4450
4451 2011-04-25  Jim Meyering  <meyering@redhat.com>
4452
4453         maint.mk: makefile_at_at_check extend and clean up
4454         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
4455         in addition to */Makefile.am.
4456         Exempt legitimate uses of @VAR@ notation, e.g.,
4457         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
4458         Remove obsolete coreutils-specific comment.
4459         Prompted by discussion here:
4460         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
4461
4462 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
4463
4464         strtoul: remove dependency on strtol
4465         This is so that 'configure' need not check for strtol merely because
4466         the application needs strtoul.
4467         * modules/strtoul (Files): Add lib/strtol.c.
4468         (Depends-on): Remove strtol.
4469
4470         strtoull: remove dependency on strtoul
4471         This is like the strtoll change.
4472         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
4473         (Depends-on): Remove strtoul.
4474
4475         strtoll: remove dependency on strtol
4476         This is so that 'configure' need not check for strtol merely because
4477         the application needs strtoll.
4478         * modules/strtoll (Files): Add lib/strtol.c.
4479         (Depends-on): Remove strtol.
4480
4481 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
4482
4483         inttypes: Move some configure check to module 'imaxdiv'.
4484         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
4485         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
4486         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
4487
4488 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
4489
4490         inttypes: Move some configure check to module 'imaxabs'.
4491         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
4492         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
4493         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
4494
4495 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
4496
4497         inttypes: Remove configure tests that are not needed since 2009-12-31.
4498         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
4499         gl_cv_header_working_inttypes_h.
4500
4501 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
4502
4503         * modules/strnlen (Depends-on): Remove memchr.
4504         The strnlen implementation doesn't need the memchr module's fixes; see
4505         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
4506
4507         strtol: remove dependency on wchar
4508         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
4509         * modules/strtol (Depends-on): Remove wchar.
4510
4511 2011-04-21  Eric Blake  <eblake@redhat.com>
4512
4513         passfd: fix test regression on Linux
4514         * modules/passfd-tests (configure.ac): Correct socketpair check.
4515
4516         passfd: speed up configure and drop unused code
4517         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
4518         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
4519         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
4520         Instead of probing at configure for unix_scm_rights_bsd44_way,
4521         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
4522         check to a struct member probe.
4523         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
4524         (sendfd, recvfd): Update preprocessor checks.
4525         * modules/passfd (Files): Reflect rename, and drop unused file.
4526         (Depends-on): Drop unused dependency.
4527
4528         passfd: allow compilation on mingw
4529         * modules/sys_socket (Depends-on): Add sys_uio.
4530         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
4531         iovec and a minimal struct msghdr.
4532         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
4533         * tests/test-sys_socket.c (main): Enhance test.
4534         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
4535         guaranteed to provide what we need.
4536         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
4537         * modules/passfd-tests (Depends-on): Add sys_wait.
4538         * tests/test-passfd.c (main): Skip test on mingw, for now.
4539         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
4540         partial 'struct msghdr' implementation.
4541
4542         sys_uio: new module
4543         * modules/sys_uio: New module.
4544         * modules/sys_uio-tests: Likewise.
4545         * lib/sys_uio.in.h: New file.
4546         * m4/sys_uio_h.m4: Likewise.
4547         * tests/test-sys_uio.c: Likewise.
4548         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
4549         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
4550
4551 2011-04-20  Jim Meyering  <meyering@redhat.com>
4552
4553         useless-if-before-free: avoid false-positive
4554         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
4555         disjunct so that it too requires a terminating ";".  Without that,
4556         this script would identify as useless one statement from gcc that
4557         was not:
4558           if (aligned_ptr)
4559             free (((void **) aligned_ptr) [-1]);
4560
4561 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
4562
4563         doc: update users.txt.
4564         * users.txt: Add barcode.
4565
4566 2011-04-19  Bruno Haible  <bruno@clisp.org>
4567
4568         ioctl: Remove link dependency on native Windows.
4569         * lib/fd-hook.h: Renamed from lib/close-hook.h.
4570         (gl_close_fn, gl_ioctl_fn): New types.
4571         (struct fd_hook): Renamed from struct close_hook. Change type of
4572         private_close_fn field. Add private_ioctl_fn field.
4573         (close_hook_fn): Add parameter for primary close method.
4574         (execute_close_hooks, execute_all_close_hooks): Likewise.
4575         (ioctl_hook_fn): New type.
4576         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
4577         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
4578         argument.
4579         (unregister_fd_hook): Renamed from unregister_close_hook.
4580         * lib/fd-hook.c: Renamed from lib/close-hook.c.
4581         Don't include <unistd.h>.
4582         (close): Remove undef.
4583         (anchor): Update.
4584         (execute_close_hooks): Add argument for primary close method.
4585         (execute_all_close_hooks): Likewise.
4586         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
4587         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
4588         argument. Allow each argument to be NULL.
4589         (unregister_fd_hook): Renamed from unregister_close_hook.
4590         * lib/close.c (rpl_close): Pass 'close' function pointer to
4591         execute_all_close_hooks.
4592         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
4593         (primary_ioctl): New function.
4594         (ioctl): Don't call ioctlsocket here. Instead, call
4595         execute_all_ioctl_hooks.
4596         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
4597         close method.
4598         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
4599         (fd_sockets_hook): Renamed from close_sockets_hook.
4600         (gl_sockets_startup, gl_sockets_cleanup): Update.
4601         * modules/fd-hook: Renamed from modules/close-hook. Update.
4602         * modules/close (Depends-on): Add fd-hook, remove close-hook.
4603         * modules/sockets (Depends-on): Likewise.
4604         * modules/ioctl (Depends-on): Add fd-hook.
4605         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
4606         GNULIB_SOCKET.
4607
4608 2011-04-19  Bruno Haible  <bruno@clisp.org>
4609
4610         Move the support of O_NONBLOCK in open() to the 'open' module.
4611         * modules/nonblocking (Depends-on): Remove 'open'.
4612         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
4613         gl_cv_have_open_O_NONBLOCK.
4614         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
4615         O_NONBLOCK support.
4616         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
4617
4618 2011-04-17  Bruno Haible  <bruno@clisp.org>
4619
4620         pipe2: Simplify code.
4621         * lib/pipe2.c (pipe2): Reduce code duplication.
4622
4623 2011-04-17  Bruno Haible  <bruno@clisp.org>
4624
4625         nonblocking: Add comment.
4626         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
4627
4628 2011-04-17  Bruno Haible  <bruno@clisp.org>
4629
4630         nonblocking: Add tests for sockets.
4631         * tests/test-nonblocking-socket.sh: New file.
4632         * tests/test-nonblocking-socket-main.c: New file.
4633         * tests/test-nonblocking-socket-child.c: New file.
4634         * tests/test-nonblocking-socket.h: New file.
4635         * tests/socket-server.h: New file.
4636         * tests/socket-client.h: New file.
4637         * modules/nonblocking-socket-tests: New file.
4638         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
4639
4640 2011-04-17  Bruno Haible  <bruno@clisp.org>
4641
4642         nonblocking: Add tests for pipes.
4643         * tests/test-nonblocking-pipe.sh: New file.
4644         * tests/test-nonblocking-pipe-main.c: New file.
4645         * tests/test-nonblocking-pipe-child.c: New file.
4646         * tests/test-nonblocking-pipe.h: New file.
4647         * tests/test-nonblocking-writer.h: New file.
4648         * tests/test-nonblocking-reader.h: New file.
4649         * tests/test-nonblocking-misc.h: New file.
4650         * modules/nonblocking-pipe-tests: New file.
4651         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
4652
4653 2011-04-16  Bruno Haible  <bruno@clisp.org>
4654
4655         gettext: Clarify the needed programmer actions.
4656         * modules/gettext (Notice): New field.
4657         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
4658
4659 2011-04-16  Bruno Haible  <bruno@clisp.org>
4660
4661         strchrnul: Tweak last commit.
4662         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
4663         bug.
4664         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
4665         as in _GL_FUNCDECL_SYS.
4666         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
4667         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
4668
4669 2011-04-15  Eric Blake  <eblake@redhat.com>
4670
4671         strchrnul: work around cygwin bug
4672         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
4673         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
4674         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
4675         * modules/string (Makefile.am): Substitute it.
4676         * lib/string.in.h (strchrnul): Use it.
4677
4678 2011-04-15  Bruno Haible  <bruno@clisp.org>
4679
4680         Don't require lib/stdio-write.c when only module 'stdio' is used.
4681         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
4682         invocation.
4683         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
4684
4685 2011-04-14  Bruno Haible  <bruno@clisp.org>
4686
4687         Support non-blocking pipe I/O in read() on native Windows.
4688         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
4689         (read): New declaration.
4690         * lib/read.c: New file.
4691         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
4692         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
4693         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
4694         vscanf): New declarations.
4695         * lib/stdio-read.c: New file.
4696         * m4/read.m4: New file.
4697         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
4698         REPLACE_READ.
4699         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
4700         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
4701         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
4702         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
4703         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
4704         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
4705         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
4706         * modules/read: New file.
4707         * modules/nonblocking (Files): Add lib/stdio-read.c.
4708         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
4709         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
4710         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
4711         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
4712         * modules/pread (Depends-on): Add read.
4713         * modules/safe-read (Depends-on): Likewise.
4714         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
4715         gets, scanf, vfscanf, vscanf): Verify signatures.
4716         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
4717         problem with non-blocking pipes.
4718         * doc/posix-functions/fgetc.texi: Likewise.
4719         * doc/posix-functions/fgets.texi: Likewise.
4720         * doc/posix-functions/fread.texi: Likewise.
4721         * doc/posix-functions/fscanf.texi: Likewise.
4722         * doc/posix-functions/getc.texi: Likewise.
4723         * doc/posix-functions/getchar.texi: Likewise.
4724         * doc/posix-functions/gets.texi: Likewise.
4725         * doc/posix-functions/scanf.texi: Likewise.
4726         * doc/posix-functions/vfscanf.texi: Likewise.
4727         * doc/posix-functions/vscanf.texi: Likewise.
4728
4729 2011-04-14  Bruno Haible  <bruno@clisp.org>
4730
4731         Support non-blocking pipe I/O in write() on native Windows.
4732         * lib/write.c (rpl_write): Split a write request that failed merely
4733         because the byte count was larger than the pipe buffer's size.
4734         * doc/posix-functions/write.texi: Mention the problem with large byte
4735         counts.
4736
4737 2011-04-14  Bruno Haible  <bruno@clisp.org>
4738
4739         wchar: Ensure that wchar_t gets defined on uClibc.
4740         * lib/wchar.in.h: On uClibc, include <stddef.h>.
4741         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
4742
4743 2011-04-13  Bruno Haible  <bruno@clisp.org>
4744
4745         safe-write, full-read: Avoid unnecessary compilation units.
4746         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
4747         (Depends-on): Remove safe-read. Add ssize_t.
4748         * modules/full-read (Files): Add lib/full-write.c.
4749         (Depends-on): Add full-write.
4750
4751 2011-04-13  Bruno Haible  <bruno@clisp.org>
4752
4753         Support non-blocking pipe I/O and SIGPIPE in pwrite().
4754         * modules/pwrite (Depends-on): Add 'write'.
4755
4756 2011-04-13  Bruno Haible  <bruno@clisp.org>
4757
4758         Support non-blocking pipe I/O in write() on native Windows.
4759         * lib/unistd.in.h (write): Enable replacement also if
4760         GNULIB_UNISTD_H_NONBLOCKING is 1.
4761         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
4762         (rpl_write): When failing to write on a non-blocking pipe, change
4763         errno from ENOSPC to EAGAIN.
4764         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
4765         putchar, puts, vfprintf, vprintf): Enable replacement also if
4766         GNULIB_STDIO_H_NONBLOCKING is 1.
4767         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
4768         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
4769         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
4770         CALL_WITH_SIGPIPE_EMULATION.
4771         (CALL_WITH_SIGPIPE_EMULATION): Use them.
4772         * m4/nonblocking.m4: New file.
4773         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
4774         for non-blocking I/O support.
4775         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
4776         GNULIB_UNISTD_H_NONBLOCKING.
4777         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
4778         required for non-blocking I/O support.
4779         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
4780         * modules/nonblocking (Files): Add m4/nonblocking.m4,
4781         lib/stdio-write.c, m4/asm-underscore.m4.
4782         (Depends-on): Add stdio, unistd.
4783         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
4784         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
4785         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
4786         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
4787         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
4788         problem with non-blocking pipes.
4789         * doc/posix-functions/fputc.texi: Likewise.
4790         * doc/posix-functions/fputs.texi: Likewise.
4791         * doc/posix-functions/fwrite.texi: Likewise.
4792         * doc/posix-functions/printf.texi: Likewise.
4793         * doc/posix-functions/putc.texi: Likewise.
4794         * doc/posix-functions/putchar.texi: Likewise.
4795         * doc/posix-functions/puts.texi: Likewise.
4796         * doc/posix-functions/vfprintf.texi: Likewise.
4797         * doc/posix-functions/vprintf.texi: Likewise.
4798         * doc/posix-functions/write.texi: Likewise.
4799
4800 2011-04-10  Jim Meyering  <meyering@redhat.com>
4801
4802         maint.mk: prohibit doubled words
4803         Detect them also when they're separated by a newline.
4804         There are 3 ways to customize it:
4805           - disable the test on a per file basis, as usual with rules using
4806             $(VC_LIST_EXCEPT)
4807           - replace the default doubled-word-selecting regexp (affects all files)
4808           - ignore a particular file-vs-doubled-word match
4809         I nearly used that last one to ignore the "is is" match in
4810         coreutils' NEWS file, since the text was "ls -is is ..."
4811         To do that, I would have added this line to cfg.mk:
4812           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
4813         but it would have ignored any "is is" match in NEWS.
4814         Low probability, but still...
4815         Instead, I changed the text, slightly:
4816           -  ls -is is now consistent with ls -lis in ignoring values returned
4817           +  "ls -is" is now consistent with ls -lis in ignoring values returned
4818         * top/maint.mk (prohibit_double_word_RE_): Provide default.
4819         (prohibit_doubled_word_): Define.
4820         (sc_prohibit_doubled_word): New rule.
4821         (sc_prohibit_the_the): Remove.  Subsumed by the above.
4822
4823 2011-04-10  Jim Meyering  <meyering@redhat.com>
4824
4825         maint: fix doubled-word typo in comment
4826         * m4/gethostname.m4: s/is is/it is/
4827         * m4/getdomainname.m4: Likewise.
4828
4829 2011-04-10  Jim Meyering  <meyering@redhat.com>
4830
4831         maint: remove doubled word: s/it it/it/
4832         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
4833
4834 2011-04-10  Jim Meyering  <meyering@redhat.com>
4835
4836         maint.mk: remove useless semicolon and backslash
4837         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
4838         semicolon and backslash.
4839
4840 2011-04-10  Bruno Haible  <bruno@clisp.org>
4841
4842         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
4843         * modules/stdint-tests (Depends-on): Add wchar.
4844
4845 2011-04-10  Jim Meyering  <meyering@redhat.com>
4846
4847         maint: remove doubled words in comments, e.g., s/a a/a/
4848         * lib/strptime.c (day_of_the_week): s/the the/the/
4849         * tests/test-chown.h (test_chown): s/a a/a/
4850
4851         test-chown.h: correct a cast
4852         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
4853         when the destination is a stat.st_gid.
4854
4855 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
4856
4857         getaddrinfo: Fix test for sa_len member.
4858         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
4859         include <sys/types.h> before <sys/socket.h>.
4860
4861 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
4862
4863         maint: change "can not" to "cannot"
4864         * doc/posix-functions/iconv.texi (iconv): This one crossed line
4865         boundaries.
4866
4867 2011-04-09  Jim Meyering  <meyering@redhat.com>
4868
4869         maint: change "a a" to "a"
4870         * tests/test-lchown.h (test_lchown): s/a a/a/
4871
4872         maint.mk: prohibit \<the the\>
4873         * top/maint.mk (sc_prohibit_the_the): New rule.
4874
4875         maint: fix "the the" in comment
4876         * lib/count-one-bits.h: s/the the/the/
4877
4878         maint: change "can not" to "cannot"
4879         But do not change the occurrences in maintain.texi or in
4880         build-aux/po/Makefile.in.in, which I presume comes from gettext.
4881         * doc/gnulib-tool.texi: s/can not/cannot/
4882         * doc/posix-functions/accept.texi (accept): Likewise.
4883         * doc/posix-functions/socket.texi (socket): Likewise.
4884         * lib/mbrtowc.c: Likewise.
4885
4886         maint.mk: prohibit use of "can not"
4887         * top/maint.mk (sc_prohibit_can_not): New rule.
4888         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
4889
4890 2011-04-09  Bruno Haible  <bruno@clisp.org>
4891
4892         careadlinkat: Guard against misuse of careadlinkatcwd.
4893         * lib/careadlinkat.c: Include <stdlib.h>.
4894         (careadlinkatcwd): Check that the fd argument is as expected.
4895
4896 2011-04-09  Bruno Haible  <bruno@clisp.org>
4897
4898         careadlinkat: Use common coding style.
4899         * lib/careadlinkat.c: Move gnulib includes after system includes.
4900
4901 2011-04-09  Bruno Haible  <bruno@clisp.org>
4902
4903         careadlinkat: Clarify specification.
4904         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
4905         (careadlinkatcwd): Add comment.
4906         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
4907
4908 2011-04-09  Bruno Haible  <bruno@clisp.org>
4909
4910         areadlinkat: Avoid link error on many platforms.
4911         * modules/areadlinkat (Depends-on): Add areadlink.
4912
4913 2011-04-09  Bruno Haible  <bruno@clisp.org>
4914
4915         allocator, careadlinkat: Fix double-inclusion guard.
4916         * lib/allocator.h: Fix double-inclusion guard.
4917         * lib/careadlinkat.h: Likewise.
4918
4919 2011-04-09  Bruno Haible  <bruno@clisp.org>
4920
4921         relocatable-prog-wrapper: Update after module 'areadlink' changed.
4922         * lib/relocwrapper.c: Update dependencies hierarchy.
4923         * build-aux/install-reloc: Update list of files to be compiled.
4924         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
4925         lib/allocator.[hc].
4926
4927 2011-04-08  Eric Blake  <eblake@redhat.com>
4928
4929         strftime: silence gnulib-tool warning
4930         * modules/strftime-tests (Depends-on): Drop automatic dependency.
4931
4932 2011-04-08  Bruno Haible  <bruno@clisp.org>
4933
4934         verify: Fix syntax error with GCC 4.6 in C++ mode.
4935         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
4936         (HAVE_STATIC_ASSERT): New macro.
4937         (verify_true, verify): Use 'static_assert' if it is supported and
4938         '_Static_assert' is not supported.
4939
4940 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
4941
4942         allocator: New module.
4943         * modules/allocator, lib/allocator.c: New files.
4944         * lib/allocator.h (stdlib_allocator): New decl.
4945         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
4946         Remove.  Do not include <stdlib.h>.
4947         (careadlinkat): Use stdlib_allocator instead of rolling our own.
4948         * modules/careadlinkat (Files): Remove lib/allocator.h.
4949         (Depends-on): Add allocator.
4950
4951         stdlib: let modules use system malloc, realloc
4952         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
4953         if !_GL_USE_STDLIB_ALLOC.
4954         (malloc, realloc): Limit this change to a smaller scope.
4955
4956         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
4957         (malloc, realloc): Don't #undef; no longer needed.
4958         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
4959         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
4960         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
4961         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
4962         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
4963         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
4964         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
4965         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
4966
4967         careadlinkat: rename members to avoid problem
4968         * lib/allocator.h (struct allocator): Rename members from
4969         malloc/realloc to allocate/reallocate, to avoid problems if malloc
4970         and realloc are #define'd.  Reported by Eric Blake in
4971         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
4972         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
4973
4974 2011-04-08  Eric Blake  <eblake@redhat.com>
4975
4976         nonblocking: reduce dependency
4977         * tests/test-nonblocking.c: Only test sockets when in use.
4978         * modules/nonblocking-tests (Depends-on): Drop socket.
4979         (Makefile.am): Link even if sockets are not present.
4980         * modules/pipe2-tests (Makefile.am): Likewise.
4981         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
4982
4983         pipe2: fix O_NONBLOCK support on mingw
4984         * modules/pipe2 (Depends-on): Add nonblocking.
4985         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
4986         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
4987         * tests/test-nonblocking.c (main): Likewise.
4988         * modules/pipe2-tests (Makefile.am): Avoid link failure.
4989
4990         fcntl-h: fix O_ACCMODE on cygwin
4991         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
4992         * lib/fcntl.in.h (O_ACCMODE): Fix it.
4993
4994         pipe-filter: drop O_NONBLOCK workarounds
4995         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
4996         * modules/pipe-filter-ii (Depends-on): Likewise.
4997         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
4998
4999         nonblocking: provide O_NONBLOCK for mingw
5000         * modules/nonblocking (Depends-on): Add open.
5001         (configure.ac): Set new witness macro.
5002         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
5003         * modules/fcntl-h (Makefile.am): Substitute it.
5004         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
5005         nonblocking module is in use.
5006         * lib/nonblocking.c: Adjust portability test.
5007         * lib/open.c (open): Don't let native open see gnulib flag.
5008         * tests/test-fcntl-h.c (main): Enhance test.
5009         * tests/test-open.h (test_open): Likewise.
5010         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
5011
5012         careadlinkat: fix compilation error on mingw
5013         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
5014         within struct allocator.
5015
5016 2011-04-06  Eric Blake  <eblake@redhat.com>
5017
5018         binary-io: relicense under LGPLv2+
5019         * modules/binary-io (License): Relax to LGPLv2+.
5020         Requested for libvirt, and required by pipe2.
5021
5022 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
5023
5024         verify: use _Static_assert if available
5025         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
5026         (verify_true, verify): Use it if available.  This generates better
5027         diagnostics with GCC 4.6.0 and later.
5028
5029 2011-04-05  Bruno Haible  <bruno@clisp.org>
5030
5031         Remove leftover generated .h files after config.status changed.
5032
5033         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
5034         GL_GENERATE_ALLOCA_H.
5035         * modules/alloca-opt (Makefile.am): Remove alloca.h if
5036         GL_GENERATE_ALLOCA_H evaluates to false.
5037
5038         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
5039         GL_GENERATE_ARGZ_H.
5040         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
5041         evaluates to false.
5042
5043         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
5044         GL_GENERATE_BYTESWAP_H.
5045         * modules/byteswap (Makefile.am): Remove byteswap.h if
5046         GL_GENERATE_BYTESWAP_H evaluates to false.
5047
5048         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
5049         GL_GENERATE_ERRNO_H.
5050         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
5051         evaluates to false.
5052
5053         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
5054         GL_GENERATE_FLOAT_H.
5055         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
5056         evaluates to false.
5057
5058         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
5059         GL_GENERATE_FNMATCH_H.
5060         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
5061         GL_GENERATE_FNMATCH_H evaluates to false.
5062
5063         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
5064         GL_GENERATE_GLOB_H.
5065         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
5066         evaluates to false.
5067
5068         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
5069         automake conditional GL_GENERATE_ICONV_H.
5070         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
5071         evaluates to false.
5072
5073         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
5074         GL_GENERATE_NETINET_IN_H.
5075         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
5076         GL_GENERATE_NETINET_IN_H evaluates to false.
5077
5078         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
5079         conditional GL_GENERATE_PTHREAD_H.
5080         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
5081         * modules/pthread (Makefile.am): Remove pthread.h if
5082         GL_GENERATE_PTHREAD_H evaluates to false.
5083
5084         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
5085         GL_GENERATE_SCHED_H.
5086         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
5087         evaluates to false.
5088
5089         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
5090         conditional GL_GENERATE_SELINUX_CONTEXT_H.
5091         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
5092         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
5093
5094         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
5095         GL_GENERATE_STDARG_H.
5096         * modules/stdarg (Makefile.am): Remove stdarg.h if
5097         GL_GENERATE_STDARG_H evaluates to false.
5098
5099         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
5100         GL_GENERATE_STDBOOL_H.
5101         * modules/stdbool (Makefile.am): Remove stdbool.h if
5102         GL_GENERATE_STDBOOL_H evaluates to false.
5103
5104         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
5105         conditional GL_GENERATE_STDDEF_H.
5106         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
5107         * modules/stddef (Makefile.am): Remove stddef.h if
5108         GL_GENERATE_STDDEF_H evaluates to false.
5109
5110         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
5111         GL_GENERATE_STDINT_H.
5112         * modules/stdint (Makefile.am): Remove stdint.h if
5113         GL_GENERATE_STDINT_H evaluates to false.
5114
5115         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
5116         GL_GENERATE_SYSEXITS_H.
5117         * modules/sysexits (Makefile.am): Remove sysexits.h if
5118         GL_GENERATE_SYSEXITS_H evaluates to false.
5119
5120         Reported by Karl Berry and Ralf Wildenhues.
5121
5122 2011-04-05  Bruno Haible  <bruno@clisp.org>
5123
5124         Ensure to rebuild generated .h files when config.status has changed.
5125         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
5126         config.status.
5127         * modules/ctype (Makefile.am): Likewise.
5128         * modules/dirent (Makefile.am): Likewise.
5129         * modules/errno (Makefile.am): Likewise.
5130         * modules/fcntl-h (Makefile.am): Likewise.
5131         * modules/float (Makefile.am): Likewise.
5132         * modules/getopt-posix (Makefile.am): Likewise.
5133         * modules/glob (Makefile.am): Likewise.
5134         * modules/iconv-h (Makefile.am): Likewise.
5135         * modules/inttypes (Makefile.am): Likewise.
5136         * modules/langinfo (Makefile.am): Likewise.
5137         * modules/locale (Makefile.am): Likewise.
5138         * modules/math (Makefile.am): Likewise.
5139         * modules/netdb (Makefile.am): Likewise.
5140         * modules/netinet_in (Makefile.am): Likewise.
5141         * modules/poll-h (Makefile.am): Likewise.
5142         * modules/pthread (Makefile.am): Likewise.
5143         * modules/pty (Makefile.am): Likewise.
5144         * modules/sched (Makefile.am): Likewise.
5145         * modules/search (Makefile.am): Likewise.
5146         * modules/selinux-h (Makefile.am): Likewise.
5147         * modules/signal (Makefile.am): Likewise.
5148         * modules/spawn (Makefile.am): Likewise.
5149         * modules/stdarg (Makefile.am): Likewise.
5150         * modules/stdbool (Makefile.am): Likewise.
5151         * modules/stddef (Makefile.am): Likewise.
5152         * modules/stdint (Makefile.am): Likewise.
5153         * modules/stdio (Makefile.am): Likewise.
5154         * modules/stdlib (Makefile.am): Likewise.
5155         * modules/string (Makefile.am): Likewise.
5156         * modules/strings (Makefile.am): Likewise.
5157         * modules/sys_file (Makefile.am): Likewise.
5158         * modules/sys_ioctl (Makefile.am): Likewise.
5159         * modules/sys_select (Makefile.am): Likewise.
5160         * modules/sys_socket (Makefile.am): Likewise.
5161         * modules/sys_stat (Makefile.am): Likewise.
5162         * modules/sys_time (Makefile.am): Likewise.
5163         * modules/sys_times (Makefile.am): Likewise.
5164         * modules/sys_utsname (Makefile.am): Likewise.
5165         * modules/sys_wait (Makefile.am): Likewise.
5166         * modules/sysexits (Makefile.am): Likewise.
5167         * modules/termios (Makefile.am): Likewise.
5168         * modules/time (Makefile.am): Likewise.
5169         * modules/unistd (Makefile.am): Likewise.
5170         * modules/wchar (Makefile.am): Likewise.
5171         * modules/wctype-h (Makefile.am): Likewise.
5172         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
5173
5174 2011-04-05  Bruno Haible  <bruno@clisp.org>
5175
5176         pipe2: Relicense under LGPLv2+.
5177         * modules/pipe2 (License): Change to LGPLv2+.
5178         Requested by Eric Blake, for libvirt.
5179
5180 2011-04-05  Bruce Korb  <bkorb@gnu.org>
5181
5182         bootstrap: compute gnulib_extra_files after updating build_aux
5183         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
5184         change build_aux or also supply gnulib_extra_files.  Handle correctly.
5185
5186 2011-04-05  Eric Blake  <eblake@redhat.com>
5187
5188         bootstrap: preserve git whitelist item sorting
5189         * build-aux/bootstrap (sort_patterns): New function.
5190         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
5191
5192 2011-04-05  Simon Josefsson  <simon@josefsson.org>
5193
5194         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
5195         sc_space_tab check.
5196
5197 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
5198
5199         areadlink, areadlinkat: rewrite in terms of careadlinkat
5200         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
5201         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
5202         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
5203         (malloc, realloc): Remove #undefs.
5204         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
5205         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
5206         readlink, ssize_t, stdint, unistd.
5207         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
5208         areadlink, stdint.
5209
5210         careadlinkat: new module
5211         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
5212         * modules/careadlinkat: New files, written by me with
5213         a review and feedback from Ben Pfaff in
5214         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
5215
5216 2011-04-01  Bruno Haible  <bruno@clisp.org>
5217
5218         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
5219         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
5220         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
5221         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
5222         Reported by Bruce Korb <bruce.korb@gmail.com>.
5223
5224 2011-04-01  Bruno Haible  <bruno@clisp.org>
5225
5226         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
5227         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
5228         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
5229         * modules/wcpcpy (Depends-on): Add extensions.
5230         * modules/wcpncpy (Depends-on): Likewise.
5231         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
5232         systems.
5233         * doc/posix-functions/wcpncpy.texi: Likewise.
5234         * doc/posix-functions/wcwidth.texi: Likewise.
5235
5236 2011-03-31  Eric Blake  <eblake@redhat.com>
5237
5238         nonblocking: fix mingw test failures
5239         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
5240         non-blocking flag on regular file.
5241         (get_nonblocking_flag): Set errno on invalid fd.
5242         * tests/test-nonblocking.c (main): Avoid test failure on
5243         directories if fchdir is not active.
5244         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
5245
5246 2011-03-31  Bruno Haible  <bruno@clisp.org>
5247
5248         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
5249         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
5250         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
5251         Reported by Simon Josefsson <simon@josefsson.org>.
5252
5253 2011-03-31  Bruno Haible  <bruno@clisp.org>
5254         and Eric Blake  <eblake@redhat.com>
5255
5256         nonblocking: new module
5257         * modules/nonblocking: New module.
5258         * modules/nonblocking-tests: Likewise.
5259         * lib/nonblocking.h: New file.
5260         * lib/nonblocking.c: Likewise.
5261         * tests/test-nonblocking.c: New test.
5262         * lib/ioctl.c (ioctl) [mingw]: Update comment.
5263
5264 2011-03-30  Bruno Haible  <bruno@clisp.org>
5265
5266         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
5267         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
5268         instead of 'printf' format for GCC >= 4.4.
5269         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
5270         (fprintf, printf, vfprintf, vprintf): Declare with
5271         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
5272         the system's vfprintf() function.
5273         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
5274
5275 2011-03-30  Eric Blake  <eblake@redhat.com>
5276
5277         passfd: fix scoping bug
5278         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
5279         before sendmsg/recvmsg.
5280
5281         passfd: standardize coding conventions
5282         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
5283         can be learned at compile time.
5284         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
5285         ifdefs.
5286         (sendfd, recvfd): Follow gnulib code conventions.
5287
5288         passfd: fix incorrect sendmsg arguments
5289         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
5290         incorrect msg_controllen value.
5291         * modules/passfd-tests (Depends-on): Check for alarm.
5292         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
5293         Reported by Bastien ROUCARIES.
5294
5295 2011-03-30  Bruno Haible  <bruno@clisp.org>
5296
5297         c-strcasestr: Relicense under LGPLv2+.
5298         * modules/c-strcasestr (License): Change to LGPLv2+.
5299         Requested by Eric Blake, for libvirt.
5300
5301 2011-03-30  Simon Josefsson  <simon@josefsson.org>
5302
5303         * users.txt: Add libidn2.  Fix libtasn1 link.
5304
5305 2011-03-30  Jim Meyering  <meyering@redhat.com>
5306
5307         tests: readlink* ("",... fails with EINVAL on newer kernels
5308         readlink and readlinkat have typically failed with ENOENT for
5309         the invalid, empty file name,  "".  However, with the advent
5310         of linux-2.6.39, they fail with EINVAL.
5311         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
5312         when operating on the empty file name.
5313         * tests/test-readlink.h (test_readlink): Likewise.
5314
5315 2011-03-29  Bruno Haible  <bruno@clisp.org>
5316
5317         Relicense some modules under LGPLv2+, for libidn2.
5318         * modules/array-mergesort (License): Change to LGPLv2+.
5319         * modules/c-strcaseeq (License): Likewise.
5320         * modules/striconveh (License): Likewise.
5321         * modules/striconveha (License): Likewise.
5322         * modules/uniconv/base (License): Likewise.
5323         * modules/uniconv/u8-conv-from-enc (License): Likewise.
5324         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
5325         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
5326         * modules/unictype/base (License): Likewise.
5327         * modules/unictype/bidiclass-of (License): Likewise.
5328         * modules/unictype/category-M (License): Likewise.
5329         * modules/unictype/category-none (License): Likewise.
5330         * modules/unictype/category-of (License): Likewise.
5331         * modules/unictype/category-test (License): Likewise.
5332         * modules/unictype/category-test-withtable (License): Likewise.
5333         * modules/unictype/combining-class (License): Likewise.
5334         * modules/unictype/joiningtype-of (License): Likewise.
5335         * modules/unictype/scripts (License): Likewise.
5336         * modules/uninorm/base (License): Likewise.
5337         * modules/uninorm/canonical-decomposition (License): Likewise.
5338         * modules/uninorm/composition (License): Likewise.
5339         * modules/uninorm/decompose-internal (License): Likewise.
5340         * modules/uninorm/decomposition-table (License): Likewise.
5341         * modules/uninorm/nfc (License): Likewise.
5342         * modules/uninorm/nfd (License): Likewise.
5343         * modules/uninorm/u32-normalize (License): Likewise.
5344         * modules/unistr/base (License): Likewise.
5345         * modules/unistr/u32-cpy (License): Likewise.
5346         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
5347         * modules/unistr/u32-to-u8 (License): Likewise.
5348         * modules/unistr/u32-uctomb (License): Likewise.
5349         * modules/unistr/u8-check (License): Likewise.
5350         * modules/unistr/u8-mblen (License): Likewise.
5351         * modules/unistr/u8-mbtouc (License): Likewise.
5352         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
5353         * modules/unistr/u8-mbtoucr (License): Likewise.
5354         * modules/unistr/u8-prev (License): Likewise.
5355         * modules/unistr/u8-strlen (License): Likewise.
5356         * modules/unistr/u8-to-u32 (License): Likewise.
5357         * modules/unistr/u8-uctomb (License): Likewise.
5358         * modules/unitypes (License): Likewise.
5359         Requested by Simon Josefsson.
5360
5361 2011-03-29  Simon Josefsson  <simon@josefsson.org>
5362
5363         lib-symbol-visibility: Add a notice.
5364         * modules/lib-symbol-visibility (Notice): New field.
5365
5366 2011-03-29  Bruno Haible  <bruno@clisp.org>
5367
5368         getaddrinfo: Doc fix.
5369         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
5370         section "fixed in Gnulib".
5371
5372 2011-03-28  Simon Josefsson  <simon@josefsson.org>
5373
5374         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
5375         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
5376
5377 2011-03-26  Bruno Haible  <bruno@clisp.org>
5378
5379         unictype/property-byname: Reduce the number of load-time relocations.
5380         * lib/unictype/pr_byname.c: Include <stdlib.h>.
5381         (UC_PROPERTY_INDEX_*): New enumeration values.
5382         (uc_property_byname): Convert an index from the lookup table to an
5383         uc_property_t.
5384         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
5385         values.
5386
5387 2011-03-26  Bruno Haible  <bruno@clisp.org>
5388
5389         unictype/property-byname: Allow omitted word separators and aliases.
5390         * lib/unictype/pr_byname.gperf: Add property names without word
5391         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
5392         for 'space'.
5393
5394 2011-03-26  Bruno Haible  <bruno@clisp.org>
5395
5396         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
5397         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
5398         also hyphens to space.
5399         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
5400         without spaces.
5401         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
5402
5403 2011-03-26  Bruno Haible  <bruno@clisp.org>
5404
5405         unictype/joiningtype-byname: Recognize long names as well.
5406         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
5407         a long name.
5408         * lib/unictype/joiningtype_byname.c: Include <string.h>,
5409         unictype/joiningtype_byname.h.
5410         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
5411         * lib/unictype/joiningtype_byname.gperf: New file.
5412         * modules/unictype/joiningtype-byname (Files): Add
5413         lib/unictype/joiningtype_byname.gperf.
5414         (Depends-on): Add gperf.
5415         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
5416         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
5417         long names.
5418
5419         Tests for module 'unictype/joiningtype-longname'.
5420         * modules/unictype/joiningtype-longname-tests: New file.
5421         * tests/unictype/test-joiningtype_longname.c: New file.
5422
5423         New module 'unictype/joiningtype-longname'.
5424         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
5425         * lib/unictype/joiningtype_longname.c: New file.
5426         * modules/unictype/joiningtype-longname: New file.
5427         * modules/unictype/joiningtype-all (Depends-on): Add
5428         unictype/joiningtype-longname.
5429
5430 2011-03-26  Bruno Haible  <bruno@clisp.org>
5431
5432         unictype/bidiclass-byname: Recognize long names as well.
5433         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
5434         name.
5435         * lib/unictype/bidi_byname.c: Include <string.h>,
5436         unictype/bidi_byname.h.
5437         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
5438         * lib/unictype/bidi_byname.gperf: New file.
5439         * modules/unictype/bidiclass-byname (Files): Add
5440         lib/unictype/bidi_byname.gperf.
5441         (Depends-on): Add gperf.
5442         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
5443         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
5444         long names.
5445
5446         Tests for module 'unictype/bidiclass-longname'.
5447         * modules/unictype/bidiclass-longname-tests: New file.
5448         * tests/unictype/test-bidi_longname.c: New file.
5449
5450         New module 'unictype/bidiclass-longname'.
5451         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
5452         * lib/unictype/bidi_longname.c: New file.
5453         * modules/unictype/bidiclass-longname: New file.
5454         * modules/unictype/bidiclass-all (Depends-on): Add
5455         unictype/bidiclass-longname.
5456
5457 2011-03-26  Bruno Haible  <bruno@clisp.org>
5458
5459         unictype/bidi*: Rename modules.
5460         * modules/unictype/bidiclass-all: Renamed from
5461         modules/unictype/bidicategory-all.
5462         * modules/unictype/bidiclass-name: Renamed from
5463         modules/unictype/bidiclass-name.
5464         (Description): Update.
5465         * modules/unictype/bidiclass-name-tests: Renamed from
5466         modules/unictype/bidicategory-name-tests.
5467         * modules/unictype/bidiclass-byname: Renamed from
5468         modules/unictype/bidicategory-byname.
5469         (Description): Update.
5470         * modules/unictype/bidiclass-byname-tests: Renamed from
5471         modules/unictype/bidicategory-byname-tests.
5472         * modules/unictype/bidiclass-of: Renamed from
5473         modules/unictype/bidicategory-of.
5474         (Description): Update.
5475         * modules/unictype/bidiclass-of-tests: Renamed from
5476         modules/unictype/bidicategory-of-tests.
5477         * modules/unictype/bidiclass-test: Renamed from
5478         modules/unictype/bidicategory-test.
5479         (Description): Update.
5480         * modules/unictype/bidiclass-test-tests: Renamed from
5481         modules/unictype/bidicategory-test-tests.
5482         * modules/unictype/bidicategory-all: New file, a simple redirection.
5483         * modules/unictype/bidicategory-name: Likewise.
5484         * modules/unictype/bidicategory-byname: Likewise.
5485         * modules/unictype/bidicategory-of: Likewise.
5486         * modules/unictype/bidicategory-test: Likewise.
5487         * modules/unictype/property-bidi-* (Dependencies): Update.
5488         * lib/unictype/bidi_*.c: Update comment.
5489
5490 2011-03-26  Bruno Haible  <bruno@clisp.org>
5491
5492         unictype/bidi*: Rename functions, part 2.
5493         * modules/unictype/bidicategory-name (configure.ac): Update required
5494         libunistring version.
5495         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
5496
5497 2011-03-25  Bruno Haible  <bruno@clisp.org>
5498
5499         New module 'unictype/combining-class-all'.
5500         * modules/unictype/combining-class-all: New file.
5501
5502         Tests for module 'unictype/combining-class-byname'.
5503         * modules/unictype/combining-class-byname-tests: New file.
5504         * tests/unictype/test-combiningclass_byname.c: New file.
5505
5506         New module 'unictype/combining-class-byname'.
5507         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
5508         * lib/unictype/combiningclass_byname.c: New file.
5509         * lib/unictype/combiningclass_byname.gperf: New file.
5510         * modules/unictype/combining-class-byname: New file.
5511
5512         Tests for module 'unictype/combining-class-longname'.
5513         * modules/unictype/combining-class-longname-tests: New file.
5514         * tests/unictype/test-combiningclass_longname.c: New file.
5515
5516         New module 'unictype/combining-class-longname'.
5517         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
5518         * lib/unictype/combiningclass_longname.c: New file.
5519         * modules/unictype/combining-class-longname: New file.
5520
5521         Tests for module 'unictype/combining-class-name'.
5522         * modules/unictype/combining-class-name-tests: New file.
5523         * tests/unictype/test-combiningclass_name.c: New file.
5524
5525         New module 'unictype/combining-class-name'.
5526         * lib/unictype.in.h (uc_combining_class_name): New declaration.
5527         * lib/unictype/combiningclass_name.c: New file.
5528         * modules/unictype/combining-class-name: New file.
5529
5530 2011-03-25  Bruno Haible  <bruno@clisp.org>
5531
5532         unictype/combining-class: Rename source files.
5533         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
5534         of unictype/combining.h.
5535         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
5536         Update.
5537         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
5538         * modules/unictype/combining-class (Description): Fix.
5539         (Files, Makefile.am): Update.
5540         * tests/unictype/test-combiningclass.c: Renamed from
5541         tests/unictype/test-combining.c.
5542         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
5543
5544 2011-03-25  Bruno Haible  <bruno@clisp.org>
5545
5546         unictype: Update list of canonical combining classes.
5547         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
5548
5549 2011-03-25  Bruno Haible  <bruno@clisp.org>
5550
5551         unictype/category-byname: Recognize long names as well.
5552         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
5553         a long name.
5554         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
5555         unictype/categ_byname.h.
5556         (UC_CATEGORY_INDEX_*): New enumeration values.
5557         (uc_general_category_byname): Use uc_general_category_lookup and
5558         convert from index to value.
5559         * lib/unictype/categ_byname.gperf: New file.
5560         * modules/unictype/category-byname (Files): Add
5561         lib/unictype/categ_byname.gperf.
5562         (Depends-on): Add gperf.
5563         (Makefile.am): Add rule for generating unictype/categ_byname.h.
5564         * tests/unictype/test-categ_byname.c (main): Test the recognition of
5565         long names.
5566
5567         Tests for module 'unictype/category-longname'.
5568         * modules/unictype/category-longname-tests: New file.
5569         * tests/unictype/test-categ_longname.c: New file.
5570
5571         New module 'unictype/category-longname'.
5572         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
5573         * lib/unictype/categ_longname.c: New file.
5574         * modules/unictype/category-longname: New file.
5575         * modules/unictype/category-all (Depends-on): Add it.
5576
5577 2011-03-25  Bruno Haible  <bruno@clisp.org>
5578
5579         Tests for module 'unictype/category-LC'.
5580         * modules/unictype/category-LC-tests: New file.
5581         * tests/unictype/test-categ_LC.c: New file, automatically generated.
5582
5583         New module 'unictype/category-LC'.
5584         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
5585         (UC_CATEGORY_LC): New declaration.
5586         (UC_CASED_LETTER): New macro.
5587         * lib/gen-uni-tables.c (is_category_LC): New function.
5588         (output_categories): Also handle category LC.
5589         (UC_CATEGORY_MASK_LC): New enumeration value.
5590         (general_category_byname): Also handle category LC.
5591         * lib/unictype/categ_LC.c: New file.
5592         * lib/unictype/categ_LC.h: New file, automatically generated.
5593         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
5594         category LC.
5595         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
5596         * modules/unictype/category-LC: New file.
5597         * modules/unictype/category-byname (Depends-on): Add
5598         unictype/category-LC.
5599         * modules/unictype/category-all (Depends-on): Likewise.
5600
5601 2011-03-25  Eric Blake  <eblake@redhat.com>
5602
5603         xmalloc: revert yesterday's regression
5604         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
5605         realloc's underlying behavior (allowing allocation of zero-size
5606         objects, especially if malloc-gnu is also in use).
5607
5608 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
5609
5610         maint.mk: add missing version to VC-tag
5611         * top/maint.mk: git tag was missing actual tag name; add it.
5612
5613         valgrind: do leak checking, and exit with code 1 on error (not 0)
5614         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
5615         to VALGRIND.
5616
5617 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
5618
5619         posix-modules: say what it does.
5620         * posix-modules: Add a line to the --help output saying what it does.
5621
5622 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
5623
5624         xmalloc: Do not leak if underlying realloc is C99 compatible.
5625         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
5626         This avoids a leak on C99-based systems.  See
5627         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
5628
5629 2011-03-24  Eric Blake  <eblake@redhat.com>
5630
5631         realloc: document portability problem
5632         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
5633         passing 0 size to realloc.
5634
5635 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
5636
5637         doc: update users.txt
5638         * users.txt: Add cvsps, tmpwatch
5639
5640 2011-03-23  Matt Rice  <ratmice@gmail.com>
5641
5642         doc: update users.txt
5643         * users.txt: Add gdb.
5644
5645 2011-03-23  Jim Meyering  <meyering@redhat.com>
5646
5647         doc: update users.txt
5648         Looking through matches up to the following URL (there are still
5649         several more pages), I found several projects that use gnulib:
5650         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
5651         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
5652         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
5653
5654 2011-03-22  Bruno Haible  <bruno@clisp.org>
5655
5656         unictype/bidi*: Rename functions.
5657         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
5658         uc_bidi_class, uc_is_bidi_class): New declarations.
5659         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
5660         uc_bidi_category_byname.
5661         (uc_bidi_category_byname): New function.
5662         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
5663         u_bidi_category_name.
5664         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
5665         (uc_bidi_category_name): New function.
5666         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
5667         uc_bidi_category.
5668         (uc_bidi_category): New function.
5669         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
5670         uc_is_bidi_category. Invoke uc_bidi_class.
5671         (uc_is_bidi_category): New function.
5672         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
5673         instead of uc_bidi_category_byname.
5674         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
5675         instead of uc_bidi_category_name.
5676         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
5677         uc_bidi_category.
5678         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
5679         instead of uc_is_bidi_category.
5680
5681 2011-03-21  Bruno Haible  <bruno@clisp.org>
5682
5683         New module 'unictype/joininggroup-all'.
5684         * modules/unictype/joininggroup-all: New file.
5685
5686         Tests for module 'unictype/joininggroup-of'.
5687         * modules/unictype/joininggroup-of-tests: New file.
5688         * tests/unictype/test-joininggroup_of.c: New file.
5689         * tests/unictype/test-joininggroup_of.h: New file, automatically
5690         generated by gen-uni-tables.
5691
5692         New module 'unictype/joininggroup-of'.
5693         * modules/unictype/joininggroup-of: New file.
5694         * lib/unictype/joininggroup_of.c: New file.
5695         * lib/unictype/joininggroup_of.h: New file, automatically generated by
5696         gen-uni-tables.
5697
5698         Tests for module 'unictype/joininggroup-byname'.
5699         * modules/unictype/joininggroup-byname-tests: New file.
5700         * tests/unictype/test-joininggroup_byname.c: New file.
5701
5702         New module 'unictype/joininggroup-byname'.
5703         * modules/unictype/joininggroup-byname: New file.
5704         * lib/unictype/joininggroup_byname.c: New file.
5705         * lib/unictype/joininggroup_byname.gperf: New file.
5706
5707         Tests for module 'unictype/joininggroup-name'.
5708         * modules/unictype/joininggroup-name-tests: New file.
5709         * tests/unictype/test-joininggroup_name.c: New file.
5710
5711         New module 'unictype/joininggroup-name'.
5712         * modules/unictype/joininggroup-name: New file.
5713         * lib/unictype/joininggroup_name.c: New file.
5714         * lib/unictype/joininggroup_name.h: New file.
5715
5716         New module 'unictype/joiningtype-all'.
5717         * modules/unictype/joiningtype-all: New file.
5718
5719         Tests for module 'unictype/joiningtype-of'.
5720         * modules/unictype/joiningtype-of-tests: New file.
5721         * tests/unictype/test-joiningtype_of.c: New file.
5722         * tests/unictype/test-joiningtype_of.h: New file, automatically
5723         generated by gen-uni-tables.
5724
5725         New module 'unictype/joiningtype-of'.
5726         * modules/unictype/joiningtype-of: New file.
5727         * lib/unictype/joiningtype_of.c: New file.
5728         * lib/unictype/joiningtype_of.h: New file, automatically generated by
5729         gen-uni-tables.
5730
5731         Tests for module 'unictype/joiningtype-byname'.
5732         * modules/unictype/joiningtype-byname-tests: New file.
5733         * tests/unictype/test-joiningtype_byname.c: New file.
5734
5735         New module 'unictype/joiningtype-byname'.
5736         * modules/unictype/joiningtype-byname: New file.
5737         * lib/unictype/joiningtype_byname.c: New file.
5738
5739         Tests for module 'unictype/joiningtype-name'.
5740         * modules/unictype/joiningtype-name-tests: New file.
5741         * tests/unictype/test-joiningtype_name.c: New file.
5742
5743         New module 'unictype/joiningtype-name'.
5744         * modules/unictype/joiningtype-name: New file.
5745         * lib/unictype/joiningtype_name.c: New file.
5746
5747         unictype: Add support for Arabic shaping properties.
5748         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
5749         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
5750         declarations.
5751         (UC_JOINING_GROUP_*): New enumeration values.
5752         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
5753         declarations.
5754         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
5755         (unicode_joining_type): New variable.
5756         (UC_JOINING_GROUP_*): New enumeration values.
5757         (unicode_joining_group): New variable.
5758         (fill_arabicshaping, joining_type_as_c_identifier,
5759         output_joining_type_test, output_joining_type,
5760         joining_group_as_c_identifier, output_joining_group_test,
5761         output_joining_group): New functions.
5762         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
5763         fill_arabicshaping and output_joining_type_test, output_joining_type,
5764         output_joining_group_test, output_joining_group.
5765         Reported by Simon Josefsson.
5766
5767 2011-03-21  Jim Meyering  <meyering@redhat.com>
5768
5769         strftime: fix a bug in yesterday's change
5770         * lib/strftime.c (add): Accommodate width's initial value of -1.
5771         Otherwise, nstrftime would copy uninitialized data into
5772         the result buffer.
5773
5774 2011-03-21  Jim Meyering  <meyering@redhat.com>
5775
5776         tests: add strftime-tests module
5777         * tests/test-strftime.c: New file.
5778         * modules/strftime-tests: New module.
5779
5780 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
5781
5782         strftime: don't assume a byte count fits in 'int'
5783         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
5784         found this problem by static analysis, using gcc -Wstrict-overflow
5785         (GCC 4.5.2, x86-64).  This reported an optimization that depended
5786         on an integer overflow having undefined behavior, but it turns out
5787         that the argument is a size, which might not fit in 'int' anyway,
5788
5789 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
5790
5791         stdio: don't require ignore_value around fwrite
5792
5793         This patch works around libc bug 11959
5794         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
5795         Without this patch, applications must often write
5796         ignore_value (fwrite (...)) even though the ignore_value is
5797         not helpful here.  It's common to write many objects, using
5798         fwrite/printf/etc., and then use ferror to detect output error.
5799
5800         I considered making this patch optional, but decided against it,
5801         because libc is obviously being inconsistent here: there is no
5802         reason libc should insist that user code must inspect fwrite
5803         return's value without also insisting that it inspect printf's,
5804         putchar's, etc.  If user code wants to have a strict style where
5805         all these functions' values are checked (so that ferror need not
5806         be checked), we could add support for that style in a new gnulib
5807         module, but in the meantime it's better to be consistent and to
5808         support common usage.
5809
5810         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
5811         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
5812         that we are compiling in checking mode, and if not C++, and
5813         if not already wrapping fwrite for some other reason.
5814         (fwrite): #define to rpl_fwrite if the latter is defined.
5815
5816 2011-03-20  Bruno Haible  <bruno@clisp.org>
5817
5818         verror: Fix compilation error introduced on 2011-02-13.
5819         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
5820         instead of __attribute__.
5821         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
5822
5823 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
5824             Bruno Haible  <bruno@clisp.org>
5825
5826         socklen: do not depend on sys_socket
5827         While trying to modify Emacs to use gnulib's socklen module,
5828         I discovered a circular dependency: socklen depends on sys_socket
5829         and vice versa.  Emacs can use socklen, but it does not need
5830         sys_socket because it has its own substitute for sys/socket.h.
5831         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
5832         gl_TYPE_SOCKLEN_T.
5833         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
5834         gl_PREREQ_SYS_H_SOCKET.
5835         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
5836         gl_PREREQ_SYS_H_SOCKET.
5837         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
5838         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
5839         * modules/socklen (Depends-on): Do not depend on sys_socket.
5840         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
5841
5842 2011-03-20  Jim Meyering  <meyering@redhat.com>
5843
5844         maint.mk: sort file names *after* new transformation
5845         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
5846         prefix would have led to an unwarranted failure in GNU parted.
5847         Sort after that transformation.
5848
5849 2011-03-19  Jim Meyering  <meyering@redhat.com>
5850
5851         maint.mk: fix po-file syntax-check rule
5852         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
5853         Patch by Bruno Haible.
5854
5855 2011-03-19  Bruno Haible  <bruno@clisp.org>
5856
5857         socklen: Update comment.
5858         * m4/socklen.m4: Update comment about platforms.
5859
5860 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
5861             Bruno Haible  <bruno@clisp.org>
5862
5863         inet_ntop, inet_pton: Simplify.
5864         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
5865         documented to provide socklen_t and we already depend on sys_socket.
5866         * modules/inet_pton (Depends-on): Likewise.
5867         * lib/arpa_inet.in.h: Adjust comment.
5868
5869 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
5870             Bruno Haible  <bruno@clisp.org>
5871
5872         netdb: Simplify.
5873         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
5874         documented to provide socklen_t and we already depend on sys_socket.
5875         * lib/netdb.in.h: Adjust comment.
5876
5877 2011-03-19  Bruno Haible  <bruno@clisp.org>
5878
5879         sys_socket, netdb: Document problem with socklen_t.
5880         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
5881         platforms.
5882         * doc/posix-headers/netdb.texi: Likewise.
5883
5884 2011-03-18  Eric Blake  <eblake@redhat.com>
5885
5886         maint.mk: let po check work in VPATH build
5887         * top/maint.mk (po_file): Allow cfg.mk override.
5888         (sc_po_check): Allow VPATH use.
5889         Reported by Jiri Denemark.
5890
5891 2011-03-16  Jim Meyering  <meyering@redhat.com>
5892
5893         maint.mk: allow fine-grained syntax-check exclusion via Make variables
5894         Before, you would have had to create one .x-sc_ file per rule in order
5895         to exempt offending files.  Now, you may instead use a Make variable --
5896         usually defined in cfg.mk -- whose name identifies the affected rule.
5897         * top/maint.mk (_sc_excl): Define.
5898         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
5899         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
5900
5901 2011-03-13  Bruno Haible  <bruno@clisp.org>
5902
5903         ignore-value tests: Avoid warnings.
5904         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
5905         empty for gcc < 3.4.
5906
5907 2011-03-13  Bruno Haible  <bruno@clisp.org>
5908
5909         passfd: Fix link error on Solaris.
5910         * modules/passfd (Description): Correct.
5911         (Depends-on): Add socketlib.
5912         (Link): New section.
5913         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
5914
5915 2011-03-13  Bruno Haible  <bruno@clisp.org>
5916
5917         passfd: Fix link error on AIX 5.2.
5918         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
5919
5920 2011-03-13  Bruno Haible  <bruno@clisp.org>
5921
5922         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
5923         * lib/sys_socket.in.h: Include <stddef.h>.
5924         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
5925         CMSG_FIRSTHDR. Remove unused variable.
5926
5927 2011-03-13  Bruno Haible  <bruno@clisp.org>
5928
5929         passfd: Fix compilation error on OpenBSD.
5930         * lib/passfd.c: Include <sys/uio.h>.
5931
5932 2011-03-13  Bruno Haible  <bruno@clisp.org>
5933
5934         passfd test: Fix warnings.
5935         * tests/test-passfd.c: Include <sys/wait.h>.
5936         (main): Fix typo.
5937
5938 2011-03-13  Bruno Haible  <bruno@clisp.org>
5939
5940         passfd module, part 4, tweaks.
5941         * tests/test-passfd.c: Reorder includes.
5942         (main): Fix perror and printf calls.
5943
5944 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
5945
5946         passfd module, part 4.
5947         * modules/passfd-tests: New file.
5948         * tests/test-passfd.c: New file.
5949
5950 2011-03-13  Jim Meyering  <meyering@redhat.com>
5951
5952         Makefile: rely on GNU make; derive syntax-check rule names
5953         Rather than requiring that each sc_ rule be listed as a dependent
5954         of "check", use features of GNU make to derive the list.
5955         * Makefile (syntax-check-rules): Define.
5956         (check): Depend on the new variable, not the hard-coded list.
5957
5958 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
5959             Bruno Haible  <bruno@clisp.org>
5960
5961         passfd module, part 3.
5962         * lib/passfd.h (recvfd): Add a flags argument.
5963         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
5964         (recvfd): Add a flags argument.
5965         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
5966         exists.
5967         * modules/passfd (Depends-on): Add cloexec.
5968         Suggested by Eric Blake.
5969
5970 2011-03-13  Bruno Haible  <bruno@clisp.org>
5971
5972         passfd module, part 2, tweaks.
5973         * modules/passfd (Files): Reorder.
5974         (Depends-on): Remove errno.
5975         (Include): Remove <sys/socket.h>, <sys/un.h>.
5976         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
5977         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
5978         specification header. Include <sys/socket.h> always. Don't include
5979         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
5980         (sendfd): Clarify that it sets errno when it fails.
5981         (recvfd): Fix specification.
5982
5983 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
5984
5985         passfd module, part 2.
5986         * modules/passfd: New file.
5987         * lib/passfd.h: New file.
5988         * lib/passfd.c: New file.
5989
5990 2011-03-12  Bruno Haible  <bruno@clisp.org>
5991
5992         wcswidth, mbswidth: Avoid integer overflow.
5993         * lib/wcswidth.c: Include <limits.h>.
5994         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
5995         * lib/mbswidth.c: Include <limits.h>.
5996         (mbsnwidth): Avoid 'int' overflow.
5997         Reported by Jim Meyering.
5998
5999 2011-03-12  Bruno Haible  <bruno@clisp.org>
6000
6001         futimens, utimensat: Avoid endless recursion on Solaris 10.
6002         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
6003         Solaris.
6004         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
6005         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
6006
6007 2011-03-11  Jim Meyering  <meyering@redhat.com>
6008
6009         maint.mk: relax a regexp to accommodate other formatting styles
6010         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
6011         between "ngettext" and the following "(".
6012
6013 2011-03-11  Pádraig Brady <P@draigBrady.com>
6014
6015         maint.mk: suppress a false positive warning
6016         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
6017         diagnostics are marked with ngettext.
6018
6019 2011-03-10  Eric Blake  <eblake@redhat.com>
6020
6021         wchar: add explicit dependencies, for Tru64
6022         * modules/mbmemcasecoll (Depends-on): Add wchar.
6023         * modules/mbtowc (Depends-on): Likewise.
6024         * modules/vasnprintf (Depends-on): Likewise.
6025         * modules/unistdio/u-printf-args (Depends-on): Likewise.
6026         * modules/wctomb (Depends-on): Likewise.
6027         Reported by Peter O'Gorman.
6028
6029 2011-03-08  Bruno Haible  <bruno@clisp.org>
6030
6031         passfd module, part 1, tweaks.
6032         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
6033         Improve indentation. Improve AC_MSG_CHECKING messages.
6034         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
6035         gl_SOCKET_FAMILIES.
6036
6037 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
6038
6039         passfd module, part 1.
6040         * m4/afunix.m4: New file.
6041         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
6042         sockets.
6043
6044 2011-03-08  Bruno Haible  <bruno@clisp.org>
6045
6046         regex-quote: New API.
6047         * lib/regex-quote.h: Include <stdbool.h>.
6048         (struct regex_quote_spec): New type.
6049         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
6050         New declarations.
6051         (regex_quote_length, regex_quote_copy, regex_quote): Take a
6052         'const struct regex_quote_spec *' argument.
6053         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
6054         (pcre_special): New constant.
6055         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
6056         New functions.
6057         (regex_quote_length, regex_quote_copy, regex_quote): Take a
6058         'const struct regex_quote_spec *' argument.
6059         * modules/regex-quote (Depends-on): Add stdbool.
6060         * tests/test-regex-quote.c (check): Update for new API. Add test for
6061         anchored results.
6062         * NEWS: Mention the API change.
6063         Reported by Reuben Thomas and Eric Blake.
6064
6065 2011-03-06  Bruno Haible  <bruno@clisp.org>
6066
6067         regex-quote: Fix creation of POSIX extended regular expressions.
6068         * lib/regex-quote.c (ere_special): Add grouping and alternation
6069         operators.
6070
6071 2011-03-05  Bruno Haible  <bruno@clisp.org>
6072
6073         doc: Improve doc regarding autopoint vs. gnulib.
6074         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
6075         disable autopoint while running autoreconf.
6076         Suggested by Ralf Wildenhues.
6077
6078 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6079
6080         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
6081         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
6082
6083 2011-03-03  Bruce Korb  <bkorb@gnu.org>
6084
6085         parse-duration: remove xalloc.h dependency
6086         * lib/parse-duration.c (parse_period): handle NULL return from
6087         strdup instead of calling xstrdup().
6088         * modules/parse-duration: remove "xalloc" dependency
6089
6090 2011-03-03  Matthew Booth  <mbooth@redhat.com>
6091
6092         bootstrap: honor m4_base when running aclocal
6093         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
6094
6095 2011-03-02  Jim Meyering  <meyering@redhat.com>
6096
6097         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
6098         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
6099         on request from Matt Booth.
6100
6101 2011-03-01  Eric Blake  <eblake@redhat.com>
6102
6103         test-link: work on Hurd
6104         * tests/test-link.h (test_link): Hurd rejects linking directories
6105         with EISDIR instead of the POSIX-mandated EPERM.
6106
6107 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
6108
6109         stdio: simplify by moving files to printf-posix, sigpipe
6110         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
6111         since this symbol is needed only if printf is replaced.
6112         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
6113         Require gl_ASM_SYMBOL_PREFIX.
6114         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
6115         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
6116         (Depends-on): Add 'raise'.
6117         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
6118         * modules/stdio (Files): Remove lib/stdio-write.c,
6119         m4/asm-underscore.m4.
6120         (Depends-on): Remove 'raise'.
6121
6122         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
6123         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
6124         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
6125         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
6126
6127 2011-02-28  Bruno Haible  <bruno@clisp.org>
6128
6129         localcharset: Assume ANSI C behaviour of free().
6130         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
6131         calling free().
6132         Suggested by Simon Josefsson <simon@josefsson.org>.
6133
6134 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
6135             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
6136             Bruno Haible  <bruno@clisp.org>  (tiny change)
6137
6138         On Cygwin, use /proc file system instead of win32 API.
6139         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
6140         Win32 file names.
6141         (DllMain): Simplify by removing Cygwin specific code.
6142         (find_shared_library_fullname): Use Linux specific implementation also
6143         for Cygwin.
6144         (get_shared_library_fullname): Update accordingly.
6145         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
6146         Win32 file names.
6147         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
6148         Cygwin specific code.
6149
6150 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
6151             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
6152
6153         Fix OpenMP flag detection for various Fortran compilers.
6154         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
6155         OpenMP-conditional compilation construct, to force compile
6156         failure with missing OpenMP flag.
6157         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
6158
6159 2011-02-25  Eric Blake  <eblake@redhat.com>
6160
6161         strstr: expand test coverage
6162         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
6163         compilation.
6164         * tests/test-memmem.c (main): Duplicate tests.
6165         * tests/test-strcasestr.c (main): Likewise.
6166         * tests/test-c-strcasestr.c (main): Likewise.
6167
6168 2011-02-25  Jim Meyering  <meyering@redhat.com>
6169
6170         maint.mk: detect missing-NL-at-EOF, too
6171         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
6172         it also detects when a file lacks a newline at EOF.
6173         (require_exactly_one_NL_at_EOF_): Renamed from
6174         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
6175         since people may well have .x-sc_... file names tied to the
6176         existing name.  Suggested by Eric Blake.
6177
6178 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
6179
6180         dirname: move m4/dos.m4 functionality into lib/dosname.h
6181
6182         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
6183         extracts symbols from it, puts them into config.h; but it's much
6184         easier to use the symbols directly.  filename.h already does this,
6185         but it disagrees with dos.m4 in some respects.  This patch
6186         introduces a different include file dosname.h that packages up
6187         dos.m4, and then later we can work on merging filename.h and
6188         dosname.h.  Applications that need only the easy-to-configure
6189         symbols should consider including dosname.h rather than dirname.h.
6190         * NEWS: Mention incompatible changes.
6191         * m4/dos.m4: Remove.
6192         * lib/dosname.h, modules/dosname: New files.
6193         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
6194         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
6195         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
6196         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
6197         Include dosname.h, not dirname.h.
6198         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
6199         Include dosname.h, for definitions of symbols like ISSLASH
6200         that used to be in config.h.
6201         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
6202         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
6203         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
6204         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
6205         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
6206         * modules/rmdir (Files): Likewise.
6207         * modules/stat (Files): Likewise.
6208         * modules/unlink (Files): Likewise.
6209         * modules/dirname-lgpl (Depends-on): Add dosname.
6210         * modules/lstat (Depends-on): Likewise.
6211         * modules/openat (Depends-on): Likewise.
6212         * modules/rmdir (Depends-on): Likewise.
6213         * modules/savewd (Depends-on): Likewise.
6214         * modules/stat (Depends-on): Likewise.
6215         * modules/unlink (Depends-on): Likewise.
6216         * modules/openat (Depends-on): Remove dirname-lgpl.
6217         * modules/savewd (Depends-on): Likewise.
6218         * tests/test-dirname.c: Do not use removed symbols like
6219         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
6220         the remaining symbols, e.g., ISSLASH ('\\').
6221
6222 2011-02-25  Eric Blake  <eblake@redhat.com>
6223
6224         strstr: revert patches that introduced bug and pessimization
6225         * lib/str-two-way.h: Add another reference.
6226         (two_way_short_needle, two_way_long_needle): Revert changes from
6227         2011-02-24; they pessimize search speed.
6228         (critical_factorization): Partially revert changes from
6229         2010-06-22; they violate the requirement that the left half of the
6230         needle be smaller than the period of the needle.
6231
6232 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
6233
6234         filenamecat: remove unnecessary dependency on dirname-lgpl
6235         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
6236         is no direct dependency, just an indirect one via filenamecat-lgpl.
6237
6238         remove: remove unnecessary use of m4/dos.m4
6239         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
6240         * modules/remove (FILES): Remove m4/dos.m4.
6241
6242         * lib/openat-proc.c: Don't include dirname.h; not needed.
6243
6244         backupfile: remove unnecessary use of m4/dos.m4
6245         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
6246         of its symbols are used by the backupfile code.  backupfile.c does
6247         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
6248         for the rare case of programs that want all their backup file
6249         names to live within 8+3 limits, and dos.m4 doesn't address that.
6250         * modules/backupfile (Files): Remove m4/dos.m4.
6251
6252 2011-02-24  Jim Meyering  <meyering@redhat.com>
6253
6254         strstr: fix a bug whereby strstr would mistakenly return NULL
6255         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
6256         in period calculation.
6257         (two_way_long_needle): Likewise.
6258         The original problem was reported by Mike Stump in
6259         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
6260         Ralf Wildenhues provided the short needle and haystack.
6261         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
6262         Add a more involved test to trigger the bug in two_way_long_needle.
6263
6264 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
6265
6266         gnulib-tool: remove use of bold display in help screen
6267         * gnulib-tool (func_usage): Do not use bold display anymore in the
6268         help screen.  That was just meant to be a temporary emphasis for a
6269         backward-incompatible change.
6270
6271 2011-02-23  Bruno Haible  <bruno@clisp.org>
6272
6273         Fix misindentation of preprocessor directives.
6274         * lib/argp-namefrob.h: Reindent preprocessor directives.
6275         * lib/getopt_int.h (struct _getopt_data): Likewise.
6276         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
6277         * lib/vasnprintf.c (decode_long_double): Likewise.
6278         * tests/test-argmatch.c: Insert blank lines, for clarity.
6279         * tests/test-exclude.c: Likewise.
6280
6281 2011-02-22  Bruno Haible  <bruno@clisp.org>
6282
6283         ioctl: Fix for MacOS X in 64-bit mode.
6284         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
6285         value.
6286         Suggested by Eric Blake.
6287         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
6288
6289 2011-02-22  Jim Meyering  <meyering@redhat.com>
6290
6291         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
6292         * Makefile (sc_cpp_indent_check): Don't limit the check to files
6293         in lib/.
6294
6295 2011-02-22  Eric Blake  <eblake@redhat.com>
6296
6297         maint: avoid any CDPATH issue
6298         * Makefile (sc_cpp_indent_check): Anchor cd argument.
6299
6300         maint: adjust cpp indentation for my modules, as well
6301         * Makefile (sc_cpp_indent_check): Add my name.
6302         * lib/fbufmode.c: Filter through cppi.
6303         * lib/fpurge.c: Likewise.
6304         * lib/freadable.c: Likewise.
6305         * lib/freading.c: Likewise.
6306         * lib/fwritable.c: Likewise.
6307         * lib/fwriting.c: Likewise.
6308         * lib/sigaction.c: Likewise.
6309
6310 2011-02-22  Jim Meyering  <meyering@redhat.com>
6311
6312         maint: adjust cpp indentation to reflect nesting depth
6313         I.e., in a block of code that begins with an unnested "#if",
6314         put one space between the "#" in column 1 and following token.
6315         For example,
6316         -#include <sys/vfs.h>
6317         +# include <sys/vfs.h>
6318         Do this only in .c files that are part of a module I maintain.
6319         * lib/linkat.c: Filter through cppi.
6320         * lib/nanosleep.c: Likewise.
6321         * lib/openat.c: Likewise.
6322         * lib/openat-die.c: Likewise.
6323         * lib/dup3.c: Likewise.
6324         * lib/fchownat.c: Likewise.
6325         * lib/flock.c: Likewise.
6326         * lib/fsync.c: Likewise.
6327         * lib/fts.c: Likewise.
6328         * lib/getpass.c: Likewise.
6329         * lib/gettimeofday.c: Likewise.
6330         * lib/userspec.c: Likewise.
6331         * Makefile (sc_cpp_indent_check): New rule, to check this.
6332
6333 2011-02-22  Bruno Haible  <bruno@clisp.org>
6334
6335         New module 'wctomb'.
6336         * lib/stdlib.in.h (wctomb): New declaration.
6337         * lib/wctomb.c: New file.
6338         * lib/wctomb-impl.h: New file.
6339         * m4/wctomb.m4: New file.
6340         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
6341         REPLACE_WCTOMB.
6342         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
6343         REPLACE_WCTOMB.
6344         * modules/wctomb: New file.
6345         * tests/test-stdlib-c++.cc: Test signature of wctomb.
6346         * doc/posix-functions/wctomb.texi: Mention the new module.
6347         * modules/wctob (Depends-on): Add wctomb.
6348
6349 2011-02-22  Bruno Haible  <bruno@clisp.org>
6350
6351         New module 'mbtowc'.
6352         * lib/stdlib.in.h (mbtowc): New declaration.
6353         * lib/mbtowc.c: New file.
6354         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
6355         * m4/mbtowc.m4: New file.
6356         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
6357         REPLACE_MBTOWC.
6358         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
6359         REPLACE_MBTOWC.
6360         * modules/mbtowc: New file.
6361         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
6362         * doc/posix-functions/mbtowc.texi: Mention the new module.
6363         * modules/btowc (Depends-on): Add mbtowc.
6364
6365 2011-02-22  Bruno Haible  <bruno@clisp.org>
6366
6367         wcrtomb: Add more tests for native Windows platforms.
6368         * tests/test-wcrtomb-w32-1.sh: New file.
6369         * tests/test-wcrtomb-w32-2.sh: New file.
6370         * tests/test-wcrtomb-w32-3.sh: New file.
6371         * tests/test-wcrtomb-w32-4.sh: New file.
6372         * tests/test-wcrtomb-w32-5.sh: New file.
6373         * tests/test-wcrtomb-w32.c: New file.
6374         * modules/wcrtomb-tests (Files): Add them.
6375         (Makefile.am): Arrange to run these tests.
6376         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
6377         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
6378
6379 2011-02-20  Bruno Haible  <bruno@clisp.org>
6380
6381         wcrtomb: Enhance test.
6382         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
6383
6384 2011-02-20  Bruno Haible  <bruno@clisp.org>
6385
6386         mbrtowc: Tiny optimization.
6387         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
6388
6389 2011-02-20  Jim Meyering  <meyering@redhat.com>
6390
6391         test-exclude.c: remove unmatched #endif
6392         * tests/test-exclude.c: Remove stray #endif, left over from
6393         the change of a week ago.
6394
6395 2011-02-19  Jim Meyering  <meyering@redhat.com>
6396
6397         git-version-gen: skip "-dirty" check when appropriate
6398         * build-aux/git-version-gen: Don't run any git commands when the
6399         version string comes from .tarball-version.  Prior to this, we
6400         would run git update-index --refresh even from a just-unpacked
6401         tarball directory, and that could affect a .git/ directory in a
6402         parent of the build directory.  Reported by Mike Frysinger.
6403
6404 2011-02-19  Bruno Haible  <bruno@clisp.org>
6405
6406         unictype/property-byname: Reduce the size of the 'data' segment.
6407         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
6408
6409 2011-02-19  Bruno Haible  <bruno@clisp.org>
6410
6411         unictype/scripts: Reduce the size of the 'data' segment.
6412         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
6413         '%pic'.
6414         * lib/unictype/scripts_byname.gperf: Regenerated.
6415
6416 2011-02-19  Bruno Haible  <bruno@clisp.org>
6417
6418         stdint: Update documentation.
6419         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
6420
6421 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
6422
6423         stdint: omit redundant check for wchar.h
6424         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
6425         always tests whether wchar.h exists, so remove the now-redundant test.
6426
6427 2011-02-18  Bruno Haible  <bruno@clisp.org>
6428
6429         stdint: Cut dependency to module 'wchar'.
6430         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
6431         include the necessary prerequisites.
6432         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
6433         * modules/stdint (Depends-on): Remove wchar.
6434         (Makefile.am): Substitute HAVE_WCHAR_H.
6435         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
6436
6437 2011-02-18  Eric Blake  <eblake@redhat.com>
6438
6439         longlong: skip, rather than fail, on cross-compilation
6440         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
6441         when cross-compiling; regression from 2011-02-16.
6442
6443 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
6444
6445         * NEWS: Mention 2011-02-08 change to stdlib.
6446
6447 2011-02-17  Bruno Haible  <bruno@clisp.org>
6448
6449         getloadavg: Add comments about platforms.
6450         * m4/getloadavg.m4: Add comment.
6451         * lib/getloadavg.c: Likewise.
6452
6453 2011-02-17  Bruno Haible  <bruno@clisp.org>
6454
6455         getloadavg: Fix link error on Solaris 2.6.
6456         * modules/getloadavg (Link): New section.
6457         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
6458         linking test-getloadavg.
6459         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
6460         getloadavg.
6461
6462 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
6463
6464         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
6465         It was 'int', but this doesn't match the IRIX 6.5 manual.
6466         Suggested by Bruno Haible in
6467         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
6468
6469 2011-02-17  Bruno Haible  <bruno@clisp.org>
6470
6471         havelib: Fix comments.
6472         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
6473         change.
6474
6475 2011-02-17  Bruno Haible  <bruno@clisp.org>
6476
6477         havelib: Update config.rpath.
6478         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
6479
6480 2011-02-17  Bruno Haible  <bruno@clisp.org>
6481
6482         getloadavg test: Add some plausibility checks.
6483         * tests/test-getloadavg.c (check_avg): Print a warning when the value
6484         is improbable.
6485
6486 2011-02-16  Eric Blake  <eblake@redhat.com>
6487
6488         maintainer-makefile: make syntax-check a no-op from tarballs
6489         * top/maint.mk (no-vc-detected): New rule.
6490         (local-checks-available): Use it to avoid hanging if someone tries
6491         'make syntax-check' from a tarball.  Also append to any non-syntax
6492         checks already defined in cfg.mk.
6493
6494 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
6495
6496         longlong: tune, particularly for common case of c99
6497
6498         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
6499         or running anything if c99, or if unsigned long long int does not
6500         work.  In either case, we know the answer without further tests.
6501         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
6502         it at most once, and use its results for both long long int and
6503         unsigned long long int.  This is more likely to be efficient in
6504         the common case where the program wants to check for both long
6505         long int and unsigned long long int.
6506         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
6507         since the answer is already known.
6508
6509 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
6510
6511         getloadavg: set errno
6512         * lib/getloadavg.c: Set errno when returning -1.  If no other
6513         error number looks appropriate, set it to ENOSYS if the getloadavg
6514         looks like it can't possibly ever work, ENOTSUP otherwise.
6515         Suggested by Bruno Haible in
6516         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
6517
6518         getloadavg: trim unused parts and speed up 'configure'
6519         * NEWS: Document this.
6520         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
6521         always compiled if getloadavg is absent.
6522         Move test code to ...
6523         * tests/test-getloadavg.c: New file, containing previous
6524         contents of test from lib/getloadavg.c.  It also contains
6525         suggestions by Bruno Haible in
6526         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
6527         * modules/getloadavg-tests: New file.
6528         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
6529         Do tests in the same order as they're needed for getloadavg.c.
6530         Omit setgid-related tests that generate symbols KMEM_GROUP,
6531         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
6532         Do only the tests that are needed to see whether the system has
6533         getloadavg, moving the other tests into ...
6534         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
6535         NLIST_NAME_UNION; nobody should be using it.  Do not define
6536         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
6537         relevant, as the user of this module shouldn't care how getloadavg
6538         is implemented.
6539
6540         getloadavg: omit unused var
6541         * lib/getloadavg.c (getloadavg): Omit unused local variable.
6542
6543 2011-02-15  Jim Meyering  <meyering@redhat.com>
6544
6545         doc: update users.txt
6546         * users.txt: Update iwhd's URL.
6547
6548 2011-02-13  Bruno Haible  <bruno@clisp.org>
6549
6550         Consistent macro naming for macros that use GCC __attribute__.
6551         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
6552         _ATTRIBUTE_NONNULL_.
6553         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
6554         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
6555         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
6556         ATTRIBUTE_DEPRECATED.
6557         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
6558         ATTRIBUTE_NORETURN.
6559         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
6560         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
6561         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
6562         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
6563         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
6564         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
6565         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
6566         ATTRIBUTE_SENTINEL.
6567         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
6568         ATTRIBUTE_RETURN_CHECK.
6569         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
6570         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
6571         ATTRIBUTE_NORETURN.
6572         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
6573         Reported by Paul Eggert.
6574
6575 2011-02-13  Bruno Haible  <bruno@clisp.org>
6576
6577         Don't interfere with a program's definition of __attribute__.
6578         * lib/argp.h (__attribute__): Remove definition.
6579         (_GL_ATTRIBUTE_FORMAT): New macro.
6580         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
6581         * lib/argp-fmtstream.h (__attribute__): Remove definition.
6582         (_GL_ATTRIBUTE_FORMAT): New macro.
6583         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
6584         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
6585         GCC 3 or newer.
6586         * lib/error.h (__attribute__): Remove definition.
6587         (_GL_ATTRIBUTE_FORMAT): New macro.
6588         (error, error_at_line): Use it.
6589         * lib/hash.h (__attribute__): Remove definition.
6590         (ATTRIBUTE_WUR): Update definition. Define always.
6591         * lib/openat.h (__attribute__): Remove definition.
6592         (ATTRIBUTE_NORETURN): Update definition. Define always.
6593         * lib/sigpipe-die.h (__attribute__): Remove definition.
6594         (ATTRIBUTE_NORETURN): Update definition. Define always.
6595         * lib/vasnprintf.h (__attribute__): Remove definition.
6596         (_GL_ATTRIBUTE_FORMAT): New macro.
6597         (asnprintf, vasnprintf): Use it.
6598         * lib/xalloc.h (__attribute__): Remove definition.
6599         (ATTRIBUTE_NORETURN): Update definition. Define always.
6600         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
6601         * lib/xmemdup0.h (__attribute__): Remove definition.
6602         (ATTRIBUTE_NORETURN): Update definition. Define always.
6603         * lib/xprintf.h (__attribute__): Remove definition.
6604         (_GL_ATTRIBUTE_FORMAT): New macro.
6605         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
6606         * lib/xstrtol.h (__attribute__): Remove definition.
6607         (ATTRIBUTE_NORETURN): Update definition. Define always.
6608         * lib/xvasprintf.h (__attribute__): Remove definition.
6609         (_GL_ATTRIBUTE_FORMAT): New macro.
6610         (xasprintf, xvasprintf): Use it.
6611         * tests/test-argmatch.c (__attribute__): Remove definition.
6612         (ATTRIBUTE_NORETURN): Update definition. Define always.
6613         * tests/test-exclude.c (__attribute__): Remove definition.
6614         (ATTRIBUTE_NORETURN): Update definition. Define always.
6615         Reported by Paul Eggert.
6616
6617 2011-02-13  Bruno Haible  <bruno@clisp.org>
6618
6619         mbrtowc: Add more tests for native Windows platforms.
6620         * tests/test-mbrtowc-w32-1.sh: New file.
6621         * tests/test-mbrtowc-w32-2.sh: New file.
6622         * tests/test-mbrtowc-w32-3.sh: New file.
6623         * tests/test-mbrtowc-w32-4.sh: New file.
6624         * tests/test-mbrtowc-w32-5.sh: New file.
6625         * tests/test-mbrtowc-w32.c: New file.
6626         * modules/mbrtowc-tests (Files): Add them.
6627         (Makefile.am): Arrange to run these tests.
6628         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
6629         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
6630
6631 2011-02-13  Bruno Haible  <bruno@clisp.org>
6632
6633         mbrtowc: Work around native Windows bug.
6634         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
6635         guess when no suitable locale for testing was found.
6636         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
6637
6638 2011-02-13  Bruno Haible  <bruno@clisp.org>
6639
6640         mbsinit: Work around mingw bug.
6641         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
6642         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
6643         Windows.
6644         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
6645
6646 2011-02-13  Bruno Haible  <bruno@clisp.org>
6647
6648         mbsinit: Don't crash for a NULL argument.
6649         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
6650         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
6651
6652 2011-02-13  Bruno Haible  <bruno@clisp.org>
6653
6654         Don't interfere with a program's definition of __attribute__.
6655         * lib/stdio.in.h (__attribute__): Remove definition.
6656         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
6657         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
6658         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
6659         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
6660         * lib/string.in.h (__attribute__): Remove definition.
6661         Reported by Paul Eggert.
6662
6663 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
6664
6665         stdlib: don't get in the way of non-GCC __attribute__
6666         See thread starting at
6667         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
6668         Revert previous stdlib change, installing the following instead:
6669         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
6670         to get in the way of a non-GCC compiler that supports __attribute__.
6671         (_GL_ATTRIBUTE_RETURN): New macro.
6672         (_Exit): Use it instead of __attribute__.
6673
6674 2011-02-12  Bruno Haible  <bruno@clisp.org>
6675
6676         quotearg test: Avoid test failure on mingw.
6677         * tests/test-quotearg.sh: Convert the locale identifier from native
6678         Windows syntax to Unix syntax.
6679
6680 2011-02-12  Bruno Haible  <bruno@clisp.org>
6681
6682         setlocale: Prefer gnulib's override over libintl's override.
6683         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
6684         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
6685         GNULIB_defined_setlocale is set.
6686
6687 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
6688
6689         stdlib: support non-GCC __attribute__
6690
6691         Fix a serious and tricky problem encountered when attempting to
6692         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
6693         5.5, but it crashed due to memory corruption on Solaris 10 with
6694         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
6695         bits that are otherwise zero.  This tagging is optional inside
6696         Emacs but is preferred and is used when __attribute__ ((__aligned
6697         (8))) works, as it does with both recent-enough GCC and with Sun C
6698         5.11.  However, Sun C 5.11 is not GCC and does not #define
6699         __GNUC__ and __GNUC_MINOR__.
6700
6701         When I added the getloadavg module to Emacs, it brought in
6702         stdlib.in.h, which contained this fragment:
6703
6704            #ifndef __attribute__
6705            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
6706            #  define __attribute__(Spec)   /* empty */
6707            # endif
6708            #endif
6709
6710         When files that include <stdlib.h> were compiled with Sun C 5.11,
6711         the above code disabled __attribute__ ((__aligned (8))), which
6712         caused variables to not be properly aligned, which eventually led
6713         to the pointer corruption mentioned above.  (This was a bit hard
6714         to diagnose, unfortunately.)
6715
6716         Several "#define __attribute__(X) /* empty */" code snippets need
6717         to be eradicated from Gnulib to work with non-GCC compilers that
6718         support __attribute__.  The Autoconf way to do this is to test for
6719         each kind of attribute that we want support for, and selectively
6720         enable that in source code.
6721
6722         Fix this problem just for stdlib.h, by adding a test for the
6723         __noreturn__ attribute, and change stdlib.in.h to use that test
6724         when needed.  This technique can be easily generalized to the
6725         other *.in.h files and attributes, and a similar technique can be
6726         used for *.h and *.c files.  This patch is enough to solve the
6727         problem for Emacs + getloadavg, and I thought I'd publish it for
6728         feedback before undertaking further, similar fixes in other
6729         modules.
6730
6731         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
6732         because it's not needed for stdlib.h.  It merely substitutes the
6733         value directly into stdlib.h.  We may well need to #define it, or
6734         similar symbols, for other modules, but it's nice to also have an
6735         option to not #define it for applications like Emacs that do not
6736         need it.
6737
6738         * lib/stdlib.in.h (__attribute__): Do not #define.
6739         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
6740         be defined only if the _Exit module is also used.
6741         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
6742         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
6743         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
6744         platforms.
6745         * modules/_Exit (Files): Add m4/attribute.m4.
6746         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
6747         * m4/attribute.m4: New file.
6748
6749 2011-02-12  Bruno Haible  <bruno@clisp.org>
6750
6751         wcsrtombs: Work around bug on native Windows.
6752         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
6753         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
6754         instead of len.
6755         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
6756
6757 2011-02-12  Bruno Haible  <bruno@clisp.org>
6758
6759         mbsrtowcs: Work around bug on native Windows.
6760         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
6761         against mingw bug.
6762         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
6763
6764 2011-02-12  Bruno Haible  <bruno@clisp.org>
6765
6766         Avoid setlocale bugs in tests.
6767         * modules/btowc (Dependencies): Add setlocale.
6768         * modules/c-strcase (Dependencies): Likewise.
6769         * modules/mbmemcasecmp (Dependencies): Likewise.
6770         * modules/mbmemcasecoll (Dependencies): Likewise.
6771         * modules/mbrtowc (Dependencies): Likewise.
6772         * modules/mbscasecmp (Dependencies): Likewise.
6773         * modules/mbscasestr (Dependencies): Likewise.
6774         * modules/mbschr (Dependencies): Likewise.
6775         * modules/mbscspn (Dependencies): Likewise.
6776         * modules/mbsinit (Dependencies): Likewise.
6777         * modules/mbsncasecmp (Dependencies): Likewise.
6778         * modules/mbsnrtowcs (Dependencies): Likewise.
6779         * modules/mbspbrk (Dependencies): Likewise.
6780         * modules/mbspcasecmp (Dependencies): Likewise.
6781         * modules/mbsrchr (Dependencies): Likewise.
6782         * modules/mbsrtowcs (Dependencies): Likewise.
6783         * modules/mbsspn (Dependencies): Likewise.
6784         * modules/mbsstr (Dependencies): Likewise.
6785         * modules/nl_langinfo (Dependencies): Likewise.
6786         * modules/quotearg (Dependencies): Likewise.
6787         * modules/unicase/locale-language (Dependencies): Likewise.
6788         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
6789         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
6790         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
6791         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
6792         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
6793         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
6794         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
6795         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
6796         * modules/vasnprintf-posix (Dependencies): Likewise.
6797         * modules/wcrtomb (Dependencies): Likewise.
6798         * modules/wcsnrtombs (Dependencies): Likewise.
6799         * modules/wcsrtombs (Dependencies): Likewise.
6800
6801 2011-02-12  Bruno Haible  <bruno@clisp.org>
6802
6803         setlocale: Workaround native Windows bug.
6804         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
6805         succeeds but sets LC_CTYPE to "C", report a failure.
6806         * tests/test-setlocale2.sh: New file.
6807         * tests/test-setlocale2.c: New file.
6808         * modules/setlocale-tests (Files): Add the new files.
6809         (Makefile.am): Enable test-setlocale2.sh test.
6810         * doc/posix-functions/setlocale.texi: Mention workaround.
6811
6812 2011-02-11  Bruno Haible  <bruno@clisp.org>
6813
6814         Tests for module 'setlocale'.
6815         * modules/setlocale-tests: New file.
6816         * tests/test-setlocale1.sh: New file.
6817         * tests/test-setlocale1.c: New file.
6818
6819         New module 'setlocale'.
6820         * lib/locale.in.h (setlocale): New declaration.
6821         * lib/setlocale.c: New file, based on
6822         gettext/gettext-runtime/intl/setlocale.c.
6823         * m4/setlocale.m4: New file.
6824         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
6825         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
6826         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
6827         REPLACE_SETLOCALE.
6828         * modules/setlocale: New file.
6829         * tests/test-locale-c++.cc: Test the declaration of setlocale.
6830         * doc/posix-functions/setlocale.texi: Mention the new module.
6831
6832 2011-02-11  Bruno Haible  <bruno@clisp.org>
6833
6834         Prepare for locale dependent tests on mingw.
6835         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
6836         because it has the wrong locale encoding.
6837         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
6838         French_France.1252 instead of "fr".
6839         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
6840         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
6841         because it has the wrong locale encoding.
6842         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
6843         native Windows, try Turkish_Turkey.65001.
6844         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
6845         Chinese_China.54936.
6846
6847         Prepare for locale dependent tests on mingw.
6848         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
6849         differently.
6850         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
6851         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
6852         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
6853         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
6854
6855 2011-02-11  Eric Blake  <eblake@redhat.com>
6856
6857         strptime: avoid compiler warnings
6858         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
6859         compiler warnings about dead code.
6860         Reported by Daniel P. Berrange.
6861
6862 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
6863
6864         doc: update users.txt
6865         * users.txt: Add rcs.
6866
6867 2011-02-10  John W. Eaton  <jwe@gnu.org>
6868
6869         doc: update users.txt
6870         * users.txt: Add octave.
6871
6872 2011-02-10  Jim Meyering  <meyering@redhat.com>
6873
6874         doc: update users.txt
6875         * users.txt: Add iwhd.
6876
6877 2011-02-09  Bruno Haible  <bruno@clisp.org>
6878
6879         gnulib-tool: Make copyright notice adjustment more robust.
6880         * gnulib-tool (func_import): In sed_transform_main_lib_file,
6881         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
6882         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
6883         License".
6884         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
6885
6886 2011-02-06  Bruno Haible  <bruno@clisp.org>
6887
6888         New module 'towctrans'.
6889         * modules/towctrans: New file.
6890         * lib/wctype.in.h (towctrans): New declaration.
6891         * lib/towctrans.c: New file.
6892         * lib/towctrans-impl.h: New file.
6893         * m4/towctrans.m4: New file.
6894         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
6895         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
6896         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
6897         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
6898         * doc/posix-functions/towctrans.texi: Mention the new module.
6899
6900 2011-02-06  Bruno Haible  <bruno@clisp.org>
6901
6902         New module 'wctrans'.
6903         * modules/wctrans: New file.
6904         * lib/wctype.in.h (wctrans): New declaration.
6905         * lib/wctrans.c: New file.
6906         * lib/wctrans-impl.h: New file.
6907         * m4/wctrans.m4: New file.
6908         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
6909         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
6910         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
6911         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
6912         * doc/posix-functions/wctrans.texi: Mention the new module.
6913
6914 2011-02-06  Bruno Haible  <bruno@clisp.org>
6915
6916         New module 'iswctype'.
6917         * modules/iswctype: New file.
6918         * lib/wctype.in.h (iswctype): New declaration.
6919         * lib/iswctype.c: New file.
6920         * lib/iswctype-impl.h: New file.
6921         * m4/iswctype.m4: New file.
6922         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
6923         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
6924         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
6925         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
6926         * doc/posix-functions/iswctype.texi: Mention the new module and the
6927         HP-UX 11.00 problem.
6928
6929 2011-02-06  Bruno Haible  <bruno@clisp.org>
6930
6931         New module 'wctype'.
6932         * modules/wctype: Change to represent the wctype() substitute.
6933         * lib/wctype.in.h (wctype): New declaration.
6934         * lib/wctype.c: New file.
6935         * lib/wctype-impl.h: New file.
6936         * m4/wctype.m4: New file.
6937         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
6938         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
6939         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
6940         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
6941         * doc/posix-functions/wctype.texi: Mention the new module and the
6942         HP-UX 11.00 problem.
6943
6944 2011-02-06  Bruno Haible  <bruno@clisp.org>
6945
6946         wctype-h: Ensure wctype_t and wctrans_t are defined.
6947         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
6948         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
6949         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
6950         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
6951         HAVE_WCTRANS_T.
6952         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
6953
6954 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
6955
6956         flock: fix license typo
6957
6958         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
6959         omitted.
6960
6961 2011-02-08  Bruno Haible  <bruno@clisp.org>
6962
6963         Split large sed scripts, for HP-UX sed.
6964         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
6965         to avoid HP-UX limit of 99 commands, in the near future.
6966         * modules/stdlib (Makefile.am): Likewise.
6967         * modules/unistd (Makefile.am): Likewise.
6968         * modules/wchar (Makefile.am): Likewise.
6969         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
6970         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
6971         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
6972
6973 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
6974             Bruno Haible  <bruno@clisp.org>
6975
6976         stdlib: improve random_r modularization
6977         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
6978         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
6979         you also need the random_r module to get this material right.
6980         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
6981         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
6982         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
6983
6984 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
6985
6986         stdlib: don't depend on stdint
6987         * lib/stdlib.in.h: Don't include <stdint.h> merely because
6988         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
6989         be independent of whether stdint.h is needed.
6990         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
6991         here, instead of ...
6992         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
6993         struct random_data should be using the random_r module, not just
6994         the stdlib module (which wouldn't make sense: what package needs
6995         just struct random_data without also needing random_r?).
6996         * modules/stdlib (Depends-on): Remove stdint.
6997
6998         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
6999         See the thread rooted at
7000         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
7001         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
7002         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
7003         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
7004         __VMS)); previously it was always included (via fcntl--.h).
7005         (getloadavg): Do not use c_strtod.  Instead, approximate it by
7006         hand; this is good enough for load averages.  Also, do not use
7007         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
7008         flags directly if available and don't bother otherwise.  (Packages
7009         that need the extra reliability should use the modules that define
7010         these flags on older platforms that lack them.)
7011         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
7012         fcntl-safer.
7013
7014 2011-02-08  Jim Meyering  <meyering@redhat.com>
7015
7016         di-set.h, ino-map.h: add multiple-inclusion guard
7017         Technically, the guard is required only for ino-map.h, due to its
7018         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
7019         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
7020         * lib/ino-map.h: Likewise.
7021
7022 2011-02-06  Bruno Haible  <bruno@clisp.org>
7023
7024         iswblank: Ensure declaration on glibc systems.
7025         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
7026         * modules/iswblank (Dependencies): Add 'extensions'.
7027         * doc/posix-functions/iswblank.texi: Document the glibc problem.
7028
7029 2011-02-06  Bruno Haible  <bruno@clisp.org>
7030
7031         New module 'iswblank'.
7032         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
7033         * modules/iswblank: New file.
7034         * modules/wctype-h (Files): Remove lib/iswblank.c.
7035         (Makefile.am): Substitute GNULIB_ISWBLANK.
7036         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
7037         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
7038         (gl_WCTYPE_H_DEFAULTS): New macro.
7039         (gl_WCTYPE_H): Require it. Remove iswblank related code.
7040         * modules/iswblank-tests: New file.
7041         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
7042         * tests/test-wctype-h.c (main): Remove iswblank tests.
7043         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
7044         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
7045         of 'wctype-h'.
7046         * NEWS: Mention the change.
7047         * modules/mbchar (Depends-on): Add iswblank.
7048
7049 2011-02-08  Bruno Haible  <bruno@clisp.org>
7050
7051         di-set tests: Refactor.
7052         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
7053         unnecessary includes.
7054         (ASSERT): Remove macro.
7055         (main): Make C90 compliant by avoiding variable declaration after
7056         statement.
7057         * modules/di-set-tests (Files): Add tests/macros.h.
7058
7059 2011-02-08  Bruno Haible  <bruno@clisp.org>
7060
7061         ino-map tests: Refactor.
7062         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
7063         unnecessary includes.
7064         (ASSERT): Remove macro.
7065         (main): Make C90 compliant by avoiding variable declaration after
7066         statement.
7067         * modules/ino-map-tests (Files): Add tests/macros.h.
7068
7069 2011-02-08  Jim Meyering  <meyering@redhat.com>
7070
7071         di-set: add "const" to a cast
7072         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
7073         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
7074
7075 2011-02-06  Bruno Haible  <bruno@clisp.org>
7076
7077         Rename module 'wctype' to 'wctype-h'.
7078         * modules/wctype-h: Renamed from modules/wctype.
7079         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
7080         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
7081         (Files, Depends-on, Makefile.am): Update.
7082         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
7083         (Files, Makefile.am): Update.
7084         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
7085         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
7086         * doc/posix-headers/wctype.texi: Update.
7087         * doc/posix-functions/iswalnum.texi: Update.
7088         * doc/posix-functions/iswalpha.texi: Update.
7089         * doc/posix-functions/iswblank.texi: Update.
7090         * doc/posix-functions/iswcntrl.texi: Update.
7091         * doc/posix-functions/iswdigit.texi: Update.
7092         * doc/posix-functions/iswgraph.texi: Update.
7093         * doc/posix-functions/iswlower.texi: Update.
7094         * doc/posix-functions/iswprint.texi: Update.
7095         * doc/posix-functions/iswpunct.texi: Update.
7096         * doc/posix-functions/iswspace.texi: Update.
7097         * doc/posix-functions/iswupper.texi: Update.
7098         * doc/posix-functions/iswxdigit.texi: Update.
7099         * doc/posix-functions/towlower.texi: Update.
7100         * doc/posix-functions/towupper.texi: Update.
7101         * NEWS: Mention the change.
7102         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
7103         * modules/mbchar (Dependencies): Likewise.
7104         * modules/mbswidth (Dependencies): Likewise.
7105         * modules/quotearg (Dependencies): Likewise.
7106         * modules/regex (Dependencies): Likewise.
7107         * modules/wcscasecmp (Dependencies): Likewise.
7108         * modules/wcsncasecmp (Dependencies): Likewise.
7109         * modules/wcwidth (Dependencies): Likewise.
7110
7111 2011-02-06  Bruno Haible  <bruno@clisp.org>
7112
7113         New module 'wcswidth'.
7114         * modules/wcswidth: New file.
7115         * lib/wchar.in.h (wcswidth): New declaration.
7116         * lib/wcswidth.c: New file.
7117         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
7118         * m4/wcswidth.m4: New file.
7119         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
7120         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
7121         REPLACE_WCSWIDTH.
7122         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
7123         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
7124         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
7125         * doc/posix-functions/wcswidth.texi: Mention the new module.
7126
7127 2011-02-06  Bruno Haible  <bruno@clisp.org>
7128
7129         New module 'wcstok'.
7130         * modules/wcstok: New file.
7131         * lib/wchar.in.h (wcstok): New declaration.
7132         * lib/wcstok.c: New file.
7133         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
7134         * m4/wcstok.m4: New file.
7135         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
7136         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
7137         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
7138         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
7139         * doc/posix-functions/wcstok.texi: Mention the new module.
7140
7141 2011-02-06  Bruno Haible  <bruno@clisp.org>
7142
7143         New module 'wcsstr'.
7144         * modules/wcsstr: New file.
7145         * lib/wchar.in.h (wcsstr): New declaration.
7146         * lib/wcsstr.c: New file.
7147         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
7148         * m4/wcsstr.m4: New file.
7149         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
7150         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
7151         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
7152         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
7153         * doc/posix-functions/wcsstr.texi: Mention the new module.
7154
7155 2011-02-06  Bruno Haible  <bruno@clisp.org>
7156
7157         New module 'wcspbrk'.
7158         * modules/wcspbrk: New file.
7159         * lib/wchar.in.h (wcspbrk): New declaration.
7160         * lib/wcspbrk.c: New file.
7161         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
7162         * m4/wcspbrk.m4: New file.
7163         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
7164         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
7165         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
7166         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
7167         * doc/posix-functions/wcspbrk.texi: Mention the new module.
7168
7169 2011-02-06  Bruno Haible  <bruno@clisp.org>
7170
7171         New module 'wcsspn'.
7172         * modules/wcsspn: New file.
7173         * lib/wchar.in.h (wcsspn): New declaration.
7174         * lib/wcsspn.c: New file.
7175         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
7176         * m4/wcsspn.m4: New file.
7177         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
7178         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
7179         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
7180         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
7181         * doc/posix-functions/wcsspn.texi: Mention the new module.
7182
7183 2011-02-06  Bruno Haible  <bruno@clisp.org>
7184
7185         New module 'wcscspn'.
7186         * modules/wcscspn: New file.
7187         * lib/wchar.in.h (wcscspn): New declaration.
7188         * lib/wcscspn.c: New file.
7189         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
7190         * m4/wcscspn.m4: New file.
7191         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
7192         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
7193         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
7194         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
7195         * doc/posix-functions/wcscspn.texi: Mention the new module.
7196
7197 2011-02-06  Bruno Haible  <bruno@clisp.org>
7198
7199         New module 'wcsrchr'.
7200         * modules/wcsrchr: New file.
7201         * lib/wchar.in.h (wcsrchr): New declaration.
7202         * lib/wcsrchr.c: New file.
7203         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
7204         * m4/wcsrchr.m4: New file.
7205         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
7206         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
7207         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
7208         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
7209         * doc/posix-functions/wcsrchr.texi: Mention the new module.
7210
7211 2011-02-06  Bruno Haible  <bruno@clisp.org>
7212
7213         New module 'wcschr'.
7214         * modules/wcschr: New file.
7215         * lib/wchar.in.h (wcschr): New declaration.
7216         * lib/wcschr.c: New file.
7217         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
7218         * m4/wcschr.m4: New file.
7219         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
7220         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
7221         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
7222         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
7223         * doc/posix-functions/wcschr.texi: Mention the new module.
7224
7225 2011-02-06  Bruno Haible  <bruno@clisp.org>
7226
7227         New module 'wcsdup'.
7228         * modules/wcsdup: New file.
7229         * lib/wchar.in.h (wcsdup): New declaration.
7230         * lib/wcsdup.c: New file.
7231         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
7232         * m4/wcsdup.m4: New file.
7233         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
7234         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
7235         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
7236         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
7237         * doc/posix-functions/wcsdup.texi: Mention the new module.
7238
7239 2011-02-06  Bruno Haible  <bruno@clisp.org>
7240
7241         New module 'wcsxfrm'.
7242         * modules/wcsxfrm: New file.
7243         * lib/wchar.in.h (wcsxfrm): New declaration.
7244         * lib/wcsxfrm.c: New file.
7245         * lib/wcsxfrm-impl.h: New file.
7246         * m4/wcsxfrm.m4: New file.
7247         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
7248         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
7249         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
7250         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
7251         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
7252
7253 2011-02-06  Bruno Haible  <bruno@clisp.org>
7254
7255         New module 'wcscoll'.
7256         * modules/wcscoll: New file.
7257         * lib/wchar.in.h (wcscoll): New declaration.
7258         * lib/wcscoll.c: New file.
7259         * lib/wcscoll-impl.h: New file.
7260         * m4/wcscoll.m4: New file.
7261         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
7262         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
7263         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
7264         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
7265         * doc/posix-functions/wcscoll.texi: Mention the new module.
7266
7267 2011-02-06  Bruno Haible  <bruno@clisp.org>
7268
7269         New module 'wcsncasecmp'.
7270         * modules/wcsncasecmp: New file.
7271         * lib/wchar.in.h (wcsncasecmp): New declaration.
7272         * lib/wcsncasecmp.c: New file.
7273         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
7274         * m4/wcsncasecmp.m4: New file.
7275         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
7276         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
7277         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
7278         HAVE_WCSNCASECMP.
7279         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
7280         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
7281
7282 2011-02-06  Bruno Haible  <bruno@clisp.org>
7283
7284         New module 'wcscasecmp'.
7285         * modules/wcscasecmp: New file.
7286         * lib/wchar.in.h (wcscasecmp): New declaration.
7287         * lib/wcscasecmp.c: New file.
7288         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
7289         * m4/wcscasecmp.m4: New file.
7290         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
7291         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
7292         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
7293         HAVE_WCSCASECMP.
7294         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
7295         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
7296
7297 2011-02-05  Bruno Haible  <bruno@clisp.org>
7298
7299         New module 'wcsncmp'.
7300         * modules/wcsncmp: New file.
7301         * lib/wchar.in.h (wcsncmp): New declaration.
7302         * lib/wcsncmp.c: New file.
7303         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
7304         * m4/wcsncmp.m4: New file.
7305         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
7306         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
7307         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
7308         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
7309         * doc/posix-functions/wcsncmp.texi: Mention the new module.
7310
7311 2011-02-05  Bruno Haible  <bruno@clisp.org>
7312
7313         New module 'wcscmp'.
7314         * modules/wcscmp: New file.
7315         * lib/wchar.in.h (wcscmp): New declaration.
7316         * lib/wcscmp.c: New file.
7317         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
7318         * m4/wcscmp.m4: New file.
7319         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
7320         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
7321         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
7322         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
7323         * doc/posix-functions/wcscmp.texi: Mention the new module.
7324
7325 2011-02-05  Bruno Haible  <bruno@clisp.org>
7326
7327         New module 'wcsncat'.
7328         * modules/wcsncat: New file.
7329         * lib/wchar.in.h (wcsncat): New declaration.
7330         * lib/wcsncat.c: New file.
7331         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
7332         * m4/wcsncat.m4: New file.
7333         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
7334         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
7335         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
7336         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
7337         * doc/posix-functions/wcsncat.texi: Mention the new module.
7338
7339 2011-02-05  Bruno Haible  <bruno@clisp.org>
7340
7341         New module 'wcscat'.
7342         * modules/wcscat: New file.
7343         * lib/wchar.in.h (wcscat): New declaration.
7344         * lib/wcscat.c: New file.
7345         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
7346         * m4/wcscat.m4: New file.
7347         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
7348         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
7349         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
7350         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
7351         * doc/posix-functions/wcscat.texi: Mention the new module.
7352
7353 2011-02-05  Bruno Haible  <bruno@clisp.org>
7354
7355         New module 'wcpncpy'.
7356         * modules/wcpncpy: New file.
7357         * lib/wchar.in.h (wcpncpy): New declaration.
7358         * lib/wcpncpy.c: New file.
7359         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
7360         * m4/wcpncpy.m4: New file.
7361         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
7362         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
7363         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
7364         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
7365         * doc/posix-functions/wcpncpy.texi: Mention the new module.
7366
7367 2011-02-05  Bruno Haible  <bruno@clisp.org>
7368
7369         New module 'wcsncpy'.
7370         * modules/wcsncpy: New file.
7371         * lib/wchar.in.h (wcsncpy): New declaration.
7372         * lib/wcsncpy.c: New file.
7373         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
7374         * m4/wcsncpy.m4: New file.
7375         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
7376         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
7377         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
7378         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
7379         * doc/posix-functions/wcsncpy.texi: Mention the new module.
7380
7381 2011-02-05  Bruno Haible  <bruno@clisp.org>
7382
7383         New module 'wcpcpy'.
7384         * modules/wcpcpy: New file.
7385         * lib/wchar.in.h (wcpcpy): New declaration.
7386         * lib/wcpcpy.c: New file.
7387         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
7388         * m4/wcpcpy.m4: New file.
7389         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
7390         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
7391         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
7392         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
7393         * doc/posix-functions/wcpcpy.texi: Mention the new module.
7394
7395 2011-02-05  Bruno Haible  <bruno@clisp.org>
7396
7397         New module 'wcscpy'.
7398         * modules/wcscpy: New file.
7399         * lib/wchar.in.h (wcscpy): New declaration.
7400         * lib/wcscpy.c: New file.
7401         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
7402         * m4/wcscpy.m4: New file.
7403         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
7404         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
7405         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
7406         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
7407         * doc/posix-functions/wcscpy.texi: Mention the new module.
7408
7409 2011-02-05  Bruno Haible  <bruno@clisp.org>
7410
7411         New module 'wcsnlen'.
7412         * modules/wcsnlen: New file.
7413         * lib/wchar.in.h (wcsnlen): New declaration.
7414         * lib/wcsnlen.c: New file.
7415         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
7416         * m4/wcsnlen.m4: New file.
7417         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
7418         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
7419         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
7420         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
7421         * doc/posix-functions/wcsnlen.texi: Mention the new module.
7422
7423 2011-02-05  Bruno Haible  <bruno@clisp.org>
7424
7425         New module 'wcslen'.
7426         * modules/wcslen: New file.
7427         * lib/wchar.in.h (wcslen): New declaration.
7428         * lib/wcslen.c: New file.
7429         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
7430         * m4/wcslen.m4: New file.
7431         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
7432         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
7433         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
7434         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
7435         * doc/posix-functions/wcslen.texi: Mention the new module.
7436
7437 2011-02-05  Bruno Haible  <bruno@clisp.org>
7438
7439         New module 'wmemset'.
7440         * modules/wmemset: New file.
7441         * lib/wchar.in.h (wmemset): New declaration.
7442         * lib/wmemset.c: New file.
7443         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
7444         * m4/wmemset.m4: New file.
7445         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
7446         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
7447         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
7448         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
7449         * doc/posix-functions/wmemset.texi: Mention the new module.
7450
7451 2011-02-05  Bruno Haible  <bruno@clisp.org>
7452
7453         New module 'wmemmove'.
7454         * modules/wmemmove: New file.
7455         * lib/wchar.in.h (wmemmove): New declaration.
7456         * lib/wmemmove.c: New file.
7457         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
7458         * m4/wmemmove.m4: New file.
7459         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
7460         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
7461         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
7462         HAVE_WMEMMOVE.
7463         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
7464         * doc/posix-functions/wmemmove.texi: Mention the new module.
7465
7466 2011-02-05  Bruno Haible  <bruno@clisp.org>
7467
7468         New module 'wmemcpy'.
7469         * modules/wmemcpy: New file.
7470         * lib/wchar.in.h (wmemcpy): New declaration.
7471         * lib/wmemcpy.c: New file.
7472         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
7473         * m4/wmemcpy.m4: New file.
7474         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
7475         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
7476         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
7477         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
7478         * doc/posix-functions/wmemcpy.texi: Mention the new module.
7479
7480 2011-02-05  Bruno Haible  <bruno@clisp.org>
7481
7482         New module 'wmemcmp'.
7483         * modules/wmemcmp: New file.
7484         * lib/wchar.in.h (wmemcmp): New declaration.
7485         * lib/wmemcmp.c: New file.
7486         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
7487         * m4/wmemcmp.m4: New file.
7488         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
7489         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
7490         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
7491         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
7492         * doc/posix-functions/wmemcmp.texi: Mention the new module.
7493
7494 2011-02-07  Jim Meyering  <meyering@redhat.com>
7495
7496         di-set, ino-map: new modules, from coreutils
7497         * lib/di-set.c: New file.
7498         * lib/di-set.h: Likewise.
7499         * lib/ino-map.c: Likewise.
7500         * lib/ino-map.h: Likewise.
7501         * modules/di-set: Likewise.
7502         * modules/di-set-tests: Likewise.
7503         * modules/ino-map: Likewise.
7504         * modules/ino-map-tests: Likewise.
7505         * tests/test-di-set.c: Likewise.
7506         * tests/test-ino-map.c: Likewise.
7507
7508 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
7509
7510         getloadavg: merge minor changes from Emacs
7511
7512         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
7513         (getloadavg): Use memset, not bzero.
7514
7515         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
7516         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
7517         clash (bug#86).
7518
7519 2010-11-14  Bruno Haible  <bruno@clisp.org>
7520
7521         Allow multiple gnulib generated replacements to coexist.
7522         * lib/getopt.in.h (struct option): Avoid identical redefinition.
7523         * lib/inttypes.in.h (imaxdiv_t): Likewise.
7524         * lib/langinfo.in.h (nl_item): Likewise.
7525         * lib/math.in.h (_NaN, NAN): Likewise.
7526         * lib/netdb.in.h (struct addrinfo): Likewise.
7527         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
7528         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
7529         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
7530         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
7531         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
7532         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
7533         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
7534         pthread_mutexattr_init, pthread_mutexattr_settype,
7535         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
7536         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
7537         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
7538         pthread_spin_trylock, pthread_spin_unlock): Likewise.
7539         * lib/sched.in.h (struct sched_param): Likewise.
7540         * lib/se-selinux.in.h (security_class_t, security_context_t,
7541         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
7542         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
7543         lsetfilecon, fsetfilecon, security_check_context,
7544         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
7545         Likewise.
7546         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
7547         Likewise.
7548         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
7549         _gl_function_taking_int_returning_void_t, union sigval,
7550         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
7551         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
7552         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
7553         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
7554         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
7555         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
7556         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
7557         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
7558         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
7559         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
7560         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
7561         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
7562         socklen_t, rpl_fd_isset): Likewise.
7563         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
7564         * lib/sys_time.in.h (struct timeval): Likewise.
7565         * lib/sys_times.in.h (struct tms): Likewise.
7566         * lib/sys_utsname.in.h (struct utsname):
7567         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
7568         * lib/unistd.in.h (getpagesize): Likewise.
7569         * lib/wchar.in.h (mbstate_t): Likewise.
7570         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
7571         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
7572         towlower, towupper): Likewise.
7573         Reported by Sam Steingold <sds@gnu.org>.
7574
7575 2011-02-05  Eric Blake  <eblake@redhat.com>
7576
7577         unsetenv: work around Haiku issues
7578         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
7579         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
7580
7581 2010-12-30  Bruce Korb  <bkorb@gnu.org>
7582
7583         libposix: avoid calling error() within libposix
7584         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
7585         is defined.
7586
7587 2011-02-05  Eric Blake  <eblake@redhat.com>
7588
7589         strerror_r-posix: port to cygwin
7590         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
7591         implementation.
7592         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
7593         * tests/test-strerror_r.c (main): Fix test.
7594         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
7595         issue.
7596
7597 2011-02-05  Bruno Haible  <bruno@clisp.org>
7598
7599         New module 'wmemchr'.
7600         * modules/wmemchr: New file.
7601         * lib/wchar.in.h (wmemchr): New declaration.
7602         * lib/wmemchr.c: New file.
7603         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
7604         * m4/wmemchr.m4: New file.
7605         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
7606         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
7607         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
7608         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
7609         * doc/posix-functions/wmemchr.texi: Mention the new module.
7610
7611 2011-02-04  Eric Blake  <eblake@redhat.com>
7612
7613         fdopendir: detect FreeBSD bug
7614         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
7615         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
7616
7617 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
7618
7619         stdbool: do not define HAVE_STDBOOL_H
7620         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
7621         AC_HEADER_STDBOOL.  All uses changed.  Do not define
7622         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
7623         imported from the latest Autoconf git.  It was motivated by Emacs,
7624         which uses gnulib but does not need HAVE_STDBOOL_H.
7625
7626 2011-02-04  Bruno Haible  <bruno@clisp.org>
7627
7628         wcsnrtombs: Prepare for new module wwcsnrtombs.
7629         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
7630         * lib/wcsnrtombs.c: Include it.
7631         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
7632
7633         wcsrtombs: Prepare for new module wwcsrtombs.
7634         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
7635         * lib/wcsrtombs.c: Include it.
7636         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
7637
7638         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
7639         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
7640         * lib/mbsnrtowcs.c: Include it.
7641         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
7642
7643         mbsrtowcs: Prepare for new module mbsrtowwcs.
7644         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
7645         * lib/mbsrtowcs.c: Include it.
7646         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
7647
7648 2011-02-04  Bruno Haible  <bruno@clisp.org>
7649
7650         vasnprintf: Reduce use of malloc for small format strings.
7651         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
7652         (arguments): Add room for the first 7 arguments.
7653         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
7654         (char_directives, u8_directives, u16_directives, u32_directives): Add
7655         room for the first 7 directives.
7656         * lib/printf-parse.c: Include <string.h>.
7657         (PRINTF_PARSE): Change memory handling code so that it uses the first
7658         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
7659         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
7660         Reported by Pádraig Brady <P@draigbrady.com>.
7661
7662 2011-01-31  Eric Blake  <eblake@redhat.com>
7663
7664         dup2: work around Haiku bug
7665         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
7666         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
7667         * doc/posix-functions/dup2.texi (dup2): Document the bug.
7668         * tests/test-dup2.c (main): Enhance test.
7669
7670 2011-01-31  Simon Josefsson  <simon@josefsson.org>
7671
7672         doc: off_t is not available in eglibc 2.11.2 stdio.h.
7673         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
7674         declared by eglibc 2.11.2.
7675         * lib/stdio.in.h: Likewise.
7676
7677 2011-01-31  Eric Blake  <eblake@redhat.com>
7678
7679         ignore-value: add missing test dependency
7680         * tests/test-ignore-value.c: Revert previous change; stdio.h
7681         provides off_t.
7682         * modules/ignore-value-tests (Depends-on): Add missing dependency.
7683
7684 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
7685
7686         mktime: clarify long_int width checking
7687         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
7688         the top level, to make it clearer that the assumption about
7689         long_int width is being checked.  See
7690         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
7691
7692 2011-01-30  Simon Josefsson  <simon@josefsson.org>
7693
7694         ignore-value: Fix self-test.
7695         * tests/test-ignore-value.c: Include sys/types.h for off_t.
7696
7697 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
7698
7699         TYPE_MAXIMUM: avoid theoretically undefined behavior
7700         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
7701         negative number, which the C Standard says has undefined behavior.
7702         In practice this is not a problem, but might as well do it by the book.
7703         Reported by Rich Felker and Eric Blake; see
7704         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
7705         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
7706         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
7707         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
7708         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
7709         * m4/stdint.m4 (gl_STDINT_H): Likewise.
7710         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
7711
7712         mktime: #undef mktime before #defining it
7713         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
7714
7715         mktime: systematically normalize tm_isdst comparisons
7716         * lib/mktime.c (isdst_differ): New function.
7717         (__mktime_internal): Use it systematically for all isdst comparisons.
7718         This completes the fix for libc BZ #6723, and removes the need for
7719         normalizing tm_isdst.  See
7720         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
7721         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
7722
7723         mktime: fix some integer overflow issues and sidestep the rest
7724
7725         This was prompted by a bug report by Benjamin Lindner for MinGW
7726         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
7727         His bug is due to signed integer overflow (0 - INT_MIN), and I
7728         I scanned through mktime.c looking for other integer overflow
7729         problems, fixing all the bugs I found.
7730
7731         Although the C Standard says the resulting code is still not safe
7732         in the presence of integer overflow, in practice it should be good
7733         enough for all real-world two's-complement implementations, except
7734         for debugging environments that deliberately trap on integer
7735         overflow (e.g., gcc -ftrapv).
7736
7737         * lib/mktime.c (WRAPV): New macro.
7738         (SHR): Also check that long_int and time_t shift right in the
7739         usual way, before using the fast-but-unportable method.
7740         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
7741         used.  The code already assumed two's complement, so there's
7742         no need to test for alternatives.  All uses removed.
7743         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
7744         the C standard.  Problem reported by Rich Felker in
7745         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
7746         (twos_complement_arithmetic): Also check long_int and time_t.
7747         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
7748         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
7749         (__mktime_internal): Avoid integer overflow with unary subtraction
7750         in two instances where -1 - X is an adequate replacement for -X,
7751         since the calculations are approximate.
7752
7753 2011-01-29  Eric Blake  <eblake@redhat.com>
7754
7755         mktime: avoid infinite loop
7756         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
7757         type; behavior is still undefined but portable to all known targets.
7758         Reported by Rich Felker.
7759
7760 2011-01-29  Simon Josefsson  <simon@josefsson.org>
7761
7762         rename, unlink, same-inode: Relicense.
7763         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
7764         * modules/unlink (License): Likewise.
7765         * modules/same-inode (License): Likewise.
7766
7767 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
7768
7769         mktime: avoid problems on NetBSD 5 / i386
7770         * lib/mktime.c (long_int): New type.  This works around a problem
7771         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
7772         but time_t is 64 bits, and where I expect the existing code is
7773         wrong in some cases.
7774         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
7775         (ydhms_diff): Bring back the compile-time check for wide-enough
7776         year and yday.
7777
7778         mktime: fix misspelling in comment
7779         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
7780         This merges all recent glibc changes of importance.
7781
7782 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7783
7784         move-if-change: cope with concurrent mv of identical file.
7785         * build-aux/move-if-change (CMPPROG): Accept environment
7786         variable as an override for `cmp'.
7787         (usage): Document CMPPROG.
7788         Adjust comparison to drop stdout.  Cope with failure of mv if
7789         the target file exists and is identical to the source, for
7790         parallel builds.
7791         Report from H.J. Lu against binutils in PR binutils/12283.
7792
7793 2011-01-28  Bruce Korb  <bkorb@gnu.org>
7794
7795         * users.txt: Mention sharutils.
7796
7797 2011-01-28  Simon Josefsson  <simon@josefsson.org>
7798
7799         * users.txt: Mention OATH Toolkit.
7800
7801 2011-01-27  Bruno Haible  <bruno@clisp.org>
7802
7803         Prepare for supporting FreeBSD 10.
7804         * build-aux/config.libpath: Remove handling of freebsd1*.
7805
7806 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
7807
7808         Prepare for supporting FreeBSD 10.
7809         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
7810         match FreeBSD 10.0.
7811
7812 2011-01-27  Bruno Haible  <bruno@clisp.org>
7813
7814         vma-iter, get-rusage-as: Add OpenBSD support.
7815         * modules/vma-iter (configure.ac): Test for mquery.
7816         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
7817         * lib/vma-iter.c: Include <sys/mman.h>.
7818         (vma_iterate): Add an implementation based on mquery().
7819         * lib/resource-ext.h (get_rusage_as): Update comments.
7820         * lib/get-rusage-as.c: Likewise.
7821         * lib/get-rusage-data.c: Likewise.
7822
7823 2011-01-26  Karl Berry  <karl@gnu.org>
7824
7825         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
7826         variables to make it easier to override the makeinfo program used.
7827
7828 2011-01-26  Eric Blake  <eblake@redhat.com>
7829
7830         fcntl: work around Haiku F_DUPFD bugs
7831         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
7832         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
7833         cloexec bit on duplication.
7834         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
7835
7836 2011-01-26  Bruno Haible  <bruno@clisp.org>
7837
7838         Enable memory leak tests on AIX.
7839         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
7840         * tests/test-fprintf-posix3.c (main): Likewise.
7841
7842 2011-01-26  Bruno Haible  <bruno@clisp.org>
7843
7844         Tests for module 'get-rusage-data'.
7845         * modules/get-rusage-data-tests: New file.
7846         * tests/test-get-rusage-data.c: New file.
7847
7848         New module 'get-rusage-data'.
7849         * lib/resource-ext.h (get_rusage_data): New declaration.
7850         * lib/get-rusage-data.c: New file.
7851         * modules/get-rusage-data: New file.
7852
7853 2011-01-25  Bruno Haible  <bruno@clisp.org>
7854
7855         get-rusage-as: Allow for easier testing.
7856         * lib/resource-ext.h (get_rusage_as): Add comment.
7857         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
7858         (main): New function for interactive testing.
7859
7860 2011-01-25  Bruno Haible  <bruno@clisp.org>
7861
7862         vma-iter: Treat Haiku like BeOS.
7863         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
7864         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
7865
7866 2011-01-25  Eric Blake  <eblake@redhat.com>
7867
7868         c-stack: fix regression on cygwin when libsigsegv is present
7869         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
7870
7871 2011-01-24  Bruno Haible  <bruno@clisp.org>
7872
7873         vma-iter: Avoid empty intervals.
7874         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
7875         on an empty interval.
7876
7877 2011-01-24  Jim Meyering  <meyering@redhat.com>
7878
7879         u64: remove unnecessary #include
7880         * lib/u64.h: Don't include <stddef.h>.  It was not used.
7881
7882 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
7883
7884         Allow the user to avoid the HAVE_RAW_DECL_* macros.
7885         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
7886
7887 2011-01-23  Bruno Haible  <bruno@clisp.org>
7888
7889         New module 'vma-iter'.
7890         * lib/vma-iter.h: New file.
7891         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
7892         * modules/vma-iter: New file.
7893         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
7894         for get_rusage_as_via_iterator.
7895         (vma_iterate_callback): New function.
7896         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
7897         * modules/get-rusage-as (Depends-on): Add vma-iter.
7898
7899 2011-01-23  Bruno Haible  <bruno@clisp.org>
7900
7901         uninorm: Tweak includes.
7902         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
7903         Reported by Jim Meyering.
7904
7905 2011-01-23  Bruno Haible  <bruno@clisp.org>
7906
7907         get-rusage-as: Improve on NetBSD.
7908         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
7909         /proc, like on FreeBSD.
7910
7911 2011-01-23  Jim Meyering  <meyering@redhat.com>
7912
7913         xreadlink.h: remove unnecessary #include
7914         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
7915
7916         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
7917         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
7918
7919 2011-01-23  Bruno Haible  <bruno@clisp.org>
7920
7921         get-rusage-as: Fix bug.
7922         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
7923         original limit when aborting the first loop.
7924
7925 2011-01-23  Bruno Haible  <bruno@clisp.org>
7926
7927         wctype: Ensure valid C syntax.
7928         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
7929         unconditionally, instead of gl_NEXT_HEADERS conditionally.
7930
7931 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
7932
7933         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
7934         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
7935         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
7936         as they are needed only for configure's test case.
7937         This removes two unnecessary symbols from config.h.
7938
7939         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
7940         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
7941         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
7942         AC_CHECK_HEADERS_ONCE on a header that we also invoke
7943         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
7944         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
7945         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
7946         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
7947         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
7948         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
7949         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
7950         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
7951         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
7952         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
7953         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
7954         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
7955         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
7956         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
7957
7958 2011-01-21  Eric Blake  <eblake@redhat.com>
7959
7960         maintainer-makefile: work with older git for submodule check
7961         * top/maint.mk (public-submodule-commit): Rewrite to avoid
7962         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
7963         Reported by Matthias Bolte.
7964
7965         bootstrap: minor portability fixes
7966         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
7967         (usage): Omit leading capital and trailing . on help phrases, per
7968         GNU Coding Standards.
7969         (check_versions, top level): Prefix messages with script name.
7970
7971 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
7972
7973         bootstrap: support --no-git option
7974         * build-aux/bootstrap: Add --no-git option, to be used when
7975         --gnulib-srcdir points to the exact desired checkout.
7976
7977 2011-01-21  Eric Blake  <eblake@redhat.com>
7978
7979         strerror_r-posix: work with glibc 2.13
7980         * lib/strerror_r.c (strerror_r): Fix return type.
7981
7982 2011-01-21  Pádraig Brady  <P@draigBrady.com>
7983             Bruno Haible  <bruno@clisp.org>
7984
7985         uN_strstr: New unit tests.
7986         * modules/unistr/u8-strstr-tests: New file.
7987         * modules/unistr/u16-strstr-tests: New file.
7988         * modules/unistr/u32-strstr-tests: New file.
7989         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
7990         * tests/unistr/test-u8-strstr.c: New file.
7991         * tests/unistr/test-u16-strstr.c: New file.
7992         * tests/unistr/test-u32-strstr.c: New file.
7993
7994 2011-01-21  Pádraig Brady  <P@draigBrady.com>
7995             Bruno Haible  <bruno@clisp.org>
7996
7997         Make uN_strstr functions O(n) worst-case.
7998         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
7999         16-bit and 32-bit unit cases, use the unibyte algorithm from
8000         lib/mbsstr.c.
8001         * lib/unistr/u8-strstr.c: Include <string.h>.
8002         (UNIT_IS_UINT8_T): New macro.
8003         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
8004         (U_STRLEN, U_STRNLEN): New macros.
8005         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
8006         (U_STRLEN, U_STRNLEN): New macros.
8007         * modules/unistr/u8-strstr (Depends-on): Add strstr.
8008         (configure.ac): Update required libunistring version.
8009         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
8010         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
8011         malloca.
8012         (configure.ac): Update required libunistring version.
8013         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
8014         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
8015         malloca.
8016         (configure.ac): Update required libunistring version.
8017
8018 2011-01-21  Pádraig Brady  <P@draigBrady.com>
8019             Bruno Haible  <bruno@clisp.org>
8020
8021         Prepare for faster uN_strstr functions.
8022         * lib/str-kmp.h: Support definable UNITs.
8023         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
8024         needle_len argument.
8025         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
8026         * lib/mbscasestr.c (mbscasestr): Likewise.
8027
8028 2011-01-21  Pádraig Brady <P@draigBrady.com>
8029
8030         malloca-tests: make faster by unsetting MALLOC_PERTURB_
8031         * tests/test-malloca.c (main): Unset the environment variable
8032         to greatly speed up the test.
8033         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
8034         * modules/malloca-tests: Depend on unsetenv.
8035
8036 2011-01-21  Pádraig Brady <P@draigBrady.com>
8037
8038         ignore-value: remove stdint dependency
8039         * lib/ignore-value.h: Remove <stdint.h>
8040         * modules/ignore-value: Remove stdint dependency.
8041
8042 2011-01-21  Jim Meyering  <meyering@redhat.com>
8043
8044         maint.mk: adjust variable name to be consistent with other gl_ vars
8045         * top/maint.mk (gl_public_submodule_commit): Rename the variable
8046         to be lower case.
8047
8048 2011-01-20  Jim Meyering  <meyering@redhat.com>
8049
8050         maint.mk: make "check" depend on public-submodule-commit by default
8051         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
8052
8053 2011-01-20  Bruno Haible  <bruno@clisp.org>
8054
8055         mbfile, mbiter: Complete change from 2008-12-21.
8056         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
8057         * m4/mbiter.m4 (gl_MBITER): Likewise.
8058
8059 2011-01-20  Jim Meyering  <meyering@redhat.com>
8060
8061         init.sh: insert space between each function name and "()"
8062         * tests/init.sh: Make it a little easier to see that a function's
8063         name is "warn_", and not "warn" when looking at the first part of
8064         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
8065
8066 2011-01-20  Jim Meyering  <meyering@redhat.com>
8067
8068         mountlist: clean up code formatting
8069         * lib/mountlist.c (read_file_system_list): Split a long line,
8070         correct bracing style, use NULL in place of "(struct statfs *)0",
8071         don't parenthesize return value, add spaces around "=" and after
8072         ";-in-for-stmt".
8073
8074 2011-01-14  Markus Duft <mduft@gentoo.org>
8075
8076         mountlist: add support for Interix
8077         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
8078         Apply statvfs to all entries of /dev/fs.
8079         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
8080         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
8081
8082 2011-01-20  Jim Meyering  <meyering@redhat.com>
8083
8084         maint.mk: improve the public-submodule-commit rule
8085         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
8086         to suppress printing of its commands... unless V=1.
8087         Add git submodule's --quiet option to suppress printing of e.g.,
8088         "Entering gnulib" output.
8089         "cd" into $(srcdir) before running git submodule.
8090
8091 2011-01-20  Bruno Haible  <bruno@clisp.org>
8092
8093         include_next: Fix bug introduced on 2011-01-18.
8094         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
8095         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
8096         ac_cv_header_... variable if the second argument is not 'check'.
8097         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
8098         gl_NEXT_HEADERS_INTERNAL.
8099
8100 2011-01-20  Bruno Haible  <bruno@clisp.org>
8101
8102         Allow the user to avoid the GNULIB_TEST_* macros.
8103         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
8104         Suggested by Paul Eggert.
8105
8106 2011-01-14  Jim Meyering  <meyering@redhat.com>
8107
8108         bootstrap: avoid failure when there is no .gitmodules file
8109         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
8110         has been assigned to, even when its value is the empty string.
8111         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
8112         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
8113         Reported by John W. Eaton <jwe@gnu.org>.
8114
8115 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
8116
8117         assume <ctype.h>, ..., <time.h> exist
8118         For years gnulib has been assuming the existence of the headers
8119         <ctime.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
8120         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
8121         them, since they don't appear to be needed.
8122         * README (Portability guidelines): Document this.
8123         * lib/flock.c: Assume <fcntl.h> exists.
8124         * lib/regex_internal.h: Assume <locale.h> exists.
8125         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
8126         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
8127         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
8128         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
8129         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
8130         * m4/regex.m4 (gl_REGEX): Likewise.
8131         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
8132         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
8133         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
8134         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
8135         * tests/test-argp.c: Likewise.
8136         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
8137
8138         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
8139         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
8140         AA_APPLE_UNIVERSAL_BUILD.  See
8141         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
8142         * NEWS: Document this.
8143
8144 2011-01-19  Eric Blake  <eblake@redhat.com>
8145
8146         c-stack: assume stack overflow if SA_SIGINFO unsupported
8147         * lib/c-stack.c (SIGACTION_WORKS): Rename...
8148         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
8149         sigaction will work.
8150         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
8151         behavior match Linux.
8152         * tests/test-c-stack.c (main): Prefer NULL for pointers.
8153
8154         stdbool-tests: accomodate Haiku
8155         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
8156
8157         binary-io: fix O_TEXT on Haiku
8158         * modules/binary-io (Depends-on): Add fcntl-h.
8159         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
8160         than blindly undefining O_TEXT.
8161         Reported by Scott McCreary.
8162
8163 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
8164
8165         include_next: do not check for standard headers like stddef.h
8166
8167         I found this problem when modifying Emacs to use gnulib.
8168         I noticed that it added HAVE_STDDEF_H to config.h, even though
8169         gnulib always assumes <stddef.h> exists as per README and this
8170         symbol is unnecessary.
8171         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
8172         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
8173         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
8174         faster for headers like stddef.h that are known to exist.
8175         (gl_CHECK_NEXT_HEADERS): Use it.
8176         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
8177         rather than gl_CHECK_NEXT_HEADERS.
8178         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
8179         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
8180
8181 2011-01-18  Eric Blake  <eblake@redhat.com>
8182
8183         ansi-c++-opt: skip C++ dependency style if C++ is unused
8184         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
8185         tests when we know C++ compilation is not desired.
8186         Reported by Scott McCreary.
8187
8188 2011-01-18  Bruno Haible  <bruno@clisp.org>
8189
8190         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
8191         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
8192         (main): Perform test also when getrlimit and setrlimit don't exist or
8193         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
8194         limiting the address space size using setrlimit, compare the address
8195         space size before and after the the test.
8196         * tests/test-dprintf-posix2.c: Likewise.
8197         * tests/test-fprintf-posix3.sh: Update skip messages.
8198         * tests/test-dprintf-posix2.sh: Likewise.
8199         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
8200         * modules/dprintf-posix-tests (Depends-on): Likewise.
8201         Reported by Bruce Korb <bkorb@gnu.org> and
8202         Gary V. Vaughan <gary@gnu.org>.
8203
8204 2011-01-18  Bruno Haible  <bruno@clisp.org>
8205
8206         get-rusage-as: Improvement for Cygwin.
8207         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
8208         areas that are merely reserved.
8209
8210 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
8211
8212         strftime: remove dependencies on multibyte modules
8213
8214         strftime depended on mbrlen, mbsinit, and wchar, but these modules
8215         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
8216         only if __osf__ is defined, and I suspect OSF doesn't need these
8217         other modules.  If my guess is wrong, we'll need to come up with a
8218         variant of strftime that doesn't need the multibyte modules.
8219
8220         I discovered this problem when attempting modify Emacs to use the
8221         strftime module.  With the previous gnulib, this caused Emacs to
8222         need 31 new files, ranging from lib/config.charset to
8223         m4/wint_t.m4.  This was overkill and I expect would be offputting
8224         to the Emacs maintainers.  After this change, only 6 new files are
8225         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
8226         stdbool.m4, and tm_gmtoff.m4.
8227
8228         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
8229         Suggested by Bruno Haible in
8230         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
8231         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
8232         and do not check for wchar.h.
8233         * modules/strftime (Files): Remove m4/mbstate_t.m4.
8234         (Depends-on): Remove mbrlen, mbsinit, wchar.
8235
8236 2011-01-18  Bruno Haible  <bruno@clisp.org>
8237
8238         Tests for module 'get-rusage-as'.
8239         * modules/get-rusage-as-tests: New file.
8240         * tests/test-get-rusage-as.c: New file.
8241
8242         New module 'get-rusage-as'.
8243         * modules/get-rusage-as: New file.
8244         * lib/resource-ext.h: New file.
8245         * lib/get-rusage-as.c: New file.
8246
8247 2011-01-17  Eric Blake  <eblake@redhat.com>
8248
8249         sigaction: relax license from LGPLv3+ to LGPLv2+
8250         * modules/sigaction (License): Relax to LGPLv2+.
8251
8252 2011-01-14  Bruno Haible  <bruno@clisp.org>
8253
8254         filemode: Make function declarations usable in C++ mode.
8255         * lib/filemode.h: Enclose function declarations in extern "C" block.
8256         Reported by John W. Eaton <jwe@gnu.org>.
8257
8258 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
8259
8260         save-cwd: no longer include "xgetcwd.h"
8261         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
8262         This avoids a compilation failure in projects that use save-cwd
8263         without also using the xgetcwd module.
8264
8265 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
8266
8267         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
8268         This is so that a program like Emacs, which needs only dtoastr,
8269         does not have to bother with distributing and compiling ftoastr
8270         and ldtoastr.
8271         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
8272         * modules/dtoastr, modules/ldtoastr: New files.
8273         * modules/ftoastr: Now works just for 'float'.
8274         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
8275         (Makefile.am): Remove ftoastr.h (not needed and no effect),
8276         dtoastr.c, ldtoastr.c.
8277
8278 2011-01-11  Jim Meyering  <meyering@redhat.com>
8279
8280         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
8281         There is no need to work around the lack of the fchdir function,
8282         since gnulib can now provide a replacement when required.
8283         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
8284         * modules/save-cwd (Depends-on): Add fchdir.
8285
8286 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
8287
8288         openat, save-cwd: avoid xmalloc
8289
8290         This removes a direct (but undocumented) dependency of openat on
8291         xalloc, along with an indirect dependency via save-cwd.  It also
8292         removes a dependency of save-cwd on xgetcwd, and thereby
8293         indirectly on xalloc.  This change causes the openat substitute
8294         to fall back on save_cwd when memory is tight, and for save_cwd to
8295         fail instead of dying when memory is tight, but that's good enough.
8296         Problem and initial idea for fix reported by Bastien Roucaries in
8297         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
8298
8299         * lib/openat-proc.c: Include stdlib.h (for malloc), not
8300         xalloc.h (for xmalloc).
8301         (openat_proc_name): Use malloc, not xmalloc.
8302         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
8303         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
8304
8305         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
8306         This avoids heap allocation for file names whose lengths are in
8307         the range 512..1023, with the upper bound increasing to at most
8308         4031 depending on the platform's PATH_MAX.  (We do not want
8309         pathmax.h here as it might supply a non-constant PATH_MAX.)
8310         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
8311         Perhaps they should be moved to malloca.h?
8312         (OPENAT_BUFFER_SIZE): Use them.
8313
8314 2011-01-10  Bruno Haible  <bruno@clisp.org>
8315
8316         doc: Update users.txt.
8317         * users.txt: Add recutils.
8318
8319 2011-01-09  Karl Berry  <karl@gnu.org>
8320
8321         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
8322
8323         * doc/configmake.texi: New file.
8324         * doc/gnulib.texi: Include it.
8325         * modules/configmake: Move documentation from here.
8326
8327 2011-01-09  Bruno Haible  <bruno@clisp.org>
8328
8329         Update to Unicode 6.0.0.
8330         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
8331         (get_lbp): Update for Unicode 6.0.0.
8332         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
8333         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
8334         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
8335         U+11001, U+11038..U+11046. Remove U+06DE.
8336         (uc_width): Fix bounds of planes.
8337         * tests/uniwidth/test-uc_width2.sh: Same updates as in
8338         lib/uniwidth/width.c.
8339         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
8340         trailing whitespace removed.
8341         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
8342         without comments, but with the original copyright notice.
8343         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
8344         * lib/unicase/ignorable.h: Likewise.
8345         * lib/unicase/tocasefold.h: Likewise.
8346         * lib/unicase/tolower.h: Likewise.
8347         * lib/unicase/totitle.h: Likewise.
8348         * lib/unicase/toupper.h: Likewise.
8349         * lib/unictype/bidi_of.h: Likewise.
8350         * lib/unictype/blocks.h: Likewise.
8351         * lib/unictype/categ_C.h: Likewise.
8352         * lib/unictype/categ_Cn.h: Likewise.
8353         * lib/unictype/categ_L.h: Likewise.
8354         * lib/unictype/categ_Ll.h: Likewise.
8355         * lib/unictype/categ_Lm.h: Likewise.
8356         * lib/unictype/categ_Lo.h: Likewise.
8357         * lib/unictype/categ_Lu.h: Likewise.
8358         * lib/unictype/categ_M.h: Likewise.
8359         * lib/unictype/categ_Mc.h: Likewise.
8360         * lib/unictype/categ_Me.h: Likewise.
8361         * lib/unictype/categ_Mn.h: Likewise.
8362         * lib/unictype/categ_N.h: Likewise.
8363         * lib/unictype/categ_Nd.h: Likewise.
8364         * lib/unictype/categ_No.h: Likewise.
8365         * lib/unictype/categ_P.h: Likewise.
8366         * lib/unictype/categ_Po.h: Likewise.
8367         * lib/unictype/categ_S.h: Likewise.
8368         * lib/unictype/categ_Sc.h: Likewise.
8369         * lib/unictype/categ_Sk.h: Likewise.
8370         * lib/unictype/categ_Sm.h: Likewise.
8371         * lib/unictype/categ_So.h: Likewise.
8372         * lib/unictype/categ_of.h: Likewise.
8373         * lib/unictype/combining.h: Likewise.
8374         * lib/unictype/ctype_alnum.h: Likewise.
8375         * lib/unictype/ctype_alpha.h: Likewise.
8376         * lib/unictype/ctype_graph.h: Likewise.
8377         * lib/unictype/ctype_lower.h: Likewise.
8378         * lib/unictype/ctype_print.h: Likewise.
8379         * lib/unictype/ctype_punct.h: Likewise.
8380         * lib/unictype/ctype_upper.h: Likewise.
8381         * lib/unictype/decdigit.h: Likewise.
8382         * lib/unictype/digit.h: Likewise.
8383         * lib/unictype/numeric.h: Likewise.
8384         * lib/unictype/pr_alphabetic.h: Likewise.
8385         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
8386         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
8387         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
8388         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
8389         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
8390         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
8391         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
8392         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
8393         * lib/unictype/pr_case_ignorable.h: Likewise.
8394         * lib/unictype/pr_cased.h: Likewise.
8395         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
8396         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
8397         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
8398         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
8399         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
8400         * lib/unictype/pr_combining.h: Likewise.
8401         * lib/unictype/pr_composite.h: Likewise.
8402         * lib/unictype/pr_currency_symbol.h: Likewise.
8403         * lib/unictype/pr_decimal_digit.h: Likewise.
8404         * lib/unictype/pr_deprecated.h: Likewise.
8405         * lib/unictype/pr_format_control.h: Likewise.
8406         * lib/unictype/pr_grapheme_base.h: Likewise.
8407         * lib/unictype/pr_grapheme_extend.h: Likewise.
8408         * lib/unictype/pr_grapheme_link.h: Likewise.
8409         * lib/unictype/pr_id_continue.h: Likewise.
8410         * lib/unictype/pr_id_start.h: Likewise.
8411         * lib/unictype/pr_ideographic.h: Likewise.
8412         * lib/unictype/pr_lowercase.h: Likewise.
8413         * lib/unictype/pr_math.h: Likewise.
8414         * lib/unictype/pr_numeric.h: Likewise.
8415         * lib/unictype/pr_other_alphabetic.h: Likewise.
8416         * lib/unictype/pr_other_id_continue.h: Likewise.
8417         * lib/unictype/pr_other_math.h: Likewise.
8418         * lib/unictype/pr_punctuation.h: Likewise.
8419         * lib/unictype/pr_sentence_terminal.h: Likewise.
8420         * lib/unictype/pr_terminal_punctuation.h: Likewise.
8421         * lib/unictype/pr_unassigned_code_value.h: Likewise.
8422         * lib/unictype/pr_unified_ideograph.h: Likewise.
8423         * lib/unictype/pr_uppercase.h: Likewise.
8424         * lib/unictype/pr_xid_continue.h: Likewise.
8425         * lib/unictype/pr_xid_start.h: Likewise.
8426         * lib/unictype/scripts.h: Likewise.
8427         * lib/unictype/scripts_byname.gperf: Likewise.
8428         * lib/unictype/sy_java_ident.h: Likewise.
8429         * lib/unigbrk/gbrkprop.h: Likewise.
8430         * lib/unilbrk/lbrkprop1.h: Likewise.
8431         * lib/unilbrk/lbrkprop2.h: Likewise.
8432         * lib/uninorm/decomposition-table2.h: Likewise.
8433         * lib/uniwbrk/wbrkprop.h: Likewise.
8434         * tests/unicase/test-cased.c: Likewise.
8435         * tests/unicase/test-ignorable.c: Likewise.
8436         * tests/unicase/test-uc_tolower.c: Likewise.
8437         * tests/unicase/test-uc_totitle.c: Likewise.
8438         * tests/unicase/test-uc_toupper.c: Likewise.
8439         * tests/unictype/test-categ_C.c: Likewise.
8440         * tests/unictype/test-categ_Cn.c: Likewise.
8441         * tests/unictype/test-categ_L.c: Likewise.
8442         * tests/unictype/test-categ_Ll.c: Likewise.
8443         * tests/unictype/test-categ_Lm.c: Likewise.
8444         * tests/unictype/test-categ_Lo.c: Likewise.
8445         * tests/unictype/test-categ_Lu.c: Likewise.
8446         * tests/unictype/test-categ_M.c: Likewise.
8447         * tests/unictype/test-categ_Mc.c: Likewise.
8448         * tests/unictype/test-categ_Me.c: Likewise.
8449         * tests/unictype/test-categ_Mn.c: Likewise.
8450         * tests/unictype/test-categ_N.c: Likewise.
8451         * tests/unictype/test-categ_Nd.c: Likewise.
8452         * tests/unictype/test-categ_No.c: Likewise.
8453         * tests/unictype/test-categ_P.c: Likewise.
8454         * tests/unictype/test-categ_Po.c: Likewise.
8455         * tests/unictype/test-categ_S.c: Likewise.
8456         * tests/unictype/test-categ_Sc.c: Likewise.
8457         * tests/unictype/test-categ_Sk.c: Likewise.
8458         * tests/unictype/test-categ_Sm.c: Likewise.
8459         * tests/unictype/test-categ_So.c: Likewise.
8460         * tests/unictype/test-ctype_alnum.c: Likewise.
8461         * tests/unictype/test-ctype_alpha.c: Likewise.
8462         * tests/unictype/test-ctype_graph.c: Likewise.
8463         * tests/unictype/test-ctype_lower.c: Likewise.
8464         * tests/unictype/test-ctype_print.c: Likewise.
8465         * tests/unictype/test-ctype_punct.c: Likewise.
8466         * tests/unictype/test-ctype_upper.c: Likewise.
8467         * tests/unictype/test-decdigit.h: Likewise.
8468         * tests/unictype/test-digit.h: Likewise.
8469         * tests/unictype/test-numeric.h: Likewise.
8470         * tests/unictype/test-pr_alphabetic.c: Likewise.
8471         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
8472         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
8473         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
8474         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
8475         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
8476         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
8477         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
8478         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
8479         * tests/unictype/test-pr_case_ignorable.c: Likewise.
8480         * tests/unictype/test-pr_cased.c: Likewise.
8481         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
8482         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
8483         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
8484         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
8485         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
8486         * tests/unictype/test-pr_combining.c: Likewise.
8487         * tests/unictype/test-pr_composite.c: Likewise.
8488         * tests/unictype/test-pr_currency_symbol.c: Likewise.
8489         * tests/unictype/test-pr_decimal_digit.c: Likewise.
8490         * tests/unictype/test-pr_deprecated.c: Likewise.
8491         * tests/unictype/test-pr_format_control.c: Likewise.
8492         * tests/unictype/test-pr_grapheme_base.c: Likewise.
8493         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
8494         * tests/unictype/test-pr_grapheme_link.c: Likewise.
8495         * tests/unictype/test-pr_id_continue.c: Likewise.
8496         * tests/unictype/test-pr_id_start.c: Likewise.
8497         * tests/unictype/test-pr_ideographic.c: Likewise.
8498         * tests/unictype/test-pr_lowercase.c: Likewise.
8499         * tests/unictype/test-pr_math.c: Likewise.
8500         * tests/unictype/test-pr_numeric.c: Likewise.
8501         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
8502         * tests/unictype/test-pr_other_id_continue.c: Likewise.
8503         * tests/unictype/test-pr_other_math.c: Likewise.
8504         * tests/unictype/test-pr_punctuation.c: Likewise.
8505         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
8506         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
8507         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
8508         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
8509         * tests/unictype/test-pr_uppercase.c: Likewise.
8510         * tests/unictype/test-pr_xid_continue.c: Likewise.
8511         * tests/unictype/test-pr_xid_start.c: Likewise.
8512         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
8513         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
8514         changes.
8515         * lib/unictype/categ_Cc.h: Likewise.
8516         * lib/unictype/categ_Cf.h: Likewise.
8517         * lib/unictype/categ_Co.h: Likewise.
8518         * lib/unictype/categ_Cs.h: Likewise.
8519         * lib/unictype/categ_Lt.h: Likewise.
8520         * lib/unictype/categ_Nl.h: Likewise.
8521         * lib/unictype/categ_Pc.h: Likewise.
8522         * lib/unictype/categ_Pd.h: Likewise.
8523         * lib/unictype/categ_Pe.h: Likewise.
8524         * lib/unictype/categ_Pf.h: Likewise.
8525         * lib/unictype/categ_Pi.h: Likewise.
8526         * lib/unictype/categ_Ps.h: Likewise.
8527         * lib/unictype/categ_Z.h: Likewise.
8528         * lib/unictype/categ_Zl.h: Likewise.
8529         * lib/unictype/categ_Zp.h: Likewise.
8530         * lib/unictype/categ_Zs.h: Likewise.
8531         * lib/unictype/ctype_blank.h: Likewise.
8532         * lib/unictype/ctype_cntrl.h: Likewise.
8533         * lib/unictype/ctype_digit.h: Likewise.
8534         * lib/unictype/ctype_space.h: Likewise.
8535         * lib/unictype/ctype_xdigit.h: Likewise.
8536         * lib/unictype/mirror.h: Likewise.
8537         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
8538         * lib/unictype/pr_bidi_block_separator.h: Likewise.
8539         * lib/unictype/pr_bidi_common_separator.h: Likewise.
8540         * lib/unictype/pr_bidi_control.h: Likewise.
8541         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
8542         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
8543         * lib/unictype/pr_bidi_european_digit.h: Likewise.
8544         * lib/unictype/pr_bidi_pdf.h: Likewise.
8545         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
8546         * lib/unictype/pr_bidi_whitespace.h: Likewise.
8547         * lib/unictype/pr_dash.h: Likewise.
8548         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
8549         * lib/unictype/pr_diacritic.h: Likewise.
8550         * lib/unictype/pr_extender.h: Likewise.
8551         * lib/unictype/pr_hex_digit.h: Likewise.
8552         * lib/unictype/pr_hyphen.h: Likewise.
8553         * lib/unictype/pr_ids_binary_operator.h: Likewise.
8554         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
8555         * lib/unictype/pr_ignorable_control.h: Likewise.
8556         * lib/unictype/pr_iso_control.h: Likewise.
8557         * lib/unictype/pr_join_control.h: Likewise.
8558         * lib/unictype/pr_left_of_pair.h: Likewise.
8559         * lib/unictype/pr_line_separator.h: Likewise.
8560         * lib/unictype/pr_logical_order_exception.h: Likewise.
8561         * lib/unictype/pr_non_break.h: Likewise.
8562         * lib/unictype/pr_not_a_character.h: Likewise.
8563         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
8564         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
8565         * lib/unictype/pr_other_id_start.h: Likewise.
8566         * lib/unictype/pr_other_lowercase.h: Likewise.
8567         * lib/unictype/pr_other_uppercase.h: Likewise.
8568         * lib/unictype/pr_paired_punctuation.h: Likewise.
8569         * lib/unictype/pr_paragraph_separator.h: Likewise.
8570         * lib/unictype/pr_pattern_syntax.h: Likewise.
8571         * lib/unictype/pr_pattern_white_space.h: Likewise.
8572         * lib/unictype/pr_private_use.h: Likewise.
8573         * lib/unictype/pr_quotation_mark.h: Likewise.
8574         * lib/unictype/pr_radical.h: Likewise.
8575         * lib/unictype/pr_soft_dotted.h: Likewise.
8576         * lib/unictype/pr_space.h: Likewise.
8577         * lib/unictype/pr_titlecase.h: Likewise.
8578         * lib/unictype/pr_variation_selector.h: Likewise.
8579         * lib/unictype/pr_white_space.h: Likewise.
8580         * lib/unictype/pr_zero_width.h: Likewise.
8581         * lib/unictype/sy_c_ident.h: Likewise.
8582         * lib/unictype/sy_c_whitespace.h: Likewise.
8583         * lib/unictype/sy_java_whitespace.h: Likewise.
8584         * lib/uninorm/composition-table.gperf: Likewise.
8585         * lib/uninorm/decomposition-table1.h: Likewise.
8586         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
8587         LB8.
8588         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
8589         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
8590         * modules/unictype/*: Bump version number of expected libunistring
8591         version.
8592
8593 2011-01-09  Bruno Haible  <bruno@clisp.org>
8594
8595         Update to Unicode 5.2.0.
8596         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
8597         trailing whitespace removed.
8598
8599 2011-01-09  Bruno Haible  <bruno@clisp.org>
8600
8601         New Unicode character properties, from Unicode 5.2.0.
8602         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
8603         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
8604         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
8605         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
8606         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
8607         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
8608         uc_is_property_cased, uc_is_property_case_ignorable,
8609         uc_is_property_changes_when_lowercased,
8610         uc_is_property_changes_when_uppercased,
8611         uc_is_property_changes_when_titlecased,
8612         uc_is_property_changes_when_casefolded,
8613         uc_is_property_changes_when_casemapped): New declarations.
8614         * lib/unictype/pr_byname.gperf: Add the new properties.
8615         * modules/unictype/property-byname (Depends-on): Depend on the new
8616         properties modules.
8617         * modules/unictype/property-all (Depends-on): Likewise.
8618         * MODULES.html.sh (Unicode string functions): Add
8619         unictype/property-case-ignorable, unictype/property-cased,
8620         unictype/property-changes-when-casefolded,
8621         unictype/property-changes-when-casemapped,
8622         unictype/property-changes-when-lowercased,
8623         unictype/property-changes-when-titlecased,
8624         unictype/property-changes-when-uppercased.
8625
8626         New module 'unictype/property-changes-when-casemapped'.
8627         * modules/unictype/property-changes-when-casemapped: New file.
8628         * lib/unictype/pr_changes_when_casemapped.c: New file.
8629         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
8630         generated by gen-uni-tables.
8631         * modules/unictype/property-changes-when-casemapped-tests: New file.
8632         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
8633         automatically generated by gen-uni-tables.
8634
8635         New module 'unictype/property-changes-when-casefolded'.
8636         * modules/unictype/property-changes-when-casefolded: New file.
8637         * lib/unictype/pr_changes_when_casefolded.c: New file.
8638         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
8639         generated by gen-uni-tables.
8640         * modules/unictype/property-changes-when-casefolded-tests: New file.
8641         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
8642         automatically generated by gen-uni-tables.
8643
8644         New module 'unictype/property-changes-when-titlecased'.
8645         * modules/unictype/property-changes-when-titlecased: New file.
8646         * lib/unictype/pr_changes_when_titlecased.c: New file.
8647         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
8648         generated by gen-uni-tables.
8649         * modules/unictype/property-changes-when-titlecased-tests: New file.
8650         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
8651         automatically generated by gen-uni-tables.
8652
8653         New module 'unictype/property-changes-when-uppercased'.
8654         * modules/unictype/property-changes-when-uppercased: New file.
8655         * lib/unictype/pr_changes_when_uppercased.c: New file.
8656         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
8657         generated by gen-uni-tables.
8658         * modules/unictype/property-changes-when-uppercased-tests: New file.
8659         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
8660         automatically generated by gen-uni-tables.
8661
8662         New module 'unictype/property-changes-when-lowercased'.
8663         * modules/unictype/property-changes-when-lowercased: New file.
8664         * lib/unictype/pr_changes_when_lowercased.c: New file.
8665         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
8666         generated by gen-uni-tables.
8667         * modules/unictype/property-changes-when-lowercased-tests: New file.
8668         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
8669         automatically generated by gen-uni-tables.
8670
8671         New module 'unictype/property-case-ignorable'.
8672         * modules/unictype/property-case-ignorable: New file.
8673         * lib/unictype/pr_case_ignorable.c: New file.
8674         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
8675         by gen-uni-tables.
8676         * modules/unictype/property-case-ignorable-tests: New file.
8677         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
8678         generated by gen-uni-tables.
8679
8680         New module 'unictype/property-cased'.
8681         * modules/unictype/property-cased: New file.
8682         * lib/unictype/pr_cased.c: New file.
8683         * lib/unictype/pr_cased.h: New file, automatically generated by
8684         gen-uni-tables.
8685         * modules/unictype/property-cased-tests: New file.
8686         * tests/unictype/test-pr_cased.c: New file, automatically generated by
8687         gen-uni-tables.
8688
8689 2011-01-09  Bruno Haible  <bruno@clisp.org>
8690
8691         Update to Unicode 5.2.0.
8692         * lib/gen-uni-tables.c (output_predicate, output_category,
8693         output_combclass, output_bidi_category, output_decimal_digit_test,
8694         output_decimal_digit, output_digit_test, output_digit,
8695         output_numeric_test, output_numeric, output_mirror, output_scripts,
8696         output_scripts_byname, output_blocks, output_ident_category): Fix
8697         comment header.
8698         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
8699         get_wbp.
8700         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
8701         items.
8702         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
8703         Changes_When_Lowercased, Changes_When_Uppercased,
8704         Changes_When_Titlecased, Changes_When_Casefolded,
8705         Changes_When_Casemapped.
8706         (is_property_alphabetic, is_property_default_ignorable_code_point):
8707         Update for Unicode 5.2.0.
8708         (is_property_cased, is_property_case_ignorable,
8709         is_property_changes_when_lowercased,
8710         is_property_changes_when_uppercased,
8711         is_property_changes_when_titlecased,
8712         is_property_changes_when_casefolded,
8713         is_property_changes_when_casemapped): New functions.
8714         (output_properties): Output also the properties cased, case_ignorable,
8715         changes_when_lowercased, changes_when_uppercased,
8716         changes_when_titlecased, changes_when_casefolded,
8717         changes_when_casemapped.
8718         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
8719         Unicode TR#11 revision 17 -> 19.
8720         (LBP_CP): New enumeration value.
8721         (LBP_*): Adjust values accordingly.
8722         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
8723         TR#14 revision 22 -> 24.
8724         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
8725         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
8726         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
8727         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
8728         is_WBP_MIDLETTER.
8729         (output_composition_tables): Allow for 24 bits instead of 16 bits in
8730         the code1 and code2 of each composition rule.
8731         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
8732         * lib/unicase/ignorable.h: Likewise.
8733         * lib/unicase/tocasefold.h: Likewise.
8734         * lib/unicase/tolower.h: Likewise.
8735         * lib/unicase/totitle.h: Likewise.
8736         * lib/unicase/toupper.h: Likewise.
8737         * lib/unictype/bidi_of.h: Likewise.
8738         * lib/unictype/blocks.h: Likewise.
8739         * lib/unictype/categ_C.h: Likewise.
8740         * lib/unictype/categ_Cf.h: Likewise.
8741         * lib/unictype/categ_Cn.h: Likewise.
8742         * lib/unictype/categ_L.h: Likewise.
8743         * lib/unictype/categ_Ll.h: Likewise.
8744         * lib/unictype/categ_Lm.h: Likewise.
8745         * lib/unictype/categ_Lo.h: Likewise.
8746         * lib/unictype/categ_Lu.h: Likewise.
8747         * lib/unictype/categ_M.h: Likewise.
8748         * lib/unictype/categ_Mc.h: Likewise.
8749         * lib/unictype/categ_Mn.h: Likewise.
8750         * lib/unictype/categ_N.h: Likewise.
8751         * lib/unictype/categ_Nd.h: Likewise.
8752         * lib/unictype/categ_Nl.h: Likewise.
8753         * lib/unictype/categ_No.h: Likewise.
8754         * lib/unictype/categ_P.h: Likewise.
8755         * lib/unictype/categ_Pd.h: Likewise.
8756         * lib/unictype/categ_Po.h: Likewise.
8757         * lib/unictype/categ_S.h: Likewise.
8758         * lib/unictype/categ_Sc.h: Likewise.
8759         * lib/unictype/categ_So.h: Likewise.
8760         * lib/unictype/categ_of.h: Likewise.
8761         * lib/unictype/combining.h: Likewise.
8762         * lib/unictype/ctype_alnum.h: Likewise.
8763         * lib/unictype/ctype_alpha.h: Likewise.
8764         * lib/unictype/ctype_graph.h: Likewise.
8765         * lib/unictype/ctype_lower.h: Likewise.
8766         * lib/unictype/ctype_print.h: Likewise.
8767         * lib/unictype/ctype_punct.h: Likewise.
8768         * lib/unictype/ctype_upper.h: Likewise.
8769         * lib/unictype/decdigit.h: Likewise.
8770         * lib/unictype/digit.h: Likewise.
8771         * lib/unictype/numeric.h: Likewise.
8772         * lib/unictype/pr_alphabetic.h: Likewise.
8773         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
8774         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
8775         * lib/unictype/pr_bidi_european_digit.h: Likewise.
8776         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
8777         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
8778         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
8779         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
8780         * lib/unictype/pr_combining.h: Likewise.
8781         * lib/unictype/pr_composite.h: Likewise.
8782         * lib/unictype/pr_currency_symbol.h: Likewise.
8783         * lib/unictype/pr_dash.h: Likewise.
8784         * lib/unictype/pr_decimal_digit.h: Likewise.
8785         * lib/unictype/pr_deprecated.h: Likewise.
8786         * lib/unictype/pr_diacritic.h: Likewise.
8787         * lib/unictype/pr_extender.h: Likewise.
8788         * lib/unictype/pr_grapheme_base.h: Likewise.
8789         * lib/unictype/pr_grapheme_extend.h: Likewise.
8790         * lib/unictype/pr_grapheme_link.h: Likewise.
8791         * lib/unictype/pr_id_continue.h: Likewise.
8792         * lib/unictype/pr_id_start.h: Likewise.
8793         * lib/unictype/pr_ideographic.h: Likewise.
8794         * lib/unictype/pr_ignorable_control.h: Likewise.
8795         * lib/unictype/pr_logical_order_exception.h: Likewise.
8796         * lib/unictype/pr_lowercase.h: Likewise.
8797         * lib/unictype/pr_numeric.h: Likewise.
8798         * lib/unictype/pr_other_alphabetic.h: Likewise.
8799         * lib/unictype/pr_punctuation.h: Likewise.
8800         * lib/unictype/pr_sentence_terminal.h: Likewise.
8801         * lib/unictype/pr_terminal_punctuation.h: Likewise.
8802         * lib/unictype/pr_unassigned_code_value.h: Likewise.
8803         * lib/unictype/pr_unified_ideograph.h: Likewise.
8804         * lib/unictype/pr_uppercase.h: Likewise.
8805         * lib/unictype/pr_xid_continue.h: Likewise.
8806         * lib/unictype/pr_xid_start.h: Likewise.
8807         * lib/unictype/pr_zero_width.h: Likewise.
8808         * lib/unictype/scripts.h: Likewise.
8809         * lib/unictype/scripts_byname.gperf: Likewise.
8810         * lib/unictype/sy_java_ident.h: Likewise.
8811         * lib/unigbrk/gbrkprop.h: Likewise.
8812         * lib/unilbrk/lbrkprop1.h: Likewise.
8813         * lib/unilbrk/lbrkprop2.h: Likewise.
8814         * lib/unilbrk/lbrktables.h: Likewise.
8815         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
8816         LBP_CP. Implement rule LB30.
8817         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
8818         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
8819         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
8820         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
8821         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
8822         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
8823         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
8824         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
8825         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
8826         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
8827         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
8828         bits instead of 16 bits in the code1 and code2 of each composition
8829         rule.
8830         (uc_composition): Update for Unicode 5.2.0.
8831         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
8832         * lib/uninorm/decomposition-table2.h: Likewise.
8833         * lib/uniwbrk/wbrkprop.h: Likewise.
8834         * tests/unicase/test-cased.c: Likewise.
8835         * tests/unicase/test-ignorable.c: Likewise.
8836         * tests/unicase/test-uc_tolower.c: Likewise.
8837         * tests/unicase/test-uc_totitle.c: Likewise.
8838         * tests/unicase/test-uc_toupper.c: Likewise.
8839         * tests/unictype/test-categ_C.c: Likewise.
8840         * tests/unictype/test-categ_Cf.c: Likewise.
8841         * tests/unictype/test-categ_Cn.c: Likewise.
8842         * tests/unictype/test-categ_L.c: Likewise.
8843         * tests/unictype/test-categ_Ll.c: Likewise.
8844         * tests/unictype/test-categ_Lm.c: Likewise.
8845         * tests/unictype/test-categ_Lo.c: Likewise.
8846         * tests/unictype/test-categ_Lu.c: Likewise.
8847         * tests/unictype/test-categ_M.c: Likewise.
8848         * tests/unictype/test-categ_Mc.c: Likewise.
8849         * tests/unictype/test-categ_Mn.c: Likewise.
8850         * tests/unictype/test-categ_N.c: Likewise.
8851         * tests/unictype/test-categ_Nd.c: Likewise.
8852         * tests/unictype/test-categ_Nl.c: Likewise.
8853         * tests/unictype/test-categ_No.c: Likewise.
8854         * tests/unictype/test-categ_P.c: Likewise.
8855         * tests/unictype/test-categ_Pd.c: Likewise.
8856         * tests/unictype/test-categ_Po.c: Likewise.
8857         * tests/unictype/test-categ_S.c: Likewise.
8858         * tests/unictype/test-categ_Sc.c: Likewise.
8859         * tests/unictype/test-categ_So.c: Likewise.
8860         * tests/unictype/test-ctype_alnum.c: Likewise.
8861         * tests/unictype/test-ctype_alpha.c: Likewise.
8862         * tests/unictype/test-ctype_graph.c: Likewise.
8863         * tests/unictype/test-ctype_lower.c: Likewise.
8864         * tests/unictype/test-ctype_print.c: Likewise.
8865         * tests/unictype/test-ctype_punct.c: Likewise.
8866         * tests/unictype/test-ctype_upper.c: Likewise.
8867         * tests/unictype/test-decdigit.h: Likewise.
8868         * tests/unictype/test-digit.h: Likewise.
8869         * tests/unictype/test-numeric.h: Likewise.
8870         * tests/unictype/test-pr_alphabetic.c: Likewise.
8871         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
8872         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
8873         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
8874         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
8875         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
8876         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
8877         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
8878         * tests/unictype/test-pr_combining.c: Likewise.
8879         * tests/unictype/test-pr_composite.c: Likewise.
8880         * tests/unictype/test-pr_currency_symbol.c: Likewise.
8881         * tests/unictype/test-pr_dash.c: Likewise.
8882         * tests/unictype/test-pr_decimal_digit.c: Likewise.
8883         * tests/unictype/test-pr_deprecated.c: Likewise.
8884         * tests/unictype/test-pr_diacritic.c: Likewise.
8885         * tests/unictype/test-pr_extender.c: Likewise.
8886         * tests/unictype/test-pr_grapheme_base.c: Likewise.
8887         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
8888         * tests/unictype/test-pr_grapheme_link.c: Likewise.
8889         * tests/unictype/test-pr_id_continue.c: Likewise.
8890         * tests/unictype/test-pr_id_start.c: Likewise.
8891         * tests/unictype/test-pr_ideographic.c: Likewise.
8892         * tests/unictype/test-pr_ignorable_control.c: Likewise.
8893         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
8894         * tests/unictype/test-pr_lowercase.c: Likewise.
8895         * tests/unictype/test-pr_numeric.c: Likewise.
8896         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
8897         * tests/unictype/test-pr_punctuation.c: Likewise.
8898         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
8899         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
8900         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
8901         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
8902         * tests/unictype/test-pr_uppercase.c: Likewise.
8903         * tests/unictype/test-pr_xid_continue.c: Likewise.
8904         * tests/unictype/test-pr_xid_start.c: Likewise.
8905         * tests/unictype/test-pr_zero_width.c: Likewise.
8906         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
8907         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
8908         changed behaviour: line breaking is now disallowed between a letter
8909         or '=' and '('.
8910         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
8911         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
8912         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
8913         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
8914         * tests/uniwidth/test-uc_width2.sh: Same updates as in
8915         lib/uniwidth/width.c.
8916         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
8917         without comments, but with the original copyright notice.
8918         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
8919         changes.
8920         * lib/unictype/categ_Cc.h: Likewise.
8921         * lib/unictype/categ_Co.h: Likewise.
8922         * lib/unictype/categ_Cs.h: Likewise.
8923         * lib/unictype/categ_Lt.h: Likewise.
8924         * lib/unictype/categ_Me.h: Likewise.
8925         * lib/unictype/categ_Pc.h: Likewise.
8926         * lib/unictype/categ_Pe.h: Likewise.
8927         * lib/unictype/categ_Pf.h: Likewise.
8928         * lib/unictype/categ_Pi.h: Likewise.
8929         * lib/unictype/categ_Ps.h: Likewise.
8930         * lib/unictype/categ_Sk.h: Likewise.
8931         * lib/unictype/categ_Sm.h: Likewise.
8932         * lib/unictype/categ_Z.h: Likewise.
8933         * lib/unictype/categ_Zl.h: Likewise.
8934         * lib/unictype/categ_Zp.h: Likewise.
8935         * lib/unictype/categ_Zs.h: Likewise.
8936         * lib/unictype/ctype_blank.h: Likewise.
8937         * lib/unictype/ctype_cntrl.h: Likewise.
8938         * lib/unictype/ctype_digit.h: Likewise.
8939         * lib/unictype/ctype_space.h: Likewise.
8940         * lib/unictype/ctype_xdigit.h: Likewise.
8941         * lib/unictype/mirror.h: Likewise.
8942         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
8943         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
8944         * lib/unictype/pr_bidi_block_separator.h: Likewise.
8945         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
8946         * lib/unictype/pr_bidi_common_separator.h: Likewise.
8947         * lib/unictype/pr_bidi_control.h: Likewise.
8948         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
8949         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
8950         * lib/unictype/pr_bidi_pdf.h: Likewise.
8951         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
8952         * lib/unictype/pr_bidi_whitespace.h: Likewise.
8953         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
8954         * lib/unictype/pr_format_control.h: Likewise.
8955         * lib/unictype/pr_hex_digit.h: Likewise.
8956         * lib/unictype/pr_hyphen.h: Likewise.
8957         * lib/unictype/pr_ids_binary_operator.h: Likewise.
8958         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
8959         * lib/unictype/pr_iso_control.h: Likewise.
8960         * lib/unictype/pr_join_control.h: Likewise.
8961         * lib/unictype/pr_left_of_pair.h: Likewise.
8962         * lib/unictype/pr_line_separator.h: Likewise.
8963         * lib/unictype/pr_math.h: Likewise.
8964         * lib/unictype/pr_non_break.h: Likewise.
8965         * lib/unictype/pr_not_a_character.h: Likewise.
8966         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
8967         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
8968         * lib/unictype/pr_other_id_continue.h: Likewise.
8969         * lib/unictype/pr_other_id_start.h: Likewise.
8970         * lib/unictype/pr_other_lowercase.h: Likewise.
8971         * lib/unictype/pr_other_math.h: Likewise.
8972         * lib/unictype/pr_other_uppercase.h: Likewise.
8973         * lib/unictype/pr_paired_punctuation.h: Likewise.
8974         * lib/unictype/pr_paragraph_separator.h: Likewise.
8975         * lib/unictype/pr_pattern_syntax.h: Likewise.
8976         * lib/unictype/pr_pattern_white_space.h: Likewise.
8977         * lib/unictype/pr_private_use.h: Likewise.
8978         * lib/unictype/pr_quotation_mark.h: Likewise.
8979         * lib/unictype/pr_radical.h: Likewise.
8980         * lib/unictype/pr_soft_dotted.h: Likewise.
8981         * lib/unictype/pr_space.h: Likewise.
8982         * lib/unictype/pr_titlecase.h: Likewise.
8983         * lib/unictype/pr_variation_selector.h: Likewise.
8984         * lib/unictype/pr_white_space.h: Likewise.
8985         * lib/unictype/sy_c_ident.h: Likewise.
8986         * lib/unictype/sy_c_whitespace.h: Likewise.
8987         * lib/unictype/sy_java_whitespace.h: Likewise.
8988         * modules/uni*/*: Bump version number of expected libunistring version.
8989         Reported by Simon Josefsson.
8990
8991 2011-01-09  Karl Heuer  <kwzh@gnu.org>
8992
8993         useless-if-before-free: fix typo in --help and make the internal,
8994         automatic version date update process work once again.
8995         --help output contained a NUL character instead of the
8996         backslash-zero that was intended.  Also, the "must lie within
8997         the first 8 lines" line is on line 9, and hence not getting
8998         automatically updated.
8999         * build-aux/useless-if-before-free: Fix the former by adding a
9000         backslash, and the latter by condensing the three lines of what-it-does
9001         to a single line, leaving one line of slack for the future.
9002
9003 2011-01-09  Bruno Haible  <bruno@clisp.org>
9004
9005         uniwidth/width: Fix width of U+1D173..U+1D17A.
9006         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
9007         symbolic_width, output_width_property_test): New functions.
9008         (main): Invoke output_nonspacing_property, output_width_property_test.
9009         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
9010         U+1D173..U+1D17A.
9011         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
9012         1.
9013         * modules/uniwidth/*: Bump version number of expected libunistring
9014         version.
9015         * modules/unilbrk/*: Likewise.
9016
9017 2011-01-08  Bruno Haible  <bruno@clisp.org>
9018
9019         uninorm tests: Preserve copyright of Unicode data file.
9020         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
9021         Mention modifications.
9022
9023 2011-01-08  Bruno Haible  <bruno@clisp.org>
9024
9025         gen-uni-tables: Prepare for Unicode 5.2.0.
9026         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
9027         (debug_output_lbp, output_lbp): Update.
9028
9029 2011-01-08  Bruno Haible  <bruno@clisp.org>
9030
9031         unilbrk: Clarify gen-uni-tables.c code.
9032         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
9033         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
9034         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
9035
9036 2011-01-07  Bruno Haible  <bruno@clisp.org>
9037
9038         strtod: Restore errno when successfully parsing Infinity or NaN.
9039         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
9040         restore the original errno.
9041
9042 2011-01-07  Bruno Haible  <bruno@clisp.org>
9043
9044         remove test: Avoid failure on HP-UX 11.
9045         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
9046
9047 2011-01-07  Bruno Haible  <bruno@clisp.org>
9048
9049         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
9050         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
9051         error code.
9052
9053 2011-01-07  Pádraig Brady <P@draigBrady.com>
9054
9055         ignore-value: fixup comments, and add Eric Blake
9056         as an author since he rewrote the macros.
9057         * lib/ignore-value.h (ignore_value):  State that
9058         we now support aggregates.  Also specify exactly
9059         when the GCC warn_unused_result feature was added.
9060
9061 2011-01-06  Eric Blake  <eblake@redhat.com>
9062
9063         ignore-value: support aggregate types
9064         * lib/ignore-value.h (ignore_value): Provide separate gcc
9065         definition.
9066         * modules/ignore-value-tests: New test module.
9067         * tests/test-ignore-value.c: New test.
9068
9069         maint.mk: improve sc_prohibit_strcmp regex
9070         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
9071         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
9072         definition of STRNEQ.
9073
9074         signal: work around Haiku issue with SIGBUS
9075         * lib/siglist.h: Add comment.
9076         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
9077         strsignal's favoring of SIGSEGV.
9078         * tests/test-signal.c (main): Avoid test failure.
9079         * doc/posix-headers/signal.texi (signal.h): Document the issue.
9080         Reported by Scott McCreary.
9081
9082         maint.mk: add pre-release check to ensure submodule commits are public
9083         * top/maint.mk (public-submodule-commit): New rule.
9084         (submodule-checks): New variable.
9085         (alpha beta stable): Depend on the variable.
9086
9087 2011-01-05  Pádraig Brady <P@draigBrady.com>
9088         and Jim Meyering  <meyering@redhat.com>
9089
9090         ignore-value: make ignore_value more generic; deprecate ignore_ptr
9091         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
9092         (ATTRIBUTE_DEPRECATED): Define.
9093         (_ignore_case): New function.
9094         (ignore_value): New macro, to replace the old function.
9095         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
9096         * modules/ignore-value (Depends-on): Add stdint.
9097
9098 2011-01-04  Eric Blake  <eblake@redhat.com>
9099
9100         doc: regenerate INSTALL
9101         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
9102         @firstparagraphindent support, now that autoconf dropped it.
9103         (INSTALL_PRELUDE): Reinstate old macro.
9104         * doc/install.texi: Resync from autoconf.
9105         * doc/INSTALL: Reflect recent autoconf update.
9106         * doc/INSTALL.ISO: Likewise.
9107         * doc/INSTALL.UTF-8: Likewise.
9108         Reported by Karl Berry.
9109
9110 2011-01-04  Bruce Korb  <address@hidden>
9111
9112         git-version-gen: avoid a sub-shell
9113         * build-aux/git-version-gen: Redirect stderr in `...` via
9114         "exec 2>...", rather than via an added sub-shell.
9115
9116 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
9117
9118         git-version-gen: use (...) rather than sh -c '...'
9119         * build-aux/git-version-gen: Rather than hard-coding a shell's name
9120         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
9121
9122 2011-01-03  Jim Meyering  <meyering@redhat.com>
9123
9124         git-version-gen: convert leading TABs to spaces
9125         * build-aux/git-version-gen: Expand leading TABs.
9126
9127         git-version-gen: handle failed "git rev-list"
9128         * build-aux/git-version-gen: Rather than leaking a "fatal" error
9129         from git and proceeding as if it had succeeded but printed no SHA1
9130         checksums, suppress the diagnostic and handle the failure.
9131         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
9132
9133         git-version-gen: include command name in one more diagnostic
9134         * build-aux/git-version-gen: When the required .tarball-version file
9135         was missing or unreadable, you might see the diagnostic from "cat",
9136         but no trace of the name of the invoking script.  Now, you still see
9137         the diagnostic from cat, but also get one from "git-version-gen: ".
9138         Inspired by a patch from Bruce Korb.
9139
9140         update-copyright: adjust test to match changed code
9141         * tests/test-update-copyright.sh: Change test's expected output
9142         to match new actual output.
9143
9144 2011-01-02  Bruno Haible  <bruno@clisp.org>
9145
9146         getlogin_r: Avoid test failure on HP-UX 11.
9147         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
9148         ERANGE when the second argument is zero.
9149         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
9150         portability problem.
9151
9152 2011-01-02  Bruce Korb  <bkorb@gnu.org>
9153
9154         * build-aux/update-copyright: doc Simon's changes
9155
9156 2011-01-02  Simon Josefsson  <simon@josefsson.org>
9157
9158         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
9159         environment variable.
9160
9161 2011-01-02  Bruno Haible  <bruno@clisp.org>
9162
9163         unigbrk: Avoid gcc warnings.
9164         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
9165         unused variable.
9166         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
9167         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
9168         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
9169         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
9170         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
9171         Change type of first argument to 'const char *'.
9172         (main): Remove unused variable.
9173         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
9174         type of first argument to 'const char *'.
9175         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
9176         Likewise.
9177         (main): Change type of variable 's'.
9178         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
9179         to 'int'.
9180
9181 2011-01-02  Bruno Haible  <bruno@clisp.org>
9182
9183         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
9184         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
9185         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
9186         bug.
9187         * lib/pwrite.c: Undo 2010-12-31 patch.
9188         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
9189
9190 2011-01-02  Bruno Haible  <bruno@clisp.org>
9191
9192         pread: Fix test whether it works.
9193         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
9194
9195 2011-01-02  Bruno Haible  <bruno@clisp.org>
9196
9197         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
9198         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
9199         ends in "6". Don't require a specific month name. Try also the locale
9200         names found on HP-UX 11 and Solaris 7.
9201
9202 2011-01-02  Bruno Haible  <bruno@clisp.org>
9203
9204         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
9205         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
9206         C linkage.
9207         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
9208
9209 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
9210
9211         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
9212         for consistency, since the "cluster" term is not used elsewhere.
9213         * lib/unigbrk.in.h: Update name.
9214         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
9215         * lib/unigbrk/u16-grapheme-next.c: Update name.
9216         * lib/unigbrk/u16-grapheme-prev.c: Update name.
9217         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
9218         * lib/unigbrk/u32-grapheme-next.c: Update name.
9219         * lib/unigbrk/u32-grapheme-prev.c: Update name.
9220         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
9221         * lib/unigbrk/u8-grapheme-next.c: Update name.
9222         * lib/unigbrk/u8-grapheme-prev.c: Update name.
9223         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
9224         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
9225         Suggested by Bruno Haible.
9226
9227 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
9228
9229         Remove module 'u8-grapheme-len' as too redundant with
9230         'u8-grapheme-next'.
9231         * modules/unigbrk/u8-grapheme-len: Delete file.
9232         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
9233         * lib/unigbrk.in.h: Remove prototype for deleted function.
9234         * lib/unigbrk/u8-grapheme-len.c: Delete file.
9235         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
9236
9237         Remove module 'u16-grapheme-len' as too redundant with
9238         'u16-grapheme-next'.
9239         * modules/unigbrk/u16-grapheme-len: Delete file.
9240         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
9241         * lib/unigbrk.in.h: Remove prototype for deleted function.
9242         * lib/unigbrk/u16-grapheme-len.c: Delete file.
9243         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
9244
9245         Remove module 'u32-grapheme-len' as too redundant with
9246         'u32-grapheme-next'.
9247         * modules/unigbrk/u32-grapheme-len: Delete file.
9248         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
9249         * lib/unigbrk.in.h: Remove prototype for deleted function.
9250         * lib/unigbrk/u32-grapheme-len.c: Delete file.
9251         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
9252
9253         Suggested by Bruno Haible.
9254
9255 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
9256
9257         * unigbrk.in.h: Fix typo: "ben" => "been".
9258         Reported by Bruno Haible.
9259
9260 2011-01-01  Jim Meyering  <meyering@redhat.com>
9261
9262         maint: update almost all copyright ranges to include 2011
9263         Run the new "make update-copyright" rule.
9264
9265 2011-01-01  Jim Meyering  <meyering@redhat.com>
9266
9267         maint: update-copyright: exempt doc/INSTALL*
9268         * Makefile (update-copyright): Also exclude doc/INSTALL*,
9269         since they are generated.  Suggested by Bruno Haible.
9270
9271 2011-01-01  Jim Meyering  <meyering@redhat.com>
9272
9273         maint: refine the update-copyright rule
9274         * Makefile (update-copyright): Also exclude any file that includes
9275         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
9276         code that merely generates the comment.
9277
9278 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
9279
9280         New module 'u8-grapheme-len'.
9281         * modules/unigbrk/u8-grapheme-len: New file.
9282         * modules/unigbrk/u8-grapheme-len-tests: New file.
9283         * lib/unigbrk.in.h: Add prototype for new function.
9284         * lib/unigbrk/u8-grapheme-len.c: New file.
9285         * tests/unigbrk/test-u8-grapheme-len.c: New file.
9286
9287         New module 'u16-grapheme-len'.
9288         * modules/unigbrk/u16-grapheme-len: New file.
9289         * modules/unigbrk/u16-grapheme-len-tests: New file.
9290         * lib/unigbrk.in.h: Add prototype for new function.
9291         * lib/unigbrk/u16-grapheme-len.c: New file.
9292         * tests/unigbrk/test-u16-grapheme-len.c: New file.
9293
9294         New module 'u32-grapheme-len'.
9295         * modules/unigbrk/u32-grapheme-len: New file.
9296         * modules/unigbrk/u32-grapheme-len-tests: New file.
9297         * lib/unigbrk.in.h: Add prototype for new function.
9298         * lib/unigbrk/u32-grapheme-len.c: New file.
9299         * tests/unigbrk/test-u32-grapheme-len.c: New file.
9300
9301         New module 'u8-grapheme-next'.
9302         * modules/unigbrk/u8-grapheme-next: New file.
9303         * modules/unigbrk/u8-grapheme-next-tests: New file.
9304         * lib/unigbrk.in.h: Add prototype for new function.
9305         * lib/unigbrk/u8-grapheme-next.c: New file.
9306         * tests/unigbrk/test-u8-grapheme-next.c: New file.
9307
9308         New module 'u16-grapheme-next'.
9309         * modules/unigbrk/u16-grapheme-next: New file.
9310         * modules/unigbrk/u16-grapheme-next-tests: New file.
9311         * lib/unigbrk.in.h: Add prototype for new function.
9312         * lib/unigbrk/u16-grapheme-next.c: New file.
9313         * tests/unigbrk/test-u16-grapheme-next.c: New file.
9314
9315         New module 'u32-grapheme-next'.
9316         * modules/unigbrk/u32-grapheme-next: New file.
9317         * modules/unigbrk/u32-grapheme-next-tests: New file.
9318         * lib/unigbrk.in.h: Add prototype for new function.
9319         * lib/unigbrk/u32-grapheme-next.c: New file.
9320         * tests/unigbrk/test-u32-grapheme-next.c: New file.
9321
9322         New module 'u8-grapheme-prev'.
9323         * modules/unigbrk/u8-grapheme-prev: New file.
9324         * modules/unigbrk/u8-grapheme-prev-tests: New file.
9325         * lib/unigbrk.in.h: Add prototype for new function.
9326         * lib/unigbrk/u8-grapheme-prev.c: New file.
9327         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
9328
9329         New module 'u16-grapheme-prev'.
9330         * modules/unigbrk/u16-grapheme-prev: New file.
9331         * modules/unigbrk/u16-grapheme-prev-tests: New file.
9332         * lib/unigbrk.in.h: Add prototype for new function.
9333         * lib/unigbrk/u16-grapheme-prev.c: New file.
9334         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
9335
9336         New module 'u32-grapheme-prev'.
9337         * modules/unigbrk/u32-grapheme-prev: New file.
9338         * modules/unigbrk/u32-grapheme-prev-tests: New file.
9339         * lib/unigbrk.in.h: Add prototype for new function.
9340         * lib/unigbrk/u32-grapheme-prev.c: New file.
9341         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
9342
9343         New module 'u8-grapheme-breaks'.
9344         * modules/unigbrk/u8-grapheme-breaks: New file.
9345         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
9346         * lib/unigbrk.in.h: Add prototype for new function.
9347         * lib/unigbrk/u8-grapheme-breaks.c: New file.
9348         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
9349
9350         New module 'u16-grapheme-breaks'.
9351         * modules/unigbrk/u16-grapheme-breaks: New file.
9352         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
9353         * lib/unigbrk.in.h: Add prototype for new function.
9354         * lib/unigbrk/u16-grapheme-breaks.c: New file.
9355         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
9356
9357         New module 'u32-grapheme-breaks'.
9358         * modules/unigbrk/u32-grapheme-breaks: New file.
9359         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
9360         * lib/unigbrk.in.h: Add prototype for new function.
9361         * lib/unigbrk/u32-grapheme-breaks.c: New file.
9362         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
9363
9364         New module 'ulc-grapheme-breaks'.
9365         * modules/unigbrk/ulc-grapheme-breaks: New file.
9366         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
9367         * m4/locale-ar.m4: New file.
9368         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
9369         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
9370         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
9371
9372 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
9373
9374         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
9375         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
9376         modified how this file was generated before I initially submitted
9377         the module, but failed to regenerate it.  This meant that several
9378         of the level2 entries were wrong.
9379         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
9380         Remove the division-by-2 that is folded into the table now that
9381         gbrkprop.h has been regenerated properly.  Now -1 entries are
9382         handled correctly.
9383
9384         New module 'unigbrk/uc-gbrk-prop-tests'.
9385         * modules/unigbrk/uc-gbrk-prop-tests: New file.
9386         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
9387         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
9388         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
9389
9390 2011-01-01  Bruno Haible  <bruno@clisp.org>
9391
9392         Avoid use of hexadecimal escapes.
9393         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
9394         instead of hexadecimal escapes.
9395
9396 2011-01-01  Jim Meyering  <meyering@redhat.com>
9397
9398         maint: new rule to update copyright year ranges
9399         * Makefile (update-copyright): New rule.
9400
9401         maint: indent with TABs in Makefile
9402         * Makefile: Expand leading sequences of spaces to TABs
9403
9404         version-etc: update the copyright year it reports
9405         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
9406
9407 2010-12-31  Bruno Haible  <bruno@clisp.org>
9408
9409         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
9410         * lib/isfinite.c (zerof, zerod, zerol): New variables.
9411         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
9412         zero.
9413
9414 2010-12-31  Bruno Haible  <bruno@clisp.org>
9415
9416         pwrite: Work around HP-UX 11.11 bug.
9417         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
9418         works and set REPLACE_PWRITE if not.
9419         * lib/pwrite.c (pwrite): Add an implementation that uses the system
9420         function.
9421         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
9422
9423 2010-12-31  Bruno Haible  <bruno@clisp.org>
9424
9425         pread: Work around HP-UX 11 bugs.
9426         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
9427         and set REPLACE_PREAD if not.
9428         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
9429
9430 2010-12-31  Eric Blake  <eblake@redhat.com>
9431
9432         nl_langinfo: fix YESEXPR on Irix 6.5
9433         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
9434         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
9435         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
9436         it.
9437
9438 2010-12-31  Bruno Haible  <bruno@clisp.org>
9439
9440         iconv: Document HP-UX 11 bug.
9441         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
9442
9443 2010-12-31  Bruno Haible  <bruno@clisp.org>
9444
9445         ldexpl: Fix link error on HP-UX 11.
9446         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
9447         LDEXPL_LIBM, using $ISNANL_LIBM.
9448
9449 2010-12-31  Eric Blake  <eblake@redhat.com>
9450
9451         ftello: avoid compilation failure with SunStudio c89
9452         * lib/ftello.c (ftello): Use lseek, not llseek.
9453
9454         tests: avoid failing coreutils tests on cygwin
9455         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
9456         (create_exe_shims_): Return 0 when skipping.
9457
9458 2010-12-31  Bruno Haible  <bruno@clisp.org>
9459
9460         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
9461         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
9462
9463 2010-12-31  Bruno Haible  <bruno@clisp.org>
9464
9465         waitpid: Fix link error in C++ mode.
9466         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
9467
9468 2010-12-31  Bruno Haible  <bruno@clisp.org>
9469
9470         isnan: Use GCC built-ins when possible.
9471         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
9472         __builtin_isnan.
9473         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
9474         (isnan): Define using GCC built-ins for GCC >= 4.0.
9475
9476 2010-12-31  Bruno Haible  <bruno@clisp.org>
9477
9478         isnand: Fix mistake.
9479         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
9480         __builtin_isnand.
9481
9482 2010-12-31  Bruno Haible  <bruno@clisp.org>
9483
9484         open: Avoid C++ error on HP-UX 11.
9485         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
9486
9487 2010-12-31  Bruno Haible  <bruno@clisp.org>
9488
9489         time_r: Add missing declarations on HP-UX 11.
9490         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
9491         instead of HAVE_LOCALTIME_R.
9492         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
9493         HAVE_LOCALTIME_R always.
9494         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
9495         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
9496         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
9497         HAVE_LOCALTIME_R.
9498         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
9499         * doc/posix-functions/localtime_r.texi: Likewise.
9500
9501 2010-12-29  Eric Blake  <eblake@redhat.com>
9502
9503         mountlist: tweak previous commit
9504         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
9505         Reported by Paul Eggert.
9506
9507         mountlist: fix local drive detection on cygwin
9508         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
9509         that works for cygwin.
9510
9511 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
9512
9513         ftoastr, snprintf: ftoastr + snprintf module
9514         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
9515         since the snprintf module now should be good enough here.
9516         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
9517         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
9518         and gl_MODULE_INDICATOR([snprintf]), but the former enables
9519         GNULIB_SNPRINTF only for the test directory, and the latter
9520         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
9521         seems to suffice by itself.
9522
9523 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
9524
9525         alloca: one step towards thread-safety
9526         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
9527         need for a static variable.  All callers changed.  This does not
9528         make the alloca replacement thread-safe, but it's one step.
9529
9530         tests: minor indenting change
9531         * tests/init.sh: Sync from coreutils housekeeping patch
9532         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
9533         to keep lines within 80 columns.
9534
9535 2010-12-28  Jim Meyering  <meyering@redhat.com>
9536
9537         regex: don't infloop on persistent failing calloc
9538         * lib/regexec.c (build_trtable): Return failure indication upon
9539         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
9540         In glibc, this was fixed for version 2.13:
9541         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
9542
9543 2010-12-28  Bruno Haible  <bruno@clisp.org>
9544             Paul Eggert <eggert@cs.ucla.edu>
9545
9546         linkat: Make implementation robust against system behaviour variations.
9547         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
9548         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
9549         way, and to -2 if it needs a generic runtime test.
9550         * lib/linkat.c (solaris_optimized_link_immediate,
9551         solaris_optimized_link_follow): New functions.
9552         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
9553         (check_same_link): Use it.
9554
9555 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
9556
9557         New module 'unigbrk/base'.
9558         * modules/unigbrk/base: New file.
9559         * lib/unigbrk.in.h: New file.
9560
9561         New module 'unigbrk/uc-gbrk-prop'.
9562         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
9563         * modules/unigbrk/uc-gbrk-prop: New file.
9564         * lib/unigbrk/gbrkprop.h: New file.
9565         * lib/unigbrk/uc-gbrk-prop.c: New file.
9566
9567         New module 'unigbrk/uc-is-grapheme-break'.
9568         * modules/unigbrk/uc-is-grapheme-break: New file.
9569         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
9570         * lib/unigbrk/uc-is-grapheme-break.c: New file.
9571         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
9572         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
9573         * tests/unigbrk/GraphemeBreakTest.txt: New file.
9574
9575         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
9576
9577 2010-12-27  Bruno Haible  <bruno@clisp.org>
9578
9579         linkat test: Avoid failure on Solaris 11 2010-11.
9580         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
9581
9582 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
9583
9584         utimens: work around glibc rounding bug on more platforms
9585         * lib/utimens.c (fdutimens): Work around rounding bug even if
9586         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
9587         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
9588
9589 2010-12-27  Bruno Haible  <bruno@clisp.org>
9590
9591         select tests: Improve comments.
9592         * tests/test-select.c (do_select): Add comments.
9593
9594 2010-12-27  Bruno Haible  <bruno@clisp.org>
9595
9596         select tests: Safer way of handling timeout.
9597         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
9598         at every invocation.
9599
9600 2010-12-27  Bruno Haible  <bruno@clisp.org>
9601
9602         select tests: Use 'bool' where appropriate.
9603         * tests/test-select.c (connect_to_socket): Change argument type to
9604         'bool'.
9605
9606 2010-12-27  Bruno Haible  <bruno@clisp.org>
9607
9608         select tests: Use existing modules.
9609         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
9610         (configure.ac): Don't test for unistd.h.
9611         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
9612         declared in <unistd.h>.
9613
9614 2010-12-27  Bruno Haible  <bruno@clisp.org>
9615
9616         mbrtowc: Work around a Solaris 7 bug.
9617         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
9618         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
9619         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
9620         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
9621         MBRTOWC_NULL_ARG1_BUG.
9622         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
9623         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
9624         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
9625         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
9626
9627 2010-12-27  Jim Meyering  <meyering@redhat.com>
9628
9629         read-file.c: tweak syntax
9630         * lib/read-file.c (fread_file): Remove space after "*" in function
9631         definitions.
9632
9633 2010-12-27  Bruno Haible  <bruno@clisp.org>
9634
9635         times test: Avoid gcc warnings on OSF/1.
9636         * tests/test-times.c (main): Cast printf arguments from clock_t to
9637         'long int'.
9638
9639 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
9640
9641         utimens: work around glibc rounding bug on older Linux kernels
9642         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
9643         on Linux with a glibc whose utimes might not work, then work
9644         around a longstanding glibc bug involving rounding rather than
9645         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
9646         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
9647
9648 2010-12-26  Bruno Haible  <bruno@clisp.org>
9649
9650         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
9651         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
9652         _GL_CXXALIAS_SYS.
9653         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
9654
9655 2010-12-26  Bruno Haible  <bruno@clisp.org>
9656
9657         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
9658         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
9659         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
9660         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
9661         looking for the declaration.
9662         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
9663         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
9664         problem.
9665         * doc/posix-functions/inet_pton.texi: Likewise.
9666
9667 2010-12-26  Bruno Haible  <bruno@clisp.org>
9668
9669         arpa_inet: Use the common idioms with C++ support.
9670         * lib/arpa_inet.in.h: Include c++defs.h.
9671         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
9672         support.
9673         * modules/arpa_inet (Depends-on): Add c++defs.
9674         (Makefile.am): Substitute the contents of c++defs.h.
9675         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
9676         * modules/arpa_inet-c++-tests: New file.
9677         * tests/test-arpa_inet-c++.cc: New file.
9678
9679 2010-12-25  Bruno Haible  <bruno@clisp.org>
9680
9681         Fix more C++ link errors on Solaris 8.
9682         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
9683         $(LIB_EACCESS).
9684         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
9685         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
9686         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
9687         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
9688         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
9689
9690 2010-12-25  Bruno Haible  <bruno@clisp.org>
9691
9692         printf-posix: Fix link error when a non-GCC compiler is used.
9693         * lib/stdio.in.h (printf): When not using GCC, override printf
9694         correctly.
9695         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
9696
9697 2010-12-25  Bruno Haible  <bruno@clisp.org>
9698
9699         strerror_r-posix: Update doc.
9700         * doc/posix-functions/strerror_r.texi: Update doc about the return
9701         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
9702
9703 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
9704
9705         utimens: simplify the logic of the previous change
9706         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
9707         This should not affect whether the test succeeds or fails.
9708
9709         utimens: configure better on hosts with NFS clock skew
9710         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
9711         uses the clock of the local host.  It might use the clock of the
9712         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
9713         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
9714
9715 2010-12-25  Bruno Haible  <bruno@clisp.org>
9716
9717         ptsname test: Avoid failure on Solaris.
9718         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
9719         open a pseudo-terminal; don't use BSD-style ptys.
9720         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
9721
9722 2010-12-25  Bruno Haible  <bruno@clisp.org>
9723
9724         ptsname: Avoid ERANGE failure on some systems.
9725         * lib/ptsname.c (buffer): Increase size.
9726
9727 2010-12-25  Bruno Haible  <bruno@clisp.org>
9728
9729         rename, renameat: Avoid test failures at NFS mounted locations.
9730         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
9731         so that subsequent mkdir calls succeed.
9732
9733 2010-12-25  Bruno Haible  <bruno@clisp.org>
9734
9735         iswblank: Fix C++ link error on Solaris 8.
9736         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
9737         _GL_FUNCDECL_SYS.
9738
9739 2010-12-25  Bruno Haible  <bruno@clisp.org>
9740
9741         unistd: Fix C++ link error on Solaris 8.
9742         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
9743
9744 2010-12-25  Bruno Haible  <bruno@clisp.org>
9745
9746         readlink doc: Mention an old glibc bug.
9747         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
9748
9749 2010-12-25  Bruno Haible  <bruno@clisp.org>
9750
9751         fcntl-h: Fix for use of C++ on glibc systems.
9752         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
9753         also on glibc systems in C++ mode.
9754         Reported by Gary V. Vaughan <gary@gnu.org>.
9755
9756 2010-12-25  Bruno Haible  <bruno@clisp.org>
9757
9758         roundl-ieee: Make it work on OSF/1 5.1 with cc.
9759         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
9760
9761 2010-12-25  Bruno Haible  <bruno@clisp.org>
9762
9763         truncl-ieee: Make it work on OSF/1 5.1 with cc.
9764         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
9765         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
9766         test whether truncl works according to ISO C 99 with IEC 60559.
9767         * m4/truncl-ieee.m4: New file.
9768         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
9769         m4/signbit.m4.
9770         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
9771
9772 2010-12-25  Bruno Haible  <bruno@clisp.org>
9773
9774         ceill-ieee: Make it work on OSF/1 5.1 with cc.
9775         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
9776         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
9777         test whether ceill works according to ISO C 99 with IEC 60559.
9778         * m4/ceill-ieee.m4: New file.
9779         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
9780         m4/signbit.m4.
9781         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
9782
9783 2010-12-25  Bruno Haible  <bruno@clisp.org>
9784
9785         Ensure all prerequisites of <wchar.h> are included.
9786         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
9787         before <wchar.h>.
9788         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
9789         gl_MBRLEN_NUL_RETVAL): Likewise.
9790         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
9791         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
9792         AC_FUNC_MBRTOWC): Likewise.
9793         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
9794         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
9795         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
9796         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
9797         Likewise.
9798         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
9799         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
9800         (gl_WCHAR_H): Improve comments.
9801         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
9802
9803 2010-12-25  Bruno Haible  <bruno@clisp.org>
9804
9805         strtok_r: Fix C syntax error in autoconf macro.
9806         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
9807         characters in test program.
9808
9809 2010-12-24  Bruno Haible  <bruno@clisp.org>
9810
9811         ceil, trunc, round: Fix gcc warnings.
9812         * lib/ceil.c (MIN): Undefine before redefining.
9813         * lib/trunc.c (MIN): Likewise.
9814         * lib/round.c (MIN): Likewise.
9815         Include <math.h> first.
9816
9817 2010-12-24  Bruno Haible  <bruno@clisp.org>
9818
9819         select tests: Avoid failures on OSF/1 5.1.
9820         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
9821         failure of closing the last socket; it may fail with ECONNRESET.
9822
9823 2010-12-24  Eric Blake  <eblake@redhat.com>
9824
9825         stdint: avoid HP-UX 10.20 preprocessor bug
9826         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
9827         than #if.
9828         * tests/test-floor2.c (main): Likewise.
9829         Reported by Peter O'Gorman.
9830
9831         pipe: make obsoletion transition easier
9832         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
9833         * modules/pipe (Files): Include revived file.
9834         (Include): Drop reference, to mirror getdate's behavior.
9835
9836 2010-12-24  Bruno Haible  <bruno@clisp.org>
9837
9838         sys_socket: Hide mismatch of declarations on NonStop Kernel.
9839         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
9840         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
9841         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
9842
9843 2010-12-24  Bruno Haible  <bruno@clisp.org>
9844
9845         gethostname: Ensure declaration on NonStop Kernel.
9846         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
9847         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
9848
9849 2010-12-24  Bruno Haible  <bruno@clisp.org>
9850
9851         sys_select: Ensure all necessary types on NonStop Kernel.
9852         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
9853         include <sys/time.h>.
9854         * doc/posix-headers/sys_select.texi: Mention that it's missing on
9855         NonStop Kernel.
9856         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
9857
9858 2010-12-24  Bruno Haible  <bruno@clisp.org>
9859
9860         sys_select: Remove unneeded include.
9861         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
9862         have <sys/select.h>.
9863
9864 2010-12-24  Bruno Haible  <bruno@clisp.org>
9865
9866         gethostname: Provide a fallback for HOST_NAME_MAX.
9867         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
9868         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
9869         instead.
9870         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
9871
9872 2010-12-24  Bruno Haible  <bruno@clisp.org>
9873
9874         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
9875         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
9876         (SA_RESTART): Likewise.
9877         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
9878
9879 2010-12-24  Bruno Haible  <bruno@clisp.org>
9880
9881         signal: Define NSIG.
9882         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
9883         * tests/test-signal.c (nsig): New variable.
9884         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
9885
9886 2010-12-24  Bruno Haible  <bruno@clisp.org>
9887
9888         rename, renameat: Avoid test failures on OSF/1 5.1.
9889         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
9890         alternative error codes.
9891         * tests/test-renameat.c (main): Likewise.
9892
9893 2010-12-24  Bruno Haible  <bruno@clisp.org>
9894
9895         *printf: Detect large precisions bug on Solaris 10/SPARC.
9896         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
9897         by Paul Eggert.
9898         * tests/test-snprintf-posix.h (test_function): Add this test code here
9899         too.
9900         * tests/test-sprintf-posix.h (test_function): Likewise.
9901         * tests/test-vasnprintf-posix.c (test_function): Likewise.
9902         * tests/test-vasprintf-posix.c (test_function): Likewise.
9903         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
9904         around by gnulib.
9905         * doc/posix-functions/printf.texi: Likewise.
9906         * doc/posix-functions/snprintf.texi: Likewise.
9907         * doc/posix-functions/sprintf.texi: Likewise.
9908         * doc/posix-functions/vfprintf.texi: Likewise.
9909         * doc/posix-functions/vprintf.texi: Likewise.
9910         * doc/posix-functions/vsnprintf.texi: Likewise.
9911         * doc/posix-functions/vsprintf.texi: Likewise.
9912         * doc/posix-functions/dprintf.texi: Undo last commit.
9913         * doc/posix-functions/vdprintf.texi: Likewise.
9914
9915 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
9916
9917         tests: port test-fdutimensat.c to Solaris 8
9918         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
9919         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
9920         On Solaris 8, it fails with errno == ENOSYS, because there is no
9921         futimens (so it can't use the fd), and there is no lutimens (so it
9922         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
9923
9924         vsnprintf: make more consistent with snprintf; doc fixes
9925
9926         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
9927         the byte count return problem was promoted from the snprintf-posix
9928         to the snprintf module.
9929         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
9930         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
9931         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
9932         * tests/test-snprintf.c (main): Check the byte count returned.
9933         * tests/test-vsnprintf.c (main): Likewise.
9934
9935 2010-12-23  Eric Blake  <eblake@redhat.com>
9936
9937         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
9938         * modules/sigpipe (License): Relax license.
9939
9940 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
9941
9942         doc: document Solaris printf bug with large float precisions
9943         * doc/posix-functions/dprintf.texi (dprintf):
9944         * doc/posix-functions/fprintf.texi (fprintf):
9945         * doc/posix-functions/printf.texi (printf):
9946         * doc/posix-functions/snprintf.texi (snprintf):
9947         * doc/posix-functions/sprintf.texi (sprintf):
9948         * doc/posix-functions/vdprintf.texi (vdprintf):
9949         * doc/posix-functions/vfprintf.texi (vfprintf):
9950         * doc/posix-functions/vprintf.texi (vprintf):
9951         * doc/posix-functions/vsnprintf.texi (vsnprintf):
9952         * doc/posix-functions/vsprintf.texi (vsprintf):
9953         Mention that these functions mishandle large floating point
9954         precisions on Solaris 10.  The same bug is also present in Solaris
9955         8, and I assume earlier.  This causes "cd gnulib-tests; make
9956         check" to fail on Solaris 8 (and I assume, later) when building
9957         the latest coreutils, in test-vasprintf-posix's call to
9958         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
9959         the wide flavors (e.g., wprintf) so this patch just updates the
9960         documentation for the narrow ones.
9961
9962         test-posixtm.c: add two tests
9963         * tests/test-posixtm.c: Add two tests, to highlight the
9964         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
9965         around this bug; this is merely to document it.
9966
9967 2010-12-22  Bruno Haible  <bruno@clisp.org>
9968
9969         getlogin_r: Work around portability problem on OSF/1.
9970         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
9971         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
9972         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
9973         test for a truncated result.
9974         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
9975         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
9976         * modules/getlogin_r (Depends-on): Add memchr.
9977         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
9978
9979 2010-12-22  Bruno Haible  <bruno@clisp.org>
9980
9981         ptsname: Avoid test failure on OSF/1 5.1.
9982         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
9983         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
9984         (same_slave): New function.
9985         (main): Use it to compare ptsname's result with the expected file name.
9986
9987 2010-12-22  Bruno Haible  <bruno@clisp.org>
9988
9989         Port extended stdio modules to HP NonStop Kernel.
9990         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
9991         macros.
9992         * lib/fbufmode.c: Update comments.
9993         * lib/fflush.c: Likewise.
9994         * lib/fpurge.c: Likewise.
9995         * lib/freadable.c: Likewise.
9996         * lib/freadahead.c: Likewise.
9997         * lib/freading.c: Likewise.
9998         * lib/freadptr.c: Likewise.
9999         * lib/freadseek.c: Likewise.
10000         * lib/fseeko.c: Likewise.
10001         * lib/fseterr.c: Likewise.
10002         * lib/fwritable.c: Likewise.
10003         * lib/fwriting.c: Likewise.
10004         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
10005
10006 2010-12-22  Bruno Haible  <bruno@clisp.org>
10007
10008         ttyname_r: Work around bug on OSF/1 5.1.
10009         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
10010         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
10011         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
10012         present.
10013         * lib/ttyname_r.c (ttyname_r): Update comments.
10014
10015 2010-12-22  Bruno Haible  <bruno@clisp.org>
10016
10017         round: Implement result sign according to IEEE 754.
10018         * lib/round.c (MIN, MINUS_ZERO): New macros.
10019         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
10020         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
10021         * tests/test-round-ieee.c (main): Likewise.
10022         * tests/test-roundl-ieee.c (main): Likewise.
10023
10024         trunc: Implement result sign according to IEEE 754.
10025         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
10026         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
10027         * tests/test-trunc2.c: Include minus-zero.h.
10028         (MINUS_ZERO): New macro.
10029         (trunc_reference): Keep in sync with lib/trunc.c.
10030         * tests/test-truncf2.c: Include minus-zero.h.
10031         (MINUS_ZERO): New macro.
10032         (truncf_reference): Keep in sync with lib/trunc.c.
10033         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
10034         * tests/test-trunc-ieee.c (main): Likewise.
10035         * tests/test-truncl-ieee.c (main): Likewise.
10036
10037         ceil: Implement result sign according to IEEE 754.
10038         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
10039         (FUNC): Return -0.0 for -1 < x < 0.
10040         * tests/test-ceil2.c: Include minus-zero.h.
10041         (MINUS_ZERO): New macro.
10042         (ceil_reference): Keep in sync with lib/ceil.c.
10043         * tests/test-ceilf2.c: Include minus-zero.h.
10044         (MINUS_ZERO): New macro.
10045         (ceilf_reference): Keep in sync with lib/ceil.c.
10046         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
10047         * tests/test-ceil-ieee.c (main): Likewise.
10048         * tests/test-ceill-ieee.c (main): Likewise.
10049
10050         floor: Implement result sign according to IEEE 754.
10051         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
10052         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
10053         * tests/test-floorf2.c (floorf_reference): Likewise.
10054         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
10055         * tests/test-floor-ieee.c (main): Likewise.
10056         * tests/test-floorl-ieee.c (main): Likewise.
10057
10058 2010-12-22  Bruno Haible  <bruno@clisp.org>
10059
10060         getaddrinfo: Update doc.
10061         * doc/posix-functions/gai_strerror.texi: Return type is also different
10062         on AIX and HP-UX.
10063
10064 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
10065
10066         getaddrinfo, inet_ntop: Update doc for Solaris.
10067         * doc/posix-functions/gai_strerror.texi: Return type is also an
10068         issue on Solaris 9 and earlier.
10069         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
10070         on Solaris 10 and earlier.
10071
10072 2010-12-21  Bruno Haible  <bruno@clisp.org>
10073
10074         New module 'roundl-ieee'.
10075         * modules/roundl-ieee: New file.
10076         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
10077         test whether roundl works according to ISO C 99 with IEC 60559.
10078         * m4/roundl-ieee.m4: New file.
10079         * modules/roundl-ieee-tests: New file.
10080         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
10081         * tests/test-roundl.c (main): Remove signbit tests.
10082         * modules/roundl-tests (Depends-on): Remove signbit.
10083         * doc/posix-functions/roundl.texi: Mention the new module.
10084
10085 2010-12-21  Bruno Haible  <bruno@clisp.org>
10086
10087         New module 'truncl-ieee'.
10088         * modules/truncl-ieee: New file.
10089         * modules/truncl-ieee-tests: New file.
10090         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
10091         * tests/test-truncl.c (main): Remove signbit tests.
10092         * modules/truncl-tests (Depends-on): Remove signbit.
10093         * doc/posix-functions/truncl.texi: Mention the new module.
10094
10095 2010-12-21  Bruno Haible  <bruno@clisp.org>
10096
10097         New module 'ceill-ieee'.
10098         * modules/ceill-ieee: New file.
10099         * modules/ceill-ieee-tests: New file.
10100         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
10101         * tests/test-ceill.c (main): Remove signbit tests.
10102         * modules/ceill-tests (Depends-on): Remove signbit.
10103         * doc/posix-functions/ceill.texi: Mention the new module.
10104
10105 2010-12-21  Bruno Haible  <bruno@clisp.org>
10106
10107         New module 'floorl-ieee'.
10108         * modules/floorl-ieee: New file.
10109         * modules/floorl-ieee-tests: New file.
10110         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
10111         * tests/test-floorl.c (main): Remove signbit tests.
10112         * modules/floorl-tests (Depends-on): Remove signbit.
10113         * doc/posix-functions/floorl.texi: Mention the new module.
10114
10115 2010-12-21  Bruno Haible  <bruno@clisp.org>
10116
10117         New module 'round-ieee'.
10118         * modules/round-ieee: New file.
10119         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
10120         whether round works according to ISO C 99 with IEC 60559.
10121         * m4/round-ieee.m4: New file.
10122         * modules/round-ieee-tests: New file.
10123         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
10124         * tests/test-round1.c (main): Remove signbit tests.
10125         * modules/round-tests (Depends-on): Remove 'signbit'.
10126         * doc/posix-functions/round.texi: Mention the new module.
10127
10128 2010-12-21  Bruno Haible  <bruno@clisp.org>
10129
10130         New module 'trunc-ieee'.
10131         * modules/trunc-ieee: New file.
10132         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
10133         whether trunc works according to ISO C 99 with IEC 60559.
10134         * m4/trunc-ieee.m4: New file.
10135         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
10136         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
10137         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
10138         * modules/trunc-ieee-tests: New file.
10139         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
10140         * tests/test-trunc1.c (main): Remove signbit tests.
10141         * modules/trunc-tests (Depends-on): Remove 'signbit'.
10142         * doc/posix-functions/trunc.texi: Mention the new module.
10143
10144 2010-12-21  Bruno Haible  <bruno@clisp.org>
10145
10146         New module 'ceil-ieee'.
10147         * modules/ceil-ieee: New file.
10148         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
10149         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
10150         ISO C 99 with IEC 60559.
10151         * m4/ceil-ieee.m4: New file.
10152         * modules/ceil (Files): Add lib/ceil.c.
10153         (Depends-on): Add 'float'.
10154         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
10155         * lib/math.in.h (ceil): New declaration.
10156         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
10157         REPLACE_CEIL.
10158         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
10159         * modules/ceil-ieee-tests: New file.
10160         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
10161         * tests/test-math-c++.cc: Check the signature of 'ceil'.
10162         * doc/posix-functions/ceil.texi: Mention the new module.
10163
10164 2010-12-21  Bruno Haible  <bruno@clisp.org>
10165
10166         New module 'floor-ieee'.
10167         * modules/floor-ieee: New file.
10168         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
10169         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
10170         ISO C 99 with IEC 60559.
10171         * m4/floor-ieee.m4: New file.
10172         * modules/floor (Files): Add lib/floor.c.
10173         (Depends-on): Add 'float'.
10174         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
10175         * lib/math.in.h (floor): New declaration.
10176         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
10177         REPLACE_FLOOR.
10178         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
10179         * modules/floor-ieee-tests: New file.
10180         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
10181         * tests/test-math-c++.cc: Check the signature of 'floor'.
10182         * doc/posix-functions/floor.texi: Mention the new module.
10183
10184 2010-12-21  Bruno Haible  <bruno@clisp.org>
10185
10186         New module 'roundf-ieee'.
10187         * modules/roundf-ieee: New file.
10188         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
10189         test whether roundf works according to ISO C 99 with IEC 60559.
10190         * m4/roundf-ieee.m4: New file.
10191         * modules/roundf-ieee-tests: New file.
10192         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
10193         * tests/test-roundf1.c (main): Remove signbit tests.
10194         * modules/roundf-tests (Depends-on): Remove 'signbit'.
10195         * doc/posix-functions/roundf.texi: Mention the new module.
10196
10197 2010-12-21  Bruno Haible  <bruno@clisp.org>
10198
10199         New module 'truncf-ieee'.
10200         * modules/truncf-ieee: New file.
10201         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
10202         test whether truncf works according to ISO C 99 with IEC 60559.
10203         * m4/truncf-ieee.m4: New file.
10204         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
10205         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
10206         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
10207         * modules/truncf-ieee-tests: New file.
10208         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
10209         * tests/test-truncf1.c (main): Remove signbit tests.
10210         * modules/truncf-tests (Depends-on): Remove 'signbit'.
10211         * doc/posix-functions/truncf.texi: Mention the new module.
10212
10213 2010-12-21  Bruno Haible  <bruno@clisp.org>
10214
10215         New module 'ceilf-ieee'.
10216         * modules/ceilf-ieee: New file.
10217         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
10218         test whether ceilf works according to ISO C 99 with IEC 60559.
10219         * m4/ceilf-ieee.m4: New file.
10220         * modules/ceilf-ieee-tests: New file.
10221         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
10222         * tests/test-ceilf1.c (main): Remove signbit tests.
10223         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
10224         * doc/posix-functions/ceilf.texi: Mention the new module.
10225
10226 2010-12-21  Bruno Haible  <bruno@clisp.org>
10227
10228         New module 'floorf-ieee'.
10229         * modules/floorf-ieee: New file.
10230         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
10231         test whether floorf works according to ISO C 99 with IEC 60559.
10232         * m4/floorf-ieee.m4: New file.
10233         * modules/floorf-ieee-tests: New file.
10234         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
10235         * tests/test-floorf1.c (main): Remove signbit tests.
10236         * modules/floorf-tests (Depends-on): Remove 'signbit'.
10237         * doc/posix-functions/floorf.texi: Mention the new module.
10238
10239 2010-12-21  Bruno Haible  <bruno@clisp.org>
10240
10241         Support for minus zero in autoconf macros.
10242         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
10243         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
10244         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
10245         * tests/minus-zero.h: Update comments.
10246
10247 2010-12-21  Bruno Haible  <bruno@clisp.org>
10248
10249         Tests for module 'ceil'.
10250         * modules/ceil-tests: New file.
10251         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
10252         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
10253
10254 2010-12-21  Bruno Haible  <bruno@clisp.org>
10255
10256         Tests for module 'floor'.
10257         * modules/floor-tests: New file.
10258         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
10259         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
10260
10261 2010-12-21  Bruno Haible  <bruno@clisp.org>
10262
10263         math: Fix indentation.
10264         * lib/math.in.h (floorf): Fix indentation.
10265
10266 2010-12-21  Bruno Haible  <bruno@clisp.org>
10267
10268         Fix cross-compilation guesses on Solaris.
10269         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
10270         not match "solaris2.10".
10271         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
10272         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
10273         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
10274
10275 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
10276
10277         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
10278         This fixes a problem observed with the latest coreutils snapshot
10279         that caused a test to fail on Solaris 8.  src/csplit.c's call
10280         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
10281         earlier, instead of returning the number of bytes that would have
10282         been generated; this causes csplit to incorrectly report memory
10283         exhaustion.
10284         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
10285         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
10286         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
10287         comments to match.
10288         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
10289         Fix typo in matching older versions of Solaris: "solaris2.10"
10290         is matched by the shell pattern "solaris2.[0-9]*".  This matters
10291         only for guessing while cross-compiling.
10292         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
10293
10294 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
10295
10296         ftoastr: fix comment again
10297         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
10298         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
10299         Also, simplify example a bit by using flags = 0.
10300
10301 2010-12-20  Bruno Haible  <bruno@clisp.org>
10302
10303         round*, trunc*: Update documentation regarding glibc.
10304         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
10305         * doc/posix-functions/round.texi: Likewise.
10306         * doc/posix-functions/roundl.texi: Likewise.
10307         * doc/posix-functions/truncf.texi: Likewise.
10308         * doc/posix-functions/trunc.texi: Likewise.
10309         * doc/posix-functions/truncl.texi: Likewise.
10310
10311 2010-12-20  Bruno Haible  <bruno@clisp.org>
10312
10313         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
10314         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
10315         * doc/posix-functions/round.texi: Likewise.
10316         * doc/posix-functions/roundl.texi: Likewise.
10317
10318 2010-12-20  Bruno Haible  <bruno@clisp.org>
10319
10320         ttyname_r: Add missing declaration on HP-UX 11.
10321         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
10322         HAVE_TTYNAME_R.
10323         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
10324         declared. Set HAVE_TTYNAME_R always.
10325         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
10326         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
10327         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
10328         HAVE_TTYNAME_R.
10329         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
10330
10331 2010-12-20  Bruno Haible  <bruno@clisp.org>
10332
10333         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
10334         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
10335         * doc/posix-functions/getlogin_r.texi: Likewise.
10336         * tests/test-getlogin.c: Include <errno.h>.
10337         (main): Avoid test failure on HP-UX 11.11.
10338         * tests/test-getlogin_r.c (main): Likewise.
10339
10340 2010-12-20  Bruno Haible  <bruno@clisp.org>
10341
10342         getlogin_r: Add missing declaration on HP-UX 11.
10343         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
10344         declared also when it exists as a function.
10345         * doc/posix-functions/getlogin_r.texi: Document this workaround.
10346
10347 2010-12-20  Bruno Haible  <bruno@clisp.org>
10348
10349         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
10350         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
10351         through wcrtomb.
10352
10353 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
10354
10355         ftoastr: fix comment
10356         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
10357         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
10358
10359 2010-12-19  Bruno Haible  <bruno@clisp.org>
10360
10361         isnan: Ensure it is a macro.
10362         * lib/math.in.h (isnan): Define as a macro if not already a macro.
10363         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
10364         Solaris.
10365
10366 2010-12-19  Bruno Haible  <bruno@clisp.org>
10367
10368         ldexpl test: Fix link error on OSF/1 5.1.
10369         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
10370
10371 2010-12-19  Bruno Haible  <bruno@clisp.org>
10372
10373         wctype: Make it work in C++ mode on OSF/1 5.1.
10374         * lib/wctype.in.h (iswblank): Declare but not define here.
10375         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
10376         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
10377         * modules/wctype (Files): Add lib/iswblank.c.
10378
10379 2010-12-19  Bruno Haible  <bruno@clisp.org>
10380
10381         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
10382         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
10383         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
10384
10385 2010-12-19  Bruno Haible  <bruno@clisp.org>
10386
10387         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
10388         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
10389         _POSIX_PII_SOCKET.
10390         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
10391         * doc/posix-functions/recvfrom.texi: Likewise.
10392         * doc/posix-functions/send.texi: Likewise.
10393         * doc/posix-functions/sendto.texi: Likewise.
10394
10395 2010-12-19  Bruno Haible  <bruno@clisp.org>
10396
10397         tcgetsid: Add missing declaration on OSF/1 5.1.
10398         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
10399         HAVE_TCGETSID.
10400         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
10401         Don't set HAVE_TCGETSID.
10402         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
10403         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
10404         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
10405         HAVE_TCGETSID.
10406         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
10407
10408 2010-12-19  Bruno Haible  <bruno@clisp.org>
10409
10410         stdio: Fix problem with popen() declaration on OSF/1 5.1.
10411         * lib/stdio.in.h: During the include_next statement, let recursive
10412         includes of this file include only the system header file.
10413
10414 2010-12-19  Bruno Haible  <bruno@clisp.org>
10415
10416         iconv_open: Fix regression from 2010-12-04.
10417         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
10418         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
10419
10420 2010-12-19  Bruno Haible  <bruno@clisp.org>
10421
10422         stdbool test: Avoid a gcc warning.
10423         * tests/test-stdbool.c (main): Fail if e1 is false.
10424         Reported by Jim Meyering.
10425
10426 2010-12-19  Jim Meyering  <meyering@redhat.com>
10427
10428         setenv: restore to working order
10429         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
10430         mistakenly removed.
10431         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
10432         HAVE_SETENV.
10433         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
10434         HAVE_SETENV.
10435
10436 2010-12-19  Bruno Haible  <bruno@clisp.org>
10437
10438         Document some different function declarations on OSF/1 5.1.
10439         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
10440         * doc/posix-functions/inet_ntop.texi: Likewise.
10441         * doc/posix-functions/gethostname.texi: Likewise.
10442         * lib/unistd.in.h (gethostname): Update comment.
10443
10444 2010-12-19  Bruno Haible  <bruno@clisp.org>
10445
10446         doc: Mention vasprintf-posix module.
10447         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
10448         the 'vasprintf-posix' module.
10449         * doc/glibc-functions/vasprintf.texi: Likewise.
10450
10451 2010-12-19  Bruno Haible  <bruno@clisp.org>
10452
10453         unsetenv: Add missing declaration on OSF/1 5.1.
10454         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
10455         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
10456         Don't set HAVE_UNSETENV. In the test program, set _BSD.
10457         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
10458         not HAVE_UNSETENV.
10459         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
10460         HAVE_UNSETENV.
10461         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
10462
10463 2010-12-19  Bruno Haible  <bruno@clisp.org>
10464
10465         setenv: Add missing declaration on OSF/1 5.1.
10466         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
10467         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
10468         declared. Don't set HAVE_SETENV.
10469         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
10470         not HAVE_SETENV.
10471         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
10472         HAVE_SETENV.
10473         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
10474
10475 2010-12-19  Bruno Haible  <bruno@clisp.org>
10476
10477         nl_langinfo tests: Avoid gcc warning.
10478         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
10479
10480 2010-12-19  Bruno Haible  <bruno@clisp.org>
10481
10482         mknod: Avoid error in C++ mode on OSF/1 with GCC.
10483         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
10484         _GL_CXXALIAS_SYS.
10485
10486 2010-12-19  Bruno Haible  <bruno@clisp.org>
10487
10488         stdbool: Relax test.
10489         * tests/test-stdbool.c (e): Don't require that casts from a variable's
10490         address to 'bool' work in static initializer, for compilers other than
10491         GCC.
10492
10493 2010-12-19  Bruno Haible  <bruno@clisp.org>
10494
10495         ftello: Add missing declaration on OSF/1 5.1.
10496         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
10497         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
10498         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
10499         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
10500         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
10501
10502 2010-12-19  Bruno Haible  <bruno@clisp.org>
10503
10504         fseeko: Add missing declaration on OSF/1 5.1.
10505         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
10506         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
10507         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
10508         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
10509         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
10510
10511 2010-12-19  Bruno Haible  <bruno@clisp.org>
10512
10513         fchdir: Add missing declaration on OSF/1 5.1.
10514         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
10515         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
10516         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
10517         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
10518         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
10519
10520 2010-12-19  Bruno Haible  <bruno@clisp.org>
10521
10522         relocatable-prog-wrapper: Separate from relocatable-prog.
10523         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
10524         uninstall-relocwrapper rule here.
10525         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
10526         Reported by Ian Beckwith <ianb@erislabs.net>.
10527
10528 2010-12-19  Bruno Haible  <bruno@clisp.org>
10529
10530         unistr/u8-mbsnlen: Add missing dependency.
10531         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
10532         Reported by Ian Beckwith <ianb@erislabs.net>.
10533
10534 2010-12-19  Bruno Haible  <bruno@clisp.org>
10535
10536         iconv: Make it possible again to use this module without 'iconv-h'.
10537         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
10538         if it is not defined.
10539         Reported by Ian Beckwith <ianb@erislabs.net>.
10540
10541 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
10542
10543         acl: port to Solaris 8 when copying from tmpfs to ufs
10544         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
10545         error number.  Problem observed on Solaris 8 with latest
10546         coreutils, with "mv A B", where A is on a tmpfs file system and B
10547         is on a ufs file system.  This caused coreutils' mv/part-symlink
10548         test to fail.
10549
10550         tests: set fail=0 at start
10551         * tests/init.sh (setup_): Move fail=0 initialization here ...
10552         (mktempd_): ... from here, so that tests can rely on fail being
10553         set to 0 initially.  This fixes a problem in coreutils; see:
10554         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
10555
10556 2010-12-18  Bruno Haible  <bruno@clisp.org>
10557
10558         memmem-simple: Stylistic changes.
10559         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
10560         Fix preprocessor directive indentation.
10561
10562 2010-12-15  Pádraig Brady <P@draigBrady.com>
10563
10564         memmem, memmem-simple: reorganize and expand empty needle check
10565         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
10566         functional checks to memmem-simple so that one has a fully functional
10567         memmem by using just this module.
10568         Restrict the performance only check to the memmem module.
10569         Also expand the empty needle check to ensure the correct
10570         pointer is returned, not just a non NULL pointer.
10571         * doc/glibc-functions/memmem.texi: Rearrange the portability
10572         documentation to correlate with the rearranged checks.
10573         Clarify exactly how the memmem and memmem-simple modules
10574         relate to each other.
10575
10576 2010-12-15  Pádraig Brady <P@draigBrady.com>
10577             Bruno Haible  <bruno@clisp.org>
10578
10579         Improve cross-compilation guesses for uClibc.
10580         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
10581         that uClibc does not have the glibc bug.
10582         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
10583         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
10584
10585 2010-12-14  Eric Blake  <eblake@redhat.com>
10586
10587         configmake: provide fallbacks for oldest supported autotools
10588         * m4/configmake.m4: New file.
10589         * modules/configmake (Files): Ship it.
10590         (configure.ac): Use it to guarantee fallbacks.
10591
10592 2010-12-13  Pádraig Brady <P@draigBrady.com>
10593
10594         read-file: Improve handling of large files
10595         * lib/read-file.c (fread_file): Minimize realloc()s
10596         for regular files, and better manage sizes around SIZE_MAX.
10597
10598 2010-12-13  Eric Blake  <eblake@redhat.com>
10599
10600         cloexec, fcntl: relax license
10601         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
10602         consent from all contributors.
10603         * modules/fcntl (License): Likewise.
10604
10605 2010-12-10  Bruno Haible  <bruno@clisp.org>
10606
10607         Tests for module 'pipe-posix'.
10608         * modules/pipe-posix-tests: New file.
10609         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
10610
10611 2010-12-10  Bruno Haible  <bruno@clisp.org>
10612
10613         pipe-posix: Make it work in C++ mode.
10614         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
10615         (pipe): Use common idiom, not a macro definition.
10616         * lib/pipe.c: New file.
10617         * m4/pipe.m4: New file.
10618         * modules/pipe-posix (Description): Enhance.
10619         (Files): Add lib/pipe.c, m4/pipe.m4.
10620         (configure.ac): Invoke gl_FUNC_PIPE.
10621         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
10622         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
10623         * tests/test-unistd-c++.cc: Check the signature of pipe.
10624
10625 2010-12-10  Bruno Haible  <bruno@clisp.org>
10626
10627         Rename module 'pipe' to 'spawn-pipe'.
10628         * modules/spawn-pipe: New file, renamed from modules/pipe.
10629         (Files, configure.ac, Makefile.am): Update.
10630         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
10631         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
10632         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
10633         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
10634         "spawn-pipe.h" instead of "pipe.h".
10635         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
10636         to gl_SPAWN_PIPE.
10637         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
10638         (Files, Makefile.am): Update.
10639         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
10640         Update.
10641         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
10642         Include "spawn-pipe.h" instead of "pipe.h".
10643         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
10644         * lib/javacomp.c: Likewise.
10645         * lib/javaversion.c: Likewise.
10646         * lib/pipe-filter-gi.c: Likewise.
10647         * lib/pipe-filter-ii.c: Likewise.
10648         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
10649         * modules/javacomp (Depends-on): Likewise.
10650         * modules/javaversion (Depends-on): Likewise.
10651         * modules/pipe-filter-gi (Depends-on): Likewise.
10652         * modules/pipe-filter-ii (Depends-on): Likewise.
10653         * MODULES.html.sh (Executing programs): Update.
10654         * NEWS: Mention the change.
10655
10656 2010-12-10  Eric Blake  <eblake@redhat.com>
10657
10658         pipe-posix: new module
10659         * modules/pipe-posix: New file.
10660         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
10661         (gl_UNISTD_H): Check for declaration.
10662         * modules/unistd (Makefile.am): Substitute it.
10663         * lib/unistd.in.h (pipe): Provide it for mingw.
10664         * doc/posix-functions/pipe.texi (pipe): Update documentation.
10665         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
10666
10667 2010-12-07  Bruno Haible  <bruno@clisp.org>
10668
10669         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
10670         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
10671         u8_strcmp_gnu.
10672         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
10673
10674 2010-12-06  Bruno Haible  <bruno@clisp.org>
10675
10676         Update internal documentation.
10677         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
10678
10679 2010-12-04  Bruno Haible  <bruno@clisp.org>
10680
10681         Put more information about failed tests into the test return codes.
10682         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
10683         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
10684         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
10685         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
10686         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
10687         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
10688         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
10689         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
10690         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
10691         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
10692         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
10693         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
10694         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
10695         * m4/stdint.m4 (gl_STDINT_H): Likewise.
10696         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
10697         returns a bit mask.
10698         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
10699         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
10700         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
10701         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
10702         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
10703         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
10704         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
10705         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
10706         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
10707         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
10708         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
10709         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
10710         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
10711         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
10712         * m4/link.m4 (gl_FUNC_LINK): Likewise.
10713         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
10714         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
10715         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
10716         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
10717         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
10718         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
10719         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
10720         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
10721         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
10722         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
10723         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
10724         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
10725         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
10726         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
10727         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
10728         gl_PRINTF_PRECISION): Likewise.
10729         * m4/regex.m4 (gl_REGEX): Likewise.
10730         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
10731         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
10732         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
10733         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
10734         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
10735         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
10736         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
10737         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
10738         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
10739         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
10740         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
10741         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
10742         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
10743         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
10744         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
10745         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
10746         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
10747         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
10748         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
10749         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
10750         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
10751         enumerated value.
10752         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
10753
10754 2010-12-04  Bruno Haible  <bruno@clisp.org>
10755
10756         Update for Solaris 11 2010-11.
10757         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
10758         Express, released in November 2010.
10759
10760 2010-12-04  Bruno Haible  <bruno@clisp.org>
10761
10762         nproc: Relax license.
10763         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
10764         and Paul Eggert.
10765         Requested by Ludovic Courtès <ludo@gnu.org>.
10766
10767 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
10768
10769         utimecmp: fine-grained src to nearby coarse-grained dest
10770
10771         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
10772         and the source is on a file system with higher-resolution time
10773         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
10774         not work, and the time stamps are close together, the algorithm to
10775         determine the exact resolution from the read-back mtime was buggy:
10776         it had a "!=" where it should have had an "==".  This bug has been
10777         in the code ever since it was introduced to gnulib.
10778         Problem reported by Dan Jacobson in
10779         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
10780
10781 2010-11-30  Bruno Haible  <bruno@clisp.org>
10782
10783         strerror_r-posix: Fix autoconf test.
10784         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
10785
10786 2010-11-28  Bruno Haible  <bruno@clisp.org>
10787             Paul Eggert  <eggert@cs.ucla.edu>
10788
10789         Tests for module 'getdomainname'.
10790         * modules/getdomainname-tests: New file.
10791         * tests/test-getdomainname.c: New file, based on
10792         tests/test-gethostname.c.
10793
10794 2010-11-28  Bruno Haible  <bruno@clisp.org>
10795             Paul Eggert  <eggert@cs.ucla.edu>
10796
10797         getdomainname: Use the system function when possible.
10798         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
10799         (getdomainname): Replace if needed. Provide the declaration if it is
10800         missing. Don't use _GL_CXXALIAS_SYS_CAST.
10801         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
10802         (getdomainname): When the system has getdomainname, call the system
10803         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
10804         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
10805         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
10806         found in libnsl. Look for the declaration also in <netdb.h>. Replace
10807         the function if its second argument is of type 'int' or if it is found
10808         in libnsl.
10809         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
10810         <sys/systeminfo.h> and sysinfo().
10811         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
10812         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
10813         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
10814         HAVE_GETDOMAINNAME.
10815         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
10816         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
10817         * doc/glibc-functions/getdomainname.texi: Document the problems with
10818         the getdomainname declaration.
10819
10820 2010-11-28  Bruno Haible  <bruno@clisp.org>
10821
10822         sys_socket: Ensure ss_family field on AIX.
10823         * lib/sys_socket.in.h (ss_family): New macro definition.
10824         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
10825         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
10826         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
10827         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
10828         * modules/sys_socket (Makefile.am): Substitute
10829         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
10830         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
10831
10832 2010-11-27  Bruno Haible  <bruno@clisp.org>
10833
10834         readline: Improve configure output.
10835         * m4/readline.m4 (gl_FUNC_READLINE): Make the
10836         "checking for readline..." result understandable.
10837
10838 2010-11-27  Bruno Haible  <bruno@clisp.org>
10839
10840         *printf-posix: Detect a bug on Solaris 10/x86.
10841         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
10842         for floating-point output.
10843         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
10844         directive.
10845         * tests/test-snprintf-posix.h (test_function): Likewise.
10846         * tests/test-sprintf-posix.h (test_function): Likewise.
10847         * tests/test-vasprintf-posix.c (test_function): Likewise.
10848         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
10849         * doc/posix-functions/printf.texi: Likewise.
10850         * doc/posix-functions/snprintf.texi: Likewise.
10851         * doc/posix-functions/sprintf.texi: Likewise.
10852         * doc/posix-functions/vfprintf.texi: Likewise.
10853         * doc/posix-functions/vprintf.texi: Likewise.
10854         * doc/posix-functions/vsnprintf.texi: Likewise.
10855         * doc/posix-functions/vsprintf.texi: Likewise.
10856         * doc/glibc-functions/obstack_printf.texi: Likewise.
10857         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
10858
10859 2010-11-27  Bruno Haible  <bruno@clisp.org>
10860
10861         Fix link error when module libunistring-optional is in use.
10862         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
10863         * modules/striconveha-tests (Makefile.am): Likewise.
10864
10865 2010-11-27  Bruno Haible  <bruno@clisp.org>
10866
10867         regex: Mention link dependencies.
10868         * modules/regex (Link): New section.
10869         * modules/rpmatch (Link): Likewise.
10870         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
10871
10872 2010-11-27  Bruno Haible  <bruno@clisp.org>
10873
10874         ftoastr: Fix compilation error on Solaris.
10875         * lib/ftoastr.c: Include <config.h>.
10876
10877 2010-11-27  Bruno Haible  <bruno@clisp.org>
10878
10879         getloadavg: Update documentation.
10880         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
10881
10882 2010-11-27  Bruno Haible  <bruno@clisp.org>
10883
10884         sys_socket: Fix test whether the functions are declared.
10885         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
10886         not <sys/select.h>.
10887
10888 2010-11-27  Bruno Haible  <bruno@clisp.org>
10889
10890         getpass: Make sure to get system declaration on some platforms.
10891         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
10892         gl_USE_SYSTEM_EXTENSIONS.
10893         * modules/getpass (Depends-on): Add extensions.
10894
10895 2010-11-26  Bruno Haible  <bruno@clisp.org>
10896
10897         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
10898         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
10899         'iconv' module is present.
10900         (ICONV_CONST): New macro.
10901         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
10902         ICONV_CONST.
10903         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
10904         set ICONV_CONST.
10905         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
10906         here.
10907         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
10908         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
10909         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
10910         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
10911         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
10912         present.
10913
10914 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
10915
10916         ftoastr: comment fix
10917         * lib/ftoastr.c: "little" -> "little or no" in comment
10918
10919 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
10920
10921         stdint: port to GCC 4.3 + OSX + Octave
10922         On this platform, stdint.h is buggy and defines int64_t to long
10923         long int.  The replacement defined it to long int, causing
10924         problems with C++ style name mangling.  Instead, trust the system
10925         definition if INT64_MAX is defined, and likewise for the unsigned
10926         variant.   Problem reported by Jarno Rajahalme in
10927         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
10928         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
10929         and don't mess with int64_t and INT64_MAX in this case.
10930         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
10931
10932 2010-11-24  Bruno Haible  <bruno@clisp.org>
10933
10934         doc: Corrections regarding MacOS X 10.4 and 10.5.
10935         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
10936         MacOS X.
10937         Reported by Simon Josefsson.
10938
10939 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
10940
10941         Uninstall ".bin" files installed by relocwrapper.
10942         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
10943         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
10944         unless it is already there.
10945
10946 2010-11-21  Bruno Haible  <bruno@clisp.org>
10947
10948         Update for NetBSD 5.0.
10949         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
10950         NetBSD; the test fails on NetBSD 5.0.
10951         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
10952         about NetBSD.
10953
10954 2010-11-21  Bruno Haible  <bruno@clisp.org>
10955
10956         Update for HP-UX 11.23 and HP-UX 11.31.
10957         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
10958         HP-UX.
10959
10960 2010-11-21  Bruno Haible  <bruno@clisp.org>
10961
10962         Update for MacOS X 10.5.
10963         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
10964         MacOS X; the test fails on MacOS X 10.5.8.
10965         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
10966         about MacOS X.
10967
10968 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
10969
10970         bootstrap: add bootstrap_sync option.
10971         See discussion at
10972         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
10973         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
10974         * build-aux/bootstrap: Accept --bootstrap-sync to update
10975         bootstrap if it is not identical to the local gnulib's
10976         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
10977         enable this by default.  Accept --no-bootstrap-sync to disable
10978         it.
10979
10980 2010-11-20  Bruno Haible  <bruno@clisp.org>
10981
10982         Ensure that <features.h> is included before __GLIBC__ is tested.
10983         * lib/printf-parse.h: Include <features.h>.
10984         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
10985         Reported by Mike Frysinger <vapier@gentoo.org>.
10986
10987         Ensure that <features.h> is included before __GLIBC__ is tested.
10988         * lib/wchar.in.h: Include <features.h>.
10989         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
10990         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
10991         Reported by Mike Frysinger <vapier@gentoo.org>.
10992
10993         Ensure that <features.h> is included before __GLIBC__ is tested.
10994         * lib/arpa_inet.in.h: Include <features.h>.
10995         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
10996         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
10997         Reported by Mike Frysinger <vapier@gentoo.org>.
10998
10999         Ensure that <features.h> is included before __GLIBC__ is tested.
11000         * build-aux/link-warning.h: Include <features.h>.
11001         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
11002         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
11003         Reported by Mike Frysinger <vapier@gentoo.org>.
11004
11005         Ensure that <features.h> is included before __GLIBC__ is tested.
11006         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
11007         Reported by Mike Frysinger <vapier@gentoo.org>.
11008
11009 2010-11-20  Bruno Haible  <bruno@clisp.org>
11010
11011         memmem: Fix autoconf test.
11012         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
11013
11014 2010-11-20  Bruno Haible  <bruno@clisp.org>
11015
11016         Port to uClibc.
11017         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
11018         * lib/fcntl.in.h: Likewise.
11019         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
11020         * lib/mbrtowc.c (mbrtowc): Likewise.
11021         * lib/relocatable.c (find_shared_library_fullname): Likewise.
11022         * lib/strerror_r.c: Likewise.
11023         * lib/unistr/u8-strnlen.c: Likewise.
11024         * lib/vasnprintf.c (decimal_point_char): Likewise.
11025         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
11026         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
11027         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
11028         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
11029         * tests/test-sigaction.c (handler, main): Likewise.
11030         * lib/freading.h: Treat uClibc like a non-glibc platform.
11031         * lib/freading.c: Likewise.
11032         * lib/gettext.h: Likewise.
11033         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
11034         Likewise.
11035         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
11036         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
11037         * lib/propername.c (proper_name_utf8): Likewise.
11038         * lib/spawn.in.h: Likewise.
11039         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
11040         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
11041         mem_cd_iconveh_internal): Likewise.
11042         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
11043         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
11044         strstr, strcasestr): Likewise.
11045         * lib/unicodeio.c (unicode_to_mb): Likewise.
11046         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
11047         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
11048         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
11049         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
11050         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
11051         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
11052         * lib/unistr/u8-stpncpy.c: Likewise.
11053         * lib/vasnprintf.c (VASNPRINTF): Likewise.
11054         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
11055         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
11056         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
11057         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
11058         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
11059         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
11060         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
11061         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
11062         Likewise.
11063         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
11064         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
11065         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
11066         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
11067         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
11068         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
11069         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
11070         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
11071         * tests/test-getopt.h (OPTIND_MIN): Likewise.
11072         * tests/test-striconveha.c (main): Likewise.
11073         * tests/test-vasnprintf-posix.c (test_function): Likewise.
11074         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
11075         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
11076         * doc/posix-functions/getline.texi: Likewise.
11077         Reported by Mike Frysinger <vapier@gentoo.org>.
11078
11079 2010-11-20  Bruno Haible  <bruno@clisp.org>
11080
11081         nproc: Fix condition.
11082         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
11083         HAVE_PTHREAD_AFFINITY_NP.
11084
11085 2010-11-20  Bruno Haible  <bruno@clisp.org>
11086
11087         Fix a comment.
11088         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
11089
11090 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
11091
11092         ftoastr: don't assume snprintf
11093         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
11094         Implement a subset of snprintf here, by using sprintf safely.
11095         * modules/ftoastr (Depends-on): Remove snprintf.
11096
11097 2010-11-19  Jim Meyering  <meyering@redhat.com>
11098
11099         test-rename.h: fix compilation failure
11100         * tests/test-rename.h (test_rename): Add omitted "}".
11101
11102 2010-11-17  Jim Meyering  <meyering@redhat.com>
11103
11104         maint.mk: add a URL discussing the no-@acronym policy
11105         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
11106
11107 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
11108
11109         ftoastr: depend on snprintf, improve comments
11110         * lib/ftoastr.c: Also mention Loitsch's draft.
11111         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
11112         needed in the current implementation, but it might simplify
11113         speeding up the code later.
11114         * modules/ftoastr: Depend on snprintf; this improves portability.
11115         Suggested by Bruno Haible in the same email.
11116
11117         ftoastr: port to hosts lacking strtof and strtold
11118         Problem reported by Bruno Haible in
11119         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
11120         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
11121         environment and strtold (and presumably strtof) are not available.
11122         * modules/ftoastr (Files): Add m4/c-strtod.m4.
11123         (configure.ac): Require gl_C99_STRTOLD.
11124
11125 2010-11-18  Bruno Haible  <bruno@clisp.org>
11126
11127         c-strtold: Avoid link error on AIX 7.
11128         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
11129         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
11130         (gl_C_STRTOLD): Test whether strtold_l exists.
11131         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
11132
11133 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
11134
11135         intprops: new macro INT_BITS_STRLEN_BOUND
11136         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
11137         ftoastr.h.  This exposes an internal of intprops.h that was formerly
11138         not exposed.  Also, it uses a slightly tighter bound than before;
11139         though this makes no practical difference, we might as well be as
11140         tight as we easily can.
11141
11142         ftoastr: new module, for lossless conversion of floats to short strings
11143         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
11144         * modules/ftoastr: New files.
11145
11146 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
11147
11148         bootstrap: port to Solaris sed
11149         * build-aux/bootstrap (get_version): Port to Solaris sed.
11150         See Ralf Wildenhues's note in
11151         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
11152
11153 2010-11-14  Jim Meyering  <meyering@redhat.com>
11154
11155         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
11156         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
11157         and move definition closer to sole use.
11158
11159 2010-11-13  Jim Meyering  <meyering@redhat.com>
11160
11161         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
11162         Now we require at least autoconf-2.59, which means the work-around
11163         is no longer needed.
11164         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
11165         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
11166         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
11167         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
11168         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
11169
11170 2010-11-13  Bruno Haible  <bruno@clisp.org>
11171
11172         rename, renameat: Avoid test failures at NFS mounted locations.
11173         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
11174         functions.
11175         (test_rename): Use assert_nonexistent.
11176         * tests/test-rename.c: Include <dirent.h>.
11177         * tests/test-renameat.c: Likewise.
11178         Reported by Gary V. Vaughan <gary@gnu.org>.
11179
11180         rename, renameat: Document Linux bug with NFS
11181         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
11182         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
11183         * doc/posix-functions/renameat.texi: Likewise.
11184         Suggested by Eric Blake.
11185
11186 2010-11-13  Bruno Haible  <bruno@clisp.org>
11187
11188         rename test: Add comments.
11189         * tests/test-rename.h (test_rename): Add structure and comments.
11190
11191 2010-11-13  Eric Blake  <eblake@redhat.com>
11192
11193         maintainer-makefile: cover a few more files
11194         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
11195         scripts generated within C files, for libvirt.
11196
11197 2010-11-13  Bruno Haible  <bruno@clisp.org>
11198
11199         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
11200         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
11201         character, return the number of bytes that belong together, not always
11202         1.
11203         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
11204         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
11205         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
11206         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
11207         number of bytes of an invalid character.
11208         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
11209         (main): Invoke it.
11210         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
11211         results.
11212         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
11213         malformed byte sequences.
11214         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
11215         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
11216         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
11217         Reported by Ben Pfaff and Paolo Bonzini.
11218
11219 2010-11-13  Bruno Haible  <bruno@clisp.org>
11220
11221         openat: Work around glibc bug with fchownat() and empty file names.
11222         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
11223         (gl_FUNC_FCHOWNAT): Invoke it.
11224         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
11225         * doc/posix-functions/fchownat.texi: Document the glibc bug.
11226         Reported by Gary V. Vaughan <gary@gnu.org>.
11227
11228 2010-11-13  Bruno Haible  <bruno@clisp.org>
11229
11230         openat: Ensure autoconf macro ordering.
11231         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
11232         gl_USE_SYSTEM_EXTENSIONS.
11233         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
11234
11235 2010-11-13  Bruno Haible  <bruno@clisp.org>
11236
11237         Update comments.
11238         * lib/unistr/u8-check.c: Update file name in comments.
11239         * lib/unistr/u8-mblen.c: Likewise.
11240         * lib/unistr/u8-prev.c: Likewise.
11241         * lib/unistr/u8-strmblen.c: Likewise.
11242         * lib/unistr/u8-strmbtouc.c: Likewise.
11243
11244 2010-11-13  Jim Meyering  <meyering@redhat.com>
11245
11246         tests: avoid test failure on Solaris 10 due to lack of PATH export
11247         * tests/test-update-copyright.sh: Don't forget to export PATH.
11248
11249         init.sh: ensure that IFS is defined, just in case...
11250         * tests/init.sh (setup_): Ensure that IFS is defined,
11251         so that saving and restoring it works as expected.  This
11252         appears to be useful at least for an old version of dash
11253         from a long time ago (RH 6).  See here for details:
11254         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
11255
11256         maint.mk: tighten "test a == b" check
11257         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
11258         test to files that contain something like #!/bin/sh.
11259         Without this, coreutils would get two false positives in
11260         the comments of C source files.
11261
11262 2010-11-12  Eric Blake  <eblake@redhat.com>
11263
11264         bootstrap: fix typo in previous attempt
11265         * build-aux/bootstrap (buildreq): Correct the grouping.
11266         Reported by Paul Eggert.
11267
11268         maintainer-makefile: prohibit test x == x
11269         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
11270         Based on a report by Matthias Bolte.
11271
11272         bootstrap: allow FreeBSD gzip
11273         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
11274         which has no '.' and goes to stderr.
11275         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
11276         Reported by Matthias Bolte.
11277
11278         maintainer-makefile: check for i18n setup
11279         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
11280         will likely work.
11281
11282 2010-11-12  Bruno Haible  <bruno@clisp.org>
11283
11284         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
11285         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
11286         * lib/nanosleep.c (nanosleep): Likewise.
11287
11288 2010-11-11  Bruno Haible  <bruno@clisp.org>
11289
11290         fcntl-h: Fix for use of C++ on glibc systems.
11291         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
11292         also on glibc systems in C++ mode.
11293         Reported by Gary V. Vaughan <gary@gnu.org>.
11294
11295 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
11296
11297         mknod: avoid false failure with dash
11298         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
11299
11300 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
11301
11302         unlink: Fix "is it should" typo in diagnostic.
11303         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
11304         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
11305
11306 2010-11-11  Bruno Haible  <bruno@clisp.org>
11307
11308         Tests for module 'strerror_r-posix'.
11309         * modules/strerror_r-posix-tests: New file.
11310         * tests/test-strerror_r.c: New file.
11311         * tests/test-string-c++.cc: Check the signature of strerror_r.
11312
11313         New module 'strerror_r-posix'.
11314         * lib/string.in.h (strerror_r): New declaration.
11315         * lib/strerror_r.c: New file.
11316         * m4/strerror_r.m4: New file.
11317         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
11318         of strerror_r.
11319         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
11320         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
11321         * modules/strerror_r-posix: New file.
11322         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
11323         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
11324         * doc/posix-functions/strerror_r.texi: Mention the new module and the
11325         portability problems.
11326
11327 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
11328
11329         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
11330         line is also considered for output. Quoted function name in shell
11331         command, so temporary files for functions like MyClass::operator()
11332         are removed correctly without errors.
11333
11334 2010-11-09  Bruno Haible  <bruno@clisp.org>
11335
11336         * doc/posix-functions/strerror.texi: List more failing platforms.
11337
11338         * doc/posix-functions/strerror.texi: Add a comment.
11339
11340 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
11341
11342         fdopendir: fix bug on MacOS X when low on file descriptors
11343
11344         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
11345         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
11346         All callers changed.
11347         (fdopendir): Invoke save_cwd at the top level, not after using
11348         multiple dup() calls to use up file descriptors.  Then retry
11349         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
11350         less than the maximum number of open file descriptors, because
11351         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
11352         on Mac OS X 10.6.4 for tar 1.24
11353         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
11354         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
11355         and for tar 1.25
11356         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
11357
11358 2010-11-07  Bruno Haible  <bruno@clisp.org>
11359
11360         vasnprintf: Support I flag on glibc systems.
11361         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
11362         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
11363         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
11364         snprintf function.
11365         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
11366         glibc systems.
11367         * tests/test-vasnprintf-posix3.c: New file.
11368         * modules/vasnprintf-posix-tests (Files): Add it.
11369         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
11370
11371 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
11372
11373         [html] Fix copy/paste bug: Use unique name for compiler warnings.
11374         * MODULES.html.sh: For compiler warnings, use name
11375         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
11376
11377 2010-11-05  Eric Blake  <eblake@redhat.com>
11378
11379         ceil, floor: avoid spurious failure with icc
11380         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
11381         [denormals-as-zero] when optimizing without -mieee-fp option.
11382         * tests/test-floorf2.c (floorf_reference): Likewise.
11383         * tests/test-ceilf1.c (dummy): New function.
11384         (main): Use it to outsmart icc's optimization.
11385         * tests/test-floorf1.c (dummy, main): Likewise.
11386
11387         tests: require working signbit
11388         * modules/ceilf-tests (Depends-on): Add signbit.
11389         * modules/ceill-tests (Depends-on): Likewise.
11390         * modules/floorf-tests (Depends-on): Likewise.
11391         * modules/floorl-tests (Depends-on): Likewise.
11392         * modules/round-tests (Depends-on): Likewise.
11393         * modules/roundf-tests (Depends-on): Likewise.
11394         * modules/roundl-tests (Depends-on): Likewise.
11395         * modules/trunc-tests (Depends-on): Likewise.
11396         * modules/truncf-tests (Depends-on): Likewise.
11397         * modules/truncl-tests (Depends-on): Likewise.
11398
11399         strtod: work around icc bug
11400         * lib/strtod.c (minus_zero): Define to working value.
11401         (strtod): Use it to avoid icc bug.
11402
11403         copysign: enhance tests
11404         * modules/copysign-tests (Files): Add minus-zero.h.
11405         * tests/test-copysign.c (main): Also test zeros.
11406
11407 2010-11-04  Eric Blake  <eblake@redhat.com>
11408
11409         ceil, floor, round, trunc: enhance tests of -0
11410         * tests/test-ceilf1.c (main): Ensure correct sign of result.
11411         * tests/test-ceill.c (main): Likewise.
11412         * tests/test-floorf1.c (main): Likewise.
11413         * tests/test-floorl.c (main): Likewise.
11414         * tests/test-round1.c (main): Likewise.
11415         * tests/test-roundf1.c (main): Likewise.
11416         * tests/test-roundl.c (main): Likewise.
11417         * tests/test-trunc1.c (main): Likewise.
11418         * tests/test-truncf1.c (main): Likewise.
11419         * tests/test-truncl.c (main): Likewise.
11420
11421 2010-11-04  Eric Blake  <eblake@redhat.com>
11422
11423         frexp, tests: work around ICC bug with -zero
11424         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
11425         works with more compilers.
11426         * tests/minus-zero.h: New file.
11427         * modules/ceilf-tests (Files): Include it.
11428         * modules/ceill-tests (Files): Likewise.
11429         * modules/floorf-tests (Files): Likewise.
11430         * modules/floorl-tests (Files): Likewise.
11431         * modules/frexp-nolibm-tests (Files): Likewise.
11432         * modules/frexp-tests (Files): Likewise.
11433         * modules/frexpl-nolibm-tests (Files): Likewise.
11434         * modules/frexpl-tests (Files): Likewise.
11435         * modules/isnan-tests (Files): Likewise.
11436         * modules/isnand-nolibm-tests (Files): Likewise.
11437         * modules/isnand-tests (Files): Likewise.
11438         * modules/isnanf-nolibm-tests (Files): Likewise.
11439         * modules/isnanf-tests (Files): Likewise.
11440         * modules/isnanl-nolibm-tests (Files): Likewise.
11441         * modules/isnanl-tests (Files): Likewise.
11442         * modules/round-tests (Files): Likewise.
11443         * modules/roundf-tests (Files): Likewise.
11444         * modules/roundl-tests (Files): Likewise.
11445         * modules/ldexpl-tests (Files): Likewise.
11446         * modules/signbit-tests (Files): Likewise.
11447         * modules/snprintf-posix-tests (Files): Likewise.
11448         * modules/sprintf-posix-tests (Files): Likewise.
11449         * modules/strtod-tests (Files): Likewise.
11450         * modules/trunc-tests (Files): Likewise.
11451         * modules/truncf-tests (Files): Likewise.
11452         * modules/truncl-tests (Files): Likewise.
11453         * modules/vsnprintf-posix-tests (Files): Likewise.
11454         * modules/vsprintf-posix-tests (Files): Likewise.
11455         * modules/vasnprintf-posix-tests (Files): Likewise.
11456         * modules/vasprintf-posix-tests (Files): Likewise.
11457         * tests/test-ceilf1.c (main): Use it.
11458         * tests/test-ceill.c (main): Likewise.
11459         * tests/test-floorf1.c (main): Likewise.
11460         * tests/test-floorl.c (main): Likewise.
11461         * tests/test-frexp.c (main): Likewise.
11462         * tests/test-frexpl.c (main): Likewise.
11463         * tests/test-isnan.c (main): Likewise.
11464         * tests/test-isnand.h (main): Likewise.
11465         * tests/test-isnanf.h (main): Likewise.
11466         * tests/test-isnanl.h (main): Likewise.
11467         * tests/test-ldexpl.c (main): Likewise.
11468         * tests/test-round.c (main): Likewise.
11469         * tests/test-roundf.c (main): Likewise.
11470         * tests/test-roundl.c (main): Likewise.
11471         * tests/test-signbit.c (test_signbitf, test_signbitd)
11472         (test_signbitl): Likewise.
11473         * tests/test-snprintf-posix.h (test_function): Likewise.
11474         * tests/test-sprintf-posix.h (test_function): Likewise.
11475         * tests/test-strtod.c (main): Likewise.
11476         * tests/test-trunc1.c (main): Likewise.
11477         * tests/test-truncf1.c (main): Likewise.
11478         * tests/test-truncl.c (main): Likewise.
11479
11480         isnanl: work around icc bug
11481         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
11482
11483 2010-11-03  Eric Blake  <eblake@redhat.com>
11484
11485         tests: fix compiler warnings
11486         * tests/test-getopt.h (test_getopt): Fix condition.
11487         * tests/test-getopt_long.h (test_getopt_long): Likewise.
11488         * tests/test-pipe2.c (main): Likewise.
11489         * tests/test-quotearg-simple.c (main): Avoid icc warning.
11490
11491         utimens: fix broken m4 test
11492         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
11493
11494 2010-10-28  Bruno Haible  <bruno@clisp.org>
11495
11496         posix_spawn*, getdtablesize: Relax license.
11497         * modules/posix_spawn (License): Change to LGPLv2+.
11498         * modules/posix_spawnp (License): Likewise.
11499         * modules/posix_spawn-internal (License): Likewise.
11500         * modules/posix_spawnattr_init (License): Likewise.
11501         * modules/posix_spawnattr_getflags (License): Likewise.
11502         * modules/posix_spawnattr_setflags (License): Likewise.
11503         * modules/posix_spawnattr_getpgroup (License): Likewise.
11504         * modules/posix_spawnattr_setpgroup (License): Likewise.
11505         * modules/posix_spawnattr_getschedparam (License): Likewise.
11506         * modules/posix_spawnattr_setschedparam (License): Likewise.
11507         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
11508         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
11509         * modules/posix_spawnattr_getsigdefault (License): Likewise.
11510         * modules/posix_spawnattr_setsigdefault (License): Likewise.
11511         * modules/posix_spawnattr_getsigmask (License): Likewise.
11512         * modules/posix_spawnattr_setsigmask (License): Likewise.
11513         * modules/posix_spawnattr_destroy (License): Likewise.
11514         * modules/posix_spawn_file_actions_init (License): Likewise.
11515         * modules/posix_spawn_file_actions_addclose (License): Likewise.
11516         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
11517         * modules/posix_spawn_file_actions_addopen (License): Likewise.
11518         * modules/posix_spawn_file_actions_destroy (License): Likewise.
11519         * modules/getdtablesize (License): Likewise.
11520         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
11521
11522 2010-10-26  Bruno Haible  <bruno@clisp.org>
11523
11524         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
11525         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
11526         Cygwin and mingw.
11527         Suggested by Eric Blake.
11528
11529 2010-10-26  Bruno Haible  <bruno@clisp.org>
11530
11531         stdio: Work around compilation error due to renameat() on Solaris 10.
11532         * lib/stdio.in.h: Include <unistd.h> on Solaris.
11533         * lib/renameat.c: Don't include <unistd.h> here.
11534         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
11535         Reported by Paul Eggert and Eric Blake.
11536
11537 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
11538
11539         renameat: port to Solaris 10, which declares renameat in unistd.h
11540
11541         * lib/renameat.c: Include unistd.h before stdio.h, because
11542         Solaris 10 declares renameat in unistd.h.  Problem encountered
11543         when building GNU tar 1.24 on Solaris 10.
11544
11545 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
11546
11547         fdopendir: fix C89 compilation
11548         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
11549         compilers.
11550
11551 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
11552
11553         inttostr: simplify by removing unnecessary redundancy
11554         * lib/anytostr.c: Don't include verify.h.
11555         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
11556         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
11557         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
11558         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
11559         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
11560         Likewise.
11561         * modules/inttostr (Depends-on): Remove 'verify'.
11562
11563 2010-10-23  Bruno Haible  <bruno@clisp.org>
11564
11565         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
11566         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
11567         Reported by Eric Blake.
11568
11569 2010-10-23  Bruno Haible  <bruno@clisp.org>
11570
11571         Tests: Fix LOCALE_JA on MirBSD 10.
11572         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
11573         to an UTF-8 locale.
11574         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
11575         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
11576         Reported by Eric Blake.
11577
11578 2010-10-21  Bruno Haible  <bruno@clisp.org>
11579
11580         nl_langinfo test: Avoid test failure on NetBSD 5.
11581         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
11582         Reported by Eric Blake.
11583
11584 2010-10-21  Eric Blake  <eblake@redhat.com>
11585
11586         c-stack: work around libsigsegv 2.8 bug
11587         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
11588         overflow on at least PowerPC64.
11589
11590 2010-10-17  Bruno Haible  <bruno@clisp.org>
11591
11592         userspec: Drop redundant file.
11593         * modules/userspec (Files): Remove lib/inttostr.h.
11594
11595 2010-10-17  Bruno Haible  <bruno@clisp.org>
11596
11597         nl_langinfo tests: Silence some warnings.
11598         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
11599         Reported by Jim Meyering.
11600
11601 2010-10-17  Bruno Haible  <bruno@clisp.org>
11602
11603         Make use of GCC's attribute __alloc_size__.
11604         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
11605         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
11606         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
11607         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
11608         __alloc_size__.
11609         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
11610         Suggested by Jim Meyering.
11611
11612 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
11613
11614         bootstrap: anchor .gitignore entries.
11615         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
11616         with...
11617         (insert_vc_ignore): ... this new function, which prepends `/' to
11618         all .gitignore entries before passing them to
11619         insert_sorted_if_absent.
11620
11621 2010-10-16  Bruno Haible  <bruno@clisp.org>
11622
11623         nextafter: Fix configure check.
11624         * modules/nextafter (configure.ac): Correct expected prototype.
11625
11626 2010-10-16  Bruno Haible  <bruno@clisp.org>
11627
11628         termios: Update documentation.
11629         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
11630
11631 2010-10-16  Bruno Haible  <bruno@clisp.org>
11632
11633         tests: Make them compile with TinyCC.
11634         * tests/test-strstr.c (main): Remove parentheses around array
11635         initializer.
11636
11637 2010-10-15  Eric Blake  <eblake@redhat.com>
11638
11639         ignore-value: make header idempotent
11640         * lib/ignore-value.h: Add double-inclusion guards.
11641         Reported by Stefan Berger.
11642
11643 2010-10-15  Jim Meyering  <meyering@redhat.com>
11644
11645         GNUmakefile: handle "stable" target, not "major"
11646         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
11647         lists in maint.mk and announce-gen.  Without this, "make stable"
11648         would fail to ensure that $(VERSION) is up to date.
11649
11650 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
11651
11652         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
11653         & co.
11654
11655 2010-10-14  Bruno Haible  <bruno@clisp.org>
11656
11657         vasnprintf: Don't set errno to 0.
11658         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
11659         block that sets it to 0.
11660         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
11661
11662 2010-10-14  Bruno Haible  <bruno@clisp.org>
11663
11664         socketlib: Fix.
11665         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
11666         gl_PREREQ_SYS_H_WINSOCK2.
11667         Reported by Ian Beckwith <ianb@erislabs.net>.
11668
11669 2010-10-13  Jim Meyering  <meyering@redhat.com>
11670
11671         test-select-stdin.c: avoid warn_unused_result warnings
11672         * tests/test-select-stdin.c: Include "macros.h".
11673         ASSERT that read and fflush succeed.
11674
11675 2010-10-13  Jim Meyering  <meyering@redhat.com>
11676
11677         git-version-gen: do require git-VC'd files in cwd
11678         * build-aux/git-version-gen: Reject a git version string
11679         if there are no commits associated with the current directory.
11680         This avoids an unlikely false-positive (unrelated dir whose parent
11681         repository also contains a tag matching v*), as pointed out
11682         by Giuseppe Scrivano in
11683         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
11684
11685 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
11686
11687         argv-iter: omit nonconforming declaration
11688         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
11689         enum arg_iter_err declaration, which doesn't conform to C99.
11690         Solaris 10 cc warns about this.
11691
11692 2010-10-13  Eric Blake  <eblake@redhat.com>
11693
11694         termios: fix compilation on mingw
11695         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
11696         (gl_TERMIOS_H): Adjust it on mingw.
11697         * modules/termios (Makefile.am): Substitute new key.
11698         * lib/termios.in.h (includes): Make include_next conditional.
11699         * doc/posix-headers/termios.texi (termios.h): Update
11700         documentation.
11701         Reported by Daniel P. Berrange.
11702
11703 2010-10-13  Jim Meyering  <meyering@redhat.com>
11704
11705         git-version-gen: don't require that .git/ be in the current dir
11706         * build-aux/git-version-gen: Adjust this script so that it works
11707         when run from any working directory beneath the top-level .git/-
11708         containing directory.  Inspired by a patch from Giuseppe Scrivano,
11709         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
11710
11711         test-select: avoid warn_unused_result warnings
11712         * tests/test-select.c: Include "macros.h".
11713         ASSERT that each call to read, write, and pipe succeeds.
11714         While not technically required, also check each "close".
11715         * modules/select-tests (Files): Add tests/macros.h.
11716
11717         test-symlinkat: remove declaration of unused local
11718         * tests/test-symlinkat.c (main): Remove unused local, "buf".
11719
11720         test-inttostr: avoid shadowing warnings
11721         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
11722         and use malloc rather than the stack for the same reason as
11723         mentioned in the comment justifying the other allocation.
11724
11725 2010-10-11  Bruno Haible  <bruno@clisp.org>
11726
11727         stdlib: Allow multiple gnulib generated replacements to coexist.
11728         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
11729         Reported by Sam Steingold <sds@gnu.org>.
11730
11731 2010-10-11  Jim Meyering  <meyering@redhat.com>
11732
11733         fix a documentation typo
11734         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
11735
11736 2010-10-11  Eric Blake  <eblake@redhat.com>
11737
11738         futimens: work around Solaris 11 bug
11739         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
11740         * tests/test-futimens.h (test_futimens): Enhance, rather than
11741         weaken test.
11742         * doc/posix-functions/futimens.texi (futimens): Document the bug.
11743
11744 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
11745
11746         Indentation.
11747         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
11748         higher-level operators more to the left.
11749
11750 2010-10-11  Jim Meyering  <meyering@redhat.com>
11751
11752         test-futimens: avoid unwarranted test failure on Solaris 5.11
11753         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
11754         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
11755         because it tries to dereference the NULL name argument.
11756
11757 2010-10-11  Bruno Haible  <bruno@clisp.org>
11758
11759         Indentation.
11760         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
11761         indentation.
11762
11763 2010-10-11  Jim Meyering  <meyering@redhat.com>
11764
11765         spawn.in.h: make indentation consistent with parentheses
11766         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
11767         Make indentation consistent with parentheses.
11768
11769 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
11770
11771         Fix mismatched parens in previous commit
11772         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
11773         parens.
11774
11775 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
11776
11777         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
11778
11779         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
11780         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
11781         * lib/malloca.c: Include "verify.h".
11782         (verify1): Remove, replacing with a verify call.
11783         * lib/relocwrapper.c (verify1): Likewise.
11784         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
11785         Likewise.
11786         * modules/malloca (Depends-on): Add 'verify'.
11787         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
11788         * modules/vasnprintf (Depends-on): Add 'verify'.
11789         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
11790         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
11791         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
11792         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
11793         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
11794         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
11795         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
11796
11797         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
11798
11799         Formerly the style was sometimes 2*X - 1, because the C standard
11800         was wrongly thought to disallow ?: in integral constant expressions.
11801         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
11802         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
11803         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
11804         * lib/stdint.in.h (_verify_intmax_size): Likewise.
11805         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
11806         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
11807         verify that time_t cannot be floating.
11808
11809 2010-10-08  Eric Blake  <eblake@redhat.com>
11810
11811         time: enforce recent POSIX ruling that time_t is integral
11812         * lib/time.in.h (__time_t_must_be_integral): Detect any
11813         problematic systems, allowing the rest of gnulib to assume POSIX.
11814
11815 2010-10-08  Jim Meyering  <meyering@redhat.com>
11816
11817         fdopendir: fix a bug on systems lacking openat and /proc support
11818         OpenBSD 4.7 is one such system.  The most noticeable effect was
11819         failure of any application making nontrivial use of fts: rm, du,
11820         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
11821           ./rm: traversal failed: `a': Bad file descriptor
11822         Debugging that, you see that even though FD 6 was closed just
11823         prior to the opendir call in fd_clone_opendir, its resulting
11824         dir->dd_fd was 8, rather than the expected value of 6:
11825
11826         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
11827         93                close (fd);
11828         (gdb) n
11829         94                dir = fd_clone_opendir (dupfd);
11830         (gdb) n
11831         95                saved_errno = errno;
11832         (gdb) p dir->dd_fd
11833         $11 = 8
11834
11835         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
11836         The problem is that on OpenBSD, fd_clone_opendir has to resort
11837         to using the old-style save/restore CWD mechanism, due to its
11838         lack of openat/proc support, and *that* would steal the FD (6)
11839         that opendir was supposed to use.
11840
11841         The fix is to squirrel away the desired FD so that save_cwd uses a
11842         different one, and then free the dest FD right before calling opendir.
11843         That guarantees opendir will use the required file descriptor.
11844
11845         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
11846
11847 2010-10-08  Bruno Haible  <bruno@clisp.org>
11848
11849         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
11850         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
11851
11852 2010-10-08  Bruno Haible  <bruno@clisp.org>
11853
11854         nanosleep: Make replacement POSIX compliant.
11855         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
11856         is out of range.
11857         Reported by Jim Meyering.
11858
11859 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
11860
11861         bootstrap: add hook for altering gnulib.mk, for Bison
11862         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
11863         the Bison bootstrapping process can rewrite file names and variables
11864         in this file before later parts of 'bootstrap' use the file.
11865         Bison wants to include lib/gnulib.mk from the top-level makefile,
11866         so it needs the file names in this file to be relative to the top
11867         level, not relative to lib; plus it needs variable names to be
11868         rewritten.
11869         (slurp): Use the new function.
11870
11871         bootstrap: reformat for readability
11872         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
11873
11874 2010-10-08  Eric Blake  <eblake@redhat.com>
11875
11876         docs: update cygwin progress
11877         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
11878         1.7.7.
11879         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
11880         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
11881         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
11882         * doc/posix-functions/carg.texi (carg): Likewise.
11883         * doc/posix-functions/cargf.texi (cargf): Likewise.
11884         * doc/posix-functions/casin.texi (casin): Likewise.
11885         * doc/posix-functions/casinf.texi (casinf): Likewise.
11886         * doc/posix-functions/casinh.texi (casinh): Likewise.
11887         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
11888         * doc/posix-functions/catan.texi (catan): Likewise.
11889         * doc/posix-functions/catanf.texi (catanf): Likewise.
11890         * doc/posix-functions/catanh.texi (catanh): Likewise.
11891         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
11892         * doc/posix-functions/ccos.texi (ccos): Likewise.
11893         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
11894         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
11895         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
11896         * doc/posix-functions/cexp.texi (cexp): Likewise.
11897         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
11898         * doc/posix-functions/cimag.texi (cimag): Likewise.
11899         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
11900         * doc/posix-functions/clog.texi (clog): Likewise.
11901         * doc/posix-functions/clogf.texi (clogf): Likewise.
11902         * doc/posix-functions/conj.texi (conj): Likewise.
11903         * doc/posix-functions/conjf.texi (conjf): Likewise.
11904         * doc/posix-functions/cpow.texi (cpow): Likewise.
11905         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
11906         * doc/posix-functions/cproj.texi (cproj): Likewise.
11907         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
11908         * doc/posix-functions/creal.texi (creal): Likewise.
11909         * doc/posix-functions/crealf.texi (crealf): Likewise.
11910         * doc/posix-functions/csin.texi (csin): Likewise.
11911         * doc/posix-functions/csinf.texi (csinf): Likewise.
11912         * doc/posix-functions/csinh.texi (csinh): Likewise.
11913         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
11914         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
11915         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
11916         * doc/posix-functions/ctan.texi (ctan): Likewise.
11917         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
11918         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
11919         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
11920         * doc/posix-headers/complex.texi (complex.h): Likewise.
11921
11922 2010-10-07  Jim Meyering  <meyering@redhat.com>
11923
11924         parse-datetime: avoid compilation failure on OpenBSD 4.7
11925         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
11926         This works around a compilation failure on OpenBSD 4.7:
11927         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
11928
11929 2010-10-07  Eric Blake  <eblake@redhat.com>
11930
11931         docs: update cygwin progress
11932         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
11933         1.7.6.
11934         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
11935         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
11936         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
11937         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
11938         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
11939         Likewise.
11940         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
11941         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
11942         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
11943         Likewise.
11944         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
11945         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
11946         Likewise.
11947         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
11948         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
11949         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
11950         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
11951         Likewise.
11952         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
11953         Likewise.
11954         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
11955
11956         docs: update parse-datetime history
11957         * doc/parse-datetime.texi (Authors of parse_datetime): Better
11958         documentation of this function's history and alternatives.
11959
11960         cygwin: use more robust version check
11961         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
11962         exclude an eventual cygwin 1.9.1.
11963         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
11964         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
11965         (gl_FUNC_STRCASESTR): Likewise.
11966         Reported by Bruno Haible.
11967
11968 2010-10-06  Bruno Haible  <bruno@clisp.org>
11969
11970         string, sys_select: Avoid #including large headers unless necessary.
11971         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
11972         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
11973         OSF/1, BeOS, Haiku.
11974         Reported by Jim Meyering.
11975
11976 2010-10-05  Eric Blake  <eblake@redhat.com>
11977
11978         memmem, strstr, strcasestr: fix bug with long periodic needle
11979         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
11980         periodic needle having false positive.
11981         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
11982         and cygwin 1.7.7.
11983         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
11984         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
11985         (gl_FUNC_STRCASESTR): Likewise.
11986         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
11987         * tests/test-memmem.c (main): Expose the bug.
11988         * tests/test-strcasestr.c (main): Likewise.
11989         * tests/test-strstr.c (main): Likewise.
11990         * tests/test-c-strcasestr.c (main): Likewise.
11991         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
11992         * doc/posix-functions/strstr.texi (strstr): Likewise.
11993         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
11994         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
11995
11996 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
11997
11998         parse-datetime: do some more renaming
11999         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
12000         parse_datetime, not get_date.  Mention the renaming.
12001         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
12002         in comments.
12003         * m4/bison.m4: Likewise.
12004
12005 2010-10-05  Eric Blake  <eblake@redhat.com>
12006
12007         parse-datetime: better name than get_date
12008         * NEWS: Reword the deprecation notice.
12009         * modules/get_date: Rename to modules/parse-datetime.
12010         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
12011         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
12012         * lib/get_date.y: Rename to lib/parse-datetime.y.
12013         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
12014         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
12015         * doc/getdate.texi: Provide fallback wrapper.
12016         * lib/getdate.h: Move guts, and wrap...
12017         * lib/parse-datetime.h: ...new file.
12018         * lib/parse-datetime.y (get_date): Rename...
12019         (parse_datetime): ...to this.
12020         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
12021         (gl_PARSE_DATETIME): ...to this.
12022         * doc/posix-functions/getdate.texi (get_date): Provide fallback
12023         documentation.
12024         * modules/getdate (Files): Provide fallback docs and header.
12025         (Notice, Depends-on): Update references.
12026         * tests/test-parse-datetime.c: Likewise.
12027         * DEPENDENCIES: Likewise.
12028         * MODULES.html.sh (Date and time <time.h>): Likewise.
12029         * doc/parse-datetime.texi (Date input formats)
12030         (Authors of parse_datetime): Likewise.
12031         * modules/parse-datetime (Files, configure.ac, Makefile.am)
12032         (Include): Likewise.
12033         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
12034         * gnulib-tool: Likewise.
12035         * m4/bison.m4 (gl_BISON): Likewise.
12036         Suggested by Bruno Haible.
12037
12038 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
12039
12040         more ports to Solaris tr, which needs [] around ranges
12041         * gnulib-tool: Solaris tr needs [] around ranges.
12042         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
12043         * tests/test-pipe-filter-gi1.c (main): Likewise.
12044         * tests/test-pipe-filter-ii1.c (main): Likewise.
12045
12046 2010-10-05  Eric Blake  <eblake@redhat.com>
12047
12048         bootstrap: fix Solaris regression
12049         * build-aux/bootstrap (check_versions): Solaris tr still needs []
12050         around ranges.
12051         Reported by Pádraig Brady.
12052
12053         bootstrap: work with pkg-config
12054         * build-aux/bootstrap (check_versions): Also transliterate - in
12055         prerequisite name.
12056         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
12057         prerequisites that were already found, to avoid confusion.
12058         Reported by Justin Clift.
12059
12060         faccessat: remove unused wrappers
12061         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
12062         presence of these wrappers dragged in -lgen on Solaris.
12063         Reported by Clemens Brogi; fix suggested by Paul Eggert.
12064
12065 2010-10-05  Jim Meyering  <meyering@redhat.com>
12066
12067         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
12068         * Makefile (sc_pragma_columns): New syntax-check rule.
12069
12070 2010-10-04  Bruno Haible  <bruno@clisp.org>
12071
12072         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
12073         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
12074         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
12075         Reported by Bruce Korb and Eric Blake.
12076
12077 2010-10-04  Bruno Haible  <bruno@clisp.org>
12078
12079         threadlib: Make option --with-libpth-prefix work.
12080         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
12081         use $LIBPTH, not just -lpth.
12082
12083 2010-10-04  Bruno Haible  <bruno@clisp.org>
12084
12085         Avoid line length limitation from HP NonStop system header files.
12086         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
12087         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
12088         * lib/ctype.in.h: Likewise.
12089         * lib/dirent.in.h: Likewise.
12090         * lib/errno.in.h: Likewise.
12091         * lib/fcntl.in.h: Likewise.
12092         * lib/float.in.h: Likewise.
12093         * lib/getopt.in.h: Likewise.
12094         * lib/iconv.in.h: Likewise.
12095         * lib/inttypes.in.h: Likewise.
12096         * lib/langinfo.in.h: Likewise.
12097         * lib/locale.in.h: Likewise.
12098         * lib/math.in.h: Likewise.
12099         * lib/netdb.in.h: Likewise.
12100         * lib/netinet_in.in.h: Likewise.
12101         * lib/poll.in.h: Likewise.
12102         * lib/pthread.in.h: Likewise.
12103         * lib/pty.in.h: Likewise.
12104         * lib/sched.in.h: Likewise.
12105         * lib/se-selinux.in.h: Likewise.
12106         * lib/search.in.h: Likewise.
12107         * lib/signal.in.h: Likewise.
12108         * lib/spawn.in.h: Likewise.
12109         * lib/stdarg.in.h: Likewise.
12110         * lib/stddef.in.h: Likewise.
12111         * lib/stdint.in.h: Likewise.
12112         * lib/stdio.in.h: Likewise.
12113         * lib/stdlib.in.h: Likewise.
12114         * lib/string.in.h: Likewise.
12115         * lib/strings.in.h: Likewise.
12116         * lib/sys_file.in.h: Likewise.
12117         * lib/sys_ioctl.in.h: Likewise.
12118         * lib/sys_select.in.h: Likewise.
12119         * lib/sys_socket.in.h: Likewise.
12120         * lib/sys_stat.in.h: Likewise.
12121         * lib/sys_time.in.h: Likewise.
12122         * lib/sys_times.in.h: Likewise.
12123         * lib/sys_utsname.in.h: Likewise.
12124         * lib/sys_wait.in.h: Likewise.
12125         * lib/sysexits.in.h: Likewise.
12126         * lib/termios.in.h: Likewise.
12127         * lib/time.in.h: Likewise.
12128         * lib/unistd.in.h: Likewise.
12129         * lib/wchar.in.h: Likewise.
12130         * lib/wctype.in.h: Likewise.
12131         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
12132         * modules/ctype (Makefile.am): Likewise.
12133         * modules/dirent (Makefile.am): Likewise.
12134         * modules/errno (Makefile.am): Likewise.
12135         * modules/fcntl-h (Makefile.am): Likewise.
12136         * modules/float (Makefile.am): Likewise.
12137         * modules/getopt-posix (Makefile.am): Likewise.
12138         * modules/iconv-h (Makefile.am): Likewise.
12139         * modules/inttypes (Makefile.am): Likewise.
12140         * modules/langinfo (Makefile.am): Likewise.
12141         * modules/locale (Makefile.am): Likewise.
12142         * modules/math (Makefile.am): Likewise.
12143         * modules/netdb (Makefile.am): Likewise.
12144         * modules/netinet_in (Makefile.am): Likewise.
12145         * modules/poll-h (Makefile.am): Likewise.
12146         * modules/pthread (Makefile.am): Likewise.
12147         * modules/pty (Makefile.am): Likewise.
12148         * modules/sched (Makefile.am): Likewise.
12149         * modules/search (Makefile.am): Likewise.
12150         * modules/selinux-h (Makefile.am): Likewise.
12151         * modules/signal (Makefile.am): Likewise.
12152         * modules/spawn (Makefile.am): Likewise.
12153         * modules/stdarg (Makefile.am): Likewise.
12154         * modules/stddef (Makefile.am): Likewise.
12155         * modules/stdint (Makefile.am): Likewise.
12156         * modules/stdio (Makefile.am): Likewise.
12157         * modules/stdlib (Makefile.am): Likewise.
12158         * modules/string (Makefile.am): Likewise.
12159         * modules/strings (Makefile.am): Likewise.
12160         * modules/sys_file (Makefile.am): Likewise.
12161         * modules/sys_ioctl (Makefile.am): Likewise.
12162         * modules/sys_select (Makefile.am): Likewise.
12163         * modules/sys_socket (Makefile.am): Likewise.
12164         * modules/sys_stat (Makefile.am): Likewise.
12165         * modules/sys_time (Makefile.am): Likewise.
12166         * modules/sys_times (Makefile.am): Likewise.
12167         * modules/sys_utsname (Makefile.am): Likewise.
12168         * modules/sys_wait (Makefile.am): Likewise.
12169         * modules/sysexits (Makefile.am): Likewise.
12170         * modules/termios (Makefile.am): Likewise.
12171         * modules/time (Makefile.am): Likewise.
12172         * modules/unistd (Makefile.am): Likewise.
12173         * modules/wchar (Makefile.am): Likewise.
12174         * modules/wctype (Makefile.am): Likewise.
12175
12176 2010-10-04  Bruno Haible  <bruno@clisp.org>
12177
12178         read-file tests: Avoid a test failure on NonStop Kernel.
12179         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
12180         a regular file.
12181         Reported by Joachim Schmitz <schmitz@hp.com>.
12182
12183 2010-10-03  Bruno Haible  <bruno@clisp.org>
12184
12185         gnulib-tool: Fixes for --create-testdir with --libtool.
12186         * gnulib-tool (func_get_automake_snippet): Don't augment
12187         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
12188         an executable.
12189         (func_create_testdir): Handle module 'alloca' like func_import.
12190         Reported by Bruce Korb <bruce.korb@gmail.com>.
12191
12192 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
12193
12194         Avoid some lines longer than 80 characters.
12195         * lib/stdint.in.h: Break long comment lines.
12196         * lib/math.in.h: Likewise.
12197         (_GL_NUM_UINT_WORDS): New macro, for readability.
12198         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
12199         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
12200         * lib/stdlib.in.h: Likewise.
12201         * lib/spawn.in.h: Likewise.
12202         * lib/sys_socket.in.h: Update an URL.
12203         * lib/sys_stat.in.h: Break long line.
12204
12205 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
12206
12207         Improve pmccabe2html.
12208         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
12209         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
12210         when the sources change. Remove the line in the HTML about "Used
12211         ranges" (which implied that there might be other unused ranges),
12212         rename "Resume" to "Summary" (easier to understand for more users).
12213         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
12214         styles, and some unnecessary blank lines.
12215
12216 2010-10-03  Bruno Haible  <bruno@clisp.org>
12217             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
12218
12219         acl: Add support for ACLs on NonStop Kernel.
12220         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
12221         Check whether the function aclsort() exists.
12222         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
12223         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
12224         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
12225         (acl_nontrivial [HAVE_ACLSORT]: New function.
12226         (file_has_acl): Implement for NonStop Kernel.
12227         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
12228         (qset_acl): Implement for NonStop Kernel.
12229         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
12230         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
12231         (main): Implement for NonStop Kernel.
12232         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
12233         Kernel. Handle this flavor.
12234         * tests/test-set-mode-acl.sh: Likewise.
12235         * tests/test-copy-acl.sh: Likewise.
12236         * tests/test-copy-file.sh: Likewise.
12237
12238 2010-10-03  Bruno Haible  <bruno@clisp.org>
12239
12240         Info about ACLs on NonStop Kernel.
12241         * doc/acl-resources.txt: Add info about NonStop Kernel.
12242         References by Joachim Schmitz <schmitz@hp.com>.
12243
12244 2010-10-02  Bruno Haible  <bruno@clisp.org>
12245
12246         Define missing EDQUOT on NonStop Kernel.
12247         * lib/errno.in.h (EDQUOT): Assign a value if missing.
12248         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
12249         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
12250         missing.
12251         * doc/posix-headers/errno.texi: Mention the NSK bug.
12252         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
12253         Reported by Joachim Schmitz <schmitz@hp.com>.
12254
12255 2010-10-02  Bruno Haible  <bruno@clisp.org>
12256
12257         Update doc for POSIX:2008.
12258         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
12259         Update URL of POSIX specification.
12260
12261 2010-10-02  Bruno Haible  <bruno@clisp.org>
12262
12263         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
12264         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
12265         from gnulib, not from Automake.
12266
12267 2010-10-02  Bruno Haible  <bruno@clisp.org>
12268
12269         New module 'system-posix'.
12270         * modules/system-posix: New file.
12271         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
12272         module is present.
12273         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
12274         GNULIB_SYSTEM_POSIX.
12275         * modules/stdlib (Depends-on): Remove sys_wait.
12276         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
12277         * doc/posix-functions/system.texi: Mention the new module.
12278         * doc/posix-headers/stdlib.texi: Likewise.
12279         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
12280         define test_sys_wait_macros to a no-op.
12281         Reported by Sam Steingold <sds@gnu.org>.
12282
12283 2010-09-30  Bruno Haible  <bruno@clisp.org>
12284
12285         More renaming from 'getdate' to 'get_date'.
12286         * doc/get_date.texi: Renamed from doc/getdate.texi.
12287         * modules/get_date (Files): Update.
12288         * MODULES.html.sh (Date and time <time.h>): Update.
12289         * DEPENDENCIES: Update.
12290         * gnulib-tool: Update comment.
12291         * m4/bison.m4 (gl_BISON): Likewise.
12292         * m4/get_date.m4 (gl_GET_DATE): Likewise.
12293
12294 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
12295
12296         bootstrap: support ACLOCAL_FLAGS during aclocal
12297         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
12298         can add additional -I dir for third-party .m4 files.
12299
12300 2010-09-30  Eric Blake  <eblake@redhat.com>
12301
12302         bootstrap: use glibtoolize on MacOS
12303         * build-aux/bootstrap (check_versions): Convert libtool into
12304         libtoolize.
12305         (tool search): Move libtool check earlier, and look for
12306         glibtoolize for MacOS.
12307         (gnulib_tool_options): Auto-add --libtool when appropriate.
12308         Reported by Justin Clift.
12309
12310         poll: fix typo that broke test on MacOS
12311         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
12312         Reported by Justin Clift.
12313
12314         getdate: rename to get_date
12315         Note: getdate.h is not renamed, to minimize client impact.
12316         * modules/getdate: Mark obsolete.  Move old contents...
12317         * modules/get_date: ...to new module name.
12318         * modules/getdate-tests: Move...
12319         * modules/get_date-tests: ...here.
12320         * m4/getdate.m4: Move...
12321         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
12322         * lib/getdate.y: Move...
12323         * lib/get_date.y: ...here.
12324         * tests/test-getdate.c: Move...
12325         * tests/test-get_date.c: ...here.
12326         * doc/posix-functions/getdate.texi (getdate): Update name.
12327         * NEWS: Mention the change.
12328
12329 2010-09-29  Bruno Haible  <bruno@clisp.org>
12330
12331         Separate the module 'waitpid' from the module 'sys_wait'.
12332         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
12333         present.
12334         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
12335         gl_MODULE_INDICATOR_FOR_TESTS.
12336         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
12337         * modules/sys_wait (Depends-on): Remove waitpid.
12338         (Makefile.am): Substitute GNULIB_WAITPID.
12339         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
12340         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
12341         signature only if the 'waitpid' module is present.
12342         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
12343         * NEWS: Mention the change.
12344         * modules/grantpt (Depends-on): Add waitpid.
12345         * modules/wait-process (Depends-on): Likewise.
12346
12347 2010-09-29  Bruno Haible  <bruno@clisp.org>
12348
12349         More tests for module 'sys_wait'.
12350         * modules/sys_wait-c++-tests: New file.
12351         * tests/test-sys_wait-c++.cc: New file.
12352         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
12353         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
12354
12355 2010-09-29  Bruno Haible  <bruno@clisp.org>
12356
12357         New module 'waitpid'.
12358         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
12359         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
12360         Don't include <process.h>.
12361         (waitpid): Declare only, using modern idiom.
12362         * m4/waitpid.m4: New file.
12363         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
12364         * modules/waitpid: New file.
12365         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
12366         (Makefile.am): Update.
12367         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
12368
12369 2010-09-28  Bruno Haible  <bruno@clisp.org>
12370
12371         poll: Assume ANSI C.
12372         * lib/poll.c (poll): Use an ANSI C declaration.
12373
12374 2010-09-28  Bruno Haible  <bruno@clisp.org>
12375
12376         poll-h: Create poll.h on all platforms.
12377         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
12378         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
12379         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
12380         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
12381         (gl_REPLACE_POLL_H): Don't set POLL_H.
12382         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
12383         * modules/poll-h (Depends-on): Add include_next.
12384         (Makefile.am): Create poll.h unconditionally. Substitute also
12385         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
12386
12387 2010-09-28  Bruno Haible  <bruno@clisp.org>
12388
12389         Tests for module 'poll-h'.
12390         * modules/poll-h-c++-tests: New file.
12391         * tests/test-poll-h-c++.cc: New file.
12392
12393         Tests for module 'poll-h'.
12394         * modules/poll-h-tests: New file.
12395         * tests/test-poll-h.c: New file.
12396
12397 2010-09-28  Bruno Haible  <bruno@clisp.org>
12398
12399         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
12400         * modules/poll-h (Depends-on): Add 'extensions'.
12401
12402 2010-09-28  Bruno Haible  <bruno@clisp.org>
12403
12404         New module 'poll-h'.
12405         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
12406         (poll): Use modern idiom.
12407         * modules/poll-h: New file.
12408         * modules/poll (Files): Remove lib/poll.in.h.
12409         (Depends-on): Add poll-h.
12410         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
12411         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
12412         * m4/poll_h.m4: New file.
12413         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
12414         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
12415         and invoke gl_REPLACE_POLL_H.
12416         * lib/poll.c: Use common idiom.
12417         * tests/test-poll.c: Likewise.
12418         * doc/posix-headers/poll.texi: Mention the poll-h module.
12419         Suggested by Eric Blake.
12420
12421 2010-09-26  Bruno Haible  <bruno@clisp.org>
12422
12423         sys_wait: Implement WSTOPSIG.
12424         * lib/sys_wait.in.h (WSTOPSIG): New macro.
12425         Reported by Simon Josefsson.
12426
12427 2010-09-26  Simon Josefsson  <simon@josefsson.org>
12428
12429         stdlib, sys_wait: Avoid compilation error on mingw.
12430         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
12431
12432 2010-09-26  Bruno Haible  <bruno@clisp.org>
12433
12434         stdlib tests: Avoid code duplication.
12435         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
12436         * modules/sys_wait-tests (Files): Likewise.
12437         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
12438         * tests/test-stdlib.c: Include test-sys_wait.h.
12439         (main): Invoke test_sys_wait_macros.
12440         * tests/test-sys_wait.c: Include test-sys_wait.h.
12441         (main): Invoke test_sys_wait_macros.
12442
12443 2010-09-25  Simon Josefsson  <simon@josefsson.org>
12444
12445         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
12446         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
12447         sure Windows sockets are working before calling getaddrinfo.
12448         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
12449         * doc/gnulib.texi (Windows sockets): Fix typo.
12450
12451 2010-09-25  Bruno Haible  <bruno@clisp.org>
12452
12453         Tests for module 'regex-quote'.
12454         * modules/regex-quote-tests: New file.
12455         * tests/test-regex-quote.c: New file.
12456
12457         New module 'regex-quote'.
12458         * lib/regex-quote.h: New file.
12459         * lib/regex-quote.c: New file.
12460         * modules/regex-quote: New file.
12461         Suggested by Reuben Thomas <rrt@sc3d.org>.
12462
12463 2010-09-24  Bruno Haible  <bruno@clisp.org>
12464
12465         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
12466         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
12467
12468 2010-09-23  Bruno Haible  <bruno@clisp.org>
12469
12470         setenv: Relax license.
12471         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
12472         Blake.
12473         Requested by Eric Blake.
12474
12475 2010-09-22  Bruno Haible  <bruno@clisp.org>
12476
12477         termios: Relax license.
12478         * modules/termios (License): Change to LGPLv2+.
12479         Requested by Eric Blake.
12480
12481 2010-09-22  Bruno Haible  <bruno@clisp.org>
12482
12483         threadlib: Allow the package to change the default to 'no'.
12484         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
12485         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
12486         Reported by Paul Eggert.
12487
12488 2010-09-22  Pádraig Brady  <P@draigbrady.com>
12489             Bruno Haible  <bruno@clisp.org>
12490
12491         Fix endless loop in mbmemcasecoll.
12492         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
12493         byte.
12494         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
12495
12496 2010-09-22  Bruno Haible  <bruno@clisp.org>
12497
12498         Tests for module 'memcoll'.
12499         * modules/memcoll-tests: New file.
12500         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
12501
12502         memcoll, xmemcoll: Clarify size vs. length.
12503         * modules/memcoll.c (memcoll0): Clarify specification.
12504         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
12505         passed to collate_error.
12506
12507 2010-09-22  Bruno Haible  <bruno@clisp.org>
12508
12509         Tests for module 'memcasecmp'.
12510         * modules/memcasecmp-tests: New file.
12511         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
12512
12513 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
12514
12515         * lib/pthread.in.h: Add split double-inclusion guard, and include
12516         system <pthread.h> if there is one.  Use @@-style as in other
12517         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
12518         pthread.h doesn't.
12519         (pthread_mutexattr_destroy, pthread_mutexattr_init):
12520         (pthread_mutexattr_settype, pthread_mutex_trylock):
12521         New static inline functions, if there's no system <pthread.h>.
12522         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
12523         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
12524         Approximate with mutexes if the system lacks spinlocks, as in
12525         MacOS.
12526         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
12527         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
12528         @@-style.  Check for spinlocks separately.
12529         (gl_PTHREAD_DEFAULTS): New macro.
12530         * modules/pthread: Redo to use a more typical style for in.h files.
12531
12532 2010-09-21  Eric Blake  <eblake@redhat.com>
12533
12534         net_if: enhance tests
12535         * tests/test-net_if.c (main): Move signature checks earlier.
12536         Print failures to stderr.
12537         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
12538         Document the bug that we do not yet fix.
12539
12540 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
12541
12542         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
12543         about gnulib, not GSS.
12544
12545 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
12546
12547         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
12548         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
12549         for Emacs.
12550         * build-aux/pmccabe2html: Make Makefile.am example code more
12551         cut-and-paste friendly.
12552
12553 2010-09-21  Simon Josefsson  <simon@josefsson.org>
12554
12555         * tests/test-net_if.c: New file.
12556         * modules/net_if-tests: New file.
12557
12558 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
12559
12560         pthread: add pthread_spin_destroy
12561         * lib/pthread.in.h (pthread_spin_destroy): New function.
12562
12563 2010-09-19  Bruno Haible  <bruno@clisp.org>
12564
12565         gnulib-tool: Fix --help output.
12566         * gnulib-tool (func_usage): Fix help message.
12567         Reported by Reuben Thomas <rrt@sc3d.org>.
12568
12569 2010-09-18  Jim Meyering  <meyering@redhat.com>
12570
12571         maint.mk: avoid unexpanded \n in two diagnostics
12572         * top/maint.mk (sc_prohibit_always_true_header_tests):
12573         Don't use a literal \n in a halt=... assignment.  It would not be
12574         expanded, and the two \n bytes would appear in the diagnostic output
12575         rather than the desired newline.  Use halt=$$(printf ... instead.
12576         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
12577
12578 2010-09-18  Bruno Haible  <bruno@clisp.org>
12579
12580         netinet_in: Doc tweak.
12581         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
12582         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
12583
12584 2010-09-18  Jim Meyering  <meyering@redhat.com>
12585
12586         init.sh: correct an outdated comment
12587         * tests/init.sh (create_exe_shims_):  s/function/alias/
12588
12589         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
12590         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
12591         a file named "*.exe" is removed between the glob expansion and the
12592         processing of that oddly named file.
12593
12594 2010-09-17  Eric Blake  <eblake@redhat.com>
12595
12596         mirbsd: add some more support
12597         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
12598         in BSD family.
12599         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
12600         devices as OpenBSD.
12601         * m4/host-os.m4 (mirbsd): Add MirBSD.
12602
12603         tests: fix unportable assumption on sys/wait.h
12604         * tests/test-sys_wait.c (main): Relax test.
12605         * tests/test-stdlib.c (main): Likewise.
12606
12607         init.sh: accomodate directory with no .exes
12608         * tests/init.sh: Accomodate directory containing only scripts.
12609
12610         tests: avoid compiler warning
12611         * tests/test-stdlib.c (main): Use the variable.
12612
12613         fdutimens, fdutimensat: update signature, again
12614         * lib/utimens.h (gl_futimens): Delete, and move signature...
12615         (fdutimens): ...here.
12616         (fdutimensat): Rearrange signature.
12617         (lutimensat): Rename variable for clarity.
12618         * lib/fdutimensat.c (fdutimensat): Update signature.
12619         * lib/utimens.c (fdutimens): Likewise.
12620         (gl_futimens): Delete.
12621         (utimens, lutimens): Update callers.
12622         * lib/futimens.c (futimens): Likewise.
12623         * tests/test-fdutimensat.c: Likewise.
12624         * tests/test-utimens.c: Likewise.
12625         * tests/test-futimens.h: Update comment.
12626         * NEWS: Mention this.
12627         Suggested by Paul Eggert.
12628
12629 2010-09-17  Bruno Haible  <bruno@clisp.org>
12630
12631         Take over the maintenance of some older macros from Autoconf.
12632         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
12633         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
12634         GNU Autoconf.
12635         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
12636         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
12637
12638 2010-09-17  Eric Blake  <eblake@redhat.com>
12639
12640         fdutimensat: drop atflag validation
12641         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
12642         with valid fd, to close a race scenario where futimens is
12643         unsupported and FILE was replaced by a symlink.
12644         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
12645         accordingly.
12646         Suggested by Paul Eggert.
12647
12648 2010-09-16  Bruno Haible  <bruno@clisp.org>
12649
12650         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
12651         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
12652
12653 2010-09-16  Bruno Haible  <bruno@clisp.org>
12654
12655         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
12656         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
12657         login_tty exists.
12658         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
12659
12660 2010-09-16  Bruno Haible  <bruno@clisp.org>
12661
12662         login_tty: Make the replacement code work on BSD systems.
12663         * lib/login_tty.c: Include <sys/ioctl.h>.
12664         (login_tty): Use ioctl TIOCSCTTY when available.
12665         * modules/login_tty (Depends-on): Add sys_ioctl.
12666         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
12667
12668 2010-09-16  Bruno Haible  <bruno@clisp.org>
12669
12670         login_tty: Stricter unit test.
12671         * modules/login_tty-tests (Depends-on): Add tcgetsid.
12672         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
12673         and tcgetsid() after login_tty.
12674         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
12675
12676 2010-09-16  Bruno Haible  <bruno@clisp.org>
12677
12678         New module 'tcgetsid'.
12679         * lib/tcgetsid.c: New file.
12680         * m4/tcgetsid.m4: New file.
12681         * modules/tcgetsid: New file.
12682         * modules/termios (Depends-on): Add c++defs, warn-on-use.
12683         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
12684         GNULIB_TCGETSID, HAVE_TCGETSID.
12685         * lib/termios.in.h: Include <sys/types.h>.
12686         (tcgetsid): New declaration.
12687         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
12688         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
12689         * doc/posix-functions/tcgetsid.texi: Mention the new module.
12690         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
12691
12692 2010-09-16  Bruno Haible  <bruno@clisp.org>
12693
12694         Tests for module 'termios'.
12695         * modules/termios-c++-tests: New file.
12696         * modules/termios-tests: New file.
12697         * tests/test-termios-c++.cc: New file.
12698         * tests/test-termios.c: New file.
12699
12700         New module 'termios'.
12701         * modules/termios: New file.
12702         * lib/termios.in.h: New file.
12703         * m4/termios_h.m4: New file.
12704         * doc/posix-headers/termios.texi: Mention the new module.
12705
12706 2010-09-16  Eric Blake  <eblake@redhat.com>
12707
12708         fdutimensat: add an atflag parameter
12709         * lib/fdutimensat.c (fdutimensat): Add new parameter.
12710         * lib/utimens.h (fdutimensat): Update prototype.
12711         * tests/test-fdutimensat.c: Adjust test to match.
12712         * NEWS: Document the change.
12713         Suggested by Paul Eggert.
12714
12715 2010-09-16  Bruno Haible  <bruno@clisp.org>
12716
12717         Fix typos in comments.
12718         * lib/striconveh.h: Fix typo in comment.
12719         * lib/login_tty.c (login_tty): Likewise.
12720
12721 2010-09-15  Bruno Haible  <bruno@clisp.org>
12722
12723         stdlib: clarify MirBSD WEXITSTATUS bug
12724         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
12725         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
12726
12727 2010-09-15  Eric Blake  <eblake@redhat.com>
12728
12729         stdlib: work around MirBSD WEXITSTATUS bug
12730         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
12731         * modules/stdlib (Depends-on): Add sys_wait.
12732         * tests/test-sys_wait.c (main): Enhance test.
12733         * tests/test-stdlib.c (main): Likewise.
12734         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
12735
12736         docs: mention MacOS issue with WEXITSTATUS(constant)
12737         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
12738         issue.
12739         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
12740
12741         strnlen: add tests
12742         * modules/strnlen-tests: New file.
12743         * tests/test-strnlen.c: Likewise.
12744
12745 2010-09-14  Bruno Haible  <bruno@clisp.org>
12746
12747         unistr/base: Avoid link errors when module 'libunistring' is also used.
12748         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
12749         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
12750         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
12751         Declare also when HAVE_LIBUNISTRING is set.
12752         Reported by Pádraig Brady <P@draigbrady.com>.
12753
12754 2010-09-14  Eric Blake  <eblake@redhat.com>
12755
12756         test-rawmemchr: make more robust
12757         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
12758         (Depends-on, configure.ac): Add needed prerequisites to use it.
12759         * modules/memchr-tests (Files, Depends-on, configure.ac):
12760         Likewise, to avoid implicit reliance on memchr module prereqs.
12761         * tests/test-memchr.c (main): Ensure proper masking.
12762         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
12763         reads.
12764
12765         memchr: detect glibc Alpha bug
12766         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
12767         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
12768         Alpha.
12769         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
12770         * tests/test-memchr.c (main): Enhance test.
12771         Reported by Nelson H. F. Beebe.
12772
12773 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
12774
12775         fts, getcwd, glob: audit for dirfd returning -1
12776         * lib/fts.c (opendir): Remove #define; no longer used.
12777         (opendirat): New arg PDIR_FD.  All callers changed.
12778         (fts_build, _opendir2): Use new opendirat to avoid the need for
12779         dirfd, or for checking whether dirfd returns a negative value.
12780         Don't use opendir; always use openat followed by fdopendir.
12781         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
12782         it.
12783         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
12784         returns -1 here.
12785         * modules/fts (Depends-on): Remove dirfd.
12786         * modules/getcwd (Depends-on): Likewise.
12787
12788 2010-09-13  Eric Blake  <eblake@redhat.com>
12789
12790         float: fix broken MirBSD header
12791         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
12792         * doc/posix-headers/float.texi (float.h): Document it.
12793
12794 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
12795
12796         fts: use O_NOFOLLOW to avoid race condition when opening a directory
12797         * lib/fts.c (opendirat): New arg extra_flags.
12798         (__opendir2): Use it to avoid following symlinks when opening
12799         a directory, if symlinks are not supposed to be followed.  See
12800         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
12801
12802         fdopendir: preserve argument fd before returning
12803         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
12804         (fdopendir_with_dup, fd_clone_opendir): New static functions.
12805         (fdopendir): Use them, arranging for FD to be open to the same
12806         directory that it was when it started.  (It might be temporarily
12807         closed while fdopendir is running, so this not thread- or
12808         signal-safe.)  Be careful to do the right thing even when file
12809         descriptors are scarce and dup fails with errno == EMFILE.  See
12810         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
12811
12812 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
12813
12814         regex: Pass the system regex if its only problem is 32-bit regoff_t.
12815         * NEWS: Document change.
12816         * m4/regex.m4: Disable test for regoff_t size.
12817
12818 2010-09-13  Jim Meyering  <meyering@redhat.com>
12819
12820         fts: don't operate on an invalid file descriptor after failed dup
12821         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
12822         negative file descriptor.
12823
12824 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
12825
12826         savedir: add streamsavedir, deprecate fdsavedir
12827         * NEWS: Mention deprecation of fdsavedir.
12828         * lib/savedir.c (streamsavedir): New extern function, whose name
12829         ends in "savedir" to be consistent with the others.  This differs
12830         from savedirstream in that it doesn't close its argument.  The
12831         next version of GNU tar will use this instead of fdsavedir, to
12832         avoid some race conditions and conserve file descriptors.
12833         (savedirstream): Reimplement as a wrapper around streamsavedir.
12834         (fdsavedir): Add a comment deprecating this function.  As far as
12835         I know, only GNU tar used it, and GNU tar doesn't need it any more.
12836         * lib/savedir.h (streamsavedir): New decl.
12837         (fdsavedir): Add a comment deprecating this.
12838
12839 2010-09-10  Bruno Haible  <bruno@clisp.org>
12840
12841         langinfo: Fix last commit.
12842         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
12843         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
12844         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
12845
12846 2010-09-10  Bruno Haible  <bruno@clisp.org>
12847
12848         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
12849         * lib/progreloc.c (O_EXEC): Define fallback.
12850
12851 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
12852
12853         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
12854         * NEWS: Document recent changes to fcntl-h.
12855         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
12856         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
12857         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
12858         Similarly for O_SEARCH; this last was already true, but not documented.
12859         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
12860         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
12861         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
12862         Likewise.
12863         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
12864         is zero, not whether it is defined.
12865         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
12866         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
12867         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
12868
12869 2010-09-10  Bruno Haible  <bruno@clisp.org>
12870
12871         langinfo, nl_langinfo: Fix for IRIX 5.3.
12872         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
12873         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
12874         HAVE_LANGINFO_YESEXPR.
12875         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
12876         HAVE_LANGINFO_YESEXPR.
12877         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
12878         HAVE_LANGINFO_T_FMT_AMPM is 0.
12879         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
12880         HAVE_LANGINFO_YESEXPR is 0.
12881         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
12882         NOEXPR.
12883         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
12884         * doc/posix-functions/nl_langinfo.texi: Likewise.
12885         Reported by Eric Blake.
12886
12887 2010-09-10  Bruno Haible  <bruno@clisp.org>
12888
12889         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
12890         * doc/glibc-functions/login_tty.texi: Mention the include file problem
12891         on FreeBSD 8.0 and OpenBSD 4.6.
12892         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
12893         * m4/pty_h.m4 (gl_PTY_H): Likewise.
12894         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
12895         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
12896         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
12897         ac_includes_default.
12898         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
12899
12900 2010-09-09  Eric Blake  <eblake@redhat.com>
12901
12902         strsignal: work around NetBSD bug
12903         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
12904         * lib/string.in.h (includes): Likewise.
12905         * doc/posix-functions/strsignal.texi (strsignal): Document the
12906         bug.
12907         Reported by Nelson H. F. Beebe.
12908
12909         gnulib-tool: work with NetBSD /bin/sh
12910         * gnulib-tool (func_cache_var, func_cache_lookup_module)
12911         (func_get_description, func_get_comment, func_get_status)
12912         (func_get_notice, func_get_applicability, func_get_filelist)
12913         (func_get_dependencies, func_get_autoconf_early_snippet)
12914         (func_get_autoconf_snippet, func_get_automake_snippet)
12915         (func_get_include_directive, func_get_link_directive)
12916         (func_get_license, func_get_maintainer, func_import): Avoid
12917         shell syntax errors from parsing syntax extensions.
12918
12919 2010-09-09  Bruno Haible  <bruno@clisp.org>
12920
12921         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
12922         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
12923         a reliable way to determine whether the 'alias' command works.
12924
12925 2010-09-08  Jim Meyering  <meyering@redhat.com>
12926
12927         init.sh: penalize a set-x-impaired shell; don't disqualify it
12928         * tests/init.sh: Too many shells corrupt application stderr when
12929         you set -x, so we can't afford to disqualify them, since at least
12930         on Irix-6.5, that would disqualify all bourne shells.
12931         Instead, use a two-pass approach.
12932         On the first pass, try to find a shell that meets the stricter
12933         condition that set -x does not corrupt stderr.
12934         If no shell meets the stricter condition, retest each candidate
12935         shell, but without that extra condition.  Finally, when
12936         VERBOSE=yes is requested and set -x might cause trouble, simply
12937         issue a warning and refrain from enabling debug output.
12938
12939 2010-09-08  Eric Blake  <eblake@redhat.com>
12940
12941         unsetenv: fix OpenBSD bug
12942         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
12943         * doc/posix-functions/unsetenv.texi (unsetenv): Update
12944         documentation.
12945         Reported by Jim Meyering.
12946
12947         strtod: work around IRIX 6.5 bug
12948         * lib/strtod.c (strtod): Reparse number on shorter string if
12949         exponent parse was invalid.
12950         * tests/test-strtod.c (main): Add check for "0x1p 2".
12951         Reported by Tom G. Christensen.
12952
12953         getopt: optimize previous patch
12954         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
12955         empty variable.  Speed up awk script.
12956         Reported by Paolo Bonzini.
12957
12958 2010-09-08  Jim Meyering  <meyering@redhat.com>
12959
12960         test.sh: disqualify shells for which set -x corrupts stderr
12961         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
12962         and OpenBSD 4.7.  They make it so with "set -x", environment settings
12963         appear in stderr output.  For example, this command:
12964             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
12965         prints "P=1" on those two systems:
12966
12967 2010-09-08  Bruno Haible  <bruno@clisp.org>
12968
12969         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
12970         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
12971         commands, because some shells ignore redirections when there is an
12972         error in the command lookup.
12973         Reported by Eric Blake.
12974
12975 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
12976
12977         * lib/regex.h: Fix a mention of `regex_compile' (should be
12978         `re_compile_pattern').
12979         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
12980         (re_set_registers): Correct name of parameter in comment.
12981
12982         * doc/regex.texi: Add documentation for missing syntax flags.
12983         Remove commented-out documentation of defunct syntax option
12984         RE_NO_EMPTY_ALTS.
12985         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
12986         Add documentation of re_set_registers.
12987         Document trick to re-use a pattern buffer by setting fastmap manually.
12988         Update documentation of struct re_pattern_buffer per public members.
12989         Uncomment documentation of equivalence class operators and
12990         collating symbol operators, since they are now implemented,
12991         Explain leftmost-longest matching in relation to alternatives.
12992         Tidy documentation of substring matching.
12993         Remove POSIX documentation, which is done better in
12994         glibc, and refer the reader there. Keep BSD API documentation, as
12995         that is not readily available elsewhere.
12996
12997 2010-09-07  Eric Blake  <eblake@redhat.com>
12998
12999         getopt: handle POSIXLY_CORRECT set but not exported
13000         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
13001         export state of POSIXLY_CORRECT, due to bash set -o posix.
13002         Reported by Dustin J. Mitchell.
13003
13004 2010-09-05  Bruno Haible  <bruno@clisp.org>
13005
13006         gnulib-tool: Highlight the changed options.
13007         * gnulib-tool (func_usage): Display the --import, --add-import,
13008         --remove-import explanations in bold font.
13009
13010 2010-09-06  Karl Berry  <karl@gnu.org>
13011
13012         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
13013
13014 2010-09-05  Bruno Haible  <bruno@clisp.org>
13015
13016         uniwidth/width: Update comment.
13017         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
13018         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
13019
13020 2010-09-05  Bruno Haible  <bruno@clisp.org>
13021
13022         isinf, isnan: Relax license.
13023         * modules/isinf (License): Change from GPL to LGPL, with consent from
13024         Ben Pfaff.
13025         * modules/isnan (License): Likewise.
13026         Requested by Ludovic Courtès.
13027
13028 2010-09-04  Bruno Haible  <bruno@clisp.org>
13029
13030         gnulib-tool: Help migration from --import to --add-import or --update.
13031         * gnulib-tool: Emit a verbose error message when --import is used
13032         without any module name.
13033
13034 2010-09-04  Bruno Haible  <bruno@clisp.org>
13035
13036         Update doc about gnulib-tool.
13037         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
13038         'gnulib-tool --update' in more detail.
13039         Reported by Eric Blake.
13040
13041 2010-09-04  Bruno Haible  <bruno@clisp.org>
13042
13043         gnulib-tool: Change --import. New options --add/remove-import.
13044         * gnulib-tool: New options --add-import, --remove-import.
13045         (func_usage): Document them.
13046         (have_associative): Define always.
13047         (func_import): In import mode, don't merge the specified settings with
13048         the cached settings. Implement remove-import mode.
13049         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
13050         Explain when to use them versus --import.
13051         (Simple update): Use --add-import instead of --import.
13052         * NEWS: Mention the change.
13053
13054 2010-09-04  Bruno Haible  <bruno@clisp.org>
13055
13056         * doc/gnulib-tool.texi (Initial import): Update paragraph about
13057         separate gnulib.mk.
13058
13059 2010-09-04  Bruno Haible  <bruno@clisp.org>
13060
13061         gnulib-tool: Don't talk about CVS any more.
13062         * gnulib-tool (func_usage, func_import): Write "version control"
13063         instead of CVS.
13064
13065 2010-09-04  Jim Meyering  <meyering@redhat.com>
13066
13067         maint.mk: avoid obscure sc_copyright_check failure in coreutils
13068         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
13069         false positives (whose names may be ill-chosen) when searching
13070         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
13071         would cause a false-positive.
13072
13073         avoid coreutils "make distcheck" failure
13074         Coreutils tests with an absolute build directory name that contains
13075         a space.  Not quoting this directory name caused a failure.
13076         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
13077         * tests/test-vc-list-files-cvs.sh: Likewise.
13078
13079 2010-09-04  Bruno Haible  <bruno@clisp.org>
13080
13081         gnulib-tool: Avoid error when run in a package without Makefile.am.
13082         * gnulib-tool: When collecting the m4dirs in a package that does not
13083         have a Makefile.am, eliminate those directories that contain no
13084         gnulib-cache.m4. Fix expression that counts these directories.
13085
13086 2010-09-04  Bruno Haible  <bruno@clisp.org>
13087
13088         update-copyright test: Improve output when perl is missing or too old.
13089         * tests/test-update-copyright.sh: Move test of Perl version down after
13090         the test whether Perl exists. Provide an explanation relating Perl's
13091         error message to Automake's SKIP: message.
13092
13093 2010-09-04  Bruno Haible  <bruno@clisp.org>
13094
13095         Don't augment PATH in TESTS_ENVIRONMENT.
13096         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
13097         set abs_aux_dir instead of augmenting PATH.
13098         * modules/vc-list-files-tests (Makefile.am): Likewise.
13099         * tests/test-update-copyright.sh: Augment PATH here.
13100         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
13101         path_prepend_.
13102         * tests/test-vc-list-files-git.sh: Likewise.
13103
13104 2010-09-04  Jim Meyering  <meyering@redhat.com>
13105
13106         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
13107         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
13108
13109 2010-09-04  Bruno Haible  <bruno@clisp.org>
13110
13111         strdup: Fix compilation error in C++ mode.
13112         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
13113         the macro.
13114
13115 2010-09-04  Bruno Haible  <bruno@clisp.org>
13116
13117         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
13118         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
13119         macro into a function.
13120         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
13121
13122 2010-09-04  Bruno Haible  <bruno@clisp.org>
13123
13124         Set PATH_SEPARATOR the same way autoconf does.
13125         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
13126         the value of PATH_SEPARATOR the same way autoconf-generated configure
13127         scripts do.
13128         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
13129         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
13130
13131 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
13132
13133         Set PATH_SEPARATOR the same way autoconf does.
13134         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
13135         the same way autoconf-generated configure scripts do.
13136         * posix-modules: Likewise.
13137
13138 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
13139
13140         hash: fix safe_hasher const typo
13141         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
13142         const; otherwise, there is a type error later.
13143
13144 2010-09-02  Jim Meyering  <meyering@redhat.com>
13145
13146         test-update-copyright.sh: require perl 5.8.0
13147         * tests/test-update-copyright.sh: Require 5.8.0,
13148         which Tom G. Christensen has confirmed is adequate,
13149         while 5.6.1 is not.
13150
13151 2010-09-02  Eric Blake  <eblake@redhat.com>
13152
13153         tests: init.sh improvements for re-exec'ing with zsh
13154         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
13155         -vx through shell re-exec.
13156         Reported by Tom G. Christensen.
13157
13158         wctype: fix typo in previous commit
13159         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
13160         Reported by Ludovic Courtès.
13161
13162 2010-09-02  Jim Meyering  <meyering@redhat.com>
13163
13164         test-update-copyright.sh: skip test if Perl is too old
13165         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
13166         Reported by Tom G. Christensen.
13167
13168 2010-09-02  Bruno Haible  <bruno@clisp.org>
13169
13170         wctype: Avoid compilation error on IRIX 6.5.30.
13171         * lib/wctype.in.h (iswblank): Declare with a replacement if
13172         REPLACE_ISWBLANK is set.
13173         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
13174         declared. Set REPLACE_ISWBLANK.
13175         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
13176         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
13177         * doc/posix-headers/wctype.texi: Likewise.
13178         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13179
13180 2010-09-01  Bruno Haible  <bruno@clisp.org>
13181
13182         New module 'socketlib'.
13183         * modules/socketlib: New file.
13184         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
13185         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
13186         * modules/sockets (Depends-on): Add socketlib.
13187         Suggested by Sam Steingold <sds@gnu.org>.
13188
13189 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
13190
13191         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
13192
13193         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
13194         when one needs search access to a directory but not read access.
13195         On systems where it is available, it works in some cases where
13196         O_RDONLY does not, namely on directories that are searchable but
13197         not readable, and which need only to be searchable.  If O_SEARCH
13198         is not available, fall back to the traditional method of using
13199         O_RDONLY.
13200
13201         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
13202         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
13203         when opening a directory that needs only to be searchable.
13204         * lib/chdir-safer.c (chdir_no_follow): Likewise.
13205         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
13206         * lib/openat-proc.c (openat_proc_name): Likewise.
13207         * lib/openat.c (openat_needs_fchdir): Likewise.
13208         * lib/save-cwd.c (save_cwd): Likewise.
13209         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
13210
13211 2010-08-28  Bruno Haible  <bruno@clisp.org>
13212
13213         New module 'host-cpu-c-abi'.
13214         * modules/host-cpu-c-abi: New file.
13215         * m4/host-cpu-c-abi.m4: New file, based on part of
13216         clisp/src/m4/general.m4.
13217         Requested by Sam Steingold <sds@gnu.org>.
13218
13219 2010-08-31  Eric Blake  <eblake@redhat.com>
13220         and Jim Meyering  <meyering@redhat.com>
13221
13222         hash: factor, and guard against misbehaving hasher function
13223         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
13224         of table->hasher's return value.  Also protect against a hash value
13225         so large that adding it to table->bucket results in a NULL pointer.
13226         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
13227         Use it in place of open-coded check-and-abort.
13228
13229 2010-08-30  Bruno Haible  <bruno@clisp.org>
13230
13231         hash: silence spurious clang warning
13232         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
13233         Reported by Eric Blake.
13234
13235 2010-08-30  Eric Blake  <eblake@redhat.com>
13236
13237         strstr, memmem, strcasestr: avoid leaked shell message
13238         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
13239         FreeBSD.
13240         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
13241         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
13242
13243         tests: silence clang warning
13244         * tests/test-malloca.c (do_allocation): Avoid dead store.
13245
13246 2010-08-29  Bruno Haible  <bruno@clisp.org>
13247
13248         gettext: Fix recent mistake.
13249         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
13250
13251 2010-08-29  Bruno Haible  <bruno@clisp.org>
13252
13253         selinux-h: Offer a --without-selinux option.
13254         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
13255         --without-selinux was specified, skip all tests and define
13256         HAVE_SELINUX_SELINUX_H to 0.
13257         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
13258         set LIB_SELINUX to empty.
13259         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
13260         gl_LIBSELINUX. If --without-selinux was specified, replace
13261         selinux/context.h.
13262         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
13263
13264 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13265             Bruno Haible  <bruno@clisp.org>
13266
13267         Make the module 'realloc-gnu' work again on AIX and OSF/1.
13268         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
13269         of HAVE_REALLOC.
13270         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
13271         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
13272         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
13273         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
13274
13275 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13276             Bruno Haible  <bruno@clisp.org>
13277
13278         Make the module 'calloc-gnu' work again on AIX and OSF/1.
13279         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
13280         HAVE_CALLOC.
13281         * lib/xmalloc.c: Update accordingly.
13282         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
13283         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
13284         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
13285
13286 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13287             Bruno Haible  <bruno@clisp.org>
13288
13289         Make the module 'malloc-gnu' work again on AIX and OSF/1.
13290         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
13291         HAVE_MALLOC.
13292         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
13293         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
13294         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
13295
13296 2010-08-29  Bruno Haible  <bruno@clisp.org>
13297
13298         Update modules list.
13299         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
13300         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
13301         (String handling <string.h>): Add astrxfrm.
13302         (File system functions): Add readlinkat.
13303
13304 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13305
13306         Tests for module 'realloc-gnu'.
13307         * modules/realloc-gnu-tests: New file.
13308         * tests/test-realloc-gnu.c: New file.
13309
13310         Tests for module 'calloc-gnu'.
13311         * modules/calloc-gnu-tests: New file.
13312         * tests/test-calloc-gnu.c: New file.
13313
13314         Tests for module 'malloc-gnu'.
13315         * modules/malloc-gnu-tests: New file.
13316         * tests/test-malloc-gnu.c: New file.
13317
13318 2010-08-28  Bruno Haible  <bruno@clisp.org>
13319
13320         Rename module 'realloc' -> 'realloc-gnu'.
13321         * modules/realloc-gnu: New file, copied from modules/realloc.
13322         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
13323         obsolete.
13324         * modules/mgetgroups (Depends-on): Update.
13325         * doc/posix-functions/realloc.texi: Update.
13326         * NEWS: Mention the change.
13327
13328         Rename module 'calloc' -> 'calloc-gnu'.
13329         * modules/calloc-gnu: New file, copied from modules/calloc.
13330         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
13331         obsolete.
13332         * doc/posix-functions/calloc.texi: Update.
13333         * NEWS: Mention the change.
13334
13335         Rename module 'malloc' -> 'malloc-gnu'.
13336         * modules/malloc-gnu: New file, copied from modules/malloc.
13337         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
13338         obsolete.
13339         * modules/argp (Depends-on): Update.
13340         * modules/regex (Depends-on): Update.
13341         * doc/posix-functions/malloc.texi: Update.
13342         * NEWS: Mention the change.
13343
13344 2010-08-28  Eric Blake  <eblake@redhat.com>
13345
13346         pread, pwrite: add missing dependency
13347         * modules/pread (Depends-on): Add extensions.
13348         * modules/pwrite (Depends-on): Likewise.
13349
13350 2010-08-28  Bruno Haible  <bruno@clisp.org>
13351
13352         unistr/u*-strchr: Fix tests dependencies.
13353         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
13354         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
13355         Reported by Ian Beckwith <ianb@erislabs.net>.
13356
13357 2010-08-28  Bruno Haible  <bruno@clisp.org>
13358
13359         read-file: Don't occupy too much unused memory.
13360         * lib/read-file.c (fread_file): Shrink the buffer at the end.
13361
13362 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
13363             Eric Blake  <eblake@redhat.com>
13364             Bruno Haible  <bruno@clisp.org>
13365
13366         read-file: Avoid memory reallocations with regular files.
13367         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
13368         (fread_file): With regular files, use the remaining length as the
13369         initial buffer size.  Check against overflow.
13370         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
13371         sys_stat.
13372
13373 2010-08-28  Bruno Haible  <bruno@clisp.org>
13374
13375         ftello: Relax license.
13376         * modules/ftello (License): Relax to LGPLv2+.
13377         Reported by Eric Blake.
13378
13379 2010-08-28  Bruno Haible  <bruno@clisp.org>
13380
13381         Avoid relocwrapper link errors due to gnulib replacement functions.
13382         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
13383         function.
13384         Reported by Ben Pfaff <blp@cs.stanford.edu>.
13385
13386 2010-08-28  Bruno Haible  <bruno@clisp.org>
13387
13388         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
13389         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
13390         defined.
13391         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
13392         Suggested by Eric Blake.
13393
13394 2010-08-28  Bruno Haible  <bruno@clisp.org>
13395
13396         sys_socket, netdb: Ensure socklen_t gets defined.
13397         * modules/sys_socket (Depends-on): Add socklen.
13398         * modules/netdb (Depends-on): Likewise.
13399         * modules/getaddrinfo (Depends-on): Remove socklen.
13400         * modules/getsockopt (Depends-on): Likewise.
13401         * modules/setsockopt (Depends-on): Likewise.
13402         * tests/test-sys_socket.c: Check that socklen_t is defined.
13403         * tests/test-netdb.c: Likewise.
13404         * m4/socklen.m4: Update comments.
13405         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
13406
13407 2010-08-27  Eric Blake  <eblake@redhat.com>
13408
13409         login_tty: add missing dependency
13410         * modules/login_tty (Depends-on): Add pty.
13411
13412 2010-08-26  Eric Blake  <eblake@redhat.com>
13413
13414         lib-symbol-versions: fix m4 quoting
13415         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
13416         format for AC_LINK_IFELSE.
13417
13418         glob: fix compile test
13419         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
13420
13421         btowc: fix missing file
13422         * modules/btowc (Files): Also ship locale-fr.m4.
13423
13424         lseek: fix link test
13425         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
13426         AC_LINK_IFELSE.
13427
13428         include_next: silence autoconf 2.68 warning
13429         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
13430         AC_COMPILE_IFELSE as special.
13431         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
13432         autoconf < 2.68.
13433
13434         acl: fix compilation test
13435         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
13436         AC_COMPILE_IFELSE.
13437
13438 2010-08-26  Bruno Haible  <bruno@clisp.org>
13439
13440         Modernize AC_TRY_RUN invocations.
13441         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
13442         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
13443         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
13444         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
13445         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
13446         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
13447         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
13448         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
13449         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
13450         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
13451         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
13452         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
13453         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
13454         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
13455         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
13456         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
13457         gl_MBRLEN_NUL_RETVAL): Likewise.
13458         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
13459         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
13460         Likewise.
13461         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
13462         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
13463         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
13464         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
13465         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
13466         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
13467         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
13468         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
13469         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
13470         Likewise.
13471         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
13472         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
13473         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
13474         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
13475         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
13476         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
13477         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
13478         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
13479         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
13480         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
13481
13482 2010-08-26  Bruno Haible  <bruno@clisp.org>
13483
13484         Modernize AC_TRY_LINK invocations.
13485         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
13486         AC_TRY_LINK.
13487         * m4/argp.m4 (gl_ARGP): Likewise.
13488         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
13489         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
13490         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
13491         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
13492         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
13493         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
13494         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
13495         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
13496         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
13497         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
13498         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
13499         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
13500         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
13501         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
13502         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
13503         * m4/hostent.m4 (gl_HOSTENT): Likewise.
13504         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
13505         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
13506         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
13507         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
13508         Likewise.
13509         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
13510         Likewise.
13511         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
13512         Likewise.
13513         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
13514         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
13515         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
13516         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
13517         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
13518         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
13519         * m4/servent.m4 (gl_SERVENT): Likewise.
13520         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
13521         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
13522         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
13523         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
13524         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
13525         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
13526         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
13527         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
13528         * modules/tsearch-tests (configure.ac): Likewise.
13529
13530 2010-08-26  Bruno Haible  <bruno@clisp.org>
13531
13532         Modernize AC_TRY_COMPILE invocations.
13533         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
13534         AC_TRY_COMPILE.
13535         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
13536         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
13537         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
13538         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
13539         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
13540         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
13541         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
13542         * m4/lock.m4 (gl_LOCK): Likewise.
13543         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
13544         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
13545         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
13546         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
13547         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
13548         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
13549         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
13550         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
13551         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
13552         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
13553         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
13554         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
13555         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
13556         extraneous semicolon.
13557
13558 2010-08-26  Jim Meyering  <meyering@redhat.com>
13559
13560         stat-time: relax license LGPL
13561         * modules/stat-time (License): Change from GPL to LGPL,
13562         with consent from all contributors, for use in libguile.
13563         Requested by Ludovic Courtès.
13564
13565 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
13566
13567         poll: return immediately on POLLHUP.
13568         * lib/poll.c (poll): Always set timeout before wait_timeout is
13569         computed.
13570
13571 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13572
13573         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
13574         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
13575         rmdir ("dir/.//"), unlinkat.
13576
13577 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
13578
13579         stdbool: avoid spurious failure with modern xlc
13580         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
13581
13582 2010-08-24  Bruno Haible  <bruno@clisp.org>
13583
13584         getloadavg: simplify code
13585         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
13586         gl_have_func. Update comments.
13587
13588 2010-08-24  Eric Blake  <eblake@redhat.com>
13589
13590         getloadavg: don't define SVR4 on cygwin
13591         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
13592         only define SVR4 when -lkvm is required.
13593         Reported by Yaakov Selkowitz.
13594
13595 2010-08-24  Bruno Haible  <bruno@clisp.org>
13596
13597         priv-set: fix comment
13598         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
13599
13600 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
13601
13602         priv-set: fix comments
13603         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
13604         to match code, as suggested by David Bartley in:
13605         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
13606
13607 2010-08-23  Eric Blake  <eblake@redhat.com>
13608
13609         stdbool: avoid rejecting clang
13610         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
13611         * tests/test-stdbool.c: Enable more tests if using the system
13612         <stdbool.h> instead of the gnulib replacement.
13613         (main): Move xlc bug test to a runtime test for all compilers.
13614         Reported by Anders Kaseorg.
13615
13616         argz: fix shell quoting issue
13617         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
13618         Reported by Charles Wilson.
13619
13620 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
13621             Erik Faye-Lund <kusmabite@gmail.com>
13622
13623         poll, select: handle ERROR_BROKEN_PIPE.
13624         * lib/poll.c (win32_compute_revents): Return POLLHUP when
13625         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
13626         * lib/select.c (win32_compute_revents): Do not mark a pipe
13627         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
13628
13629 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
13630
13631         fts: allow compilation with C++
13632         * lib/fts_.h: Specify extern "C" linkage with C++.
13633
13634 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13635
13636         Fix gnulib-tool sed script de-commentation for AIX sed.
13637         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
13638         sed.
13639
13640 2010-08-17  Eric Blake  <eblake@redhat.com>
13641
13642         test-stddef: test for (some) offsetof bugs
13643         * tests/test-stddef.c: Enhance test to ensure correct type of
13644         offsetof.
13645         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
13646         that we are not fixing at this time.
13647
13648 2010-08-15  Bruno Haible  <bruno@clisp.org>
13649
13650         stpncpy: Allow stpncpy to be defined as a macro.
13651         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
13652         if it's already correctly declared.
13653         * lib/string.in.h (stpncpy): Undefine before redefining.
13654         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
13655
13656 2010-08-14  Bruno Haible  <bruno@clisp.org>
13657
13658         Rename module 'memxfrm' to 'amemxfrm'.
13659         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
13660         (amemxfrm): Renamed from memxfrm.
13661         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
13662         (amemxfrm): Renamed from memxfrm.
13663         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
13664         * NEWS: Mention the change.
13665         * MODULES.html.sh (String handling <string.h>): Update.
13666         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
13667         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
13668         * lib/unicase/u16-casexfrm.c: Likewise.
13669         * lib/unicase/u32-casexfrm.c: Likewise.
13670         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
13671         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
13672         * lib/uninorm/u16-normxfrm.c: Likewise.
13673         * lib/uninorm/u32-normxfrm.c: Likewise.
13674         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
13675         memxfrm.
13676         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
13677         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
13678         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
13679         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
13680         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
13681         Suggested by Paul Eggert.
13682
13683 2010-08-14  Bruno Haible  <bruno@clisp.org>
13684
13685         Tests for module 'astrxfrm'.
13686         * modules/astrxfrm-tests: New file.
13687         * tests/test-astrxfrm.c: New file.
13688
13689         New module 'astrxfrm'.
13690         * lib/astrxfrm.h: New file.
13691         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
13692         * modules/astrxfrm: New file.
13693
13694 2010-08-14  Reuben Thomas <rrt@sc3d.org>
13695
13696         regex: Tweak doc.
13697         * doc/regex.texi (Overview): Don't mention regex.c.
13698         (GNU Regular Expression Compiling): Likewise.
13699         (Match-end-of-line Operator): Mention 'not_eol'.
13700
13701 2010-08-14  Brian Gough  <bjg@gnu.org>
13702             Bruno Haible  <bruno@clisp.org>
13703
13704         git-merge-changelog: add doc relating to use with bzr and hg.
13705         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
13706
13707 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
13708
13709         pthread: fix pthread.h creation for srcdir != builddir
13710         * modules/pthread (Makefile.am): Fix the rule to work also in a
13711         non-srcdir build.
13712
13713 2010-08-13  Karl Berry  <karl@gnu.org>
13714
13715         * doc/regex.texi (Predefined Syntaxes): @smallexample.
13716         * doc/posix-*/*: force line break before @url of POSIX
13717         specifications.
13718         Suggested by Werner Lemberg.
13719
13720 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
13721
13722         strtod: fix const diagnostic
13723         * lib/strtod.c (strtod): Don't assign const char * to char *,
13724         as this elicits a warning from GCC when warnings are enabled.
13725
13726 2010-08-10  Pádraig Brady <P@draigbrady.com>
13727         and Eric Blake  <eblake@redhat.com>
13728
13729         copy-acl: ignore ENOTSUP on HP-UX
13730         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
13731         so that it is available for HP-UX.
13732         * lib/copy-acl.c (qcopy_acl): Use it.
13733         Reported by Patrick M. Callahan.
13734
13735 2010-08-10  Eric Blake  <eblake@redhat.com>
13736
13737         open, chown: relax license
13738         * modules/open (License): Change to LGPLv2+, with consent by all
13739         authors, for use in augeas.
13740         * modules/chown (License): Likewise.
13741         * modules/lchown (Likewise): Likewise.
13742         Requested by Adam Stokes.
13743
13744 2010-08-09  Karl Berry  <karl@gnu.org>
13745
13746         * build-aux/ar-lib: new file, import from Automake.
13747         * config/srclist.txt: autocheck for updates.
13748
13749 2010-08-09  Eric Blake  <eblake@redhat.com>
13750
13751         readlinkat: adjust client modules
13752         * modules/areadlinkat (Depends-on): Use readlinkat, not
13753         symlinkat.
13754         * modules/areadlinkat-with-size (Depends-on): Likewise.
13755
13756         mknod: be more vocal about danger of running tests as root
13757         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
13758         root, since that is just asking for problems.
13759         Suggested by Bruno Haible, based on a report by Rainer Tammer.
13760
13761         readlinkat: split into its own module
13762         * modules/symlinkat: Split readlinkat...
13763         * modules/readlinkat: ...into separate module.
13764         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
13765         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
13766         * lib/symlinkat.c (readlinkat): Move...
13767         * lib/readlinkat.c: ...into new file.
13768         * modules/symlinkat-tests: Split readlinkat test...
13769         * modules/readlinkat-tests: ...into separate module.
13770         * tests/test-symlinkat.c: Split...
13771         * tests/test-readlinkat.c: ...into new file.
13772         * NEWS: Document the split.
13773         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
13774         * lib/unistd.in.h (readlinkat): Likewise.
13775         Suggested by Bruno Haible.
13776
13777 2010-08-08  Bruno Haible  <bruno@clisp.org>
13778
13779         memxfrm: Speed up.
13780         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
13781         that usually only one call to strxfrm is necessary for each string
13782         part.
13783         Reported by Paul Eggert <eggert@cs.ucla.edu>.
13784
13785 2010-08-07  Karl Berry  <karl@gnu.org>
13786
13787         * doc/posix-headers/limits.texi,
13788         * doc/posix-functions/malloc.texi,
13789         * doc/posix-functions/strsignal.texi: missing @item.
13790         * doc/ld-version-script.texi: spurious leading i.
13791         * doc/regex.texi (Interval Operators): no commas inside @var.
13792
13793 2010-08-01  Bruno Haible  <bruno@clisp.org>
13794
13795         Integrate the regex documentation.
13796         * doc/gnulib.texi: Define 'cn' index.
13797         (Regular expressions): New a chapter that includes regex.texi and
13798         regexprops-generic.texi.
13799         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
13800         syntax.
13801
13802         Whitespace cleanup.
13803         * doc/regex.texi: Remove trailing spaces.
13804
13805         Add regex documentation.
13806         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
13807         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
13808         Written by Kathy A. Hargreaves and Karl Berry.
13809
13810 2010-08-01  Bruno Haible  <bruno@clisp.org>
13811
13812         link: Update documentation.
13813         * doc/posix-functions/link.texi: Update regarding Solaris.
13814
13815 2010-07-31  Bruno Haible  <bruno@clisp.org>
13816
13817         Update modules list.
13818         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
13819         (String handling <string.h>): Add memcmp2, memxfrm.
13820         (Container data structures): Add xlist, xsublist, xoset.
13821         (Core language properties): Add alignof, unused-parameter.
13822         (Process control, Numeric conversion functions <stdlib.h>): Renamed
13823         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
13824         (Unibyte characters <ctype.h>): New section.
13825         (String handling <string.h>): New section.
13826         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
13827         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
13828         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
13829         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
13830         tan, tanh, tanl, y0, y1, yn.
13831         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
13832         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
13833         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
13834         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
13835         unlockpt, vdprintf, vdprintf-posix.
13836         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
13837         (File system functions): Add concat-filename, sys_file, sys_ioctl,
13838         xconcat-filename.
13839         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
13840         getdtablesize, pipe2, pipe2-safer.
13841         (Security): New section.
13842         (Networking functions): Add accept4.
13843         (Signal handling): Add sigpipe.
13844         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
13845         mbmemcasecoll.
13846         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
13847         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
13848         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
13849         pipe-filter-ii.
13850         (Misc): Add argp-version-etc, login_tty, parse-duration.
13851
13852 2010-07-31  Bruno Haible  <bruno@clisp.org>
13853
13854         Improve doc in MODULES.html.
13855         * modules/linkat (Description): Add the word "function".
13856         * modules/mkfifo (Description): Likewise.
13857         * modules/mknod (Description): Likewise.
13858         * modules/remove (Description): Likewise.
13859         * modules/renameat (Description): Likewise.
13860         * modules/stat (Description): Likewise.
13861         * modules/symlink (Description): Likewise.
13862         * modules/unlink (Description): Likewise.
13863
13864 2010-07-31  Bruno Haible  <bruno@clisp.org>
13865
13866         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
13867         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
13868         option --enable/disable-c++ instead of --enable/disable-cxx.
13869         * NEWS: Mention the change.
13870
13871 2010-07-31  Bruno Haible  <bruno@clisp.org>
13872
13873         readlink, areadlink: Relax test a bit.
13874         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
13875         alternative to ENOTDIR.
13876         * tests/test-areadlink.h (test_areadlink): Likewise.
13877         Reported by Rainer Tammer.
13878
13879 2010-07-31  Bruno Haible  <bruno@clisp.org>
13880
13881         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
13882         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
13883         character, perform the search using U_STRCHR.
13884         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
13885         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
13886         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
13887         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
13888         Suggested by Paolo Bonzini.
13889
13890 2010-07-31  Bruno Haible  <bruno@clisp.org>
13891
13892         unistr/u*-strstr: Fix dependencies.
13893         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
13894         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
13895         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
13896
13897 2010-07-31  Bruno Haible  <bruno@clisp.org>
13898
13899         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
13900         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
13901         the beginning of the loop.
13902         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
13903         cases in 'switch' statement.
13904
13905         unistr/u8-strchr: Fix several bugs.
13906         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
13907         the string. When not found, return NULL, not a pointer near the end.
13908
13909         More tests for unistr/u8-strchr.
13910         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
13911         that the function does not read past the first occurrence of the byte
13912         being searched.
13913         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
13914         * tests/unistr/test-u16-strchr.c (main): New function.
13915         * tests/unistr/test-u32-strchr.c (main): New function.
13916
13917 2010-07-31  Bruno Haible  <bruno@clisp.org>
13918
13919         posix-modules: Ignore backup files of documentation files.
13920         * posix-modules: grep only through files named *.texi.
13921
13922 2010-07-31  Bruno Haible  <bruno@clisp.org>
13923
13924         symlinkat: Fix documentation.
13925         * doc/posix-functions/readlinkat.texi: Fix module name.
13926
13927 2010-07-31  Bruno Haible  <bruno@clisp.org>
13928
13929         fchownat: Replace also when chown has the trailing slash bug.
13930         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
13931         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
13932         introduced on 2010-04-10.
13933         Reported by Rainer Tammer.
13934
13935 2010-07-31  Bruno Haible  <bruno@clisp.org>
13936
13937         linkat: Work around AIX 7.1 bug.
13938         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
13939         whether linkat handles trailing slash correctly. If not, replace linkat
13940         and define LINKAT_TRAILING_SLASH_BUG.
13941         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
13942         check whether (fd1,file1) points to a directory if file1 or file2 ends
13943         in a slash. Code taken from lib/link.c.
13944         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
13945         Reported by Rainer Tammer.
13946
13947 2010-07-31  Bruno Haible  <bruno@clisp.org>
13948
13949         Correctly determine whether pow is available in libc on AIX 7 with xlc.
13950         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
13951         This disables an xlc optimization that was causing wrong test results.
13952         Reported by Rainer Tammer.
13953
13954 2010-07-31  Bruno Haible  <bruno@clisp.org>
13955
13956         iconv: Work around AIX 6.1..7.1 bug.
13957         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
13958         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
13959         cross-compiling, guess no on all versions of AIX.
13960         Reported by Rainer Tammer.
13961
13962 2010-07-31  Bruno Haible  <bruno@clisp.org>
13963
13964         readlink: Relax test a bit.
13965         * tests/test-readlink.h (test_readlink): Allow different errno value
13966         when readlink is called with a file name that ends in / and refers to
13967         a file.
13968         Suggested by Eric Blake.
13969         Reported by Rainer Tammer.
13970
13971 2010-07-31  Bruno Haible  <bruno@clisp.org>
13972
13973         copysign: Does not require -lm on glibc systems.
13974         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
13975         gl_COMMON_DOUBLE_MATHFUNC.
13976         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
13977
13978 2010-07-31  Bruno Haible  <bruno@clisp.org>
13979
13980         duplocale: Work around AIX 7.1 bug.
13981         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
13982         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
13983         * lib/duplocale.c (rpl_duplocale): Update comment.
13984         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
13985         Reported by Rainer Tammer.
13986
13987 2010-07-30  Bruno Haible  <bruno@clisp.org>
13988
13989         dirfd: Avoid link error on AIX 7.1.
13990         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
13991         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
13992         exist, set REPLACE_DIRFD.
13993         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
13994         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
13995         * doc/posix-functions/dirfd.texi: Update.
13996         Reported by Rainer Tammer.
13997
13998 2010-07-30  Eric Blake  <eblake@redhat.com>
13999
14000         strtod: next round of AIX fixes
14001         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
14002         exponent.
14003         * tests/test-strtod.c (main): Enhance tests.
14004         * doc/posix-functions/strtod.texi (strtod): Document next bug.
14005         Reported by Rainer Tammer.
14006
14007         futimens: fix configure check
14008         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
14009         Reported by Bruno Haible.
14010
14011 2010-07-30  Bruno Haible  <bruno@clisp.org>
14012
14013         getline: Update regarding AIX.
14014         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
14015         Reported by Rainer Tammer.
14016
14017 2010-07-30  Bruno Haible  <bruno@clisp.org>
14018
14019         wcwidth: Drop replacement on AIX 7.
14020         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
14021         AIX 7.
14022         Reported by Rainer Tammer.
14023
14024 2010-07-30  Bruno Haible  <bruno@clisp.org>
14025
14026         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
14027         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
14028         a 'char *'.
14029         Reported by Rainer Tammer.
14030
14031 2010-07-30  Bruno Haible  <bruno@clisp.org>
14032
14033         unlink: Update regarding AIX.
14034         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
14035         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
14036         Reported by Rainer Tammer.
14037
14038 2010-07-30  Bruno Haible  <bruno@clisp.org>
14039
14040         symlink: Update regarding AIX.
14041         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
14042         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
14043         Reported by Rainer Tammer.
14044
14045 2010-07-30  Bruno Haible  <bruno@clisp.org>
14046
14047         strndup: Update regarding AIX.
14048         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
14049         AIX 7.
14050         Reported by Rainer Tammer.
14051
14052 2010-07-30  Bruno Haible  <bruno@clisp.org>
14053
14054         stat: Update regarding AIX.
14055         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
14056         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
14057         Reported by Rainer Tammer.
14058
14059 2010-07-30  Bruno Haible  <bruno@clisp.org>
14060
14061         truncl: Fix autoconf test.
14062         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
14063         whether truncl works.
14064         Reported by Rainer Tammer.
14065
14066 2010-07-30  Bruno Haible  <bruno@clisp.org>
14067
14068         round: Update regarding AIX.
14069         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
14070         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
14071         Reported by Rainer Tammer.
14072
14073 2010-07-30  Bruno Haible  <bruno@clisp.org>
14074
14075         rename: Update regarding AIX.
14076         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
14077         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
14078         Reported by Rainer Tammer.
14079
14080 2010-07-30  Bruno Haible  <bruno@clisp.org>
14081
14082         printf.m4: Update regarding AIX.
14083         * m4/printf.m4: Update comments regarding AIX.
14084         Reported by Rainer Tammer.
14085
14086 2010-07-30  Bruno Haible  <bruno@clisp.org>
14087
14088         iconv: Update regarding AIX.
14089         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
14090         AIX 7.
14091         Reported by Rainer Tammer.
14092
14093 2010-07-30  Bruno Haible  <bruno@clisp.org>
14094
14095         getopt: Update regarding AIX.
14096         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
14097         no on AIX.
14098         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
14099         Reported by Rainer Tammer.
14100
14101 2010-07-30  Bruno Haible  <bruno@clisp.org>
14102
14103         ldexpl; Update regarding AIX.
14104         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
14105         on AIX 7.
14106         Reported by Rainer Tammer.
14107
14108 2010-07-30  Bruno Haible  <bruno@clisp.org>
14109
14110         frexpl: Update regarding AIX.
14111         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
14112         on AIX 7.
14113         Reported by Rainer Tammer.
14114
14115 2010-07-30  Bruno Haible  <bruno@clisp.org>
14116
14117         open, fopen: Update regarding AIX.
14118         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
14119         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
14120         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
14121         * doc/posix-functions/fopen.texi: Likewise.
14122         Reported by Rainer Tammer.
14123
14124 2010-07-30  Bruno Haible  <bruno@clisp.org>
14125
14126         chown: Update doc regarding AIX.
14127         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
14128         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
14129         Reported by Rainer Tammer.
14130
14131 2010-07-30  Eric Blake  <eblake@redhat.com>
14132
14133         strtod: fix bug in replacement function on AIX
14134         * lib/strtod.c (strtod): Special case broken "0x" parse in
14135         underlying strtod.
14136         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
14137         * doc/posix-functions/strtod.texi (strtod): Likewise.
14138         Reported by Rainer Tammer.
14139
14140 2010-07-30  Bruno Haible  <bruno@clisp.org>
14141
14142         mbrlen: Fix cross-compilation guess for AIX.
14143         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
14144         guess. Leftover from 2008-12-22.
14145
14146 2010-07-30  Bruno Haible  <bruno@clisp.org>
14147
14148         mbrtowc: Fix cross-compilation guess for AIX.
14149         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
14150         guess. Leftover from 2008-12-21.
14151
14152 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
14153
14154         init.sh: work around trap limitation of some shells
14155         * tests/init.sh (setup_): Move exit trap outside of shell function.
14156
14157 2010-07-29  Eric Blake  <eblake@redhat.com>
14158
14159         strtod: aid debugging
14160         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
14161         understanding why strtod is rejected.
14162
14163 2010-07-28  Bruno Haible  <bruno@clisp.org>
14164
14165         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
14166         * lib/unistr/u8-chr.c: Include <string.h>.
14167         * tests/unistr/test-u8-chr.c: Likewise.
14168         * tests/unistr/test-u16-chr.c: Likewise.
14169         * tests/unistr/test-u32-chr.c: Likewise.
14170         * tests/unistr/test-u8-strchr.c: Likewise.
14171         * tests/unistr/test-u16-strchr.c: Likewise.
14172         * tests/unistr/test-u32-strchr.c: Likewise.
14173         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
14174         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
14175         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
14176         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
14177
14178 2010-07-28  Bruno Haible  <bruno@clisp.org>
14179
14180         Use spaces for indentation, not tabs.
14181         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
14182
14183 2010-07-27  Bruno Haible  <bruno@clisp.org>
14184
14185         mbspcasecmp: Fix function specification.
14186         * lib/string.in.h (mbspcasecmp): Fix specification comment.
14187         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
14188         Reported by Eric Blake <eblake@redhat.com>.
14189
14190 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
14191
14192         timespec: use cast and not conditional, as truncation isn't possible
14193         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
14194         instead of a conditional.  Comment about the situation in more detail.
14195         This undoes most of the 2009-10-29 patch.
14196
14197 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
14198
14199         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
14200         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
14201         * lib/unistr/u8-strchr.c: Likewise.
14202         * modules/unistr/u8-chr: Depend on memchr.
14203
14204         unistr/u*-strchr: add tests
14205         * modules/unistr/u8-strchr-tests: New file.
14206         * modules/unistr/u16-strchr-tests: New file.
14207         * modules/unistr/u32-strchr-tests: New file.
14208         * tests/unistr/test-strchr.h: New file.
14209         * tests/unistr/test-u8-strchr.c: New file.
14210         * tests/unistr/test-u16-strchr.c: New file.
14211         * tests/unistr/test-u32-strchr.c: New file.
14212
14213         unistr/u*-chr: test multibyte sequences more
14214         * tests/unistr/test-chr.h: Do complete testing of the characters in the
14215         test vector.
14216         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
14217         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
14218         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
14219
14220         unistr/u*-chr: test multibyte sequences
14221         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
14222
14223         unistr/u*-chr: prepare for multibyte tests
14224         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
14225         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
14226         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
14227         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
14228         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
14229         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
14230
14231 2010-07-18  Bruno Haible  <bruno@clisp.org>
14232
14233         unistr/u8-strchr: Optimize non-ASCII argument case.
14234         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
14235         because the first byte often matches anyway.
14236         Reported by Pádraig Brady <P@draigbrady.com>.
14237
14238 2010-07-15  Karl Berry  <karl@gnu.org>
14239
14240         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
14241
14242 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
14243
14244         getcwd: on Solaris, work better if ancestors are inaccessible
14245         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
14246         buffer and size, try again with a large buffer.  This works better
14247         on Solaris, since its getcwd succeeds even if the path to the root
14248         is inaccessible, and this is helpful in common cases such as .zfs
14249         hidden directories.  Problem reported by J Chapman Flack in
14250         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
14251         Use system getcwd if it's declared, not merely if it's partly
14252         working; use the partly-working test only to avoid needless effort
14253         if the system getcwd fails.
14254         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
14255         comment that was already obsolete and is now even more obsolete.
14256         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
14257         now might call strdup.
14258
14259 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
14260
14261         pthread: Add enough so that coreutils/src/sort.c compiles.
14262         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
14263         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
14264         gnulib. Include <sched.h> and <time.h>, as per POSIX.
14265         Include <sys/types.h>, in case it defines pthread_t.
14266         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
14267         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
14268         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
14269         (pthread_rwlockattr_t, pthread_spinlock_t):
14270         New typedefs, if HAVE_PTHREAD_T is not defined.
14271         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
14272         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
14273         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
14274         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
14275         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
14276         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
14277         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
14278         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
14279         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
14280         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
14281         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
14282         New macros.
14283         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
14284         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
14285         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
14286         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
14287         (pthread_spin_unlock): New dummy functions.
14288         (pthread_create): Return EAGAIN; don't set errno.
14289         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
14290         require AC_C_INLINE.
14291         * modules/pthread (Depends-on): Add sched, time.
14292         (pthread.h): Use AM_V_GEN.
14293
14294 2010-07-13  Bruno Haible  <bruno@clisp.org>
14295
14296         striconveh: Don't malloc memory if the result buffer is sufficient.
14297         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
14298         buffer if its size is sufficient.
14299         Reported by Ludovic Courtès <ludo@gnu.org>.
14300
14301 2010-07-13  Bruno Haible  <bruno@clisp.org>
14302
14303         strtod: Add safety check.
14304         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
14305
14306 2010-07-12  Bruno Haible  <bruno@clisp.org>
14307
14308         Unify tests that set gl_cv_func_ldexpl_no_libm.
14309         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
14310         gl_FUNC_LDEXPL.
14311         (gl_FUNC_LDEXPL): Invoke it.
14312         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
14313
14314 2010-07-12  Bruno Haible  <bruno@clisp.org>
14315
14316         Unify tests that set gl_cv_func_ldexp_no_libm.
14317         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
14318         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
14319         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
14320         (configure.ac): Simply invoke gl_FUNC_LDEXP.
14321         * modules/strtod (Files): Add m4/ldexp.m4.
14322
14323 2010-07-12  Bruno Haible  <bruno@clisp.org>
14324
14325         Unify tests that set gl_cv_func_frexpl_no_libm.
14326         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
14327         gl_FUNC_FREXPL_NO_LIBM.
14328         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
14329         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
14330
14331 2010-07-12  Bruno Haible  <bruno@clisp.org>
14332
14333         Unify tests that set gl_cv_func_frexp_no_libm.
14334         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
14335         gl_FUNC_FREXP_NO_LIBM.
14336         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
14337         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
14338
14339 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
14340
14341         memcoll: clarify sizes versus lengths, document better, and tweak perf
14342         * lib/memcoll.c (strcoll_loop, memcoll0):
14343         Improve quality of descriptive comments.  Name variables
14344         consistently as to whether they are lengths (which do not include
14345         terminating null) versus sizes (which do).
14346         * lib/xmemcoll.c (xmemcoll0): Likewise.
14347         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
14348         returned when s1size == 0; this is easier to compile and saves
14349         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
14350
14351 2010-07-12  Bruno Haible  <bruno@clisp.org>
14352
14353         Tests for module '_Exit'.
14354         * modules/_Exit-tests: New file.
14355         * tests/test-_Exit.sh: New file.
14356         * tests/test-_Exit.c: New file.
14357
14358         New module '_Exit'.
14359         * lib/stdlib.in.h (__attribute__): New macro.
14360         (_Exit): New declaration.
14361         * lib/_Exit.c: New file.
14362         * m4/_Exit.m4: New file.
14363         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
14364         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
14365         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
14366         * modules/_Exit: New file.
14367         * tests/test-stdlib-c++.cc (_Exit): Check signature.
14368         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
14369
14370 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
14371
14372         strtod: make it more-accurate typically, and don't require libm
14373         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
14374         Include limits.h.  Don't include string.h.
14375         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
14376         (locale_isspace): New function, so that no casts are needed to
14377         check whether *s is a space.
14378         (ldexp): Provide an unused dummy if not available.
14379         (scale_radix_exp, parse_number, underlying_strtod): New functions.
14380         (strtod): Use them.  This implementation prefers to use the
14381         underlying strtod if available, falling back on our own code
14382         only to fix known bugs.  This is more likely to produce an
14383         accurate result.  Also, it avoids the use of libm functions.
14384         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
14385         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
14386         was absent, but it caused a test failure with coreutils.
14387         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
14388         with libm.
14389         * modules/strtod (Makefile.am, Link): libm is no longer needed.
14390         * modules/strtod-tests (Makefile.am): Likewise.
14391
14392 2010-07-11  Pádraig Brady  <P@draigBrady.com>
14393             Bruno Haible  <bruno@clisp.org>
14394
14395         unistr/u8-strchr: Optimize ASCII argument case.
14396         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
14397
14398 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
14399
14400         (x)memcoll: minor tweaks
14401         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
14402         is after the type that it qualifies.
14403         (memcoll0): Likewise.
14404         * lib/memcoll.h (memcoll0): Likewise.
14405         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
14406         * lib/xmemcoll.h (xmemcoll0): Likewise.
14407         * lib/memcoll.c (memcoll0): Correct the comment.  This function
14408         differs from memcoll in that the NUL byte is part of the argument.
14409         Omit the abort-checks, as performance is a real issue here.  Plus,
14410         the checks were wrong anyway (an off-by-one error).  Omit local
14411         variable 'diff', as it's a bit clearer that way.
14412         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
14413         no longer needed.
14414
14415 2010-07-08  Chen Guo <chenguo4@yahoo.com>
14416
14417         (x)memcoll: speedup when input is known to be NUL delimited
14418         * lib/memcoll.c: Include stdlib.
14419         (memcoll0): New function.
14420         (strcoll_loop): New function, refactored for use in both memcoll
14421         and memcoll0.
14422         * lib/memcoll.h (memcoll0): Add prototype.
14423         * lib/xmemcoll.c (xmemcoll0): New function.
14424         (collate_error): New function, refactored for use in both xmemcoll
14425         and xmemcoll0.
14426         * lib/xmemcoll.h (xmemcoll0): Add prototype.
14427         * m4/memcoll.m4: add inline invocation.
14428
14429 2010-07-06  Pádraig Brady  <P@draigBrady.com>
14430
14431         * build-aux/bootstrap: Remove any local translations
14432         from the translation project synchronization directory,
14433         so that local only translations are not distributed.
14434
14435 2010-07-04  Bruno Haible  <bruno@clisp.org>
14436
14437         fsusage: Clarify which code applies to which platforms.
14438         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
14439         platform.
14440         * lib/fsusage.c (get_fs_usage): Likewise.
14441
14442 2010-07-04  Bruno Haible  <bruno@clisp.org>
14443
14444         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
14445         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
14446         Reported by Martin Lambers <marlam@marlam.de>.
14447
14448 2010-07-04  Jim Meyering  <meyering@redhat.com>
14449
14450         hash: once again explicitly disallow insertion of NULL
14451         * lib/hash.c (hash_insert0): Reinstate just-removed test:
14452         inserting a NULL pointer cannot work with these functions.
14453         Add a comment with details.
14454         This reverts part of the 2010-07-01 commit, 5bef1a35
14455         "hash: extend module to deal with non-pointer keys".
14456
14457 2010-07-01  Bruno Haible  <bruno@clisp.org>
14458
14459         stdbool: Update doc.
14460         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
14461         Info from Christian Weisgerber <naddy@mips.inka.de>.
14462
14463 2010-07-01  Jim Meyering  <meyering@redhat.com>
14464
14465         hash: extend module to deal with non-pointer keys
14466         * lib/hash.c (hash_insert0): New interface, much like hash_insert
14467         but that allows insertion of non-pointer entries.
14468         Do not disallow an ENTRY value of NULL.
14469         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
14470         * lib/hash.h (hash_insert0): Declare.
14471
14472 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
14473
14474         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
14475         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
14476         not present (i.e. with autoconf 2.59 and when using gettextize, not
14477         gnulib), require AC_GNU_SOURCE instead.
14478
14479 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
14480
14481         idpriv-drop: Fix tests.
14482         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
14483         not to the test-idpriv-droptemp program.
14484
14485 2010-06-29  Bruno Haible  <bruno@clisp.org>
14486
14487         string: Fix syntax error with g++ 2.96.
14488         * lib/string.in.h (__pure__): Remove definition.
14489         (_GL_ATTRIBUTE_PURE): New macro.
14490         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
14491         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
14492         Reported by Christian Weisgerber <naddy@mips.inka.de>.
14493
14494 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
14495
14496         unitypes: Fix bug introduced on 2010-05-18.
14497         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
14498
14499 2010-06-22  Eric Blake  <eblake@redhat.com>
14500
14501         memmem: slight optimization
14502         * lib/str-two-way.h (critical_factorization): Update comments.
14503         Reduce work during factorization phase.
14504         Reported by Carlos Bueno <carlos@bueno.org>.
14505
14506 2010-06-21  Bruno Haible  <bruno@clisp.org>
14507
14508         Fix HAVE_CALLOC_POSIX misnomer.
14509         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
14510         !HAVE_CALLOC_POSIX.
14511         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
14512         HAVE_CALLOC_POSIX.
14513         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
14514         instead of HAVE_CALLOC_POSIX.
14515         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
14516         HAVE_CALLOC_POSIX.
14517
14518         Use modern idiom for calloc() replacement.
14519         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
14520         AC_FUNC_CALLOC.
14521         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
14522         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
14523         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
14524         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
14525         (gl_REPLACE_CALLOC): New macro.
14526
14527 2010-06-21  Bruno Haible  <bruno@clisp.org>
14528
14529         Fix HAVE_REALLOC_POSIX misnomer.
14530         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
14531         !HAVE_REALLOC_POSIX.
14532         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
14533         HAVE_REALLOC_POSIX.
14534         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
14535         instead of HAVE_REALLOC_POSIX.
14536         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
14537         HAVE_REALLOC_POSIX.
14538
14539         Use modern idiom for realloc() replacement.
14540         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
14541         AC_FUNC_REALLOC.
14542         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
14543         Autoconf's AC_FUNC_REALLOC.
14544         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
14545         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
14546         (gl_REPLACE_REALLOC): New macro.
14547         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
14548
14549 2010-06-21  Bruno Haible  <bruno@clisp.org>
14550
14551         Fix HAVE_MALLOC_POSIX misnomer.
14552         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
14553         !HAVE_MALLOC_POSIX.
14554         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
14555         HAVE_MALLOC_POSIX.
14556         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
14557         instead of HAVE_MALLOC_POSIX.
14558         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
14559         HAVE_MALLOC_POSIX.
14560
14561         Use modern idiom for malloc() replacement.
14562         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
14563         AC_FUNC_MALLOC.
14564         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
14565         Autoconf's AC_FUNC_MALLOC.
14566         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
14567         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
14568         (gl_REPLACE_MALLOC): New macro.
14569         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
14570
14571 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
14572
14573         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
14574         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
14575         This macro takes 3 arguments, not 4.
14576
14577 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
14578
14579         ipv6: fix detection under mingw
14580         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
14581         in6_addr.
14582
14583 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
14584
14585         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
14586         that strtod() works when cross-compiling to a glibc version known
14587         to work.
14588
14589 2010-06-15  Bruno Haible  <bruno@clisp.org>
14590
14591         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
14592
14593 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
14594
14595         select: Correct timeout.
14596         * lib/select.c (rpl_select): Compute wait_timeout correctly.
14597
14598 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
14599
14600         git-version-gen: init shell var to avoid env var influence
14601         * build-aux/git-version-gen (v): Init shell var to empty.
14602
14603 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
14604
14605         priv-set: Don't assume that priv.h exists merely because getppriv does.
14606         See Jan Andersen's bug report about AIX 5L in
14607         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
14608         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
14609         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
14610         * lib/priv-set.h: Likewise.
14611         * tests/test-priv-set.c: Likewise.
14612
14613 2010-06-13  Bruno Haible  <bruno@clisp.org>
14614
14615         relocatable: Make it easier to test whether to install wrappers.
14616         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
14617         RELOCATABLE_VIA_WRAPPER.
14618
14619 2010-06-13  Bruno Haible  <bruno@clisp.org>
14620
14621         gnulib-tool: Display specified modules and dependencies differently.
14622         * gnulib-tool (func_show_module_list): New function.
14623         (func_import, func_create_testdir): Invoke it.
14624         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
14625
14626 2010-06-13  Bruno Haible  <bruno@clisp.org>
14627
14628         gnulib-tool: Align code of func_import and func_create_testdir.
14629         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
14630         specified_modules.
14631
14632 2010-06-12  Jim Meyering  <meyering@redhat.com>
14633
14634         test-inttostr: avoid spurious failure on Solaris 9
14635         * tests/test-inttostr.c (main): Skip the test when snprintf fails
14636         to accept "%ju".  Reported by Bruno Haible.
14637
14638 2010-06-11  Jim Meyering  <meyering@redhat.com>
14639
14640         test-sys_socket: mark variables as used more readably
14641         * tests/test-sys_socket.c (main): Mark otherwise unused variables
14642         as "used" explicitly via (void) statement casts.  This is more
14643         readable than using them in an artificial return expression.
14644         Suggestion from Bruno Haible.
14645
14646 2010-06-11  Bruno Haible  <bruno@clisp.org>
14647
14648         Avoid some more warnings from "gcc -Wwrite-strings".
14649         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
14650         to 'const char *'.
14651         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
14652         * tests/test-c-strcasestr.c (main): Likewise.
14653         * tests/test-mbscasestr1.c (main): Likewise.
14654         * tests/test-mbscasestr2.c (main): Likewise.
14655         * tests/test-memmem.c (main): Likewise.
14656         * tests/test-strstr.c (main): Likewise.
14657         * tests/test-strcasestr.c (main): Likewise.
14658
14659 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14660
14661         init.sh: change framework_failure_ to fail with status 99, not 1
14662         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
14663         automake's parallel-tests rule that this is an unexpected failure,
14664         even if the test is listed in XFAIL_TESTS.
14665
14666 2010-06-11  Jim Meyering  <meyering@redhat.com>
14667
14668         test-inttostr: avoid warnings about 4-6KB literal strings
14669         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
14670         Include "macros.h", for its definition of ASSERT.
14671         (CK): s/assert/ASSERT/
14672         * modules/inttostr-tests (Files): Add macros.h.
14673
14674         init.sh: don't use $ME_ or skip_ before they are defined
14675         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
14676         their first uses.  Also hoist their companions: warn_, fail_,
14677         framework_failure_, $stderr_fileno.  Prompted by a patch from
14678         Stefano Lattarini.
14679
14680         test-sys_socket: avoid set-but-not-used warnings from gcc
14681         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
14682         avoid warning about set-but-not-used variables.
14683
14684         test-xvasprintf: avoid 'const' discard warnings
14685         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
14686         "const" when assigning from literal strings.
14687         (test_xasprintf): Add "void" in function argument list to placate
14688         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
14689
14690         tests: avoid compilation warnings in argmatch and exclude tests...
14691         in packages that define ARGMATCH_DIE_DECL, like coreutils.
14692         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
14693         Since it always exits, declare with the "noreturn" attribute.
14694         * tests/test-argmatch.c: Likewise.
14695
14696         tests: avoid 'const' discard warnings in mbsstr tests
14697         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
14698         * tests/test-mbsstr2.c (main): Likewise.
14699
14700         test-verify: avoid warning from gcc's -Wmissing-declarations
14701         * tests/test-verify.c (function): Declare to be static.
14702
14703         test-inttostr.c: include <string.h> for use of strcmp
14704         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
14705
14706         test-linkat: avoid failed assertion on "other" architectures
14707         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
14708         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
14709         sparc: https://bugs.launchpad.net/bugs/591968
14710
14711 2010-06-11  Jim Meyering  <meyering@redhat.com>
14712
14713         printf.m4: avoid autoconf's "Expanded Before Required" warning
14714         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
14715         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
14716         autoconf warning.
14717
14718 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
14719
14720         Replacement header templates are now named with ".in", not "_".
14721         * doc/gnulib-intro.texi: Correct.
14722
14723 2010-06-10  Jim Meyering  <meyering@redhat.com>
14724
14725         inttostr-tests: depend on snprintf, not snprintf-posix
14726         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
14727         snprintf-posix, to avoid this aclocal failure:
14728           missing file gnulib-tests/vasnprintf.c
14729           configure.ac:45: error: expected source file, required through \
14730           AC_LIBSOURCES, not found
14731
14732 2010-06-10  Jim Meyering  <meyering@redhat.com>
14733
14734         inttostr: add a new function, inttostr, and tests
14735         The namesake function was not available.  The existence of the
14736         template file, inttostr.c makes its addition nontrivial.
14737         * lib/anytostr.c: Rename from inttostr.c.
14738         (anytostr): Rename from inttostr.
14739         * lib/inttostr.c: New file.
14740         * modules/inttostr (Files): Add anytostr.c.
14741         (Makefile.am): Set lib_SOURCES instead of ...
14742         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
14743         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
14744         * lib/offtostr.c: Likewise.
14745         * lib/uinttostr.c: Likewise.
14746         * lib/umaxtostr.c: Likewise.
14747         * modules/inttostr-tests: New file.
14748         * tests/test-inttostr.c: New file.  Test these functions.
14749
14750 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
14751             Bruno Haible  <bruno@clisp.org>
14752
14753         Add "Extending Gnulib" chapter to manual.
14754         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
14755         chapter.
14756         (Extending Gnulib): New chapter.
14757         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
14758         chapter.
14759
14760 2010-06-09  Bruno Haible  <bruno@clisp.org>
14761
14762         Avoid relocwrapper link errors due to gnulib replacement functions.
14763         * lib/areadlink.c: Use the system's malloc, realloc functions.
14764         (areadlink): Set errno to ENOMEM explicitly.
14765         * modules/areadlink (Depends-on): Remove malloc-posix.
14766         Reported by Ben Pfaff <blp@cs.stanford.edu>.
14767
14768 2010-06-09  Bruno Haible  <bruno@clisp.org>
14769
14770         Avoid relocwrapper link errors due to gnulib replacement functions.
14771         * lib/canonicalize-lgpl.c: Use the system's malloc function.
14772         * lib/malloca.c: Likewise.
14773         * lib/relocatable.c: Likewise.
14774         * lib/progreloc.c: Use the system's malloc, sprintf functions.
14775         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
14776         * lib/setenv.c: Use the system's malloc, realloc functions.
14777         * lib/strerror.c: Use the system's sprintf function.
14778         Reported by Ben Pfaff <blp@cs.stanford.edu>.
14779
14780 2010-06-04  Bruno Haible  <bruno@clisp.org>
14781
14782         Prefer documented low-level autoconf macro names.
14783         * m4/lib-link.m4: Use m4_translit instead of translit.
14784         * m4/environ.m4: Likewise.
14785         * m4/mathfunc.m4: Likewise.
14786         * m4/onceonly.m4: Likewise.
14787         * m4/stdint.m4: Likewise.
14788         Suggested by Eric Blake.
14789
14790 2010-06-04  Martin Lambers  <marlam@marlam.de>
14791             Bruno Haible  <bruno@clisp.org>
14792
14793         havelib: Allow library names with '+' characters.
14794         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
14795         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
14796
14797 2010-06-09  Bruno Haible  <bruno@clisp.org>
14798
14799         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
14800         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
14801         realloc failed.
14802
14803 2010-06-08  Peter Simons  <simons@cryp.to>
14804
14805         maint.mk: make the news-check rule more configurable
14806         * top/maint.mk (news-check-lines-spec): New variable.
14807         (news-check): Use "sed -n 1,10p" in place of "head".
14808
14809 2010-06-07  Jim Meyering  <meyering@redhat.com>
14810
14811         do-release-commit-and-tag: fix typo in --help
14812         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
14813
14814         regex: avoid new dead-code warning with gcc-4.6.0
14815         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
14816         if-block containing a while-loop.  It's been unused for at least
14817         5 years.
14818
14819 2010-06-05  Bruno Haible  <bruno@clisp.org>
14820
14821         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
14822         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
14823
14824 2010-06-04  Bruno Haible  <bruno@clisp.org>
14825
14826         Update to GNU gettext 0.18.1.
14827         * modules/gettext (configure.ac): Require gettext infrastructure from
14828         version 0.18.1.
14829
14830 2010-06-03  Bruno Haible  <bruno@clisp.org>
14831
14832         Don't use AC_LIBOBJ with file names in subdirectories.
14833         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
14834         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
14835         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
14836         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
14837         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
14838         gl_LIBUNISTRING_LIBSOURCE.
14839         (Makefile.am): Augment lib_SOURCES here, conditionally.
14840         * NEWS: Drop requirement for Automake option 'subdir-objects'.
14841
14842 2010-06-03  Bruno Haible  <bruno@clisp.org>
14843
14844         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
14845         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
14846         expansion does not end with a newline.
14847         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
14848         unnecessary newline.
14849
14850 2010-06-03  Bruno Haible  <bruno@clisp.org>
14851
14852         Reduce dependencies.
14853         * tests/test-quotearg.h: New file, extracted from
14854         tests/test-quotearg.c.
14855         * tests/test-quotearg-simple.c: New file, extracted from
14856         tests/test-quotearg.c.
14857         * tests/test-quotearg.c: Don't include <ctype.h>.
14858         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
14859         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
14860         use_quote_double_quotes, use_quotearg_colon): Moved to
14861         tests/test-quotearg.h.
14862         (results_g, flag_results, custom_quotes, custom_results): Moved
14863         to tests/test-quotearg-simple.c.
14864         (main): Moved the part that does not depend on gettext to
14865         tests/test-quotearg-simple.c. Return 77 if the test cannot be
14866         performed.
14867         * modules/quotearg-simple: New file.
14868         * modules/quotearg-simple-tests: New file.
14869         * modules/quotearg (Depends-on): Add quotearg-simple.
14870         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
14871         (Files): Add tests/test-quotearg.h.
14872         Reported by Paolo Bonzini.
14873
14874 2010-06-03  Bruno Haible  <bruno@clisp.org>
14875
14876         Reduce dependencies.
14877         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
14878
14879 2010-06-03  Bruno Haible  <bruno@clisp.org>
14880
14881         time: Undefine more broken macros.
14882         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
14883         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
14884         Reported by Eric Blake.
14885
14886 2010-06-03  Bruno Haible  <bruno@clisp.org>
14887
14888         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
14889         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
14890         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
14891         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
14892         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
14893         Reported by Ludovic Courtès <ludo@gnu.org>.
14894
14895 2010-06-02  Eric Blake  <eblake@redhat.com>
14896
14897         time: work with mingw + pthreads-win32 library
14898         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
14899         if timespec is defined only in pthread.h.
14900         * modules/time (Makefile.am): Substitute it.
14901         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
14902         <pthread.h>, when needed.
14903         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
14904         from the library.
14905
14906 2010-05-31  Bruno Haible  <bruno@clisp.org>
14907
14908         Avoid expanding two macros in the wrong order.
14909         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
14910         gl_LIBUNISTRING if it is defined.
14911         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
14912         autoconf >= 2.64.
14913         Reported by Ludovic Courtès <ludo@gnu.org>.
14914
14915 2010-05-27  Jim Meyering  <meyering@redhat.com>
14916
14917         maint.mk: also prohibit "#undef" of always-defined symbols
14918         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
14919         Allow more than one space before the symbol name.
14920         (sc_prohibit_always-defined_macros): Use grep's -E, now that
14921         the regexp uses alternation.
14922
14923 2010-05-26  Eric Blake  <eblake@redhat.com>
14924
14925         maint.mk: avoid echo -e
14926         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
14927         Convert all uses of echo -* to printf.
14928         Reported by Matthias Bolte.
14929
14930 2010-05-25  Bruno Haible  <bruno@clisp.org>
14931
14932         Update to GNU gettext 0.18, part 2.
14933         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
14934         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
14935
14936 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14937
14938         Add missing include in test-pwrite.c.
14939         * tests/test-pwrite.c: Include string.h, for strcmp.
14940
14941 2010-05-24  Bruno Haible  <bruno@clisp.org>
14942
14943         * NEWS: Mention requirement for Automake option 'subdir-objects'.
14944
14945 2010-05-24  Bruno Haible  <bruno@clisp.org>
14946
14947         Don't use conversion with transliteration in u{8,16,32}_strcoll.
14948         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
14949         iconveh_error argument.
14950         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
14951         U_STRCONV_TO_LOCALE.
14952         * lib/unistr/u16-strcoll.c: Likewise.
14953         * lib/unistr/u32-strcoll.c: Likewise.
14954         * modules/unistr/u8-strcoll (Depends-on): Add
14955         uniconv/u8-strconv-to-enc, localcharset. Remove
14956         uniconv/u8-strconv-to-locale.
14957         (configure.ac): Bump version number.
14958         * modules/unistr/u16-strcoll (Depends-on): Add
14959         uniconv/u16-strconv-to-enc, localcharset. Remove
14960         uniconv/u16-strconv-to-locale.
14961         (configure.ac): Bump version number.
14962         * modules/unistr/u32-strcoll (Depends-on): Add
14963         uniconv/u32-strconv-to-enc, localcharset. Remove
14964         uniconv/u32-strconv-to-locale.
14965         (configure.ac): Bump version number.
14966
14967 2010-05-24  Bruno Haible  <bruno@clisp.org>
14968
14969         Avoid a test failure on NetBSD 5.0.
14970         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
14971         an iconv() bug.
14972
14973 2010-05-24  Bruno Haible  <bruno@clisp.org>
14974
14975         Adjust #include directive style.
14976         * modules/regex (Includes): Recommend to write <regex.h>.
14977
14978 2010-05-24  Bruno Haible  <bruno@clisp.org>
14979
14980         regex: Don't require alloca.
14981         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
14982         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
14983         only inside if (0).
14984
14985 2010-05-23  Jim Meyering  <meyering@redhat.com>
14986
14987         test-renameat.c: include <sys/stat.h>
14988         * tests/test-renameat.c: Include <sys/stat.h>; required for
14989         definition of S_IS* macros.
14990
14991 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
14992
14993         Update maintainer documentation for 'relocatable-prog' module.
14994         * doc/relocatable-maint.texi: Update.
14995         Comments by Bruno Haible.
14996
14997 2010-05-23  Bruno Haible  <bruno@clisp.org>
14998
14999         git-merge-changelog: Enable --split-merged-entry by default.
15000         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
15001         (usage): Don't mention this option any more.
15002         Reported by Ralf Wildenhues.
15003
15004 2010-05-23  Jim Meyering  <meyering@redhat.com>
15005
15006         test-pwrite: do not leave behind a test file named "out"
15007         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
15008         The trivial-looking use of init.sh is really necessary.
15009         It ensures that the temporary file, "out", is created in
15010         a temporary directory, and removed upon termination.
15011         * tests/test-pwrite.sh: Re-add file.
15012         * modules/pwrite-tests: Reference it.
15013
15014 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15015
15016         Fix output redirection buglet in init.sh.
15017         * tests/init.sh: Fix redirection of stderr.
15018
15019 2010-05-20  Simon Josefsson  <simon@josefsson.org>
15020
15021         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
15022
15023 2010-05-17  Simon Josefsson  <simon@josefsson.org>
15024
15025         * modules/valgrind-tests: New file.
15026         * m4/valgrind-tests.m4: New file.
15027         * doc/valgrind-tests.texi: New file.
15028         * doc/gnulib.texi (Running self-tests under valgrind): New
15029         section.
15030
15031 2010-05-19  Bruno Haible  <bruno@clisp.org>
15032
15033         Clean up dead code in recent commit.
15034         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
15035         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
15036         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
15037         Suggested by Paolo Bonzini.
15038
15039 2010-05-19  Bruno Haible  <bruno@clisp.org>
15040
15041         Avoid valgrind error reports from libunistring.
15042         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
15043         * modules/libunistring (Files): Add it.
15044         * modules/libunistring-optional (Files): Likewise.
15045
15046 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
15047             Bruno Haible  <bruno@clisp.org>
15048
15049         New module 'libunistring-optional'.
15050         * modules/libunistring-optional: New file.
15051         * m4/libunistring-base.m4: New file.
15052         * m4/libunistring-optional.m4: New file.
15053         * lib/unicase.in.h: Renamed from lib/unicase.h.
15054         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
15055         * lib/unictype.in.h: Renamed from lib/unictype.h.
15056         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
15057         * lib/uniname.in.h: Renamed from lib/uniname.h.
15058         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
15059         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
15060         * lib/unistr.in.h: Renamed from lib/unistr.h.
15061         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
15062         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
15063         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
15064         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
15065         gl_LIBUNISTRING. If the library was found, determine the installed
15066         version and set LIBUNISTRING_VERSION.
15067         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
15068         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
15069         handle a configuration option --with-included-libunistring.
15070         * modules/libunistring (Files): Add m4/absolute-header.m4.
15071         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
15072         Add m4/libunistring-base.m4.
15073         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
15074         (Makefile.am): Build unicase.h from unicase.in.h.
15075         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
15076         Add m4/libunistring-base.m4.
15077         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
15078         (Makefile.am): Build uniconv.h from uniconv.in.h.
15079         * modules/unictype/base (Files): Use unictype.in.h instead of
15080         unictype.h. Add m4/libunistring-base.m4.
15081         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
15082         (Makefile.am): Build unictype.h from unictype.in.h.
15083         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
15084         Add m4/libunistring-base.m4.
15085         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
15086         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
15087         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
15088         Add m4/libunistring-base.m4.
15089         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
15090         (Makefile.am): Build uniname.h from uniname.in.h.
15091         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
15092         Add m4/libunistring-base.m4.
15093         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
15094         (Makefile.am): Build uninorm.h from uninorm.in.h.
15095         * modules/unistdio/base (Files): Use unistdio.in.h instead of
15096         unistdio.h. Add m4/libunistring-base.m4.
15097         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
15098         (Makefile.am): Build unistdio.h from unistdio.in.h.
15099         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
15100         Add m4/libunistring-base.m4.
15101         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
15102         (Makefile.am): Build unistr.h from unistr.in.h.
15103         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
15104         Add m4/libunistring-base.m4.
15105         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
15106         (Makefile.am): Build unitypes.h from unitypes.in.h.
15107         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
15108         Add m4/libunistring-base.m4.
15109         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
15110         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
15111         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
15112         uniwidth.h. Add m4/libunistring-base.m4.
15113         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
15114         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
15115         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
15116         instead of augmenting lib_SOURCES.
15117         * modules/unicase/empty-suffix-context: Likewise.
15118         * modules/unicase/locale-language: Likewise.
15119         * modules/unicase/tolower: Likewise.
15120         * modules/unicase/totitle: Likewise.
15121         * modules/unicase/toupper: Likewise.
15122         * modules/unicase/u8-casecmp: Likewise.
15123         * modules/unicase/u8-casecoll: Likewise.
15124         * modules/unicase/u8-casefold: Likewise.
15125         * modules/unicase/u8-casexfrm: Likewise.
15126         * modules/unicase/u8-ct-casefold: Likewise.
15127         * modules/unicase/u8-ct-tolower: Likewise.
15128         * modules/unicase/u8-ct-totitle: Likewise.
15129         * modules/unicase/u8-ct-toupper: Likewise.
15130         * modules/unicase/u8-is-cased: Likewise.
15131         * modules/unicase/u8-is-casefolded: Likewise.
15132         * modules/unicase/u8-is-lowercase: Likewise.
15133         * modules/unicase/u8-is-titlecase: Likewise.
15134         * modules/unicase/u8-is-uppercase: Likewise.
15135         * modules/unicase/u8-prefix-context: Likewise.
15136         * modules/unicase/u8-suffix-context: Likewise.
15137         * modules/unicase/u8-tolower: Likewise.
15138         * modules/unicase/u8-totitle: Likewise.
15139         * modules/unicase/u8-toupper: Likewise.
15140         * modules/unicase/u16-casecmp: Likewise.
15141         * modules/unicase/u16-casecoll: Likewise.
15142         * modules/unicase/u16-casefold: Likewise.
15143         * modules/unicase/u16-casexfrm: Likewise.
15144         * modules/unicase/u16-ct-casefold: Likewise.
15145         * modules/unicase/u16-ct-tolower: Likewise.
15146         * modules/unicase/u16-ct-totitle: Likewise.
15147         * modules/unicase/u16-ct-toupper: Likewise.
15148         * modules/unicase/u16-is-cased: Likewise.
15149         * modules/unicase/u16-is-casefolded: Likewise.
15150         * modules/unicase/u16-is-lowercase: Likewise.
15151         * modules/unicase/u16-is-titlecase: Likewise.
15152         * modules/unicase/u16-is-uppercase: Likewise.
15153         * modules/unicase/u16-prefix-context: Likewise.
15154         * modules/unicase/u16-suffix-context: Likewise.
15155         * modules/unicase/u16-tolower: Likewise.
15156         * modules/unicase/u16-totitle: Likewise.
15157         * modules/unicase/u16-toupper: Likewise.
15158         * modules/unicase/u32-casecmp: Likewise.
15159         * modules/unicase/u32-casecoll: Likewise.
15160         * modules/unicase/u32-casefold: Likewise.
15161         * modules/unicase/u32-casexfrm: Likewise.
15162         * modules/unicase/u32-ct-casefold: Likewise.
15163         * modules/unicase/u32-ct-tolower: Likewise.
15164         * modules/unicase/u32-ct-totitle: Likewise.
15165         * modules/unicase/u32-ct-toupper: Likewise.
15166         * modules/unicase/u32-is-cased: Likewise.
15167         * modules/unicase/u32-is-casefolded: Likewise.
15168         * modules/unicase/u32-is-lowercase: Likewise.
15169         * modules/unicase/u32-is-titlecase: Likewise.
15170         * modules/unicase/u32-is-uppercase: Likewise.
15171         * modules/unicase/u32-prefix-context: Likewise.
15172         * modules/unicase/u32-suffix-context: Likewise.
15173         * modules/unicase/u32-tolower: Likewise.
15174         * modules/unicase/u32-totitle: Likewise.
15175         * modules/unicase/u32-toupper: Likewise.
15176         * modules/unicase/ulc-casecmp: Likewise.
15177         * modules/unicase/ulc-casecoll: Likewise.
15178         * modules/unicase/ulc-casexfrm: Likewise.
15179         * modules/uniconv/u8-conv-from-enc: Likewise.
15180         * modules/uniconv/u8-conv-to-enc: Likewise.
15181         * modules/uniconv/u8-strconv-from-enc: Likewise.
15182         * modules/uniconv/u8-strconv-from-locale: Likewise.
15183         * modules/uniconv/u8-strconv-to-enc: Likewise.
15184         * modules/uniconv/u8-strconv-to-locale: Likewise.
15185         * modules/uniconv/u16-conv-from-enc: Likewise.
15186         * modules/uniconv/u16-conv-to-enc: Likewise.
15187         * modules/uniconv/u16-strconv-from-enc: Likewise.
15188         * modules/uniconv/u16-strconv-from-locale: Likewise.
15189         * modules/uniconv/u16-strconv-to-enc: Likewise.
15190         * modules/uniconv/u16-strconv-to-locale: Likewise.
15191         * modules/uniconv/u32-conv-from-enc: Likewise.
15192         * modules/uniconv/u32-conv-to-enc: Likewise.
15193         * modules/uniconv/u32-strconv-from-enc: Likewise.
15194         * modules/uniconv/u32-strconv-from-locale: Likewise.
15195         * modules/uniconv/u32-strconv-to-enc: Likewise.
15196         * modules/uniconv/u32-strconv-to-locale: Likewise.
15197         * modules/unictype/bidicategory-byname: Likewise.
15198         * modules/unictype/bidicategory-name: Likewise.
15199         * modules/unictype/bidicategory-of: Likewise.
15200         * modules/unictype/bidicategory-test: Likewise.
15201         * modules/unictype/block-list: Likewise.
15202         * modules/unictype/block-test: Likewise.
15203         * modules/unictype/category-C: Likewise.
15204         * modules/unictype/category-Cc: Likewise.
15205         * modules/unictype/category-Cf: Likewise.
15206         * modules/unictype/category-Cn: Likewise.
15207         * modules/unictype/category-Co: Likewise.
15208         * modules/unictype/category-Cs: Likewise.
15209         * modules/unictype/category-L: Likewise.
15210         * modules/unictype/category-Ll: Likewise.
15211         * modules/unictype/category-Lm: Likewise.
15212         * modules/unictype/category-Lo: Likewise.
15213         * modules/unictype/category-Lt: Likewise.
15214         * modules/unictype/category-Lu: Likewise.
15215         * modules/unictype/category-M: Likewise.
15216         * modules/unictype/category-Mc: Likewise.
15217         * modules/unictype/category-Me: Likewise.
15218         * modules/unictype/category-Mn: Likewise.
15219         * modules/unictype/category-N: Likewise.
15220         * modules/unictype/category-Nd: Likewise.
15221         * modules/unictype/category-Nl: Likewise.
15222         * modules/unictype/category-No: Likewise.
15223         * modules/unictype/category-P: Likewise.
15224         * modules/unictype/category-Pc: Likewise.
15225         * modules/unictype/category-Pd: Likewise.
15226         * modules/unictype/category-Pe: Likewise.
15227         * modules/unictype/category-Pf: Likewise.
15228         * modules/unictype/category-Pi: Likewise.
15229         * modules/unictype/category-Po: Likewise.
15230         * modules/unictype/category-Ps: Likewise.
15231         * modules/unictype/category-S: Likewise.
15232         * modules/unictype/category-Sc: Likewise.
15233         * modules/unictype/category-Sk: Likewise.
15234         * modules/unictype/category-Sm: Likewise.
15235         * modules/unictype/category-So: Likewise.
15236         * modules/unictype/category-Z: Likewise.
15237         * modules/unictype/category-Zl: Likewise.
15238         * modules/unictype/category-Zp: Likewise.
15239         * modules/unictype/category-Zs: Likewise.
15240         * modules/unictype/category-and: Likewise.
15241         * modules/unictype/category-and-not: Likewise.
15242         * modules/unictype/category-byname: Likewise.
15243         * modules/unictype/category-name: Likewise.
15244         * modules/unictype/category-none: Likewise.
15245         * modules/unictype/category-of: Likewise.
15246         * modules/unictype/category-or: Likewise.
15247         * modules/unictype/category-test: Likewise.
15248         * modules/unictype/combining-class: Likewise.
15249         * modules/unictype/ctype-alnum: Likewise.
15250         * modules/unictype/ctype-alpha: Likewise.
15251         * modules/unictype/ctype-blank: Likewise.
15252         * modules/unictype/ctype-cntrl: Likewise.
15253         * modules/unictype/ctype-digit: Likewise.
15254         * modules/unictype/ctype-graph: Likewise.
15255         * modules/unictype/ctype-lower: Likewise.
15256         * modules/unictype/ctype-print: Likewise.
15257         * modules/unictype/ctype-punct: Likewise.
15258         * modules/unictype/ctype-space: Likewise.
15259         * modules/unictype/ctype-upper: Likewise.
15260         * modules/unictype/ctype-xdigit: Likewise.
15261         * modules/unictype/decimal-digit: Likewise.
15262         * modules/unictype/digit: Likewise.
15263         * modules/unictype/mirror: Likewise.
15264         * modules/unictype/numeric: Likewise.
15265         * modules/unictype/property-alphabetic: Likewise.
15266         * modules/unictype/property-ascii-hex-digit: Likewise.
15267         * modules/unictype/property-bidi-arabic-digit: Likewise.
15268         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
15269         * modules/unictype/property-bidi-block-separator: Likewise.
15270         * modules/unictype/property-bidi-boundary-neutral: Likewise.
15271         * modules/unictype/property-bidi-common-separator: Likewise.
15272         * modules/unictype/property-bidi-control: Likewise.
15273         * modules/unictype/property-bidi-embedding-or-override: Likewise.
15274         * modules/unictype/property-bidi-eur-num-separator: Likewise.
15275         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
15276         * modules/unictype/property-bidi-european-digit: Likewise.
15277         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
15278         * modules/unictype/property-bidi-left-to-right: Likewise.
15279         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
15280         * modules/unictype/property-bidi-other-neutral: Likewise.
15281         * modules/unictype/property-bidi-pdf: Likewise.
15282         * modules/unictype/property-bidi-segment-separator: Likewise.
15283         * modules/unictype/property-bidi-whitespace: Likewise.
15284         * modules/unictype/property-byname: Likewise.
15285         * modules/unictype/property-combining: Likewise.
15286         * modules/unictype/property-composite: Likewise.
15287         * modules/unictype/property-currency-symbol: Likewise.
15288         * modules/unictype/property-dash: Likewise.
15289         * modules/unictype/property-decimal-digit: Likewise.
15290         * modules/unictype/property-default-ignorable-code-point: Likewise.
15291         * modules/unictype/property-deprecated: Likewise.
15292         * modules/unictype/property-diacritic: Likewise.
15293         * modules/unictype/property-extender: Likewise.
15294         * modules/unictype/property-format-control: Likewise.
15295         * modules/unictype/property-grapheme-base: Likewise.
15296         * modules/unictype/property-grapheme-extend: Likewise.
15297         * modules/unictype/property-grapheme-link: Likewise.
15298         * modules/unictype/property-hex-digit: Likewise.
15299         * modules/unictype/property-hyphen: Likewise.
15300         * modules/unictype/property-id-continue: Likewise.
15301         * modules/unictype/property-id-start: Likewise.
15302         * modules/unictype/property-ideographic: Likewise.
15303         * modules/unictype/property-ids-binary-operator: Likewise.
15304         * modules/unictype/property-ids-trinary-operator: Likewise.
15305         * modules/unictype/property-ignorable-control: Likewise.
15306         * modules/unictype/property-iso-control: Likewise.
15307         * modules/unictype/property-join-control: Likewise.
15308         * modules/unictype/property-left-of-pair: Likewise.
15309         * modules/unictype/property-line-separator: Likewise.
15310         * modules/unictype/property-logical-order-exception: Likewise.
15311         * modules/unictype/property-lowercase: Likewise.
15312         * modules/unictype/property-math: Likewise.
15313         * modules/unictype/property-non-break: Likewise.
15314         * modules/unictype/property-not-a-character: Likewise.
15315         * modules/unictype/property-numeric: Likewise.
15316         * modules/unictype/property-other-alphabetic: Likewise.
15317         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
15318         * modules/unictype/property-other-grapheme-extend: Likewise.
15319         * modules/unictype/property-other-id-continue: Likewise.
15320         * modules/unictype/property-other-id-start: Likewise.
15321         * modules/unictype/property-other-lowercase: Likewise.
15322         * modules/unictype/property-other-math: Likewise.
15323         * modules/unictype/property-other-uppercase: Likewise.
15324         * modules/unictype/property-paired-punctuation: Likewise.
15325         * modules/unictype/property-paragraph-separator: Likewise.
15326         * modules/unictype/property-pattern-syntax: Likewise.
15327         * modules/unictype/property-pattern-white-space: Likewise.
15328         * modules/unictype/property-private-use: Likewise.
15329         * modules/unictype/property-punctuation: Likewise.
15330         * modules/unictype/property-quotation-mark: Likewise.
15331         * modules/unictype/property-radical: Likewise.
15332         * modules/unictype/property-sentence-terminal: Likewise.
15333         * modules/unictype/property-soft-dotted: Likewise.
15334         * modules/unictype/property-space: Likewise.
15335         * modules/unictype/property-terminal-punctuation: Likewise.
15336         * modules/unictype/property-test: Likewise.
15337         * modules/unictype/property-titlecase: Likewise.
15338         * modules/unictype/property-unassigned-code-value: Likewise.
15339         * modules/unictype/property-unified-ideograph: Likewise.
15340         * modules/unictype/property-uppercase: Likewise.
15341         * modules/unictype/property-variation-selector: Likewise.
15342         * modules/unictype/property-white-space: Likewise.
15343         * modules/unictype/property-xid-continue: Likewise.
15344         * modules/unictype/property-xid-start: Likewise.
15345         * modules/unictype/property-zero-width: Likewise.
15346         * modules/unictype/scripts: Likewise.
15347         * modules/unictype/syntax-c-ident: Likewise.
15348         * modules/unictype/syntax-c-whitespace: Likewise.
15349         * modules/unictype/syntax-java-ident: Likewise.
15350         * modules/unictype/syntax-java-whitespace: Likewise.
15351         * modules/unilbrk/u8-possible-linebreaks: Likewise.
15352         * modules/unilbrk/u8-width-linebreaks: Likewise.
15353         * modules/unilbrk/u16-possible-linebreaks: Likewise.
15354         * modules/unilbrk/u16-width-linebreaks: Likewise.
15355         * modules/unilbrk/u32-possible-linebreaks: Likewise.
15356         * modules/unilbrk/u32-width-linebreaks: Likewise.
15357         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
15358         * modules/unilbrk/ulc-width-linebreaks: Likewise.
15359         * modules/uniname/uniname: Likewise.
15360         * modules/uninorm/canonical-decomposition: Likewise.
15361         * modules/uninorm/composition: Likewise.
15362         * modules/uninorm/decomposing-form: Likewise.
15363         * modules/uninorm/decomposition: Likewise.
15364         * modules/uninorm/filter: Likewise.
15365         * modules/uninorm/nfc: Likewise.
15366         * modules/uninorm/nfd: Likewise.
15367         * modules/uninorm/nfkc: Likewise.
15368         * modules/uninorm/nfkd: Likewise.
15369         * modules/uninorm/u8-normalize: Likewise.
15370         * modules/uninorm/u8-normcmp: Likewise.
15371         * modules/uninorm/u8-normcoll: Likewise.
15372         * modules/uninorm/u8-normxfrm: Likewise.
15373         * modules/uninorm/u16-normalize: Likewise.
15374         * modules/uninorm/u16-normcmp: Likewise.
15375         * modules/uninorm/u16-normcoll: Likewise.
15376         * modules/uninorm/u16-normxfrm: Likewise.
15377         * modules/uninorm/u32-normalize: Likewise.
15378         * modules/uninorm/u32-normcmp: Likewise.
15379         * modules/uninorm/u32-normcoll: Likewise.
15380         * modules/uninorm/u32-normxfrm: Likewise.
15381         * modules/unistdio/u8-asnprintf: Likewise.
15382         * modules/unistdio/u8-asprintf: Likewise.
15383         * modules/unistdio/u8-snprintf: Likewise.
15384         * modules/unistdio/u8-sprintf: Likewise.
15385         * modules/unistdio/u8-u8-asnprintf: Likewise.
15386         * modules/unistdio/u8-u8-asprintf: Likewise.
15387         * modules/unistdio/u8-u8-snprintf: Likewise.
15388         * modules/unistdio/u8-u8-sprintf: Likewise.
15389         * modules/unistdio/u8-u8-vasnprintf: Likewise.
15390         * modules/unistdio/u8-u8-vasprintf: Likewise.
15391         * modules/unistdio/u8-u8-vsnprintf: Likewise.
15392         * modules/unistdio/u8-u8-vsprintf: Likewise.
15393         * modules/unistdio/u8-vasnprintf: Likewise.
15394         * modules/unistdio/u8-vasprintf: Likewise.
15395         * modules/unistdio/u8-vsnprintf: Likewise.
15396         * modules/unistdio/u8-vsprintf: Likewise.
15397         * modules/unistdio/u16-asnprintf: Likewise.
15398         * modules/unistdio/u16-asprintf: Likewise.
15399         * modules/unistdio/u16-snprintf: Likewise.
15400         * modules/unistdio/u16-sprintf: Likewise.
15401         * modules/unistdio/u16-u16-asnprintf: Likewise.
15402         * modules/unistdio/u16-u16-asprintf: Likewise.
15403         * modules/unistdio/u16-u16-snprintf: Likewise.
15404         * modules/unistdio/u16-u16-sprintf: Likewise.
15405         * modules/unistdio/u16-u16-vasnprintf: Likewise.
15406         * modules/unistdio/u16-u16-vasprintf: Likewise.
15407         * modules/unistdio/u16-u16-vsnprintf: Likewise.
15408         * modules/unistdio/u16-u16-vsprintf: Likewise.
15409         * modules/unistdio/u16-vasnprintf: Likewise.
15410         * modules/unistdio/u16-vasprintf: Likewise.
15411         * modules/unistdio/u16-vsnprintf: Likewise.
15412         * modules/unistdio/u16-vsprintf: Likewise.
15413         * modules/unistdio/u32-asnprintf: Likewise.
15414         * modules/unistdio/u32-asprintf: Likewise.
15415         * modules/unistdio/u32-snprintf: Likewise.
15416         * modules/unistdio/u32-sprintf: Likewise.
15417         * modules/unistdio/u32-u32-asnprintf: Likewise.
15418         * modules/unistdio/u32-u32-asprintf: Likewise.
15419         * modules/unistdio/u32-u32-snprintf: Likewise.
15420         * modules/unistdio/u32-u32-sprintf: Likewise.
15421         * modules/unistdio/u32-u32-vasnprintf: Likewise.
15422         * modules/unistdio/u32-u32-vasprintf: Likewise.
15423         * modules/unistdio/u32-u32-vsnprintf: Likewise.
15424         * modules/unistdio/u32-u32-vsprintf: Likewise.
15425         * modules/unistdio/u32-vasnprintf: Likewise.
15426         * modules/unistdio/u32-vasprintf: Likewise.
15427         * modules/unistdio/u32-vsnprintf: Likewise.
15428         * modules/unistdio/u32-vsprintf: Likewise.
15429         * modules/unistdio/ulc-asnprintf: Likewise.
15430         * modules/unistdio/ulc-asprintf: Likewise.
15431         * modules/unistdio/ulc-fprintf: Likewise.
15432         * modules/unistdio/ulc-snprintf: Likewise.
15433         * modules/unistdio/ulc-sprintf: Likewise.
15434         * modules/unistdio/ulc-vasnprintf: Likewise.
15435         * modules/unistdio/ulc-vasprintf: Likewise.
15436         * modules/unistdio/ulc-vfprintf: Likewise.
15437         * modules/unistdio/ulc-vsnprintf: Likewise.
15438         * modules/unistdio/ulc-vsprintf: Likewise.
15439         * modules/unistr/u8-check: Likewise.
15440         * modules/unistr/u8-chr: Likewise.
15441         * modules/unistr/u8-cmp: Likewise.
15442         * modules/unistr/u8-cmp2: Likewise.
15443         * modules/unistr/u8-cpy: Likewise.
15444         * modules/unistr/u8-cpy-alloc: Likewise.
15445         * modules/unistr/u8-endswith: Likewise.
15446         * modules/unistr/u8-mblen: Likewise.
15447         * modules/unistr/u8-mbsnlen: Likewise.
15448         * modules/unistr/u8-mbtouc: Likewise.
15449         * modules/unistr/u8-mbtouc-unsafe: Likewise.
15450         * modules/unistr/u8-mbtoucr: Likewise.
15451         * modules/unistr/u8-move: Likewise.
15452         * modules/unistr/u8-next: Likewise.
15453         * modules/unistr/u8-prev: Likewise.
15454         * modules/unistr/u8-set: Likewise.
15455         * modules/unistr/u8-startswith: Likewise.
15456         * modules/unistr/u8-stpcpy: Likewise.
15457         * modules/unistr/u8-stpncpy: Likewise.
15458         * modules/unistr/u8-strcat: Likewise.
15459         * modules/unistr/u8-strchr: Likewise.
15460         * modules/unistr/u8-strcmp: Likewise.
15461         * modules/unistr/u8-strcoll: Likewise.
15462         * modules/unistr/u8-strcpy: Likewise.
15463         * modules/unistr/u8-strcspn: Likewise.
15464         * modules/unistr/u8-strdup: Likewise.
15465         * modules/unistr/u8-strlen: Likewise.
15466         * modules/unistr/u8-strmblen: Likewise.
15467         * modules/unistr/u8-strmbtouc: Likewise.
15468         * modules/unistr/u8-strncat: Likewise.
15469         * modules/unistr/u8-strncmp: Likewise.
15470         * modules/unistr/u8-strncpy: Likewise.
15471         * modules/unistr/u8-strnlen: Likewise.
15472         * modules/unistr/u8-strpbrk: Likewise.
15473         * modules/unistr/u8-strrchr: Likewise.
15474         * modules/unistr/u8-strspn: Likewise.
15475         * modules/unistr/u8-strstr: Likewise.
15476         * modules/unistr/u8-strtok: Likewise.
15477         * modules/unistr/u8-to-u16: Likewise.
15478         * modules/unistr/u8-to-u32: Likewise.
15479         * modules/unistr/u8-uctomb: Likewise.
15480         * modules/unistr/u16-check: Likewise.
15481         * modules/unistr/u16-chr: Likewise.
15482         * modules/unistr/u16-cmp: Likewise.
15483         * modules/unistr/u16-cmp2: Likewise.
15484         * modules/unistr/u16-cpy: Likewise.
15485         * modules/unistr/u16-cpy-alloc: Likewise.
15486         * modules/unistr/u16-endswith: Likewise.
15487         * modules/unistr/u16-mblen: Likewise.
15488         * modules/unistr/u16-mbsnlen: Likewise.
15489         * modules/unistr/u16-mbtouc: Likewise.
15490         * modules/unistr/u16-mbtouc-unsafe: Likewise.
15491         * modules/unistr/u16-mbtoucr: Likewise.
15492         * modules/unistr/u16-move: Likewise.
15493         * modules/unistr/u16-next: Likewise.
15494         * modules/unistr/u16-prev: Likewise.
15495         * modules/unistr/u16-set: Likewise.
15496         * modules/unistr/u16-startswith: Likewise.
15497         * modules/unistr/u16-stpcpy: Likewise.
15498         * modules/unistr/u16-stpncpy: Likewise.
15499         * modules/unistr/u16-strcat: Likewise.
15500         * modules/unistr/u16-strchr: Likewise.
15501         * modules/unistr/u16-strcmp: Likewise.
15502         * modules/unistr/u16-strcoll: Likewise.
15503         * modules/unistr/u16-strcpy: Likewise.
15504         * modules/unistr/u16-strcspn: Likewise.
15505         * modules/unistr/u16-strdup: Likewise.
15506         * modules/unistr/u16-strlen: Likewise.
15507         * modules/unistr/u16-strmblen: Likewise.
15508         * modules/unistr/u16-strmbtouc: Likewise.
15509         * modules/unistr/u16-strncat: Likewise.
15510         * modules/unistr/u16-strncmp: Likewise.
15511         * modules/unistr/u16-strncpy: Likewise.
15512         * modules/unistr/u16-strnlen: Likewise.
15513         * modules/unistr/u16-strpbrk: Likewise.
15514         * modules/unistr/u16-strrchr: Likewise.
15515         * modules/unistr/u16-strspn: Likewise.
15516         * modules/unistr/u16-strstr: Likewise.
15517         * modules/unistr/u16-strtok: Likewise.
15518         * modules/unistr/u16-to-u32: Likewise.
15519         * modules/unistr/u16-to-u8: Likewise.
15520         * modules/unistr/u16-uctomb: Likewise.
15521         * modules/unistr/u32-check: Likewise.
15522         * modules/unistr/u32-chr: Likewise.
15523         * modules/unistr/u32-cmp: Likewise.
15524         * modules/unistr/u32-cmp2: Likewise.
15525         * modules/unistr/u32-cpy: Likewise.
15526         * modules/unistr/u32-cpy-alloc: Likewise.
15527         * modules/unistr/u32-endswith: Likewise.
15528         * modules/unistr/u32-mblen: Likewise.
15529         * modules/unistr/u32-mbsnlen: Likewise.
15530         * modules/unistr/u32-mbtouc: Likewise.
15531         * modules/unistr/u32-mbtouc-unsafe: Likewise.
15532         * modules/unistr/u32-mbtoucr: Likewise.
15533         * modules/unistr/u32-move: Likewise.
15534         * modules/unistr/u32-next: Likewise.
15535         * modules/unistr/u32-prev: Likewise.
15536         * modules/unistr/u32-set: Likewise.
15537         * modules/unistr/u32-startswith: Likewise.
15538         * modules/unistr/u32-stpcpy: Likewise.
15539         * modules/unistr/u32-stpncpy: Likewise.
15540         * modules/unistr/u32-strcat: Likewise.
15541         * modules/unistr/u32-strchr: Likewise.
15542         * modules/unistr/u32-strcmp: Likewise.
15543         * modules/unistr/u32-strcoll: Likewise.
15544         * modules/unistr/u32-strcpy: Likewise.
15545         * modules/unistr/u32-strcspn: Likewise.
15546         * modules/unistr/u32-strdup: Likewise.
15547         * modules/unistr/u32-strlen: Likewise.
15548         * modules/unistr/u32-strmblen: Likewise.
15549         * modules/unistr/u32-strmbtouc: Likewise.
15550         * modules/unistr/u32-strncat: Likewise.
15551         * modules/unistr/u32-strncmp: Likewise.
15552         * modules/unistr/u32-strncpy: Likewise.
15553         * modules/unistr/u32-strnlen: Likewise.
15554         * modules/unistr/u32-strpbrk: Likewise.
15555         * modules/unistr/u32-strrchr: Likewise.
15556         * modules/unistr/u32-strspn: Likewise.
15557         * modules/unistr/u32-strstr: Likewise.
15558         * modules/unistr/u32-strtok: Likewise.
15559         * modules/unistr/u32-to-u16: Likewise.
15560         * modules/unistr/u32-to-u8: Likewise.
15561         * modules/unistr/u32-uctomb: Likewise.
15562         * modules/uniwbrk/u8-wordbreaks: Likewise.
15563         * modules/uniwbrk/u16-wordbreaks: Likewise.
15564         * modules/uniwbrk/u32-wordbreaks: Likewise.
15565         * modules/uniwbrk/ulc-wordbreaks: Likewise.
15566         * modules/uniwbrk/wordbreak-property: Likewise.
15567         * modules/uniwidth/u8-strwidth: Likewise.
15568         * modules/uniwidth/u8-width: Likewise.
15569         * modules/uniwidth/u16-strwidth: Likewise.
15570         * modules/uniwidth/u16-width: Likewise.
15571         * modules/uniwidth/u32-strwidth: Likewise.
15572         * modules/uniwidth/u32-width: Likewise.
15573         * modules/uniwidth/width: Likewise.
15574         * modules/unicase/cased-tests (Makefile.am): Link all test programs
15575         with $(LIBUNISTRING).
15576         * modules/unicase/ignorable-tests: Likewise.
15577         * modules/unicase/locale-language-tests: Likewise.
15578         * modules/unicase/tolower-tests: Likewise.
15579         * modules/unicase/totitle-tests: Likewise.
15580         * modules/unicase/toupper-tests: Likewise.
15581         * modules/unicase/u8-casecmp-tests: Likewise.
15582         * modules/unicase/u8-casecoll-tests: Likewise.
15583         * modules/unicase/u8-casefold-tests: Likewise.
15584         * modules/unicase/u8-is-cased-tests: Likewise.
15585         * modules/unicase/u8-is-casefolded-tests: Likewise.
15586         * modules/unicase/u8-is-lowercase-tests: Likewise.
15587         * modules/unicase/u8-is-titlecase-tests: Likewise.
15588         * modules/unicase/u8-is-uppercase-tests: Likewise.
15589         * modules/unicase/u8-tolower-tests: Likewise.
15590         * modules/unicase/u8-totitle-tests: Likewise.
15591         * modules/unicase/u8-toupper-tests: Likewise.
15592         * modules/unicase/u16-casecmp-tests: Likewise.
15593         * modules/unicase/u16-casecoll-tests: Likewise.
15594         * modules/unicase/u16-casefold-tests: Likewise.
15595         * modules/unicase/u16-is-cased-tests: Likewise.
15596         * modules/unicase/u16-is-casefolded-tests: Likewise.
15597         * modules/unicase/u16-is-lowercase-tests: Likewise.
15598         * modules/unicase/u16-is-titlecase-tests: Likewise.
15599         * modules/unicase/u16-is-uppercase-tests: Likewise.
15600         * modules/unicase/u16-tolower-tests: Likewise.
15601         * modules/unicase/u16-totitle-tests: Likewise.
15602         * modules/unicase/u16-toupper-tests: Likewise.
15603         * modules/unicase/u32-casecmp-tests: Likewise.
15604         * modules/unicase/u32-casecoll-tests: Likewise.
15605         * modules/unicase/u32-casefold-tests: Likewise.
15606         * modules/unicase/u32-is-cased-tests: Likewise.
15607         * modules/unicase/u32-is-casefolded-tests: Likewise.
15608         * modules/unicase/u32-is-lowercase-tests: Likewise.
15609         * modules/unicase/u32-is-titlecase-tests: Likewise.
15610         * modules/unicase/u32-is-uppercase-tests: Likewise.
15611         * modules/unicase/u32-tolower-tests: Likewise.
15612         * modules/unicase/u32-totitle-tests: Likewise.
15613         * modules/unicase/u32-toupper-tests: Likewise.
15614         * modules/unicase/ulc-casecmp-tests: Likewise.
15615         * modules/unicase/ulc-casecoll-tests: Likewise.
15616         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
15617         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
15618         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
15619         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
15620         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
15621         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
15622         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
15623         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
15624         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
15625         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
15626         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
15627         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
15628         * modules/unictype/bidicategory-byname-tests: Likewise.
15629         * modules/unictype/bidicategory-name-tests: Likewise.
15630         * modules/unictype/bidicategory-of-tests: Likewise.
15631         * modules/unictype/bidicategory-test-tests: Likewise.
15632         * modules/unictype/block-list-tests: Likewise.
15633         * modules/unictype/block-of-tests: Likewise.
15634         * modules/unictype/block-test-tests: Likewise.
15635         * modules/unictype/category-C-tests: Likewise.
15636         * modules/unictype/category-Cc-tests: Likewise.
15637         * modules/unictype/category-Cf-tests: Likewise.
15638         * modules/unictype/category-Cn-tests: Likewise.
15639         * modules/unictype/category-Co-tests: Likewise.
15640         * modules/unictype/category-Cs-tests: Likewise.
15641         * modules/unictype/category-L-tests: Likewise.
15642         * modules/unictype/category-Ll-tests: Likewise.
15643         * modules/unictype/category-Lm-tests: Likewise.
15644         * modules/unictype/category-Lo-tests: Likewise.
15645         * modules/unictype/category-Lt-tests: Likewise.
15646         * modules/unictype/category-Lu-tests: Likewise.
15647         * modules/unictype/category-M-tests: Likewise.
15648         * modules/unictype/category-Mc-tests: Likewise.
15649         * modules/unictype/category-Me-tests: Likewise.
15650         * modules/unictype/category-Mn-tests: Likewise.
15651         * modules/unictype/category-N-tests: Likewise.
15652         * modules/unictype/category-Nd-tests: Likewise.
15653         * modules/unictype/category-Nl-tests: Likewise.
15654         * modules/unictype/category-No-tests: Likewise.
15655         * modules/unictype/category-P-tests: Likewise.
15656         * modules/unictype/category-Pc-tests: Likewise.
15657         * modules/unictype/category-Pd-tests: Likewise.
15658         * modules/unictype/category-Pe-tests: Likewise.
15659         * modules/unictype/category-Pf-tests: Likewise.
15660         * modules/unictype/category-Pi-tests: Likewise.
15661         * modules/unictype/category-Po-tests: Likewise.
15662         * modules/unictype/category-Ps-tests: Likewise.
15663         * modules/unictype/category-S-tests: Likewise.
15664         * modules/unictype/category-Sc-tests: Likewise.
15665         * modules/unictype/category-Sk-tests: Likewise.
15666         * modules/unictype/category-Sm-tests: Likewise.
15667         * modules/unictype/category-So-tests: Likewise.
15668         * modules/unictype/category-Z-tests: Likewise.
15669         * modules/unictype/category-Zl-tests: Likewise.
15670         * modules/unictype/category-Zp-tests: Likewise.
15671         * modules/unictype/category-Zs-tests: Likewise.
15672         * modules/unictype/category-and-not-tests: Likewise.
15673         * modules/unictype/category-and-tests: Likewise.
15674         * modules/unictype/category-byname-tests: Likewise.
15675         * modules/unictype/category-name-tests: Likewise.
15676         * modules/unictype/category-none-tests: Likewise.
15677         * modules/unictype/category-of-tests: Likewise.
15678         * modules/unictype/category-or-tests: Likewise.
15679         * modules/unictype/category-test-withtable-tests: Likewise.
15680         * modules/unictype/combining-class-tests: Likewise.
15681         * modules/unictype/ctype-alnum-tests: Likewise.
15682         * modules/unictype/ctype-alpha-tests: Likewise.
15683         * modules/unictype/ctype-blank-tests: Likewise.
15684         * modules/unictype/ctype-cntrl-tests: Likewise.
15685         * modules/unictype/ctype-digit-tests: Likewise.
15686         * modules/unictype/ctype-graph-tests: Likewise.
15687         * modules/unictype/ctype-lower-tests: Likewise.
15688         * modules/unictype/ctype-print-tests: Likewise.
15689         * modules/unictype/ctype-punct-tests: Likewise.
15690         * modules/unictype/ctype-space-tests: Likewise.
15691         * modules/unictype/ctype-upper-tests: Likewise.
15692         * modules/unictype/ctype-xdigit-tests: Likewise.
15693         * modules/unictype/decimal-digit-tests: Likewise.
15694         * modules/unictype/digit-tests: Likewise.
15695         * modules/unictype/mirror-tests: Likewise.
15696         * modules/unictype/numeric-tests: Likewise.
15697         * modules/unictype/property-alphabetic-tests: Likewise.
15698         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
15699         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
15700         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
15701         * modules/unictype/property-bidi-block-separator-tests: Likewise.
15702         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
15703         * modules/unictype/property-bidi-common-separator-tests: Likewise.
15704         * modules/unictype/property-bidi-control-tests: Likewise.
15705         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
15706         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
15707         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
15708         * modules/unictype/property-bidi-european-digit-tests: Likewise.
15709         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
15710         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
15711         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
15712         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
15713         * modules/unictype/property-bidi-pdf-tests: Likewise.
15714         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
15715         * modules/unictype/property-bidi-whitespace-tests: Likewise.
15716         * modules/unictype/property-byname-tests: Likewise.
15717         * modules/unictype/property-combining-tests: Likewise.
15718         * modules/unictype/property-composite-tests: Likewise.
15719         * modules/unictype/property-currency-symbol-tests: Likewise.
15720         * modules/unictype/property-dash-tests: Likewise.
15721         * modules/unictype/property-decimal-digit-tests: Likewise.
15722         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
15723         * modules/unictype/property-deprecated-tests: Likewise.
15724         * modules/unictype/property-diacritic-tests: Likewise.
15725         * modules/unictype/property-extender-tests: Likewise.
15726         * modules/unictype/property-format-control-tests: Likewise.
15727         * modules/unictype/property-grapheme-base-tests: Likewise.
15728         * modules/unictype/property-grapheme-extend-tests: Likewise.
15729         * modules/unictype/property-grapheme-link-tests: Likewise.
15730         * modules/unictype/property-hex-digit-tests: Likewise.
15731         * modules/unictype/property-hyphen-tests: Likewise.
15732         * modules/unictype/property-id-continue-tests: Likewise.
15733         * modules/unictype/property-id-start-tests: Likewise.
15734         * modules/unictype/property-ideographic-tests: Likewise.
15735         * modules/unictype/property-ids-binary-operator-tests: Likewise.
15736         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
15737         * modules/unictype/property-ignorable-control-tests: Likewise.
15738         * modules/unictype/property-iso-control-tests: Likewise.
15739         * modules/unictype/property-join-control-tests: Likewise.
15740         * modules/unictype/property-left-of-pair-tests: Likewise.
15741         * modules/unictype/property-line-separator-tests: Likewise.
15742         * modules/unictype/property-logical-order-exception-tests: Likewise.
15743         * modules/unictype/property-lowercase-tests: Likewise.
15744         * modules/unictype/property-math-tests: Likewise.
15745         * modules/unictype/property-non-break-tests: Likewise.
15746         * modules/unictype/property-not-a-character-tests: Likewise.
15747         * modules/unictype/property-numeric-tests: Likewise.
15748         * modules/unictype/property-other-alphabetic-tests: Likewise.
15749         * modules/unictype/property-other-default-ignorable-code-point-tests:
15750         Likewise.
15751         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
15752         * modules/unictype/property-other-id-continue-tests: Likewise.
15753         * modules/unictype/property-other-id-start-tests: Likewise.
15754         * modules/unictype/property-other-lowercase-tests: Likewise.
15755         * modules/unictype/property-other-math-tests: Likewise.
15756         * modules/unictype/property-other-uppercase-tests: Likewise.
15757         * modules/unictype/property-paired-punctuation-tests: Likewise.
15758         * modules/unictype/property-paragraph-separator-tests: Likewise.
15759         * modules/unictype/property-pattern-syntax-tests: Likewise.
15760         * modules/unictype/property-pattern-white-space-tests: Likewise.
15761         * modules/unictype/property-private-use-tests: Likewise.
15762         * modules/unictype/property-punctuation-tests: Likewise.
15763         * modules/unictype/property-quotation-mark-tests: Likewise.
15764         * modules/unictype/property-radical-tests: Likewise.
15765         * modules/unictype/property-sentence-terminal-tests: Likewise.
15766         * modules/unictype/property-soft-dotted-tests: Likewise.
15767         * modules/unictype/property-space-tests: Likewise.
15768         * modules/unictype/property-terminal-punctuation-tests: Likewise.
15769         * modules/unictype/property-test-tests: Likewise.
15770         * modules/unictype/property-titlecase-tests: Likewise.
15771         * modules/unictype/property-unassigned-code-value-tests: Likewise.
15772         * modules/unictype/property-unified-ideograph-tests: Likewise.
15773         * modules/unictype/property-uppercase-tests: Likewise.
15774         * modules/unictype/property-variation-selector-tests: Likewise.
15775         * modules/unictype/property-white-space-tests: Likewise.
15776         * modules/unictype/property-xid-continue-tests: Likewise.
15777         * modules/unictype/property-xid-start-tests: Likewise.
15778         * modules/unictype/property-zero-width-tests: Likewise.
15779         * modules/unictype/scripts-tests: Likewise.
15780         * modules/unictype/syntax-c-ident-tests: Likewise.
15781         * modules/unictype/syntax-c-whitespace-tests: Likewise.
15782         * modules/unictype/syntax-java-ident-tests: Likewise.
15783         * modules/unictype/syntax-java-whitespace-tests: Likewise.
15784         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
15785         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
15786         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
15787         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
15788         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
15789         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
15790         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
15791         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
15792         * modules/uniname/uniname-tests: Likewise.
15793         * modules/uninorm/canonical-decomposition-tests: Likewise.
15794         * modules/uninorm/compat-decomposition-tests: Likewise.
15795         * modules/uninorm/composition-tests: Likewise.
15796         * modules/uninorm/decomposing-form-tests: Likewise.
15797         * modules/uninorm/decomposition-tests: Likewise.
15798         * modules/uninorm/filter-tests: Likewise.
15799         * modules/uninorm/nfc-tests: Likewise.
15800         * modules/uninorm/nfd-tests: Likewise.
15801         * modules/uninorm/nfkc-tests: Likewise.
15802         * modules/uninorm/nfkd-tests: Likewise.
15803         * modules/uninorm/u8-normcmp-tests: Likewise.
15804         * modules/uninorm/u8-normcoll-tests: Likewise.
15805         * modules/uninorm/u16-normcmp-tests: Likewise.
15806         * modules/uninorm/u16-normcoll-tests: Likewise.
15807         * modules/uninorm/u32-normcmp-tests: Likewise.
15808         * modules/uninorm/u32-normcoll-tests: Likewise.
15809         * modules/unistdio/u8-asnprintf-tests: Likewise.
15810         * modules/unistdio/u8-vasnprintf-tests: Likewise.
15811         * modules/unistdio/u8-vasprintf-tests: Likewise.
15812         * modules/unistdio/u8-vsnprintf-tests: Likewise.
15813         * modules/unistdio/u8-vsprintf-tests: Likewise.
15814         * modules/unistdio/u16-asnprintf-tests: Likewise.
15815         * modules/unistdio/u16-vasnprintf-tests: Likewise.
15816         * modules/unistdio/u16-vasprintf-tests: Likewise.
15817         * modules/unistdio/u16-vsnprintf-tests: Likewise.
15818         * modules/unistdio/u16-vsprintf-tests: Likewise.
15819         * modules/unistdio/u32-asnprintf-tests: Likewise.
15820         * modules/unistdio/u32-vasnprintf-tests: Likewise.
15821         * modules/unistdio/u32-vasprintf-tests: Likewise.
15822         * modules/unistdio/u32-vsnprintf-tests: Likewise.
15823         * modules/unistdio/u32-vsprintf-tests: Likewise.
15824         * modules/unistdio/ulc-asnprintf-tests: Likewise.
15825         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
15826         * modules/unistdio/ulc-vasprintf-tests: Likewise.
15827         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
15828         * modules/unistdio/ulc-vsprintf-tests: Likewise.
15829         * modules/unistr/u8-check-tests: Likewise.
15830         * modules/unistr/u8-chr-tests: Likewise.
15831         * modules/unistr/u8-cmp-tests: Likewise.
15832         * modules/unistr/u8-cmp2-tests: Likewise.
15833         * modules/unistr/u8-cpy-alloc-tests: Likewise.
15834         * modules/unistr/u8-cpy-tests: Likewise.
15835         * modules/unistr/u8-mblen-tests: Likewise.
15836         * modules/unistr/u8-mbsnlen-tests: Likewise.
15837         * modules/unistr/u8-mbtouc-tests: Likewise.
15838         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
15839         * modules/unistr/u8-mbtoucr-tests: Likewise.
15840         * modules/unistr/u8-move-tests: Likewise.
15841         * modules/unistr/u8-next-tests: Likewise.
15842         * modules/unistr/u8-prev-tests: Likewise.
15843         * modules/unistr/u8-set-tests: Likewise.
15844         * modules/unistr/u8-stpcpy-tests: Likewise.
15845         * modules/unistr/u8-stpncpy-tests: Likewise.
15846         * modules/unistr/u8-strcat-tests: Likewise.
15847         * modules/unistr/u8-strcmp-tests: Likewise.
15848         * modules/unistr/u8-strcoll-tests: Likewise.
15849         * modules/unistr/u8-strcpy-tests: Likewise.
15850         * modules/unistr/u8-strdup-tests: Likewise.
15851         * modules/unistr/u8-strlen-tests: Likewise.
15852         * modules/unistr/u8-strmblen-tests: Likewise.
15853         * modules/unistr/u8-strmbtouc-tests: Likewise.
15854         * modules/unistr/u8-strncat-tests: Likewise.
15855         * modules/unistr/u8-strncmp-tests: Likewise.
15856         * modules/unistr/u8-strncpy-tests: Likewise.
15857         * modules/unistr/u8-strnlen-tests: Likewise.
15858         * modules/unistr/u8-to-u16-tests: Likewise.
15859         * modules/unistr/u8-to-u32-tests: Likewise.
15860         * modules/unistr/u8-uctomb-tests: Likewise.
15861         * modules/unistr/u16-check-tests: Likewise.
15862         * modules/unistr/u16-chr-tests: Likewise.
15863         * modules/unistr/u16-cmp-tests: Likewise.
15864         * modules/unistr/u16-cmp2-tests: Likewise.
15865         * modules/unistr/u16-cpy-alloc-tests: Likewise.
15866         * modules/unistr/u16-cpy-tests: Likewise.
15867         * modules/unistr/u16-mblen-tests: Likewise.
15868         * modules/unistr/u16-mbsnlen-tests: Likewise.
15869         * modules/unistr/u16-mbtouc-tests: Likewise.
15870         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
15871         * modules/unistr/u16-mbtoucr-tests: Likewise.
15872         * modules/unistr/u16-move-tests: Likewise.
15873         * modules/unistr/u16-next-tests: Likewise.
15874         * modules/unistr/u16-prev-tests: Likewise.
15875         * modules/unistr/u16-set-tests: Likewise.
15876         * modules/unistr/u16-stpcpy-tests: Likewise.
15877         * modules/unistr/u16-stpncpy-tests: Likewise.
15878         * modules/unistr/u16-strcat-tests: Likewise.
15879         * modules/unistr/u16-strcmp-tests: Likewise.
15880         * modules/unistr/u16-strcoll-tests: Likewise.
15881         * modules/unistr/u16-strcpy-tests: Likewise.
15882         * modules/unistr/u16-strdup-tests: Likewise.
15883         * modules/unistr/u16-strlen-tests: Likewise.
15884         * modules/unistr/u16-strmblen-tests: Likewise.
15885         * modules/unistr/u16-strmbtouc-tests: Likewise.
15886         * modules/unistr/u16-strncat-tests: Likewise.
15887         * modules/unistr/u16-strncmp-tests: Likewise.
15888         * modules/unistr/u16-strncpy-tests: Likewise.
15889         * modules/unistr/u16-strnlen-tests: Likewise.
15890         * modules/unistr/u16-to-u32-tests: Likewise.
15891         * modules/unistr/u16-to-u8-tests: Likewise.
15892         * modules/unistr/u16-uctomb-tests: Likewise.
15893         * modules/unistr/u32-check-tests: Likewise.
15894         * modules/unistr/u32-chr-tests: Likewise.
15895         * modules/unistr/u32-cmp-tests: Likewise.
15896         * modules/unistr/u32-cmp2-tests: Likewise.
15897         * modules/unistr/u32-cpy-alloc-tests: Likewise.
15898         * modules/unistr/u32-cpy-tests: Likewise.
15899         * modules/unistr/u32-mblen-tests: Likewise.
15900         * modules/unistr/u32-mbsnlen-tests: Likewise.
15901         * modules/unistr/u32-mbtouc-tests: Likewise.
15902         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
15903         * modules/unistr/u32-mbtoucr-tests: Likewise.
15904         * modules/unistr/u32-move-tests: Likewise.
15905         * modules/unistr/u32-next-tests: Likewise.
15906         * modules/unistr/u32-prev-tests: Likewise.
15907         * modules/unistr/u32-set-tests: Likewise.
15908         * modules/unistr/u32-stpcpy-tests: Likewise.
15909         * modules/unistr/u32-stpncpy-tests: Likewise.
15910         * modules/unistr/u32-strcat-tests: Likewise.
15911         * modules/unistr/u32-strcmp-tests: Likewise.
15912         * modules/unistr/u32-strcoll-tests: Likewise.
15913         * modules/unistr/u32-strcpy-tests: Likewise.
15914         * modules/unistr/u32-strdup-tests: Likewise.
15915         * modules/unistr/u32-strlen-tests: Likewise.
15916         * modules/unistr/u32-strmblen-tests: Likewise.
15917         * modules/unistr/u32-strmbtouc-tests: Likewise.
15918         * modules/unistr/u32-strncat-tests: Likewise.
15919         * modules/unistr/u32-strncmp-tests: Likewise.
15920         * modules/unistr/u32-strncpy-tests: Likewise.
15921         * modules/unistr/u32-strnlen-tests: Likewise.
15922         * modules/unistr/u32-to-u16-tests: Likewise.
15923         * modules/unistr/u32-to-u8-tests: Likewise.
15924         * modules/unistr/u32-uctomb-tests: Likewise.
15925         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
15926         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
15927         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
15928         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
15929         * modules/uniwidth/u8-strwidth-tests: Likewise.
15930         * modules/uniwidth/u8-width-tests: Likewise.
15931         * modules/uniwidth/u16-strwidth-tests: Likewise.
15932         * modules/uniwidth/u16-width-tests: Likewise.
15933         * modules/uniwidth/u32-strwidth-tests: Likewise.
15934         * modules/uniwidth/u32-width-tests: Likewise.
15935         * modules/uniwidth/width-tests: Likewise.
15936
15937 2010-05-18  Richard Jones  <rjones@redhat.com>
15938
15939         doc: users.txt: list hivex
15940         * users.txt: Add hivex.
15941
15942 2010-05-18  Richard Jones  <rjones@redhat.com>
15943
15944         doc: users.txt: list febootstrap
15945         * users.txt: Add febootstrap.
15946
15947 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
15948
15949         bootstrap: fix an error when gnulib is not used as a git submodule
15950         * build-aux/bootstrap (gnulib_path): If its length is zero then
15951         assign "gnulib" to it.
15952         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
15953
15954 2010-05-16  Bruno Haible  <bruno@clisp.org>
15955
15956         Avoid autoconf warnings about AM_ICONV.
15957         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
15958         2.64.
15959
15960 2010-05-16  Bruno Haible  <bruno@clisp.org>
15961
15962         absolute-header: Make the macro usable in more situations.
15963         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
15964         from gl_ABSOLUTE_HEADER.
15965         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
15966
15967 2010-05-16  James Youngman  <jay@gnu.org>
15968
15969         doc: update users.txt
15970         * users.txt: Add CSSC.
15971
15972 2010-05-16  Jim Meyering  <meyering@redhat.com>
15973
15974         init.sh: fix an error in the previous change; add more comments
15975         * tests/init.sh: Compare exit code in loop against 9, not 2.
15976         Patch by Bruno Haible.
15977         Make the two tests more similar by adding an empty "then" clause.
15978         Add comments.
15979
15980         init.sh: avoid unnecessary shell re-exec
15981         * tests/init.sh: Improve the re-exec-required check to first test the
15982         current shell.  If it passes the test, do not search for a shell that
15983         does pass, and do not re-exec.  This test is particularly contorted to
15984         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
15985         of $(...) evokes a syntax error and causes immediate shell exit with
15986         status 2.  Bruno Haible reported that the re-exec made it impossible
15987         to single-step through any init.sh-using script.
15988
15989 2010-05-16  Bruno Haible  <bruno@clisp.org>
15990
15991         Fix collision between gnulib's and libintl's printf replacements.
15992         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
15993         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
15994         (printf): When using GNU C, map the __printf__ function to rpl_printf
15995         via __asm__. When not using GNU C, define rpl_printf instead of
15996         __printf__.
15997         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
15998         commit.
15999         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
16000         commit.
16001         * m4/asm-underscore.m4: New file.
16002         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
16003         * modules/stdio (Files): Add m4/asm-underscore.m4.
16004         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
16005         Reported by Ben Pfaff.
16006
16007 2010-05-16  Bruno Haible  <bruno@clisp.org>
16008
16009         verify: Avoid skipping the test on openSUSE 11.0.
16010         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
16011
16012 2010-05-13  Bruno Haible  <bruno@clisp.org>
16013
16014         Avoid useless warnings from G++.
16015         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
16016         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
16017         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
16018
16019 2010-05-11  Jim Meyering  <meyering@redhat.com>
16020
16021         maint.mk: tweak preceding change
16022         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
16023         regexps tighter by anchoring at EOL, and make the new group "shy"
16024         for slightly decreased overhead.
16025
16026 2010-05-11  Eric Blake  <eblake@redhat.com>
16027
16028         maint.mk: gnulib doesn't guarantee NSIG
16029         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
16030
16031 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
16032
16033         test-pwrite.c: Remove unused variable declaration.
16034         * tests/test-pwrite.c (main): Remove read_buf declaration.
16035
16036         Remove useless test-pwrite.sh file.
16037         * tests/test-pwrite.sh: Delete file.
16038         * modules/pwrite-tests: Remove references.
16039         Reported by Bruno Haible.
16040
16041 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
16042
16043         init.sh: fix a typo
16044         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
16045
16046 2010-05-10  Jim Meyering  <meyering@redhat.com>
16047
16048         maint.mk: avoid using a temporary file in the always-defined-macros check
16049         * top/maint.mk (.re-defmac): Remove rule.
16050         (gl_trap_): Remove definition.
16051         (sc_prohibit_always-defined_macros): Rewrite not to create and
16052         depend on a temporary file.  Instead, depend on GNU grep's ability
16053         to read a list of regular expressions from stdin when given "-f -".
16054
16055 2010-05-09  Bruno Haible  <bruno@clisp.org>
16056
16057         Update to GNU gettext 0.18, part 1.
16058         * m4/gettext.m4: Update to GNU gettext 0.18.
16059         * m4/intl.m4: Likewise.
16060         * m4/po.m4: Likewise.
16061         * modules/gettext (Files): Add m4/fcntl-o.m4.
16062         (configure.ac): Require gettext infrastructure from version 0.18.
16063
16064 2010-05-09  Jim Meyering  <meyering@redhat.com>
16065
16066         init.sh: enable MALLOC_PERTURB_
16067         * tests/init.sh: Enable glibc's malloc-perturbing option.
16068
16069         maint.mk: improve sc_cross_check_PATH_usage_in_tests
16070         With my recent change in init.sh from the two-line form:
16071             -#   : ${srcdir=.}
16072             -#   . "$srcdir/init.sh"; path_prepend_ .
16073             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
16074         I noticed that using the one-line form would cause this test
16075         to fail with a false-positive, or to stop working altogether,
16076         depending on whether help-version changed or all the tests did.
16077         * top/maint.mk (_hv_regex): Remove this definition.
16078         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
16079         (_hv_regex_strong): Use a stronger regex to check for conformance.
16080         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
16081         Give a separate diagnostic for lack of conforming use.
16082
16083         maint.mk: prohibit definition of symbols defined by gnulib
16084         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
16085         definition of symbols defined by gnulib.
16086
16087 2010-05-09  Bruno Haible  <bruno@clisp.org>
16088
16089         acl: Avoid test failure on Cygwin-hosted mingw.
16090         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
16091
16092 2010-05-09  Bruno Haible  <bruno@clisp.org>
16093
16094         error: Use system's fcntl function.
16095         * lib/error.c (fcntl): Undefine.
16096
16097 2010-05-09  Jim Meyering  <meyering@redhat.com>
16098
16099         verify: adjust formatting to be more consistent
16100         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
16101         argument-list '('s, and after one comma.
16102
16103 2010-05-09  Bruno Haible  <bruno@clisp.org>
16104
16105         error: More reliable output on mingw.
16106         * lib/error.c: Include <windows.h>.
16107         (is_open): New function.
16108         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
16109         defined.
16110
16111 2010-05-09  Bruno Haible  <bruno@clisp.org>
16112
16113         vasnprintf: Fix syntax errors in libintl build on mingw.
16114         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
16115         pad_ourselves and prec_ourselves after use.
16116
16117 2010-05-08  Bruno Haible  <bruno@clisp.org>
16118
16119         * lib/config.charset: Update comments for Cygwin 1.7.
16120         * lib/localcharset.c: Likewise.
16121
16122 2010-05-07  Jim Meyering  <meyering@redhat.com>
16123
16124         init.sh: improve comments
16125         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
16126         . "${srcdir=.}/init.sh"; path_prepend_ .
16127         Add a note about path_prepend_ and the alternative of using
16128         TESTS_ENVIRONMENT.
16129
16130 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
16131
16132         exclude: Unescape hashed patterns in wildcard mode.
16133         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
16134         to the hash list.
16135         * tests/test-exclude8.sh: New test case.
16136         * modules/exclude-tests: Add new test.
16137
16138 2010-05-05  Eric Blake  <eblake@redhat.com>
16139
16140         verify: automate tests
16141         * modules/verify-tests: New module.
16142         * tests/test-verify.sh: New file.
16143         * tests/test-verify.c: Guard each negative test with a unique id.
16144         Also avoid warning about unused left hand of comma expressions.
16145
16146 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
16147
16148         Further improvements to verify.h, suggested by Eric Blake.
16149         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
16150         the GL_* versions, to avoid collision with OpenGL.
16151         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
16152         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
16153         than testing merely whether it's defined.
16154
16155         Modify verify.h to pacify gcc -Wredundant_decls.
16156         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
16157         These use the prefix "GL_" since they're likely to be useful elsewhere.
16158         We may need to break them out into a different .h file.
16159         (__COUNTER__): Define to 0 if the compiler doesn't support it.
16160         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
16161         of verify_function__.
16162
16163 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
16164
16165         Tests for module pwrite.
16166         * modules/pwrite-tests: New file.
16167         * tests/test-pwrite.sh: New file.
16168         * tests/test-pwrite.c: New file.
16169
16170         New module pwrite.
16171         * lib/unistd.in.h (pwrite): New declaration.
16172         * lib/pwrite.c: New file, from glibc with modifications.
16173         * m4/pwrite.m4: New file.
16174         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
16175         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
16176         REPLACE_PWRITE.
16177         * modules/pwrite: New file.
16178         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
16179         REPLACE_PWRITE.
16180         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
16181         * doc/posix-functions/pwrite.texi: Mention the new module.
16182
16183 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
16184
16185         pread: Update documentation.
16186         * doc/posix-functions/pread.texi: Mention the 'pread' module.
16187
16188 2010-05-04  Eric Blake  <eblake@redhat.com>
16189
16190         docs: update cygwin progress
16191         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
16192         this bug.
16193         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
16194         Added in cygwin 1.7.2.
16195         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
16196         Likewise.
16197         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
16198         Likewise.
16199         * doc/glibc-functions/dup3.texi (dup3): Likewise.
16200         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
16201         * doc/glibc-functions/accept4.texi (accept4): Likewise.
16202         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
16203         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
16204         Mention nproc module.
16205         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
16206         bug in cygwin 1.7.5 addition.
16207         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
16208         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
16209         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
16210         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
16211         1.7.5.
16212         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
16213         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
16214         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
16215         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
16216         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
16217         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
16218         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
16219         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
16220         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
16221         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
16222         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
16223         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
16224         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
16225         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
16226         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
16227         Likewise.
16228         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
16229         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
16230         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
16231         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
16232         Likewise.
16233         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
16234         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
16235         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
16236         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
16237         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
16238         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
16239         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
16240         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
16241         Likewise.
16242         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
16243         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
16244         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
16245         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
16246         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
16247         Likewise.
16248         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
16249         Likewise.
16250         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
16251         Likewise.
16252         * doc/glibc-functions/xdrrec_endofrecord.texi
16253         (xdrrec_endofrecord): Likewise.
16254         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
16255         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
16256         Likewise.
16257         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
16258         Likewise.
16259
16260 2010-05-04  Jim Meyering  <meyering@redhat.com>
16261
16262         gendocs.sh: make its "-s FILE" option more useful
16263         * build-aux/gendocs.sh: When honoring the -s FILE option, update
16264         $PACKAGE to reflect the probably-different basename of "FILE".
16265
16266 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
16267
16268         bootstrap: don't ignore download_po_files failure
16269         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
16270         failure.
16271
16272 2010-05-03  Jim Meyering  <meyering@redhat.com>
16273
16274         maint.mk: allow to pass options to gendocs.sh
16275         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
16276         (gendocs_options_): New overridable variable.
16277
16278         gnu-web-doc-update: don't ignore configure or build failure
16279         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
16280
16281         announce-gen: backslash-escape '@'s in --help output
16282         * build-aux/announce-gen: Fix syntax errors.
16283
16284         maint.mk, announce-gen: allow project-specific announcement mail headers
16285         * top/maint.mk (translation_project_): Define default.
16286         (announcement_Cc_, announcement_mail_headers_): Likewise.
16287         (announcement): Invoke announce-gen with new --mail-headers option.
16288         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
16289
16290         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
16291         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
16292         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
16293         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
16294         line in the "err2" output file when running "make check" in verbose
16295         mode (i.e., with set -x enabled).
16296
16297 2010-05-03  Bruno Haible  <bruno@clisp.org>
16298
16299         wctob: Fix for weird platforms.
16300         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
16301         argument value.
16302
16303 2010-05-03  Jim Meyering  <meyering@redhat.com>
16304
16305         maint.mk: prohibit unwarranted use of <strings.h>
16306         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
16307         strings.h in a file that does not also use strcasecmp, strncasecmp,
16308         ffs or ffsll.
16309
16310         maint.mk: remove obsolete comments
16311         * top/maint.mk: Remove stale, commented-out rules.
16312
16313 2010-05-02  Bruno Haible  <bruno@clisp.org>
16314
16315         wcwidth: Declare also when it's aliased.
16316         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
16317         macro.
16318
16319 2010-05-02  Bruno Haible  <bruno@clisp.org>
16320
16321         Fix regression from 2010-04-25.
16322         * gnulib-tool (func_modules_transitive_closure): Check the status of
16323         all modules, not only of the tests that are of the form foo-tests where
16324         foo is a module.
16325
16326 2010-05-02  Bruno Haible  <bruno@clisp.org>
16327
16328         wctob: Work around nasty Cygwin 1.7.2 bug.
16329         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
16330         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
16331
16332 2010-05-01  Bruno Haible  <bruno@clisp.org>
16333
16334         fpurge: Sharper test.
16335         * tests/test-fpurge.c (main): Add one more ftell check.
16336         * modules/fpurge-tests (Depends-on): Add ftell.
16337         Suggested by Eric Blake.
16338
16339 2010-05-01  Bruno Haible  <bruno@clisp.org>
16340
16341         ftello: Another test.
16342         * tests/test-ftello3.c: New file.
16343         * modules/ftello-tests (Files): Add it.
16344         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
16345         MOSTLYCLEANFILES.
16346
16347         ftell: Another test.
16348         * tests/test-ftell3.c: New file.
16349         * modules/ftell-tests (Files): Add it.
16350         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
16351         MOSTLYCLEANFILES.
16352
16353 2010-05-01  Bruno Haible  <bruno@clisp.org>
16354
16355         ftell, ftello: Work around Solaris bug.
16356         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
16357         * lib/ftello.c: Include stdio-impl.h.
16358         (ftello): On Solaris, when _IOWRT is set, compute the result without
16359         looking at _IOREAD.
16360         * modules/ftello (Files): Add lib/stdio-impl.h.
16361         * doc/posix-functions/ftell.texi: Mention Solaris bug.
16362         * doc/posix-functions/ftello.texi: Likewise.
16363         Reported by Eric Blake.
16364
16365 2010-05-01  Bruno Haible  <bruno@clisp.org>
16366
16367         freading: Adapt to special meaning of _IOREAD flag on Solaris.
16368         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
16369         the _IOWRT flag is also set.
16370
16371 2010-05-01  Bruno Haible  <bruno@clisp.org>
16372
16373         Fix doc about a HP-UX stdio bug.
16374         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
16375         * doc/posix-functions/ftello.texi: Likewise.
16376
16377 2010-05-01  Bruno Haible  <bruno@clisp.org>
16378
16379         lseek test: Fix failure on Solaris.
16380         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
16381         output.
16382
16383 2010-04-30  Jim Meyering  <meyering@redhat.com>
16384
16385         bootstrap: don't ignore failure to generate po*/Makevars
16386         * build-aux/bootstrap (with_gettext): Don't ignore failure
16387         to create po/Makevars or runtime-po/Makevars.
16388
16389 2010-04-29  Eric Blake  <eblake@redhat.com>
16390
16391         headers: relax license to LGPLv2+
16392         * modules/fcntl-h (License): Relax license.
16393         * modules/getopt-posix (License): Likewise.
16394         * modules/locale (License): Likewise.
16395         * modules/math (License): Likewise.
16396         * modules/pty (License): Likewise.
16397         * modules/sched (License): Likewise.
16398         * modules/search (License): Likewise.
16399         * modules/spawn (License): Likewise.
16400         * modules/stdarg (License): Likewise.
16401         * modules/sysexits (License): Likewise.
16402
16403 2010-04-29  Jim Meyering  <meyering@redhat.com>
16404
16405         inttypes: relax license to LGPLv2+
16406         * modules/inttypes (License): Relax license.
16407
16408 2010-04-29  Simon Josefsson  <simon@josefsson.org>
16409
16410         * top/maint.mk (indent): Run twice to produce idempotent results.
16411
16412 2010-04-28  Bruno Haible  <bruno@clisp.org>
16413
16414         getdate: Generate getdate.c in the source directory.
16415         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
16416         MOSTLYCLEANFILES.
16417         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
16418
16419 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
16420
16421         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
16422         is not declared as a const *; avoid warnings in that case.
16423
16424 2010-04-28  Eric Blake  <eblake@redhat.com>
16425
16426         canonicalize-lgpl: avoid compiler warning
16427         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
16428         declaration' / 'extraneous semicolon' warning with some compilers.
16429         Reported by Andreas Gruenbacher.
16430
16431 2010-04-28  Jim Meyering  <meyering@redhat.com>
16432
16433         init.sh: ensure a more reliable exit status when exiting via trap
16434         * tests/init.sh (setup_): Don't rely on $? in signal handler.
16435         Inspired by patches from Dmitry V. Levin.
16436         Also trap on signal 3 (SIGQUIT).
16437
16438 2010-04-27  Bruno Haible  <bruno@clisp.org>
16439
16440         Update doc about utimes().
16441         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
16442         'utimens' module.
16443         Reported by Andreas Gruenbacher <agruen@suse.de>.
16444
16445 2010-04-27  Eric Blake  <eblake@redhat.com>
16446
16447         full-read, full-write: relax license
16448         * modules/full-read (License): Drop to LGPLv2+.
16449         * modules/full-write (License): Likewise.
16450         * modules/safe-read (License): Likewise.
16451         * modules/safe-write (License): Likewise.
16452
16453         pthread: mention library for linking
16454         * modules/pthread (Link): Mention $(LIB_PTHREAD).
16455
16456 2010-04-27  Jim Meyering  <meyering@redhat.com>
16457
16458         maint.mk: fix a bug introduced in last change
16459         * top/maint.mk (gl_assured_headers_): Now that all names are on
16460         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
16461         is not anchored to end of word, it should be adequate.
16462
16463         maint.mk: avoid side-effect in latest syntax-check
16464         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
16465         to run commands via $(shell...), and hence to incur cost only when
16466         the new rule is actually run.
16467
16468         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
16469         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
16470         and use that to create a regexp used to detect all #if HAVE_..._H uses.
16471         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
16472         (gl_assured_headers_, az_, AZ_): Define.
16473         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
16474
16475 2010-04-26  Jim Meyering  <jim@meyering.net>
16476             Bruno Haible  <bruno@clisp.org>
16477
16478         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
16479         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
16480         Prompted by an exchange with Gilles Espinasse.
16481
16482 2010-04-26  Jim Meyering  <meyering@redhat.com>
16483
16484         git-version-gen: aesthetic tweak
16485         * build-aux/git-version-gen: Use "$nl" rather than a literal,
16486         so that the command remains on a single line.
16487
16488 2010-04-26  Eric Blake  <eblake@redhat.com>
16489
16490         git-version-gen: allow use on EBCDIC hosts
16491         * build-aux/git-version-gen (dirty): Use literal rather than tying
16492         ourselves to ascii.
16493         Reported by Steve Goetze.
16494
16495 2010-04-25  Bruno Haible  <bruno@clisp.org>
16496
16497         netdb: Add support for GNULIB_POSIXCHECK.
16498         * lib/netdb.in.h: Include warn-on-use.h.
16499         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
16500         functions are used when GNULIB_POSIXCHECK is defined and the
16501         getaddrinfo module is not in use.
16502         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
16503         freeaddrinfo, gai_strerror, getnameinfo are declared.
16504         * modules/netdb (Depends-on): Add warn-on-use.
16505         (Makefile.am): Include warn-on-use.h in netdb.h.
16506
16507 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
16508
16509         build: avoid "make check" failure without .git/ directory
16510         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
16511         there is no .git/ directory.
16512
16513 2010-04-25  Bruno Haible  <bruno@clisp.org>
16514
16515         ptsname: Fix misuse of ttyname_r.
16516         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
16517         of errno.
16518
16519 2010-04-25  Bruno Haible  <bruno@clisp.org>
16520
16521         ttyname_r: Make it work on Solaris 10.
16522         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
16523         if the system function has the POSIX declaration. Test whether the
16524         function fails if the buffer is less than 128 bytes large.
16525         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
16526         system's ttyname_r function. Provide a reasonably large buffer.
16527         * modules/ttyname_r (Depends-on): Add extensions.
16528         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
16529
16530 2010-04-25  Bruno Haible  <bruno@clisp.org>
16531
16532         Use the 'extensions' module for some more functions on Solaris.
16533         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
16534         module.
16535         * doc/posix-functions/ctime_r.texi: Likewise.
16536         * doc/posix-functions/getgrgid_r.texi: Likewise.
16537         * doc/posix-functions/getgrnam_r.texi: Likewise.
16538         * doc/posix-functions/getpwnam_r.texi: Likewise.
16539         * doc/posix-functions/getpwuid_r.texi: Likewise.
16540         * doc/posix-functions/readdir_r.texi: Likewise.
16541         * doc/posix-functions/sigwait.texi: Likewise.
16542         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
16543         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
16544
16545 2010-04-25  Bruno Haible  <bruno@clisp.org>
16546
16547         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
16548         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
16549         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
16550         * lib/ttyname_r.c: Include <limits.h>.
16551         (ttyname_r): Define using the system's ttyname_r function, if it exists
16552         and not on Solaris.
16553         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
16554         set.
16555         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
16556         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
16557         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
16558         Reported by Simon Josefsson.
16559
16560 2010-04-25  Bruno Haible  <bruno@clisp.org>
16561
16562         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
16563         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
16564         * doc/posix-functions/ctime_r.texi: Likewise.
16565         * doc/posix-functions/getgrgid_r.texi: Likewise.
16566         * doc/posix-functions/getgrnam_r.texi: Likewise.
16567         * doc/posix-functions/getlogin_r.texi: Likewise.
16568         * doc/posix-functions/getpwnam_r.texi: Likewise.
16569         * doc/posix-functions/getpwuid_r.texi: Likewise.
16570         * doc/posix-functions/readdir_r.texi: Likewise.
16571         * doc/posix-functions/sigwait.texi: Likewise.
16572         * doc/posix-functions/ttyname_r.texi: Likewise.
16573         Reported by Simon Josefsson.
16574
16575 2010-04-25  Bruno Haible  <bruno@clisp.org>
16576
16577         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
16578         * gnulib-tool (func_usage): Document that --with-*-tests options apply
16579         also to --create-testdir.
16580         (func_acceptable): Don't consider the status of *-tests modules here.
16581         (func_modules_transitive_closure): Consider it here, before including a
16582         test module.
16583         (func_import, func_create_testdir): Set inc_all_direct_tests,
16584         inc_all_indirect_tests.
16585         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
16586         --create-testdir and --create-megatestdir.
16587
16588 2010-04-25  Bruno Haible  <bruno@clisp.org>
16589
16590         gnulib-tool: Add --without-*-tests options.
16591         * gnulib-tool (func_usage): Document the --without-*-tests options.
16592         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
16593         excl_unportable_tests): New variables.
16594         Fail if they are specified with --import or --update.
16595         (func_acceptable): Respect the excl_*_tests variables.
16596         (func_import): Set the excl_*_tests variables to empty.
16597
16598 2010-04-25  Simon Josefsson  <simon@josefsson.org>
16599             Bruno Haible  <bruno@clisp.org>
16600
16601         Work around a MacOS X 10.4 bug with openpty.
16602         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
16603         * tests/test-openpty.c (main): Close the master side explicitly.
16604
16605 2010-04-25  Bruno Haible  <bruno@clisp.org>
16606
16607         strnlen: Fix a C++ test error on MacOS X and Solaris.
16608         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
16609         the function is not declared.
16610         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
16611         Simon Josefsson.
16612
16613 2010-04-24  Bruno Haible  <bruno@clisp.org>
16614
16615         Avoid a gcc warning.
16616         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
16617         of correct type for %08lx directive.
16618         Reported by Eric Blake.
16619
16620 2010-04-24  Bruno Haible  <bruno@clisp.org>
16621
16622         vasnprintf: Correct errno value in case of out-of-memory.
16623         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
16624         or sprintf. Use the errno value from SNPRINTF or sprintf.
16625         Reported by Ian Beckwith <ianb@erislabs.net>.
16626
16627 2010-04-24  Bruno Haible  <bruno@clisp.org>
16628
16629         ansi-c++-opt: Find correct compiler when cross-compiling.
16630         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
16631         AC_CHECK_PROGS.
16632         Reported by Simon Josefsson.
16633
16634 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
16635
16636         vc-list-files: Add support for subversion
16637         * build-aux/vc-list-files: Use "svn list" to generate the list of
16638         files controlled by subversion.
16639
16640 2010-04-23  Jim Meyering  <meyering@redhat.com>
16641
16642         vc-list-files tests: convert to use init.sh
16643         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
16644         path_prepend_.
16645         Use Exit, not exit.
16646         Use skip_ rather than open coding it.
16647         Remove trap set-up and compare definitions.
16648         * tests/test-vc-list-files-git.sh: Likewise.
16649         * modules/vc-list-files-tests (Files): Add tests/init.sh.
16650
16651 2010-04-22  Simon Josefsson  <simon@josefsson.org>
16652
16653         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
16654         backup files.
16655
16656 2010-04-21  Simon Josefsson  <simon@josefsson.org>
16657
16658         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
16659
16660 2010-04-20  Eric Blake  <eblake@redhat.com>
16661
16662         tests: be robust to ignored SIGPIPE
16663         * tests/test-select-in.sh: Consume all output.
16664         * tests/test-lseek.sh: Check correct exit status, while avoiding
16665         EPIPE.
16666
16667 2010-04-20  Simon Josefsson  <simon@josefsson.org>
16668             Bruno Haible  <bruno@clisp.org>
16669
16670         visibility: Don't use -fvisibility if it leads to a warning.
16671         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
16672         yes, don't pretend that visibility works if it leads to a warning.
16673         Reported by Mike Gran <spk121@yahoo.com>.
16674
16675 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
16676
16677         * build-aux/bootstrap: Use "git -h" for testing for supported options
16678         instead of "git --help".  The short-form option only shows a summary,
16679         and doesn't layout the full man page.  Grep for the full option name
16680         in the summary, too.
16681
16682 2010-04-19  Bruno Haible  <bruno@clisp.org>
16683
16684         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
16685         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
16686         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
16687         mention of RELOCATABLE_STRIP.
16688         Reported by Sylvain Beucler <beuc@beuc.net>.
16689
16690 2010-04-19  Bruno Haible  <bruno@clisp.org>
16691
16692         * lib/diffseq.h: Fix typo in comment.
16693         Reported by Eric Blake.
16694
16695 2010-04-19  Bruno Haible  <bruno@clisp.org>
16696
16697         ioctl: Move autoconf macro to a .m4 file.
16698         * m4/ioctl.m4: New file, extracted from modules/ioctl.
16699         * modules/ioctl (Files): Add it.
16700         (configure.ac): Simply invoke gl_FUNC_IOCTL.
16701         Reported by Ian Beckwith <ianb@erislabs.net>.
16702
16703 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
16704             Bruno Haible  <bruno@clisp.org>
16705
16706         diffseq: Accommodate use-case with abstract arrays.
16707         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
16708         is not defined.
16709         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
16710         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
16711
16712 2010-04-18  Bruno Haible  <bruno@clisp.org>
16713
16714         * doc/posix-headers/stdbool.texi: More precise wording.
16715
16716 2010-04-17  Jim Meyering  <meyering@redhat.com>
16717
16718         maint.mk: use gnu-style indentation in an embedded perl script
16719         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
16720         Rename variable: s/two/last_two_bytes/
16721
16722 2010-04-16  Eric Blake  <eblake@redhat.com>
16723
16724         test-stdbool: skip test that fails with Solaris CC
16725         * tests/test-stdbool.c (f): Skip test that causes compilation
16726         error under buggy C++ compiler.
16727         * lib/stdbool.in.h: Document the limitation.
16728         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
16729
16730         setenv: allow compilation with C++
16731         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
16732         register keyword.
16733
16734         stdint: allow test to pass with C++
16735         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
16736
16737         getopt: allow compilation with C++
16738         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
16739         struct.
16740         * lib/getopt.c (_getopt_internal_r): Use correct type.
16741         Reported by Dagobert Michelson, via Joel E. Denny.
16742
16743 2010-04-16  Bruno Haible  <bruno@clisp.org>
16744
16745         Override netdb.h always.
16746         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
16747         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
16748         Reported by Ludovic Courtès <ludo@gnu.org>.
16749
16750 2010-04-15  Bruno Haible  <bruno@clisp.org>
16751
16752         openpty: Fix mistake from 2010-03-21.
16753         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
16754         Reported by Simon Josefsson.
16755
16756 2010-04-15  Eric Blake  <eblake@redhat.com>
16757
16758         test-forkpty: fix expected signature
16759         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
16760         Reported by Simon Josefsson.
16761
16762 2010-04-15  Jim Meyering  <meyering@redhat.com>
16763
16764         maint.mk: texinfo_suffix_re_: correct the default regexp
16765         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
16766
16767         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
16768         make it configurable via texinfo_suffix_re_.
16769
16770 2010-04-14  Eric Blake  <eblake@redhat.com>
16771
16772         strtok_r: relax license to LGPLv2+
16773         * modules/strtok_r (License): Relax license.
16774         Reported by Matthias Bolte.
16775
16776 2010-04-14  Simon Josefsson  <simon@josefsson.org>
16777
16778         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
16779         version 1.4.4 by default instead of requiring the libgcrypt
16780         version used during build.  This makes it possible to use the
16781         application with older but still binary compatible libgcrypt
16782         versions.
16783
16784 2010-04-13  Eric Blake  <eblake@redhat.com>
16785
16786         getopt-gnu: match recent glibc fixes and posix ruling
16787         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
16788         '+' handling, when requesting extensions.
16789         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
16790         'W;' handling.
16791         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
16792         * doc/posix-functions/getopt.texi (getopt): Document this.
16793         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
16794         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
16795         Likewise.
16796
16797         getopt: merge bug fixes from glibc
16798         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
16799         diagnostics.  Honor '+:' correctly.  Reject ';'.
16800
16801         getopt-posix: detect MacOS bug
16802         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
16803         optind when missing a required argument.
16804         * doc/posix-functions/getopt.texi (getopt): Document the bug.
16805         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
16806         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
16807         Likewise.
16808
16809         getopt-posix: avoid spurious failure on Solaris
16810         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
16811         an indicator that setting optind=1 is sufficient for reset.
16812
16813         getopt-posix: avoid spurious failure on FreeBSD
16814         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
16815         in POSIX mode, since the m4 test uses it.
16816
16817         gnulib-tool: silence warning on BSD sh
16818         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
16819
16820 2010-04-13  Jim Meyering  <meyering@redhat.com>
16821
16822         doc: users.txt: GNU patch now uses gnulib
16823         * users.txt: Add patch.
16824
16825 2010-04-12  Jim Meyering  <meyering@redhat.com>
16826
16827         maint.mk: generate more concise timing data for syntax-check rules
16828         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
16829         " done" from each line that reports a syntax-check test duration.
16830
16831 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
16832
16833         git-version-gen: use "git update-index..." rather than "git status"
16834         * build-aux/git-version-gen: Use git update-index --refresh, not
16835         "git status".  With some versions of git, "git status" would fail
16836         to update the index and result in an unwarranted "-dirty" suffix.
16837
16838 2010-04-11  Jim Meyering  <meyering@redhat.com>
16839
16840         openat: correct formatting (no semantic change)
16841         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
16842         Suggested by Bruno Haible.
16843
16844 2010-04-11  Bruno Haible  <bruno@clisp.org>
16845
16846         Stricter declaration checking in testdirs.
16847         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
16848         If for_tests is true, augment AM_CPPFLAGS to define
16849         GNULIB_STRICT_CHECKING.
16850         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
16851         GNULIB_STRICT_CHECKING is defined, verify that the function is
16852         declared.
16853
16854 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
16855             Bruno Haible  <bruno@clisp.org>
16856
16857         libunistring: Improve configure output.
16858         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
16859         Don't say "consider installing GNU libunistring" when checking again
16860         with libiconv.
16861
16862 2010-04-11  Bruno Haible  <bruno@clisp.org>
16863
16864         libunistring: Correct value of $LTLIBUNISTRING.
16865         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
16866         correct the value of $LTLIBUNISTRING.
16867
16868 2010-04-11  Bruno Haible  <bruno@clisp.org>
16869
16870         havelib: Add static libraries to LIBS in the right order.
16871         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
16872         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
16873
16874 2010-04-11  Bruno Haible  <bruno@clisp.org>
16875
16876         libunistring: Detect libunistring also when it depends on libiconv.
16877         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
16878         the second AC_LIB_HAVE_LINKFLAGS invocation.
16879
16880 2010-04-11  James Youngman  <jay@gnu.org>
16881
16882         close-stream: declare local scalars to be "const"
16883         * lib/close-stream.c (close_stream): Make boolean variables const
16884         to document the fact that we set but do not change them.
16885
16886 2010-04-11  Bruno Haible  <bruno@clisp.org>
16887
16888         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
16889
16890 2010-04-11  Jim Meyering  <meyering@redhat.com>
16891
16892         maint.mk: don't include dist-check.mk
16893         * top/maint.mk: Remove bogus include directive.
16894
16895         maint.mk: improve empty-line-at-EOF check
16896         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
16897         solution, rather than tail+Perl-based one.  The latter would read
16898         a few kilobytes from the end of each file, and did not handle empty
16899         files properly.
16900
16901         maint.mk: print the elapsed time for each syntax-check rule
16902         * top/maint.mk (sc_m_rules_): Save start time in a file.
16903         (sc_z_rules_): New rules: remove temp file and print elapsed time.
16904         (local-check): Interpose the .z rules
16905
16906 2010-04-11  Jim Meyering  <meyering@redhat.com>
16907
16908         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
16909         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
16910         empty file with one that ends in an empty line.
16911
16912 2010-04-10  Bruno Haible  <bruno@clisp.org>
16913
16914         mkdir: Make it work on mingw64.
16915         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
16916         * lib/mkdir.c: Update comment.
16917         Reported by Roman Donchenko (Роман Ð”онченко) <dxdragon@yandex.ru>.
16918
16919 2010-04-10  Bruno Haible  <bruno@clisp.org>
16920
16921         Don't override improved macro from newer autoconf.
16922         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
16923         autoconf >= 2.62.
16924         Reported by Joel E. Denny <jdenny@clemson.edu>.
16925
16926 2010-04-10  Jim Meyering  <meyering@redhat.com>
16927
16928         maint.mk: new syntax-check rule: prohibit empty lines at end of file
16929         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
16930
16931         maint.mk: correct a diagnostic
16932         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
16933         in diagnostic; now use $prohibit.
16934
16935 2010-04-10  Bruno Haible  <address@hidden>
16936
16937         fchownat: Fix a C++ test error on Solaris 8.
16938         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
16939         the function does not exist.
16940
16941 2010-04-10  Bruno Haible  <bruno@clisp.org>
16942
16943         vasnprintf: Add more tests.
16944         * tests/test-vasnprintf-posix.c: Include <errno.h>.
16945         (test_function): Test converting an invalid wide string.
16946
16947         vasnprintf: Correct handling of unconvertible wide string arguments.
16948         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
16949         VASNPRINTF.
16950         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
16951         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
16952         smaller than the expected maximum need for the directive. Set errno to
16953         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
16954         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
16955         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
16956         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
16957         * modules/vasnprintf (Files): Add m4/printf.m4.
16958         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
16959
16960 2010-04-10  Bruno Haible  <bruno@clisp.org>
16961
16962         vasnprintf: Fix crash in %ls directive.
16963         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
16964         string is passed as argument to %ls, with no precision and no width.
16965         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
16966
16967 2010-04-10  Bruno Haible  <bruno@clisp.org>
16968
16969         vasnprintf: Fix multiple test failures on mingw.
16970         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
16971         _snprintf, or snwprintf, not _snwprintf.
16972
16973 2010-04-10  Bruno Haible  <bruno@clisp.org>
16974
16975         write: Fix a C++ test error on mingw.
16976         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
16977
16978 2010-04-10  Bruno Haible  <bruno@clisp.org>
16979
16980         vasnprintf test: Reduce code duplication.
16981         * tests/test-vasnprintf.c (test_function): New function, extracted from
16982         test_vasnprintf.
16983         (test_vasnprintf, test_asnprintf): Invoke it.
16984
16985 2010-04-10  Bruno Haible  <bruno@clisp.org>
16986
16987         strnlen: Fix warning in C++ mode on MacOS X.
16988         * lib/string.in.h (strnlen): Use the modern idiom.
16989         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
16990         defining strnlen as a macro already in <config.h>.
16991         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
16992         REPLACE_STRNLEN.
16993         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
16994         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
16995
16996 2010-04-08  James Youngman  <jay@gnu.org>
16997
16998         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
16999         the example.
17000
17001 2010-04-09  Jim Meyering  <meyering@redhat.com>
17002
17003         maint.mk: print better diagnostic when there is no $(_hv_file)
17004         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
17005         announce that when $(_hv_file) (aka help-version) does not exist.
17006
17007         init.sh: run tr in the "C" locale to avoid multibyte interpretation
17008         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
17009         not try to interpret its random input bytes.  Jarno Rajahalme reported
17010         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
17011         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
17012         (mktempd_): Likewise, just in case.
17013
17014         ftruncate: add two years to projected module removal date: 2012
17015         * m4/ftruncate.m4: Adjust comments.
17016
17017         ftruncate: mark module as obsolete; even MinGW provides it, now
17018         * modules/ftruncate (Status): Obsolete.
17019         (Notice): Say that.
17020         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
17021         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
17022
17023 2010-04-08  Bruno Haible  <bruno@clisp.org>
17024
17025         Fix side effects from tests-related modules.
17026         * modules/dprintf-posix (Comment): New section.
17027         * modules/fprintf-posix (Comment): Likewise.
17028         * modules/obstack-printf-posix (Comment): Likewise.
17029         * modules/printf-posix (Comment): Likewise.
17030         * modules/snprintf-posix (Comment): Likewise.
17031         * modules/sprintf-posix (Comment): Likewise.
17032         * modules/vasnprintf-posix (Comment): Likewise.
17033         * modules/vasprintf-posix (Comment): Likewise.
17034         * modules/vdprintf-posix (Comment): Likewise.
17035         * modules/vfprintf-posix (Comment): Likewise.
17036         * modules/vprintf-posix (Comment): Likewise.
17037         * modules/vsnprintf-posix (Comment): Likewise.
17038         * modules/vsprintf-posix (Comment): Likewise.
17039         * modules/xprintf-posix (Comment): Likewise.
17040         * modules/xvasprintf-posix (Comment): Likewise.
17041         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
17042         * modules/floorf-tests (Depends-on): Likewise.
17043         * modules/round-tests (Depends-on): Likewise.
17044         * modules/roundf-tests (Depends-on): Likewise.
17045         * modules/trunc-tests (Depends-on): Likewise.
17046         * modules/truncf-tests (Depends-on): Likewise.
17047         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
17048         'fprintf-posix' module is not present.
17049         * tests/test-floorf2.c (check): Likewise.
17050         * tests/test-trunc2.c (check): Likewise.
17051         * tests/test-truncf2.c (check): Likewise.
17052         * tests/test-round2.c (equal): Likewise.
17053         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
17054
17055 2010-04-07  Karl Berry  <karl@gnu.org>
17056
17057         * config/srclist.txt,
17058         * config/srclistvars.sh,
17059         * config/srclist-update: doc fixes.
17060
17061 2010-04-07  Jim Meyering  <meyering@redhat.com>
17062
17063         maint.mk: add a PATH crosschecking syntax-check rule
17064         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
17065         Useful if you use a test like the one in help-version (coreutils,
17066         diffutils, grep, gzip) that ensures $(VERSION) matches what is
17067         printed by prog --version.
17068
17069 2010-04-06  Bruno Haible  <bruno@clisp.org>
17070
17071         Fix link error on mingw.
17072         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
17073         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
17074
17075 2010-04-06  Bruno Haible  <bruno@clisp.org>
17076
17077         Assume rmdir exists.
17078         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
17079
17080 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
17081
17082         doc: update users.txt
17083         * users.txt: Add gcal.
17084
17085 2010-04-06  Jim Meyering  <meyering@redhat.com>
17086
17087         init.sh: simply unset TMPDIR rather than risking env -i
17088         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
17089         although it probably works fine on all Unix-based systems, some
17090         systems (Cygwin?) cannot tolerate a totally cleared environment.
17091         Suggestion from Eric Blake.
17092
17093 2010-04-06  Jim Meyering  <meyering@redhat.com>
17094
17095         init.sh: portability fix: use env's POSIX-specified -i option not -u
17096         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
17097         than unportable env -u.  Solaris 5.11's env lacks support for -u.
17098
17099 2010-04-05  Bruno Haible  <bruno@clisp.org>
17100
17101         btowc: Work around Cygwin 1.7.2 bug.
17102         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
17103         does not map NUL to 0.
17104         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
17105
17106 2010-04-05  Bruno Haible  <bruno@clisp.org>
17107
17108         Make the multithread modules work on Cygwin 1.7.2.
17109         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
17110         imported symbols can be declared weak, so that it returns "no" on
17111         Cygwin 1.7.2.
17112
17113 2010-04-05  Bruno Haible  <bruno@clisp.org>
17114
17115         Use the module 'strncat'.
17116         * modules/unistr/u8-strncat (Depends-on): Add strncat.
17117
17118         Tests for module 'strncat'.
17119         * modules/strncat-tests: New file.
17120         * tests/test-strncat.c: New file.
17121
17122         New module 'strncat'.
17123         * lib/string.in.h (strncat): New declaration.
17124         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
17125         * m4/strncat.m4: New file, based on m4/memchr.m4.
17126         * modules/strncat: New file.
17127         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
17128         is declared.
17129         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
17130         REPLACE_STRNCAT.
17131         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
17132         REPLACE_STRNCAT.
17133         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
17134         module.
17135         * tests/test-string-c++.cc: Check signature of strncat.
17136
17137 2010-04-05  Jim Meyering  <meyering@redhat.com>
17138
17139         xstrtoumax-tests: convert to use init.sh
17140         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
17141         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
17142         Use Exit, not exit.
17143         Remove uses of $EXEEXT and "./" to run a program in the current dir.
17144
17145         xstrtoimax-tests: convert to use init.sh
17146         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
17147         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
17148         Use Exit, not exit.
17149         Remove uses of $EXEEXT and "./" to run a program in the current dir.
17150
17151 2010-04-05  Bruno Haible  <bruno@clisp.org>
17152
17153         sys_socket: Avoid #define replacements in C++ mode.
17154         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
17155         warning to the function if possible, rather than #defining the symbol
17156         to a dysfunctional alias.
17157
17158 2010-04-05  Bruno Haible  <bruno@clisp.org>
17159
17160         fseeko: Fix C++ test error on mingw.
17161         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
17162         gl_FUNC_FSEEKO.
17163         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
17164         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
17165         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
17166         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
17167
17168 2010-04-05  Bruno Haible  <bruno@clisp.org>
17169
17170         duplocale: Improve test output.
17171         * tests/test-duplocale.c (main): Print reason for skipped test.
17172
17173 2010-04-05  Bruno Haible  <bruno@clisp.org>
17174
17175         Assume rmdir exists.
17176         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
17177         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
17178
17179 2010-04-05  Bruno Haible  <bruno@clisp.org>
17180
17181         Fix link error on Solaris 8 with cc.
17182         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
17183
17184 2010-04-05  Bruno Haible  <bruno@clisp.org>
17185
17186         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
17187         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
17188
17189 2010-04-05  Bruno Haible  <bruno@clisp.org>
17190
17191         vasprintf: Update documentation.
17192         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
17193
17194 2010-04-05  Bruno Haible  <bruno@clisp.org>
17195
17196         ptsname: Improve test.
17197         * tests/test-ptsname.c (main): Also try the various master names of BSD
17198         systems.
17199
17200 2010-04-05  Bruno Haible  <bruno@clisp.org>
17201
17202         memchr: Avoid a possible C++ test error.
17203         * lib/string.in.h (memchr): Provide declaration if function is missing.
17204         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
17205         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
17206         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
17207         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
17208
17209 2010-04-05  Bruno Haible  <bruno@clisp.org>
17210
17211         strtok_r: Improve idiom.
17212         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
17213         AC_LIBOBJ is used.
17214
17215 2010-04-05  Bruno Haible  <bruno@clisp.org>
17216
17217         strdup: Improve idiom.
17218         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
17219         AC_LIBOBJ is used.
17220         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
17221         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
17222         when AC_LIBOBJ is used.
17223
17224 2010-04-05  Bruno Haible  <bruno@clisp.org>
17225
17226         mbsinit, mbrtowc, wcrtomb: Improve idioms.
17227         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
17228         don't set REPLACE_MBSINIT to 1.
17229         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
17230         don't set REPLACE_MBRTOWC to 1.
17231         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
17232         exist, don't set REPLACE_MBSRTOWCS to 1.
17233         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
17234         exist, don't set REPLACE_MBSNRTOWCS to 1.
17235         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
17236         don't set REPLACE_WCRTOMB to 1.
17237         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
17238         exist, don't set REPLACE_WCSRTOMBS to 1.
17239         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
17240         exist, don't set REPLACE_WCSNRTOMBS to 1.
17241
17242 2010-04-05  Bruno Haible  <bruno@clisp.org>
17243
17244         ldexpl: Improve idiom.
17245         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
17246         make sure to set HAVE_DECL_LDEXPL to 0.
17247
17248 2010-04-05  Jim Meyering  <meyering@redhat.com>
17249
17250         xstrtol-tests: convert to use init.sh
17251         * modules/xstrtol-tests (Files): Add tests/init.sh.
17252         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
17253         Use Exit, not exit.
17254         Remove uses of $EXEEXT and "./" to run a program in the current dir.
17255
17256         atexit-tests: convert to use init.sh
17257         * modules/atexit-tests (Files): Add tests/init.sh.
17258         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
17259         Use Exit, not exit.
17260         Remove uses of $EXEEXT and "./" to run a program in the current dir.
17261
17262         init.sh: fix typo
17263         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
17264
17265         init.sh: make it easier for a test script to write to the tty, ...
17266         when using automake's parallel-tests mode.
17267         * tests/init.sh (stderr_fileno_): Define overridable variable.
17268         (warn_): New function, to use it.
17269         (fail_, skip_, framework_failure_): Use warn_.
17270
17271 2010-04-04  Bruno Haible  <bruno@clisp.org>
17272
17273         btowc: Avoid warning.
17274         * lib/btowc.c: Include <stdlib.h>.
17275         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
17276
17277 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
17278             Bruno Haible  <bruno@clisp.org>
17279
17280         wchar: Port to NetBSD 1.5.
17281         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
17282         * lib/wctype.in.h (WEOF): Likewise.
17283
17284 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
17285             Bruno Haible  <bruno@clisp.org>
17286
17287         Port extended stdio to NetBSD 1.5.
17288         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
17289         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
17290         older.
17291
17292 2010-04-04  Bruno Haible  <bruno@clisp.org>
17293
17294         string: Remove unused substitution.
17295         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
17296         HAVE_DECL_STRERROR.
17297         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
17298
17299 2010-04-04  Bruno Haible  <bruno@clisp.org>
17300
17301         strtod: Avoid a possible C++ test error.
17302         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
17303         set REPLACE_STRTOD.
17304
17305 2010-04-04  Bruno Haible  <bruno@clisp.org>
17306
17307         strerror: Update documentation.
17308         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
17309
17310 2010-04-04  Bruno Haible  <bruno@clisp.org>
17311
17312         stdio: Fix some C++ test errors on Solaris 8 with GCC.
17313         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
17314         _GL_CXXALIAS_SYS_CAST.
17315
17316 2010-04-04  Bruno Haible  <bruno@clisp.org>
17317
17318         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
17319         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
17320         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
17321         REPLACE_FREXPL to 1.
17322         * doc/posix-functions/frexpl.texi: Update documentation.
17323
17324 2010-04-04  Bruno Haible  <bruno@clisp.org>
17325
17326         math: Fix some C++ test errors on Solaris 8 and Cygwin.
17327         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
17328
17329 2010-04-04  Bruno Haible  <bruno@clisp.org>
17330
17331         Implement nanosleep for native Windows.
17332         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
17333
17334 2010-04-04  Bruno Haible  <bruno@clisp.org>
17335
17336         math: Fix some C++ test errors on Solaris 8.
17337         * lib/math.in.h (truncf, trunc): Use simpler idiom.
17338
17339 2010-04-04  Bruno Haible  <bruno@clisp.org>
17340
17341         math: Fix some C++ test errors on Cygwin.
17342         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
17343         truncl): Provide declaration if the system does not have it.
17344         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
17345         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
17346         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
17347         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
17348         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
17349         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
17350         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
17351         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
17352         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
17353         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
17354         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
17355         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
17356         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
17357         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
17358         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
17359         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
17360         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
17361         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
17362         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
17363         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
17364         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
17365         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
17366
17367 2010-04-04  Bruno Haible  <bruno@clisp.org>
17368
17369         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
17370         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
17371         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
17372         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
17373         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
17374         * m4/isinf.m4 (gl_ISINF): Likewise.
17375         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
17376
17377 2010-04-04  Bruno Haible  <bruno@clisp.org>
17378
17379         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
17380         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
17381
17382 2010-04-04  Bruno Haible  <bruno@clisp.org>
17383
17384         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
17385         * modules/tmpfile (configure.ac): Update.
17386
17387         tmpfile: Fix C++ test error on mingw.
17388         * lib/stdio.in.h (tmpfile): New declaration.
17389         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
17390         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
17391         * modules/tmpfile (Depends-on): Add stdio.
17392         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
17393         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
17394         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
17395         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
17396         REPLACE_TMPFILE.
17397         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
17398
17399 2010-04-04  Bruno Haible  <bruno@clisp.org>
17400
17401         ioctl: Fix C++ test error on mingw.
17402         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
17403         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
17404         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
17405
17406 2010-04-03  Bruno Haible  <bruno@clisp.org>
17407
17408         wcwidth: Fix C++ test error on mingw.
17409         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
17410         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
17411         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
17412
17413 2010-04-03  Bruno Haible  <bruno@clisp.org>
17414
17415         nanosleep: Fix C++ test error on mingw.
17416         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
17417         * lib/time.in.h (nanosleep): Use modern idiom.
17418         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
17419         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
17420         REPLACE_NANOSLEEP to 1.
17421         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
17422         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
17423
17424 2010-04-03  Bruno Haible  <bruno@clisp.org>
17425
17426         strptime: Fix C++ test error on mingw.
17427         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
17428         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
17429         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
17430         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
17431         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
17432         not REPLACE_STRPTIME.
17433         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
17434         REPLACE_STRPTIME.
17435
17436 2010-04-03  Bruno Haible  <bruno@clisp.org>
17437
17438         timegm: Fix C++ test error on mingw.
17439         * lib/time.in.h (timegm): Use modern idiom.
17440         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
17441         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
17442         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
17443         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
17444
17445 2010-04-03  Bruno Haible  <bruno@clisp.org>
17446
17447         timegm: Assume declaration if function exists.
17448         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
17449         if it exists. Don't clobber ac_cv_func_timegm.
17450
17451 2010-04-03  Bruno Haible  <bruno@clisp.org>
17452
17453         time_r: Fix C++ test error on mingw.
17454         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
17455         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
17456         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
17457         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
17458         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
17459
17460 2010-04-03  Bruno Haible  <bruno@clisp.org>
17461
17462         time_r: Minor updates.
17463         * modules/time_r (Description): Mention the provided functions.
17464         * lib/time_r.c: Don't include <string.h>.
17465         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
17466         * doc/posix-functions/localtime_r.texi: Likewise.
17467
17468 2010-04-03  Bruno Haible  <bruno@clisp.org>
17469
17470         time: Fix regression introduced on 2010-03-08.
17471         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
17472         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
17473
17474 2010-04-03  Jim Meyering  <meyering@redhat.com>
17475
17476         maint.mk: don't silently disable project-specific syntax-check rules
17477         * top/maint.mk (_prohibit_regexp): Define, to help people realize
17478         that they need to convert their project-specific syntax-check rules
17479         to use the new _sc_search_regexp.
17480
17481 2010-04-03  Bruno Haible  <bruno@clisp.org>
17482
17483         fchdir: Fix regression introduced on 2010-03-08.
17484         * lib/unistd.in.h (fchdir): Fix declaration.
17485         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
17486         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
17487         REPLACE_FCHDIR.
17488         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
17489         REPLACE_FCHDIR.
17490
17491 2010-04-03  Bruno Haible  <bruno@clisp.org>
17492
17493         getpagesize: Fix C++ test error on mingw.
17494         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
17495         system does not declare the function.
17496         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
17497         declared.
17498         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
17499         HAVE_DECL_GETPAGESIZE.
17500         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
17501
17502 2010-04-03  Bruno Haible  <bruno@clisp.org>
17503
17504         stdio: Make C++ tests work on mingw.
17505         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
17506         does not declare the function.
17507
17508 2010-04-03  Bruno Haible  <bruno@clisp.org>
17509
17510         ftello: Fix C++ test error on mingw.
17511         * lib/stdio.in.h (ftello): Use modern idiom.
17512         * lib/ftello.c (ftello): Renamed from rpl_ftello.
17513         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
17514         is missing and that it needs to be replaced.
17515         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
17516         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
17517         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
17518
17519 2010-04-03  Bruno Haible  <bruno@clisp.org>
17520
17521         fseeko: Fix C++ test error on mingw.
17522         * lib/stdio.in.h (fseeko): Use modern idiom.
17523         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
17524         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
17525         is missing and that it needs to be replaced.
17526         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
17527         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
17528         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
17529
17530 2010-04-03  Bruno Haible  <bruno@clisp.org>
17531
17532         mkstemp: Fix C++ test error on mingw.
17533         * lib/stdlib.in.h (mkstemp): Use modern idiom.
17534         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
17535         function is missing and that it needs to be replaced.
17536         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
17537         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
17538
17539 2010-04-03  Bruno Haible  <bruno@clisp.org>
17540
17541         stpncpy: Fix C++ test error on mingw.
17542         * lib/string.in.h (stpncpy): Use modern idiom.
17543         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
17544         function is missing and that it needs to be replaced.
17545         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
17546         REPLACE_STPNCPY.
17547         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
17548
17549 2010-04-03  Bruno Haible  <bruno@clisp.org>
17550
17551         sys_stat: Fix C++ test error on mingw.
17552         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
17553         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
17554
17555 2010-04-03  Bruno Haible  <bruno@clisp.org>
17556
17557         pty: Update doc.
17558         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
17559
17560 2010-04-03  Bruno Haible  <bruno@clisp.org>
17561
17562         unistd: Fix C++ test error on mingw.
17563         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
17564
17565 2010-04-03  Bruno Haible  <bruno@clisp.org>
17566
17567         Update doc regarding mingw.
17568         * doc/glibc-functions/openpty.texi: Update regarding mingw.
17569         * doc/glibc-functions/login_tty.texi: Likewise.
17570         * doc/glibc-functions/forkpty.texi: Likewise.
17571
17572 2010-04-03  Bruno Haible  <bruno@clisp.org>
17573
17574         stdlib: Avoid compilation failure of c-strtold on mingw.
17575         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
17576
17577 2010-04-03  Bruno Haible  <bruno@clisp.org>
17578
17579         locale: Make C++ tests work on Cygwin and mingw.
17580         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
17581         cannot provide the function.
17582         Reported by Simon Josefsson.
17583
17584 2010-04-03  Bruno Haible  <bruno@clisp.org>
17585
17586         localename: Port to MacOS X 10.6.
17587         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
17588         memory layout of the locales in MacOS X 10.6 as well.
17589         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
17590
17591 2010-04-02  Bruno Haible  <bruno@clisp.org>
17592
17593         gnulib-tool: Ensure that long-running tests are executed last.
17594         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
17595         running tests after the one for the other tests.
17596
17597 2010-04-02  Bruno Haible  <bruno@clisp.org>
17598
17599         gnulib-tool: Ensure the tests in the main directory are executed first.
17600         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
17601         start with the current directory.
17602
17603 2010-04-02  Bruno Haible  <bruno@clisp.org>
17604
17605         Tests for module 'havelib', moved here from GNU gettext.
17606         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
17607         modifications.
17608         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
17609         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
17610         with modifications.
17611         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
17612         modifications.
17613         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
17614         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
17615         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
17616         with modifications.
17617         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
17618         with modifications.
17619         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
17620         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
17621         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
17622         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
17623         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
17624         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
17625         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
17626         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
17627         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
17628         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
17629         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
17630         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
17631         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
17632         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
17633         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
17634         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
17635         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
17636         with modifications.
17637         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
17638         with modifications.
17639         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
17640         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
17641         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
17642         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
17643         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
17644         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
17645         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
17646         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
17647         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
17648         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
17649         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
17650         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
17651         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
17652         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
17653         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
17654         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
17655         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
17656         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
17657         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
17658         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
17659         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
17660         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
17661         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
17662         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
17663         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
17664         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
17665         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
17666         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
17667         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
17668         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
17669         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
17670         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
17671         * tests/havelib/rpathx/rpathx.c: New file, from
17672         gettext/autoconf-lib-link.
17673         * tests/havelib/rpathx/Makefile.am: New file, from
17674         gettext/autoconf-lib-link.
17675         * tests/havelib/rpathx/configure.ac: New file, from
17676         gettext/autoconf-lib-link with modifications.
17677         * tests/havelib/rpathy/rpathy.c: New file, from
17678         gettext/autoconf-lib-link.
17679         * tests/havelib/rpathy/Makefile.am: New file, from
17680         gettext/autoconf-lib-link.
17681         * tests/havelib/rpathy/configure.ac: New file, from
17682         gettext/autoconf-lib-link with modifications.
17683         * tests/havelib/rpathz/rpathz.c: New file, from
17684         gettext/autoconf-lib-link.
17685         * tests/havelib/rpathz/Makefile.am: New file, from
17686         gettext/autoconf-lib-link.
17687         * tests/havelib/rpathz/configure.ac: New file, from
17688         gettext/autoconf-lib-link with modifications.
17689         * tests/havelib/rpathlx/usex.c: New file, from
17690         gettext/autoconf-lib-link.
17691         * tests/havelib/rpathlx/Makefile.am: New file, from
17692         gettext/autoconf-lib-link.
17693         * tests/havelib/rpathlx/configure.ac: New file, from
17694         gettext/autoconf-lib-link with modifications.
17695         * tests/havelib/rpathly/usey.c: New file, from
17696         gettext/autoconf-lib-link.
17697         * tests/havelib/rpathly/Makefile.am: New file, from
17698         gettext/autoconf-lib-link.
17699         * tests/havelib/rpathly/configure.ac: New file, from
17700         gettext/autoconf-lib-link with modifications.
17701         * tests/havelib/rpathlz/usez.c: New file, from
17702         gettext/autoconf-lib-link.
17703         * tests/havelib/rpathlz/Makefile.am: New file, from
17704         gettext/autoconf-lib-link.
17705         * tests/havelib/rpathlz/configure.ac: New file, from
17706         gettext/autoconf-lib-link with modifications.
17707         * tests/havelib/rpathlyx/usey.c: New file, from
17708         gettext/autoconf-lib-link.
17709         * tests/havelib/rpathlyx/Makefile.am: New file, from
17710         gettext/autoconf-lib-link.
17711         * tests/havelib/rpathlyx/configure.ac: New file, from
17712         gettext/autoconf-lib-link with modifications.
17713         * tests/havelib/rpathlzyx/usez.c: New file, from
17714         gettext/autoconf-lib-link.
17715         * tests/havelib/rpathlzyx/Makefile.am: New file, from
17716         gettext/autoconf-lib-link.
17717         * tests/havelib/rpathlzyx/configure.ac: New file, from
17718         gettext/autoconf-lib-link with modifications.
17719         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
17720         with modifications.
17721
17722 2010-04-02  Bruno Haible  <bruno@clisp.org>
17723
17724         gnulib-tool: Create distributed built sources also for the tests.
17725         * gnulib-tool (func_create_testdir): Also generate distributed built
17726         sources in the tests directory.
17727
17728 2010-04-02  Bruno Haible  <bruno@clisp.org>
17729
17730         gnulib-tool: Obey user's environment variables.
17731         * gnulib-tool (func_create_testdir): When creating built sources,
17732         respect the environment variables for autoconf, automake, etc. given by
17733         the user.
17734
17735 2010-04-02  Bruno Haible  <bruno@clisp.org>
17736
17737         gnulib-tool: Provide the value of --m4-base to modules.
17738         * gnulib-tool (func_import, func_create_testdir): Emit a definition
17739         of gl_m4_base.
17740
17741 2010-04-02  Eric Blake  <eblake@redhat.com>
17742
17743         maint.mk: fix some fallout
17744         * NEWS: Document the incompatible change, and its effect on cfg.mk.
17745         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
17746
17747 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
17748
17749         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
17750         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
17751         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
17752         (sc_cast_of_x_alloc_return_value): Likewise.
17753         (sc_cast_of_alloca_return_value): Likewise.
17754         (sc_space_tab): Likewise.
17755         (sc_prohibit_atoi_atof): Likewise.
17756         (sc_prohibit_magic_number_exit): Likewise.
17757         (sc_error_exit_success): Likewise.
17758         (sc_file_system): Likewise.
17759         (sc_prohibit_have_config_h): Likewise.
17760         (sc_require_config_h): Likewise.
17761         (sc_prohibit_HAVE_MBRTOWC): Likewise.
17762         (sc_obsolete_symbols): Likewise.
17763         (sc_changelog): Likewise.
17764         (sc_program_name): Likewise.
17765         (sc_the_the): Likewise.
17766         (sc_trailing_blank): Likewise.
17767         (sc_two_space_separator_in_usage): Likewise.
17768         (sc_useless_cpp_parens): Likewise.
17769         (sc_GPL_version): Likewise.
17770         (sc_GFDL_version): Likewise.
17771         (sc_texinfo_acronym): Likewise.
17772         (sc_prohibit_cvs_keyword): Likewise.
17773         (sc_prohibit_stat_st_blocks): Likewise.
17774         (sc_prohibit_S_IS_definition): Likewise.
17775         (sc_redundant_const): Likewise.
17776         (sc_makefile_TAB_only_indentation): Likewise.
17777         (sc_m4_quote_check): Likewise.
17778         (sc_makefile_path_separator_check): Likewise.
17779         (sc_copyright_check): Likewise.
17780         (sc_Wundef_boolean): Likewise.
17781         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
17782
17783         maint.mk: match 0 or more whitespace-before-function-call '('
17784         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
17785         that have zero or two-and-more spaces between the function name
17786         and the open parenthesis.
17787         (sc_error_message_warn_fatal): Likewise.
17788         (sc_error_message_uppercase): Likewise.
17789         (sc_error_message_period): Likewise.
17790
17791 2010-03-31  Eric Blake  <eblake@redhat.com>
17792
17793         maint.mk: check for [ as well as test
17794         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
17795         Based on a libvirt report by Matthias Bolte.
17796
17797         gnumakefile: don't squelch _version output
17798         * top/GNUmakefile (_version): Create one-shot dependency rather
17799         than using $(shell) when version must be regenerated.
17800         (_autoreconf): Run verbosely, by default.
17801
17802         sys_time: avoid compiler warnings
17803         * lib/sys_time.in.h (includes): Ensure gcc pragma is
17804         unconditional, fixing regression from 2010-03-29.
17805         Reported by Simon Josefsson.
17806
17807 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
17808
17809         maint.mk: s/_header_without_use/_sc_header_without_use/
17810         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
17811         (sc_prohibit_assert_without_use): Use the new name.
17812         (sc_prohibit_close_stream_without_use): Likewise.
17813         (sc_prohibit_getopt_without_use): Likewise.
17814         (sc_prohibit_quotearg_without_use): Likewise.
17815         (sc_prohibit_quote_without_use): Likewise.
17816         (sc_prohibit_long_options_without_use): Likewise.
17817         (sc_prohibit_inttostr_without_use): Likewise.
17818         (sc_prohibit_ignore_value_without_use): Likewise.
17819         (sc_prohibit_error_without_use): Likewise.
17820         (sc_prohibit_xalloc_without_use): Likewise.
17821         (sc_prohibit_hash_without_use): Likewise.
17822         (sc_prohibit_hash_pjw_without_use): Likewise.
17823         (sc_prohibit_safe_read_without_use): Likewise.
17824         (sc_prohibit_argmatch_without_use): Likewise.
17825         (sc_prohibit_canonicalize_without_use): Likewise.
17826         (sc_prohibit_root_dev_ino_without_use): Likewise.
17827         (sc_prohibit_openat_without_use): Likewise.
17828         (sc_prohibit_c_ctype_without_use): Likewise.
17829         (sc_prohibit_signal_without_use): Likewise.
17830         (sc_prohibit_intprops_without_use): Likewise.
17831
17832 2010-03-30  Eric Blake  <eblake@redhat.com>
17833
17834         maint: improve module indicators
17835         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
17836         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
17837         columns, and avoid extra macro expansion.
17838
17839         fdopendir: work around FreeBSD bug
17840         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
17841         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
17842         * modules/dirent (Makefile.am): Substitute it.
17843         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
17844         declaration.
17845         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
17846         fix.
17847         Reported by Christian Weisgerber <naddy@mips.inka.de>.
17848
17849 2010-03-29  Bruno Haible  <bruno@clisp.org>
17850
17851         Emit #pragma system_header after the inclusion guard, not before.
17852         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
17853         guard that spans the entire file, not before. This enables an
17854         optimization in GCC's preprocessor.
17855         * lib/ctype.in.h: Likewise.
17856         * lib/dirent.in.h: Likewise.
17857         * lib/errno.in.h: Likewise.
17858         * lib/float.in.h: Likewise.
17859         * lib/getopt.in.h: Likewise.
17860         * lib/iconv.in.h: Likewise.
17861         * lib/langinfo.in.h: Likewise.
17862         * lib/locale.in.h: Likewise.
17863         * lib/math.in.h: Likewise.
17864         * lib/netdb.in.h: Likewise.
17865         * lib/netinet_in.in.h: Likewise.
17866         * lib/pty.in.h: Likewise.
17867         * lib/sched.in.h: Likewise.
17868         * lib/se-selinux.in.h: Likewise.
17869         * lib/search.in.h: Likewise.
17870         * lib/spawn.in.h: Likewise.
17871         * lib/stdarg.in.h: Likewise.
17872         * lib/stdint.in.h: Likewise.
17873         * lib/string.in.h: Likewise.
17874         * lib/strings.in.h: Likewise.
17875         * lib/sys_file.in.h: Likewise.
17876         * lib/sys_ioctl.in.h: Likewise.
17877         * lib/sys_time.in.h: Likewise.
17878         * lib/sys_times.in.h: Likewise.
17879         * lib/sys_utsname.in.h: Likewise.
17880         * lib/sys_wait.in.h: Likewise.
17881         * lib/sysexits.in.h: Likewise.
17882         * lib/wctype.in.h: Likewise.
17883
17884 2010-03-28  James Youngman  <jay@gnu.org>
17885
17886         save-cwd: don't leak a file descriptor when the caller execs.
17887         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
17888         saved file descriptor.
17889         * modules/save-cwd (Depends-on): Depend on cloexec.
17890
17891 2010-03-29  Bruno Haible  <bruno@clisp.org>
17892
17893         Remove vestiges of fts-lgpl module.
17894         * lib/fts_.h: Assume GNULIB_FTS is 1.
17895         * lib/fts.c: Likewise.
17896         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
17897
17898 2010-03-28  Bruno Haible  <bruno@clisp.org>
17899
17900         Fix definition of tests witness macro.
17901         * gnulib-tool (func_import): Fix definition of witness macro.
17902
17903 2010-03-28  Bruno Haible  <bruno@clisp.org>
17904
17905         Fix ioctl's protoype on glibc systems.
17906         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
17907         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
17908         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
17909         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
17910         signature. If not, arrange to replace the ioctl function.
17911         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
17912         REPLACE_IOCTL.
17913         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
17914         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
17915         Reported by Ludovic Courtès <ludo@gnu.org>.
17916
17917 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
17918
17919         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
17920         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
17921         made it so grep -r --include=GLOB* ... did not work.
17922
17923 2010-03-26  Jim Meyering  <meyering@redhat.com>
17924             Eric Blake  <eblake@redhat.com>
17925
17926         maint.mk: prohibit use of test's -o and -a operators
17927         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
17928
17929 2010-03-28  Bruno Haible  <bruno@clisp.org>
17930
17931         Remove unused GNULIB_XYZ macro definitions.
17932         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
17933         invocation.
17934
17935 2010-03-28  Bruno Haible  <bruno@clisp.org>
17936
17937         Mark privileged tests modules.
17938         * modules/idpriv-drop-tests (Status): New section.
17939         * modules/idpriv-droptemp-tests (Status): New section.
17940
17941 2010-03-28  Bruno Haible  <bruno@clisp.org>
17942
17943         Split C++ tests into separate tests modules.
17944         * modules/dirent-c++-tests: New file, extracted from
17945         modules/dirent-tests.
17946         * modules/dirent-tests: Depend on it.
17947         * modules/fcntl-h-c++-tests: New file, extracted from
17948         modules/fcntl-h-tests.
17949         * modules/fcntl-h-tests: Depend on it.
17950         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
17951         * modules/glob-tests: Depend on it.
17952         * modules/iconv-h-c++-tests: New file, extracted from
17953         modules/iconv-h-tests.
17954         * modules/iconv-h-tests: Depend on it.
17955         * modules/langinfo-c++-tests: New file, extracted from
17956         modules/langinfo-tests.
17957         * modules/langinfo-tests: Depend on it.
17958         * modules/locale-c++-tests: New file, extracted from
17959         modules/locale-tests.
17960         * modules/locale-tests: Depend on it.
17961         * modules/math-c++-tests: New file, extracted from modules/math-tests.
17962         * modules/math-tests: Depend on it.
17963         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
17964         * modules/pty-tests: Depend on it.
17965         * modules/search-c++-tests: New file, extracted from
17966         modules/search-tests.
17967         * modules/search-tests: Depend on it.
17968         * modules/signal-c++-tests: New file, extracted from
17969         modules/signal-tests.
17970         * modules/signal-tests: Depend on it.
17971         * modules/spawn-c++-tests: New file, extracted from
17972         modules/spawn-tests.
17973         * modules/spawn-tests: Depend on it.
17974         * modules/stdio-c++-tests: New file, extracted from
17975         modules/stdio-tests.
17976         * modules/stdio-tests: Depend on it.
17977         * modules/stdlib-c++-tests: New file, extracted from
17978         modules/stdlib-tests.
17979         * modules/stdlib-tests: Depend on it.
17980         * modules/string-c++-tests: New file, extracted from
17981         modules/string-tests.
17982         * modules/string-tests: Depend on it.
17983         * modules/sys_ioctl-c++-tests: New file, extracted from
17984         modules/sys_ioctl-tests.
17985         * modules/sys_ioctl-tests: Depend on it.
17986         * modules/sys_select-c++-tests: New file, extracted from
17987         modules/sys_select-tests.
17988         * modules/sys_select-tests: Depend on it.
17989         * modules/sys_socket-c++-tests: New file, extracted from
17990         modules/sys_socket-tests.
17991         * modules/sys_socket-tests: Depend on it.
17992         * modules/sys_stat-c++-tests: New file, extracted from
17993         modules/sys_stat-tests.
17994         * modules/sys_stat-tests: Depend on it.
17995         * modules/sys_time-c++-tests: New file, extracted from
17996         modules/sys_time-tests.
17997         * modules/sys_time-tests: Depend on it.
17998         * modules/time-c++-tests: New file, extracted from modules/time-tests.
17999         * modules/time-tests: Depend on it.
18000         * modules/unistd-c++-tests: New file, extracted from
18001         modules/unistd-tests.
18002         * modules/unistd-tests: Depend on it.
18003         * modules/wchar-c++-tests: New file, extracted from
18004         modules/wchar-tests.
18005         * modules/wchar-tests: Depend on it.
18006         * modules/wctype-c++-tests: New file, extracted from
18007         modules/wctype-tests.
18008         * modules/wctype-tests: Depend on it.
18009         Reported by Simon Josefsson.
18010
18011 2010-03-28  Bruno Haible  <bruno@clisp.org>
18012
18013         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
18014         * gnulib-tool (func_exists_module): New function, extracted from
18015         func_verify_module.
18016         (func_verify_module): Use it.
18017         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
18018         'foo' only if 'foo' exists.
18019         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
18020         module.
18021
18022 2010-03-28  Bruno Haible  <bruno@clisp.org>
18023
18024         gnulib-tool: Add support for special categories of tests.
18025         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
18026         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
18027         (func_usage): Document them.
18028         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
18029         inc_unportable_tests, inc_all_tests): New variables.
18030         (func_acceptable): Consider these variables.
18031         (func_modules_transitive_closure): Make it work when the 'Status' field
18032         consists of multiple words.
18033         (func_import): Store and restore the values of inc_cxx_tests,
18034         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
18035         inc_all_tests in gnulib-comp.m4.
18036         (func_create_testdir): Set inc_all_tests to true.
18037         * doc/gnulib.texi (Extra tests modules): New section.
18038         Suggested by Jim Meyering.
18039
18040 2010-03-28  Bruno Haible  <bruno@clisp.org>
18041
18042         ansi-c++-opt: Allow turning off the C++ build by default.
18043         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
18044         gl_CXX_CHOICE_DEFAULT_NO is defined.
18045         Requested by Eric Blake.
18046
18047 2010-03-28  Bruno Haible  <bruno@clisp.org>
18048
18049         unistd: Avoid #define replacements in C++ mode.
18050         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
18051         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
18052         setsockopt, shutdown, select): In C++, attach a warning to the function
18053         if possible, rather than #defining the symbol to a dysfunctional alias.
18054         Reported by John W. Eaton <jwe@gnu.org>.
18055
18056 2010-03-28  Bruno Haible  <bruno@clisp.org>
18057
18058         Fix link errors on mingw.
18059         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
18060         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
18061         $(LIBSOCKET).
18062         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
18063         $(LIBSOCKET).
18064
18065 2010-03-28  Bruno Haible  <bruno@clisp.org>
18066             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18067
18068         lib-ignore: Determine different options for different compilers.
18069         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
18070         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
18071         Add comments.
18072         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
18073         * NEWS: Mention the change.
18074
18075 2010-03-27  Bruno Haible  <bruno@clisp.org>
18076
18077         Remove unused GNULIB_XYZ macro definitions.
18078         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
18079         * modules/fseek (configure.ac): Likewise.
18080         * modules/ioctl (configure.ac): Likewise.
18081         * modules/open (configure.ac): Likewise.
18082         * modules/stdlib-safer (configure.ac): Likewise.
18083
18084 2010-03-27  Bruno Haible  <bruno@clisp.org>
18085
18086         Add a remark about certain modules.
18087         * modules/malloc (Comment): New section.
18088         * modules/realloc (Comment): Likewise.
18089         * modules/sigpipe (Comment): Likewise.
18090
18091 2010-03-27  Bruno Haible  <bruno@clisp.org>
18092
18093         Resolve conflict between the two kinds of module indicators.
18094         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
18095         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
18096         * modules/canonicalize (configure.ac): Invoke
18097         gl_MODULE_INDICATOR_FOR_TESTS.
18098         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
18099         GNULIB_XYZ.
18100         * tests/test-dirent-c++.cc: Likewise.
18101         * tests/test-dirent-safer.c: Likewise.
18102         * tests/test-dup2.c: Likewise.
18103         * tests/test-fchdir.c: Likewise.
18104         * tests/test-fcntl-h-c++.cc: Likewise.
18105         * tests/test-getopt.c: Likewise.
18106         * tests/test-getopt.h: Likewise.
18107         * tests/test-langinfo-c++.cc: Likewise.
18108         * tests/test-locale-c++.cc: Likewise.
18109         * tests/test-math-c++.cc: Likewise.
18110         * tests/test-pty-c++.cc: Likewise.
18111         * tests/test-search-c++.cc: Likewise.
18112         * tests/test-signal-c++.cc: Likewise.
18113         * tests/test-spawn-c++.cc: Likewise.
18114         * tests/test-stdio-c++.cc: Likewise.
18115         * tests/test-stdlib-c++.cc: Likewise.
18116         * tests/test-string-c++.cc: Likewise.
18117         * tests/test-sys_ioctl-c++.cc: Likewise.
18118         * tests/test-sys_select-c++.cc: Likewise.
18119         * tests/test-sys_socket-c++.cc: Likewise.
18120         * tests/test-sys_stat-c++.cc: Likewise.
18121         * tests/test-sys_time-c++.cc: Likewise.
18122         * tests/test-time-c++.cc: Likewise.
18123         * tests/test-unistd-c++.cc: Likewise.
18124         * tests/test-wchar-c++.cc: Likewise.
18125         * tests/uninorm/test-u8-nfc.c: Likewise.
18126         * tests/uninorm/test-u8-nfd.c: Likewise.
18127         * tests/uninorm/test-u8-nfkc.c: Likewise.
18128         * tests/uninorm/test-u8-nfkd.c: Likewise.
18129         * tests/uninorm/test-u16-nfc.c: Likewise.
18130         * tests/uninorm/test-u16-nfd.c: Likewise.
18131         * tests/uninorm/test-u16-nfkc.c: Likewise.
18132         * tests/uninorm/test-u16-nfkd.c: Likewise.
18133         * tests/uninorm/test-u32-nfc.c: Likewise.
18134         * tests/uninorm/test-u32-nfc-big.c: Likewise.
18135         * tests/uninorm/test-u32-nfd.c: Likewise.
18136         * tests/uninorm/test-u32-nfd-big.c: Likewise.
18137         * tests/uninorm/test-u32-nfkc.c: Likewise.
18138         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
18139         * tests/uninorm/test-u32-nfkd.c: Likewise.
18140         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
18141         * tests/uninorm/test-u32-normalize-big.c: Likewise.
18142
18143 2010-03-27  Bruno Haible  <bruno@clisp.org>
18144
18145         Distinguish two kinds of module indicators.
18146         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
18147         gl_MODULE_INDICATOR.
18148         (gl_MODULE_INDICATOR): New macro.
18149         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
18150         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
18151         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
18152         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
18153         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
18154         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
18155         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
18156         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
18157         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
18158         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
18159         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
18160         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
18161         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
18162         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
18163         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
18164         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
18165         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
18166         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
18167         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
18168         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
18169         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
18170         * modules/cloexec (configure.ac): Likewise.
18171         * modules/getopt-gnu (configure.ac): Likewise.
18172         * modules/uninorm/u8-normalize (configure.ac): Likewise.
18173         * modules/uninorm/u16-normalize (configure.ac): Likewise.
18174         * modules/uninorm/u32-normalize (configure.ac): Likewise.
18175         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
18176
18177 2010-03-27  Bruno Haible  <bruno@clisp.org>
18178
18179         New module description field 'Comment'.
18180         * gnulib-tool: New option --extract-comment.
18181         (func_usage): Document it.
18182         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
18183         (func_get_comment): New function.
18184         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
18185
18186 2010-03-27  Bruno Haible  <bruno@clisp.org>
18187
18188         Addendum to 2010-02-07 commit.
18189         * gnulib-tool (func_usage): Document --extract-applicability option.
18190
18191 2010-03-27  Bruno Haible  <bruno@clisp.org>
18192
18193         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
18194         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
18195         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
18196         rather than link errors.
18197
18198 2010-03-27  Bruno Haible  <bruno@clisp.org>
18199
18200         Avoid side effects from tests-related modules on the compilation of lib.
18201         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
18202         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
18203         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
18204         parameter. Emit into AM_CPPFLAGS a definition of the designated C
18205         macro.
18206         (func_import): Define a witness macro. Assign it a value that depends
18207         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
18208         tests-related modules.
18209         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
18210         Reported by Jim Meyering.
18211
18212 2010-03-27  Bruno Haible  <bruno@clisp.org>
18213
18214         Factorize common .m4 code.
18215         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
18216         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
18217         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
18218         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
18219         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
18220         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
18221         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
18222         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
18223         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
18224         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
18225         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
18226         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
18227         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
18228         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
18229         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
18230         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
18231         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
18232         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
18233         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
18234         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
18235         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
18236         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
18237         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
18238         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
18239         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
18240         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
18241         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
18242         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
18243         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
18244         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
18245         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
18246         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
18247
18248 2010-03-27  Bruno Haible  <bruno@clisp.org>
18249
18250         Fix a compilation error on Cygwin with g++ >= 4.3.
18251         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
18252         if it is undefined or if we alias it to chmod.
18253         (lstat): Don't warn about the use of this function if it is undefined
18254         or if we alias it to stat.
18255         Reported by Simon Josefsson.
18256
18257 2010-03-27  Bruno Haible  <bruno@clisp.org>
18258
18259         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
18260         * modules/getlogin (configure.ac): Update.
18261
18262         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
18263         * modules/getlogin_r (configure.ac): Update.
18264
18265         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
18266         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
18267         * modules/inet_ntop (configure.ac): Update.
18268
18269         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
18270         * modules/inet_pton (configure.ac): Update.
18271
18272         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
18273         * modules/mbslen (configure.ac): Update.
18274
18275         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
18276         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
18277         * modules/forkpty (configure.ac): Update.
18278         * modules/openpty (configure.ac): Update.
18279
18280 2010-03-26  Simon Josefsson  <simon@josefsson.org>
18281
18282         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
18283         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
18284
18285 2010-03-25  Eric Blake  <eblake@redhat.com>
18286
18287         maint: use pragma consistently across replacement headers
18288         * lib/ctype.in.h (system_header): Hoist for consistent placement.
18289         * lib/dirent.in.h (system_header): Likewise.
18290         * lib/errno.in.h (system_header): Likewise.
18291         * lib/float.in.h (system_header): Likewise.
18292         * lib/getopt.in.h (system_header): Likewise.
18293         * lib/iconv.in.h (system_header): Likewise.
18294         * lib/inttypes.in.h (system_header): Likewise.
18295         * lib/langinfo.in.h (system_header): Likewise.
18296         * lib/locale.in.h (system_header): Likewise.
18297         * lib/math.in.h (system_header): Likewise.
18298         * lib/netdb.in.h (system_header): Likewise.
18299         * lib/netinet_in.in.h (system_header): Likewise.
18300         * lib/pty.in.h (system_header): Likewise.
18301         * lib/sched.in.h (system_header): Likewise.
18302         * lib/se-selinux.in.h (system_header): Likewise.
18303         * lib/search.in.h (system_header): Likewise.
18304         * lib/spawn.in.h (system_header): Likewise.
18305         * lib/stdarg.in.h (system_header): Likewise.
18306         * lib/stdint.in.h (system_header): Likewise.
18307         * lib/string.in.h (system_header): Likewise.
18308         * lib/strings.in.h (system_header): Likewise.
18309         * lib/sys_file.in.h (system_header): Likewise.
18310         * lib/sys_ioctl.in.h (system_header): Likewise.
18311         * lib/sys_socket.in.h (system_header): Likewise.
18312         * lib/sys_times.in.h (system_header): Likewise.
18313         * lib/sys_utsname.in.h (system_header): Likewise.
18314         * lib/sys_wait.in.h (system_header): Likewise.
18315         * lib/sysexits.in.h (system_header): Likewise.
18316         * lib/unistd.in.h (system_header): Likewise.
18317         * lib/wctype.in.h (system_header): Likewise.
18318
18319         arpa/inet: fix mingw compilation warning
18320         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
18321         Reported by Matthew Bolte.
18322
18323 2010-03-25  Bruno Haible  <bruno@clisp.org>
18324
18325         Avoid collision between gnulib wrapper and libintl wrapper.
18326         * lib/printf.c (printf): Don't define if a printf wrapper is already
18327         defined in intl/printf.c.
18328         Reported by Michel Boaventura <michel@michelboaventura.com>.
18329
18330 2010-03-25  Bruno Haible  <bruno@clisp.org>
18331
18332         Use ANSI C.
18333         * lib/readutmp.h (getutent): Provide ANSI C prototype.
18334
18335 2010-03-25  Bruno Haible  <bruno@clisp.org>
18336
18337         Minor formatting changes.
18338         * lib/acosl.c: Insert space before function argument list.
18339         * lib/argz.c: Likewise.
18340         * lib/asinl.c: Likewise.
18341         * lib/expl.c: Likewise.
18342         * lib/gen-uni-tables.c: Likewise.
18343         * lib/gettext.h: Likewise.
18344         * lib/glthread/lock.h: Likewise.
18345         * lib/tanl.c: Likewise.
18346         * lib/uniname/uniname.c: Likewise.
18347         * tests/test-idpriv-drop.c: Likewise.
18348         * tests/test-idpriv-droptemp.c: Likewise.
18349         * tests/test-lock.c: Likewise.
18350         * tests/test-tls.c: Likewise.
18351         * lib/argp-help.c: Insert space before function-like macro argument
18352         list.
18353         * lib/memcmp.c: Likewise.
18354         * tests/test-base64.c: Likewise.
18355         * lib/localename.c: Insert space before sizeof's argument list.
18356         * lib/safe-alloc.h: Likewise.
18357         * lib/file-set.h: Insert space before macro argument list.
18358         * tests/test-argp.c: Likewise.
18359         * lib/argp-namefrob.h: Insert space before function parameter list.
18360         * lib/getaddrinfo.c: Likewise.
18361         * lib/netdb.in.h: Likewise.
18362         * lib/parse-duration.h: Likewise.
18363         * lib/parse-duration.c: Likewise.
18364         * lib/poll.c: Likewise.
18365         * lib/select.c: Likewise.
18366         * lib/trim.h: Likewise.
18367         * tests/test-usleep.c: Likewise.
18368         * lib/ldexpl.c: Insert space before function parameter list and before
18369         function argument list.
18370         * lib/logl.c: Likewise.
18371         * lib/sqrtl.c: Likewise.
18372         * lib/trim.c: Likewise.
18373         * lib/cosl.c: Use GNU style indentation. Insert space before function
18374         argument list.
18375         * lib/sinl.c: Likewise.
18376         * lib/tsearch.c: Insert space after 'for'.
18377         Reported by Jim Meyering.
18378
18379 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
18380
18381         * maint.mk (sc_Wundef_boolean): Check for the presence of the
18382         config header before grepping, as it's not present before
18383         autoreconf/configure are run.  Reported by Simon Josefsson.
18384
18385 2010-03-23  Bruno Haible  <bruno@clisp.org>
18386
18387         pt_chown: Make it work with automake < 1.11.
18388         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
18389         Reported by Simon Josefsson.
18390
18391 2010-03-23  Bruno Haible  <bruno@clisp.org>
18392
18393         pt_chown: Don't depend on GPLed modules.
18394         * lib/pt_chown.c: Don't include idpriv.h.
18395         (main): Don't drop privileges.
18396         * modules/pt_chown (Depends-on): Remove idpriv-drop.
18397         Reported by Simon Josefsson.
18398
18399 2010-03-24  Simon Josefsson  <simon@josefsson.org>
18400
18401         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
18402         suggestions from karl@freefriends.org (Karl Berry).
18403
18404 2010-03-22  Eric Blake  <eblake@redhat.com>
18405
18406         gethostname: further tweaks
18407         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
18408         are overriding gethostname.
18409         Suggested by Bruno Haible.
18410
18411 2010-03-21  Bruno Haible  <bruno@clisp.org>
18412
18413         Fix comments.
18414         * lib/forkpty.c (rpl_forkpty): Fix comment.
18415         * lib/openpty.c (rpl_openpty): Likewise.
18416         Reported by Eric Blake.
18417
18418 2010-03-22  Eric Blake  <eblake@redhat.com>
18419
18420         gethostname: fix build on mingw
18421         * lib/unistd.in.h (includes): Work around fact that mingw
18422         <winsock2.h> re-includes <unistd.h>, by avoiding any
18423         redeclarations if we are being included by <winsock2.h>.
18424         Reported by Matthias Bolte.
18425
18426 2010-03-21  Bruno Haible  <bruno@clisp.org>
18427
18428         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
18429         * lib/forkpty.c (forkpty): New replacement function, from glibc with
18430         modifications.
18431         * lib/pty.in.h (forkpty): Update declaration. Add comments.
18432         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
18433         provide the replacement.
18434         * modules/forkpty (Depends-on): Add openpty, login_tty.
18435         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
18436         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
18437         * doc/glibc-functions/forkpty.texi: More supported platforms.
18438         * config/srclist.txt: Add forkpty.c (commented).
18439
18440 2010-03-21  Bruno Haible  <bruno@clisp.org>
18441
18442         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
18443         (Makefile.am): Verify that PTY_LIB is defined.
18444
18445         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
18446
18447 2010-03-21  Bruno Haible  <bruno@clisp.org>
18448
18449         Tests for module 'login_tty'.
18450         * modules/login_tty-tests: New file.
18451         * tests/test-login_tty.c: New file.
18452
18453         New module 'login_tty'.
18454         * lib/login_tty.c: New file.
18455         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
18456         * modules/login_tty: New file.
18457         * doc/glibc-functions/login_tty.texi: Mention the new module.
18458
18459 2010-03-21  Bruno Haible  <bruno@clisp.org>
18460
18461         login_tty: Documentation.
18462         * doc/glibc-functions/login_tty.texi: New file.
18463         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
18464
18465 2010-03-21  Bruno Haible  <bruno@clisp.org>
18466
18467         pty: Consistent macro naming.
18468         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
18469         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
18470         * modules/pty (configure.ac): Update.
18471
18472 2010-03-21  Bruno Haible  <bruno@clisp.org>
18473
18474         Tests for openpty: Make stricter.
18475         * tests/test-openpty.c (main): Add test of canonical processing and
18476         erase.
18477         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
18478
18479         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
18480         * lib/openpty.c (openpty): New replacement function.
18481         * lib/pty.in.h: Include <termios.h>.
18482         (openpty): Update declaration. Add comments.
18483         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
18484         is not declared, arrange to provide the replacement. Check for _getpty
18485         and posix_openpt.
18486         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
18487         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
18488         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
18489         * modules/pty-tests (test_pty_c___LDADD): New variable.
18490         * doc/glibc-functions/openpty.texi: More supported platforms.
18491
18492 2010-03-21  Bruno Haible  <bruno@clisp.org>
18493
18494         setenv: Tweaks.
18495         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
18496         the test program.
18497         * doc/posix-functions/setenv.texi: Update platforms list.
18498
18499 2010-03-21  Bruno Haible  <bruno@clisp.org>
18500
18501         New module 'unlockpt'.
18502         * lib/unlockpt.c: New file, from glibc with modifications.
18503         * m4/unlockpt.m4: New file.
18504         * modules/unlockpt: New file.
18505         * lib/stdlib.in.h (unlockpt): New declaration.
18506         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
18507         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
18508         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
18509         HAVE_UNLOCKPT.
18510         * doc/posix-functions/unlockpt.texi: Mention the new module.
18511         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
18512         * config/srclist.txt: Add unlockpt.c (commented).
18513
18514 2010-03-21  Jim Meyering  <meyering@redhat.com>
18515
18516         maint.mk: prohibit inclusion of "intprops.h" without use
18517         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
18518
18519 2010-03-21  Bruno Haible  <bruno@clisp.org>
18520
18521         New module 'grantpt'.
18522         * lib/grantpt.c: New file, from glibc with modifications.
18523         * m4/grantpt.m4: New file.
18524         * modules/grantpt: New file.
18525         * lib/stdlib.in.h (grantpt): New declaration.
18526         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
18527         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
18528         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
18529         HAVE_GRANTPT.
18530         * doc/posix-functions/grantpt.texi: Mention the new module.
18531         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
18532         * config/srclist.txt: Add grantpt.c (commented).
18533
18534 2010-03-21  Bruno Haible  <bruno@clisp.org>
18535
18536         New module 'pt_chown'.
18537         * lib/pt_chown.c: New file, from glibc with modifications.
18538         * lib/pty-private.h: New file, from glibc with modifications.
18539         * modules/pt_chown: New file.
18540         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
18541
18542 2010-03-21  Bruno Haible  <bruno@clisp.org>
18543
18544         Tests for module 'ptsname'.
18545         * modules/ptsname-tests: New file.
18546         * tests/test-ptsname.c: New file.
18547
18548         New module 'ptsname'.
18549         * lib/ptsname.c: New file, from glibc with modifications.
18550         * m4/ptsname.m4: New file.
18551         * modules/ptsname: New file.
18552         * lib/stdlib.in.h (ptsname): New declaration.
18553         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
18554         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
18555         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
18556         HAVE_PTSNAME.
18557         * doc/posix-functions/ptsname.texi: Mention the new module.
18558         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
18559         * config/srclist.txt: Add ptsname.c (commented).
18560
18561 2010-03-21  Bruno Haible  <bruno@clisp.org>
18562
18563         Tests for module 'ttyname_r'.
18564         * modules/ttyname_r-tests: New file.
18565         * tests/test-ttyname_r.c: New file.
18566
18567         New module 'ttyname_r'.
18568         * lib/ttyname_r.c: New file.
18569         * m4/ttyname_r.m4: New file.
18570         * modules/ttyname_r: New file.
18571         * lib/unistd.in.h (ttyname_r): New declaration.
18572         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
18573         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
18574         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
18575         HAVE_TTYNAME_R.
18576         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
18577         * doc/posix-functions/ttyname_r.texi: Mention the new module.
18578
18579 2010-03-20  Bruno Haible  <bruno@clisp.org>
18580
18581         signal: Undefine macro definitions in C++ mode.
18582         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
18583         sigfillset): Undefine macro definitions from the system header in C++
18584         mode.
18585         Reported by John W. Eaton <jwe@gnu.org>.
18586
18587 2010-03-20  Bruno Haible  <bruno@clisp.org>
18588
18589         Ensure no #include statements inside extern "C" { ... }.
18590         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
18591         contain #include statements.
18592         * lib/time.in.h: Likewise.
18593
18594 2010-03-20  Bruno Haible  <bruno@clisp.org>
18595
18596         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
18597         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
18598         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
18599         Reported by John W. Eaton <jwe@gnu.org>.
18600
18601 2010-03-20  Bruno Haible  <bruno@clisp.org>
18602
18603         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
18604         Reported by Jim Meyering.
18605
18606 2010-03-20  Bruno Haible  <bruno@clisp.org>
18607
18608         pipe: Set errno upon failure.
18609         * lib/pipe.h: Specify that when -1 is returned, errno is set.
18610         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
18611         errno value in error message.
18612
18613 2010-03-20  Bruno Haible  <bruno@clisp.org>
18614             Jim Meyering  <meyering@redhat.com>
18615
18616         lchown: Avoid "unused variable" warning.
18617         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
18618
18619 2010-03-20  Bruno Haible  <bruno@clisp.org>
18620
18621         Work around unlink() bug on MacOS X 10.5.6.
18622         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
18623         attempting to unlink a parent directory.
18624         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
18625         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
18626         activate for the replacement function.
18627         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
18628
18629 2010-03-20  Bruno Haible  <bruno@clisp.org>
18630
18631         Fix link errors on Solaris 8.
18632         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
18633         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
18634
18635 2010-03-19  Jim Meyering  <meyering@redhat.com>
18636
18637         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
18638         The _LIBC implementation of build_range_exp correctly honors the
18639         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
18640         However, the non-_LIBC implementation would ignore that syntax-bit
18641         flag and return REG_ERANGE unconditionally.
18642         This change makes it honor that flag.
18643         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
18644         Make two pointer parameters "const".
18645         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
18646         (parse_bracket_exp): Update caller.
18647
18648         regex.m4: correct the reversed range endpoint ([b-a]) test
18649         * m4/regex.m4: When requiring that [b-a] evoke failure,
18650         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
18651         test pass once again for x86-based systems.
18652
18653 2010-03-19  Bruno Haible  <bruno@clisp.org>
18654
18655         scandir: Fix link error on Solaris 8.
18656         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
18657         macros.
18658
18659 2010-03-19  Bruno Haible  <bruno@clisp.org>
18660
18661         getusershell: Fix documentation.
18662         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
18663         module.
18664         * doc/glibc-functions/setusershell.texi: Likewise.
18665
18666         getusershell: Provide declaration, missing on Solaris 9.
18667         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
18668         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
18669         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
18670         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
18671         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
18672         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
18673         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
18674         HAVE_GETUSERSHELL.
18675         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
18676
18677 2010-03-19  Bruno Haible  <bruno@clisp.org>
18678
18679         wctype: Provide iswblank function.
18680         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
18681         exists and is fine.
18682         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
18683         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
18684         * tests/test-wctype.c (main): Re-enable the iswblank tests.
18685         * doc/posix-functions/iswblank.texi: Update.
18686
18687 2010-03-19  Bruno Haible  <bruno@clisp.org>
18688
18689         Tests of module 'pty' in C++ mode.
18690         * modules/pty-tests: New file.
18691         * tests/test-pty-c++.cc: New file.
18692         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
18693
18694 2010-03-19  Eric Blake  <eblake@redhat.com>
18695
18696         logb: fix documentation
18697         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
18698         1.5 declaration bug.
18699
18700         forkpty, openpty: prefer glibc's const-safe prototype
18701         * lib/forkpty.c (rpl_forkpty): New file.
18702         * lib/openpty.c (rpl_openpty): Likewise.
18703         * modules/forkpty (Files): Distribute it.
18704         * modules/openpty (Files): Likewise.
18705         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
18706         check...
18707         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
18708         replacement for for non-const BSD signature.
18709         * modules/pty (Makefile.am): Substitute witnesses.
18710         * lib/pty.in.h (forkpty, openpty): Declare replacements.
18711         * tests/test-forkpty.c: Update signature check.
18712         * tests/test-openpty.c: Likewise.
18713         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
18714         * doc/glibc-functions/openpty.texi (openpty): Likewise.
18715
18716         forkpty, openpty: split functions into new modules
18717         * modules/pty (Makefile.am): Substitute new witnesses.
18718         (Libraries): Move library detection...
18719         * modules/forkpty: ...into new module.
18720         * modules/openpty: Another new module.
18721         * modules/pty-tests: Rename and split...
18722         * modules/forkpty-tests: ...to this...
18723         * modules/openpty-tests: ...and this.
18724         * tests/test-pty.c: Rename and split...
18725         * tests/test-forkpty.c: ...to this...
18726         * tests/test-openpty.c: ...and this.
18727         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
18728         (gl_PTY): Split library searching...
18729         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
18730         (gl_FORKPTY, gl_OPENPTY): New macros.
18731         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
18732         * NEWS: Mention the split.
18733         * MODULES.html.sh (Misc): Document the modules.
18734         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
18735         * doc/glibc-functions/openpty.texi (openpty): Likewise.
18736
18737         pty: improve replacement header
18738         * lib/pty.in.h: New file.
18739         * modules/pty (Files): Ship it.
18740         (Makefile.am): Always build replacement.
18741         * m4/pty.m4: Rename...
18742         * m4/pty_h.m4: ...to this.
18743         (gl_PTY): Modernize setting of witness macros; update check of
18744         forkpty to take proper advantage of cache.
18745         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
18746
18747         getopt: avoid compiler warning
18748         * lib/getopt.c (attribute_hidden): Remove unused macro.
18749
18750 2010-03-18  Bruno Haible  <bruno@clisp.org>
18751
18752         Fix link errors on Solaris 8.
18753         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
18754         * modules/search-tests (test_search_c___LDADD): Likewise.
18755         * modules/signal-tests (test_signal_c___LDADD): Likewise.
18756         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
18757         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
18758         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
18759         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
18760         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
18761         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
18762
18763 2010-03-18  Bruno Haible  <bruno@clisp.org>
18764
18765         Fix bug introduced on 2010-03-14.
18766         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
18767         (gl_SPAWN_H): Require it.
18768         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
18769         Reported by Simon Josefsson.
18770
18771 2010-03-18  Bruno Haible  <bruno@clisp.org>
18772
18773         Fix typo introduced on 2009-12-31.
18774         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
18775         posix_spawn_file_actions_adddup2.
18776
18777 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
18778         and Eric Blake  <eblake@redhat.com>
18779
18780         test-vc-list-files-git: make more robust
18781         * tests/test-vc-list-files-git.sh: Unset problematic environment
18782         variables.  Chain commands together.
18783
18784 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
18785
18786         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
18787         `AC_CHECK_DECL' invocation.
18788
18789 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
18790
18791         * lib/inttostr.c (inttostr): Make sure the invocation of verify
18792         appears before executable statements. Suggested by Petr Sumbera
18793         <Petr.Sumbera@Sun.COM>.
18794
18795 2010-03-14  Bruno Haible  <bruno@clisp.org>
18796
18797         * tests/test-flock.c (test_exclusive): Comment out a test that causes
18798         portability problems. Instead use a simpler test.
18799         (main): Check that invalid arguments are rejected only on Linux.
18800
18801 2010-03-14  Bruno Haible  <bruno@clisp.org>
18802
18803         Fix bug introduced on 2009-12-31.
18804         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
18805         gl_PREREQ_SYS_H_WINSOCK2 always.
18806         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
18807         SYS_SOCKET_H variable.
18808         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
18809         Update comments.
18810         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
18811         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
18812         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
18813         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
18814         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
18815
18816 2010-03-14  Bruno Haible  <bruno@clisp.org>
18817
18818         Fix values returned by sinl, cosl.
18819         * lib/trigl.h: Add specification comments.
18820         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
18821         that combines the values from the precomputed table with the values of
18822         the Chebyshev polynomials.
18823
18824 2010-03-14  Bruno Haible  <bruno@clisp.org>
18825
18826         Fix compilation error when modules 'posix_spawn[p]' are not used.
18827         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
18828         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
18829
18830 2010-03-14  Bruno Haible  <bruno@clisp.org>
18831
18832         Fix compilation error on mingw when module 'time_r' is not used.
18833         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
18834         is 1.
18835         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
18836         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
18837         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
18838         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
18839
18840 2010-03-14  Bruno Haible  <bruno@clisp.org>
18841
18842         Fix compilation error with Sun C.
18843         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
18844         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
18845         instead of GCC specific ULONG_LONG_MAX.
18846         * lib/xstrtoll.c: Likewise.
18847         * lib/xstrtoull.c: Likewise.
18848
18849 2010-03-13  Bruno Haible  <bruno@clisp.org>
18850
18851         Allow the user to disable C++ code and tests.
18852         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
18853         (gl_PROG_ANSI_CXX): Require it.
18854
18855 2010-03-13  Bruno Haible  <bruno@clisp.org>
18856
18857         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
18858         cases.
18859
18860 2010-03-13  Bruno Haible  <bruno@clisp.org>
18861
18862         Test that gnulib does not break the standard C++ headers.
18863         * tests/test-locale-c++2.cc: New file.
18864         * modules/locale-tests (Files): Add it.
18865         (Makefile.am): Compile it for test-locale-c++.
18866         * tests/test-math-c++2.cc: New file.
18867         * modules/math-tests (Files): Add it.
18868         (Makefile.am): Compile it for test-math-c++.
18869         * tests/test-signal-c++2.cc: New file.
18870         * modules/signal-tests (Files): Add it.
18871         (Makefile.am): Compile it for test-signal-c++.
18872         * tests/test-stdio-c++2.cc: New file.
18873         * modules/stdio-tests (Files): Add it.
18874         (Makefile.am): Compile it for test-stdio-c++.
18875         * tests/test-stdlib-c++2.cc: New file.
18876         * modules/stdlib-tests (Files): Add it.
18877         (Makefile.am): Compile it for test-stdlib-c++.
18878         * tests/test-string-c++2.cc: New file.
18879         * modules/string-tests (Files): Add it.
18880         (Makefile.am): Compile it for test-string-c++.
18881         * tests/test-time-c++2.cc: New file.
18882         * modules/time-tests (Files): Add it.
18883         (Makefile.am): Compile it for test-time-c++.
18884         Reported by John W. Eaton <jwe@gnu.org>.
18885
18886 2010-03-13  Bruno Haible  <bruno@clisp.org>
18887
18888         * gnulib-tool (func_usage): Clarify which options are available for
18889         --create-testdir and --create-megatestdir.
18890
18891 2010-03-13  Bruno Haible  <bruno@clisp.org>
18892
18893         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
18894         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
18895         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
18896         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
18897         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
18898         when appropriate.
18899         Reported by Jim Meyering.
18900
18901 2010-03-12  Simon Josefsson  <simon@josefsson.org>
18902
18903         * gnulib-tool (func_import): Explain origin of code.
18904
18905 2010-03-12  Bruno Haible  <bruno@clisp.org>
18906
18907         Fix problem with automake's definition of CXXLINK.
18908         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
18909         Reported by Simon Josefsson and Ludovic Courtès.
18910
18911 2010-03-12  Bruno Haible  <bruno@clisp.org>
18912
18913         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
18914         stable releases.
18915
18916 2010-03-11  Bruno Haible  <bruno@clisp.org>
18917
18918         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
18919         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
18920         whether the system provides one variant or multiple variants of the
18921         function.
18922         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
18923         C++ compilers.
18924         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
18925         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
18926         Reported by Jim Meyering.
18927
18928 2010-03-09  Simon Josefsson  <simon@josefsson.org>
18929
18930         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
18931
18932 2010-03-08  Bruno Haible  <bruno@clisp.org>
18933
18934         gnulib-tool: Add support for --libtool in --create-testdir.
18935         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
18936         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
18937
18938 2010-03-08  Eric Blake  <eblake@redhat.com>
18939
18940         gnulib-tool.texi: mention possibility of git submodule
18941         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
18942         submodules.
18943         * doc/.gitignore: Ignore another generated file.
18944
18945 2010-03-08  Karl Berry  <karl@gnu.org>
18946
18947         * doc/gnulib-tool.texi (VCS Issues): Mention third option
18948         of committing gnulib files while skipping others.
18949
18950 2010-03-07  Bruno Haible  <bruno@clisp.org>
18951
18952         Tests of module 'wctype' in C++ mode.
18953         * tests/test-wctype-c++.cc: New file.
18954         * modules/wctype-tests (Files): Add it and tests/signature.h.
18955         (Depends-on): Add ansi-c++-opt.
18956         (Makefile.am): Arrange to compile and run test-wctype-c++.
18957
18958         Tests of module 'wchar' in C++ mode.
18959         * tests/test-wchar-c++.cc: New file.
18960         * modules/wchar-tests (Files): Add it and tests/signature.h.
18961         (Depends-on): Add ansi-c++-opt.
18962         (Makefile.am): Arrange to compile and run test-wchar-c++.
18963         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
18964         gl_MODULE_INDICATOR.
18965
18966         Tests of module 'unistd' in C++ mode.
18967         * tests/test-unistd-c++.cc: New file.
18968         * modules/unistd-tests (Files): Add it and tests/signature.h.
18969         (Depends-on): Add ansi-c++-opt.
18970         (Makefile.am): Arrange to compile and run test-unistd-c++.
18971         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
18972         gl_MODULE_INDICATOR.
18973
18974         Tests of module 'time' in C++ mode.
18975         * tests/test-time-c++.cc: New file.
18976         * modules/time-tests (Files): Add it and tests/signature.h.
18977         (Depends-on): Add ansi-c++-opt.
18978         (Makefile.am): Arrange to compile and run test-time-c++.
18979         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
18980
18981         Tests of module 'sys_time' in C++ mode.
18982         * tests/test-sys_time-c++.cc: New file.
18983         * modules/sys_time-tests (Files): Add it and tests/signature.h.
18984         (Depends-on): Add ansi-c++-opt.
18985         (Makefile.am): Arrange to compile and run test-sys_time-c++.
18986         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
18987         gl_MODULE_INDICATOR.
18988
18989         Tests of module 'sys_stat' in C++ mode.
18990         * tests/test-sys_stat-c++.cc: New file.
18991         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
18992         (Depends-on): Add ansi-c++-opt.
18993         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
18994         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
18995         gl_MODULE_INDICATOR.
18996
18997         Tests of module 'sys_socket' in C++ mode.
18998         * tests/test-sys_socket-c++.cc: New file.
18999         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
19000         (Depends-on): Add ansi-c++-opt.
19001         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
19002         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
19003         gl_MODULE_INDICATOR.
19004
19005         Tests of module 'sys_select' in C++ mode.
19006         * tests/test-sys_select-c++.cc: New file.
19007         * modules/sys_select-tests (Files): Add it and tests/signature.h.
19008         (Depends-on): Add ansi-c++-opt.
19009         (Makefile.am): Arrange to compile and run test-sys_select-c++.
19010         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
19011         gl_MODULE_INDICATOR.
19012
19013         Tests of module 'sys_ioctl' in C++ mode.
19014         * tests/test-sys_ioctl-c++.cc: New file.
19015         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
19016         (Depends-on): Add ansi-c++-opt.
19017         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
19018         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
19019         gl_MODULE_INDICATOR.
19020
19021         Tests of module 'string' in C++ mode.
19022         * tests/test-string-c++.cc: New file.
19023         * modules/string-tests (Files): Add it and tests/signature.h.
19024         (Depends-on): Add ansi-c++-opt.
19025         (Makefile.am): Arrange to compile and run test-string-c++.
19026         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
19027         gl_MODULE_INDICATOR.
19028
19029         Tests of module 'stdlib' in C++ mode.
19030         * tests/test-stdlib-c++.cc: New file.
19031         * modules/stdlib-tests (Files): Add it and tests/signature.h.
19032         (Depends-on): Add ansi-c++-opt.
19033         (Makefile.am): Arrange to compile and run test-stdlib-c++.
19034         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
19035         gl_MODULE_INDICATOR.
19036
19037         Tests of module 'stdio' in C++ mode.
19038         * tests/test-stdio-c++.cc: New file.
19039         * modules/stdio-tests (Files): Add it and tests/signature.h.
19040         (Depends-on): Add ansi-c++-opt.
19041         (Makefile.am): Arrange to compile and run test-stdio-c++.
19042         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
19043         gl_MODULE_INDICATOR.
19044
19045         Tests of module 'spawn' in C++ mode.
19046         * tests/test-spawn-c++.cc: New file.
19047         * modules/spawn-tests (Files): Add it and tests/signature.h.
19048         (Depends-on): Add ansi-c++-opt.
19049         (Makefile.am): Arrange to compile and run test-spawn-c++.
19050         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
19051         gl_MODULE_INDICATOR.
19052
19053         Tests of module 'signal' in C++ mode.
19054         * tests/test-signal-c++.cc: New file.
19055         * modules/signal-tests (Files): Add it and tests/signature.h.
19056         (Depends-on): Add ansi-c++-opt.
19057         (Makefile.am): Arrange to compile and run test-signal-c++.
19058         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
19059         gl_MODULE_INDICATOR.
19060
19061         Tests of module 'search' in C++ mode.
19062         * tests/test-search-c++.cc: New file.
19063         * modules/search-tests (Files): Add it and tests/signature.h.
19064         (Depends-on): Add ansi-c++-opt.
19065         (Makefile.am): Arrange to compile and run test-search-c++.
19066         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
19067         gl_MODULE_INDICATOR.
19068
19069         Tests of module 'math' in C++ mode.
19070         * tests/test-math-c++.cc: New file.
19071         * modules/math-tests (Files): Add it and tests/signature.h.
19072         (Depends-on): Add ansi-c++-opt.
19073         (Makefile.am): Arrange to compile and run test-math-c++.
19074         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
19075
19076         Tests of module 'locale' in C++ mode.
19077         * tests/test-locale-c++.cc: New file.
19078         * modules/locale-tests (Files): Add it and tests/signature.h.
19079         (Depends-on): Add ansi-c++-opt.
19080         (Makefile.am): Arrange to compile and run test-locale-c++.
19081         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
19082         gl_MODULE_INDICATOR.
19083
19084         Tests of module 'langinfo' in C++ mode.
19085         * tests/test-langinfo-c++.cc: New file.
19086         * modules/langinfo-tests (Files): Add it and tests/signature.h.
19087         (Depends-on): Add ansi-c++-opt.
19088         (Makefile.am): Arrange to compile and run test-langinfo-c++.
19089         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
19090         gl_MODULE_INDICATOR.
19091
19092         Tests of module 'iconv-h' in C++ mode.
19093         * tests/test-iconv-h-c++.cc: New file.
19094         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
19095         (Depends-on): Add ansi-c++-opt.
19096         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
19097
19098         Tests of module 'glob' in C++ mode.
19099         * tests/test-glob-c++.cc: New file.
19100         * modules/glob-tests (Files): Add it.
19101         (Depends-on): Add ansi-c++-opt.
19102         (Makefile.am): Arrange to compile and run test-glob-c++.
19103
19104         Tests of module 'fcntl-h' in C++ mode.
19105         * tests/test-fcntl-h-c++.cc: New file.
19106         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
19107         (Depends-on): Add ansi-c++-opt.
19108         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
19109         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
19110         gl_MODULE_INDICATOR.
19111
19112         Tests of module 'dirent' in C++ mode.
19113         * tests/test-dirent-c++.cc: New file.
19114         * modules/dirent-tests (Files): Add it and tests/signature.h.
19115         (Depends-on): Add ansi-c++-opt.
19116         (Makefile.am): Arrange to compile and run test-dirent-c++.
19117         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
19118         gl_MODULE_INDICATOR.
19119
19120         New module 'ansi-c++-opt'.
19121         * modules/ansi-c++-opt: New file.
19122         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
19123
19124         Document C++ namespace mode.
19125         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
19126
19127         wctype: Avoid #define replacements in C++ mode.
19128         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
19129         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
19130         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
19131         In C++, define a namespaced alias symbol.
19132         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
19133         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
19134         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
19135         rule.
19136
19137         wchar: Avoid #define replacements in C++ mode.
19138         * lib/wchar.in.h: Include c++defs.h.
19139         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
19140         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
19141         symbol.
19142         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
19143         * modules/wchar (Depends-on): Add c++defs.
19144         (Makefile.am): Update wchar.h rule.
19145
19146         unistd: Avoid #define replacements in C++ mode.
19147         * lib/unistd.in.h: Include c++defs.h.
19148         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
19149         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
19150         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
19151         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
19152         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
19153         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
19154         symbol.
19155         (environ): Update.
19156         * modules/unistd (Depends-on): Add c++defs.
19157         (Makefile.am): Update unistd.h rule.
19158
19159         time: Avoid #define replacements in C++ mode.
19160         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
19161         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
19162         define a namespaced alias symbol.
19163         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
19164         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
19165         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
19166         * modules/time (Depends-on): Add c++defs, warn-on-use.
19167         (Makefile.am): Update time.h rule.
19168         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
19169         * modules/nanosleep (configure.ac): Likewise.
19170         * modules/strptime (configure.ac): Likewise.
19171         * modules/timegm (configure.ac): Likewise.
19172
19173         sys_time: Avoid #define replacements in C++ mode.
19174         * lib/sys_time.in.h: Include c++defs.h.
19175         (gettimeofday): In C++, define a namespaced alias symbol.
19176         * modules/sys_time (Depends-on): Add c++defs.
19177         (Makefile.am): Update sys/time.h rule.
19178
19179         sys_stat: Avoid #define replacements in C++ mode.
19180         * lib/sys_stat.in.h: Include c++defs.h.
19181         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
19182         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
19183         namespaced alias symbol.
19184         In C++, define a namespaced alias symbol.
19185         * modules/sys_stat (Depends-on): Add c++defs.
19186         (Makefile.am): Update sys/stat.h rule.
19187
19188         sys_socket: Avoid #define replacements in C++ mode.
19189         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
19190         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
19191         definitions also when the system has a <sys/socket.h>.
19192         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
19193         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
19194         In C++, define a namespaced alias symbol.
19195         * modules/sys_socket (Depends-on): Add c++defs.
19196         (Makefile.am): Update sys/socket.h rule.
19197
19198         sys_select: Avoid #define replacements in C++ mode.
19199         * lib/sys_select.in.h: Include c++defs.h. Enable the function
19200         definitions also when the system has a <sys/select.h>.
19201         (select): In C++, define a namespaced alias symbol.
19202         * modules/sys_select (Depends-on): Add c++defs.
19203         (Makefile.am): Update sys/select.h rule.
19204
19205         sys_ioctl: Avoid #define replacements in C++ mode.
19206         * lib/sys_ioctl.in.h: Include c++defs.h.
19207         (ioctl): In C++, define a namespaced alias symbol.
19208         * modules/sys_ioctl (Depends-on): Add c++defs.
19209         (Makefile.am): Update sys/ioctl.h rule.
19210
19211         string: Avoid #define replacements in C++ mode.
19212         * lib/string.in.h: Include c++defs.h.
19213         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
19214         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
19215         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
19216         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
19217         strsignal, strverscmp): In C++, define a namespaced alias symbol.
19218         * modules/string (Depends-on): Add c++defs.
19219         (Makefile.am): Update string.h rule.
19220
19221         stdlib: Avoid #define replacements in C++ mode.
19222         * lib/stdlib.in.h: Include c++defs.h.
19223         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
19224         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
19225         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
19226         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
19227         symbol.
19228         * modules/stdlib (Depends-on): Add c++defs.
19229         (Makefile.am): Update stdlib.h rule.
19230
19231         stdio: Avoid #define replacements in C++ mode.
19232         * lib/stdio.in.h: Include c++defs.h.
19233         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
19234         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
19235         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
19236         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
19237         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
19238         namespaced alias symbol.
19239         * modules/stdio (Depends-on): Add c++defs.
19240         (Makefile.am): Update stdio.h rule.
19241
19242         spawn: Avoid #define replacements in C++ mode.
19243         * lib/spawn.in.h: Include c++defs.h.
19244         (posix_spawn, posix_spawnp, posix_spawnattr_init,
19245         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
19246         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
19247         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
19248         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
19249         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
19250         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
19251         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
19252         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
19253         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
19254         In C++, define a namespaced alias symbol.
19255         * modules/spawn (Depends-on): Add c++defs.
19256         (Makefile.am): Update spawn.h rule.
19257
19258         signal: Avoid #define replacements in C++ mode.
19259         * lib/signal.in.h: Include c++defs.h.
19260         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
19261         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
19262         namespaced alias symbol.
19263         * modules/signal (Depends-on): Add c++defs.
19264         (Makefile.am): Update signal.h rule.
19265
19266         search: Avoid #define replacements in C++ mode.
19267         * lib/search.in.h: Include c++defs.h.
19268         (_gl_search_compar_fn, _gl_search_action_fn): New types.
19269         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
19270         symbol.
19271         * modules/search (Depends-on): Add c++defs.
19272         (Makefile.am): Update search.h rule.
19273
19274         math: Avoid #define replacements in C++ mode.
19275         * lib/math.in.h: Include c++defs.h.
19276         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
19277         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
19278         trunc, truncl): In C++, define a namespaced alias symbol.
19279         * modules/math (Depends-on): Add c++defs.
19280         (Makefile.am): Update math.h rule.
19281
19282         locale: Avoid #define replacements in C++ mode.
19283         * lib/locale.in.h: Include c++defs.h.
19284         (duplocale): In C++, define a namespaced alias symbol.
19285         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
19286         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
19287         * modules/locale (Depends-on): Add c++defs.
19288         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
19289
19290         langinfo: Avoid #define replacements in C++ mode.
19291         * lib/langinfo.in.h: Include c++defs.h.
19292         (nl_langinfo): In C++, define a namespaced alias symbol.
19293         * modules/langinfo (Depends-on): Add c++defs.
19294         (Makefile.am): Update langinfo.h rule.
19295
19296         iconv-h: Avoid #define replacements in C++ mode.
19297         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
19298         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
19299         symbol.
19300         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
19301         whenever iconv is present.
19302         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
19303         (Makefile.am): Update iconv.h rule.
19304
19305         glob: Avoid #define replacements in C++ mode.
19306         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
19307         (_gl_glob_errfunc_fn): New type.
19308         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
19309         symbol.
19310         * modules/glob (Depends-on): Add c++defs, warn-on-use.
19311         (Makefile.am): Update glob.h rule.
19312
19313         fcntl-h: Avoid #define replacements in C++ mode.
19314         * lib/fcntl.in.h: Include c++defs.h.
19315         (fcntl, open, openat): In C++, define a namespaced alias symbol.
19316         * modules/fcntl-h (Depends-on): Add c++defs.
19317         (Makefile.am): Update fcntl.h rule.
19318
19319         dirent: Avoid #define replacements in C++ mode.
19320         * lib/dirent.in.h: Include c++defs.h.
19321         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
19322         namespaced alias symbol.
19323         (dirfd): Update declaration.
19324         * modules/dirent (Depends-on): Add c++defs.
19325         (Makefile.am): Update dirent.h rule.
19326
19327         ctype: Make it usable in C++ code.
19328         * lib/ctype.in.h: Include c++defs.h.
19329         (isblank): Declare as extern "C".
19330         * modules/ctype (Depends-on): Add c++defs.
19331         (Makefile.am): Update ctype.h rule.
19332
19333         New module 'c++defs'.
19334         * modules/c++defs: New file.
19335         * build-aux/c++defs.h: New file.
19336         Reported by John W. Eaton <jwe@gnu.org>.
19337
19338 2010-03-07  Bruno Haible  <bruno@clisp.org>
19339
19340         logb: Provide missing declaration for Cygwin.
19341         * lib/math.in.h (logb): New declaration.
19342         * m4/logb.m4: New file.
19343         * modules/logb (Files): Add m4/logb.m4.
19344         (Depends-on): Add math.
19345         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
19346         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
19347         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
19348         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
19349         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
19350
19351 2010-03-07  Bruno Haible  <bruno@clisp.org>
19352
19353         Fix test-cond link error.
19354         * tests/test-cond.c: Include <stdio.h>.
19355
19356 2010-03-07  Bruno Haible  <bruno@clisp.org>
19357
19358         Fix test-dirent-safer link error.
19359         * modules/dirent-safer-tests (Makefile.am): Define
19360         test_dirent_safer_LDADD.
19361
19362 2010-03-07  Bruno Haible  <bruno@clisp.org>
19363
19364         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
19365         among default module list.
19366
19367 2010-03-07  Bruno Haible  <bruno@clisp.org>
19368
19369         Fix link error on platforms with GNU libiconv.
19370         * modules/unistr/u8-strcoll-tests (Makefile): Define
19371         test_u8_strcoll_LDADD.
19372         * modules/unistr/u16-strcoll-tests (Makefile): Define
19373         test_u16_strcoll_LDADD.
19374         * modules/unistr/u32-strcoll-tests (Makefile): Define
19375         test_u32_strcoll_LDADD.
19376
19377 2010-03-07  Bruno Haible  <bruno@clisp.org>
19378
19379         Use POSIX declarations for socket functions.
19380         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
19381         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
19382         rpl_sendto): Change declaration to match POSIX.
19383         * lib/connect.c (rpl_connect): Likewise.
19384         * lib/accept.c (rpl_accept): Likewise.
19385         * lib/bind.c (rpl_bind): Likewise.
19386         * lib/getpeername.c (rpl_getpeername): Likewise.
19387         * lib/getsockname.c (rpl_getsockname): Likewise.
19388         * lib/recv.c (rpl_recv): Likewise.
19389         * lib/send.c (rpl_send): Likewise.
19390         * lib/recvfrom.c (rpl_recvfrom): Likewise.
19391         * lib/sendto.c (rpl_sendto): Likewise.
19392
19393 2010-03-06  Bruno Haible  <bruno@clisp.org>
19394
19395         Clarify access, euidaccess, faccessat.
19396         * doc/posix-functions/faccessat.texi: Mention security problem under
19397         "Other problems", not "Portability problems".
19398         * doc/posix-functions/access.texi: Likewise. Mention a related security
19399         problem.
19400         * doc/glibc-functions/euidaccess.texi: Mention security problems.
19401         * lib/euidaccess.c: Add comments about platforms.
19402         * lib/unistd.in.h (access, euidaccess): Add warnings.
19403
19404 2010-03-07  Bruno Haible  <bruno@clisp.org>
19405
19406         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
19407         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
19408         (POSIX_SPAWN_SETSCHEDULER): Likewise.
19409         (POSIX_SPAWN_USEVFORK): Define in a way that works when
19410         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
19411         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
19412         declare when POSIX_SPAWN_SETSCHEDULER is zero.
19413         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
19414         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
19415         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
19416         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
19417         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
19418         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
19419         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
19420         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
19421         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
19422         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
19423         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
19424         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
19425         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
19426         Likewise.
19427         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
19428         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
19429         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
19430         Likewise.
19431         * tests/test-spawn.c (main): Make it work when
19432         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
19433
19434 2010-03-07  Bruno Haible  <bruno@clisp.org>
19435
19436         Fix incorrect Makefile.am generation in German locale.
19437         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
19438         Execute sed command with character range in C locale.
19439
19440 2010-03-06  Bruno Haible  <bruno@clisp.org>
19441
19442         Tests for module 'iconv-h'.
19443         * modules/iconv-h-tests: New file.
19444         * tests/test-iconv-h.c: New file.
19445
19446         New module 'iconv-h'.
19447         * modules/iconv-h: New file.
19448         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
19449         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
19450         (configure.ac): Remove gl_ICONV_H.
19451         (Makefile.am): Remove rule for iconv.h.
19452
19453 2010-03-06  Bruno Haible  <bruno@clisp.org>
19454
19455         More consistent naming of *.m4 files.
19456         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
19457         * modules/wctype (Files): Update.
19458
19459         More consistent naming of *.m4 files.
19460         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
19461         * modules/wchar (Files): Update.
19462
19463 2010-03-06  Jim Meyering  <meyering@redhat.com>
19464
19465         euidaccess: relax license to LGPLv2+
19466         * modules/euidaccess (License): Relax to LGPLv2+.
19467
19468 2010-03-06  Bruno Haible  <bruno@clisp.org>
19469
19470         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
19471         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
19472         (Makefile.am): Augment lib_SOURCES instead.
19473
19474 2010-03-04  Jim Meyering  <meyering@redhat.com>
19475
19476         utime: remove obsolete module
19477         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
19478         unnecessary for years, and has been marked as obsolete for 10 months.
19479         * modules/utime: Remove file.
19480         * lib/utime.c: Remove file.
19481         * m4/utime.m4: Remove file.
19482         * m4/utimes-null.m4: Remove file.
19483         * doc/posix-functions/utime.texi (utime): Remove reference to
19484         the module.  Move the sole "fixed by gnulib" item into the
19485         "problems not fixed by Gnulib" list.
19486         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
19487
19488 2010-03-05  Simon Josefsson  <simon@josefsson.org>
19489
19490         * modules/exit (License): Relax license to LGPLv2+.
19491         (Status): Mark as obsolete.
19492         * NEWS: Mention deprecated 'exit' module.
19493         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
19494         of now obsolete 'exit'.
19495
19496 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19497
19498         fts-lgpl: remove unused module
19499         * modules/fts-lgpl: Remove.
19500         * MODULES.html.sh (func_all_modules): Adjust.
19501         * check-module (find_included_lib_files): Adjust.
19502         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
19503
19504 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
19505
19506         copy-acl: enhance Solaris ACL error handling
19507         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
19508         * lib/set-mode-acl.c (qset_acl): Likewise.
19509
19510 2010-03-02  Bruno Haible  <bruno@clisp.org>
19511
19512         spawn: Don't override the system defined values on FreeBSD 8.
19513         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
19514         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
19515         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
19516         if HAVE_POSIX_SPAWN is 1.
19517         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
19518
19519 2010-03-01  Bruno Haible  <bruno@clisp.org>
19520
19521         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
19522         regarding Automake.
19523
19524 2010-02-25  Bruno Haible  <bruno@clisp.org>
19525
19526         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
19527         * gnulib-tool: Define 'echo' as a function only before the ksh alias
19528         setting, not afterwards.
19529         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
19530
19531 2010-02-24  Eric Blake  <eblake@redhat.com>
19532
19533         bootstrap, git-version-gen: use timestamp
19534         * build-aux/git-version-gen (scriptversion): Force UTC.
19535         * build-aux/bootstrap (scriptversion): New variable.
19536
19537         bootstrap: allow older git
19538         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
19539         older than 1.6.4.  Requested by the libvirt project.
19540
19541 2010-02-23  Eric Blake  <eblake@redhat.com>
19542
19543         warn-on-use: work with old autoconf
19544         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
19545         AS_VAR semantics of autoconf 2.60.
19546         Reported by Bruno Haible.
19547
19548         bootstrap: improve some comments
19549         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
19550         clarification comments.
19551
19552         gettimeofday: provide correct function
19553         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
19554         when replacement is declared, otherwise provide gettimeofday.
19555         Reported by Michael Goffioul.
19556
19557 2010-02-23  Jim Meyering  <meyering@redhat.com>
19558
19559         lib-ignore: relax license to "unlimited", not LGPLv2+
19560         * modules/lib-ignore (License): Relax to "unlimited".
19561
19562 2010-02-23  Jim Meyering  <meyering@redhat.com>
19563
19564         lib-ignore: relax license to LGPLv2+
19565         * modules/lib-ignore (License): Relax to LGPLv2+.
19566
19567 2010-02-22  Eric Blake  <eblake@redhat.com>
19568
19569         lseek: avoid bash 3.2 broken pipe bug
19570         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
19571         warning from bash 3.2.
19572         Reported by Ben Pfaff, with analysis from Bruno Haible.
19573
19574         bootstrap: support non-FSF copyright holder
19575         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
19576         bootstrap.conf override of COPYRIGHT_HOLDER.
19577         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
19578
19579         bootstrap: interoperate with gettext 0.14.1
19580         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
19581
19582         bootstrap: allow for alternate submodule location
19583         * build-aux/bootstrap (gnulib_path): New variable; use instead of
19584         hardcoding submodule location.
19585         (gnulib_mk): Allow direct use of Makefile.am.
19586
19587         bootstrap: use GNULIB_SRCDIR to reduce disk usage
19588         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
19589         rather than reconfiguring where the submodule points.
19590
19591         gettimeofday: restore support for platforms that lack function
19592         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
19593         replacement if function is missing.
19594         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
19595         * modules/sys_time (Makefile.am): Substitute it.
19596         * lib/sys_time.in.h (gettimeofday): Check it.
19597         Reported by Michael Goffioul.
19598
19599 2010-02-21  Bruno Haible  <bruno@clisp.org>
19600
19601         * lib/stdio.in.h (obstack_printf): Fix typo.
19602
19603 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
19604
19605         vc-list-files: use bzr ls's -R option
19606         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
19607         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
19608
19609 2010-02-21  Jim Meyering  <meyering@redhat.com>
19610
19611         init.sh: fix EXEEXT shims to work also for names like test-prog
19612         * tests/init.sh: Re-exec a better shell, when needed.
19613         If the current shell lacks support for posix $(...), an init.sh-using
19614         test will now try to find a shell that supports that.  If EXEEXT is
19615         nonempty, we also require support for hyphen-in-alias-name and shell
19616         substitutions like ${var#glob}.  Failure to find such a shell results
19617         in a skipped test.
19618
19619 2010-02-21  Bruno Haible  <bruno@clisp.org>
19620
19621         Really work around around "broken pipe" error message from bash 3.2.
19622         * gnulib-tool (func_reset_sigpipe): Remove function.
19623         (echo): In bash 3.2, define to a function that uses printf.
19624         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
19625
19626 2010-02-20  Bruno Haible  <bruno@clisp.org>
19627
19628         Restore support for automake 1.9.6 with autoconf 2.61.
19629         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
19630         Reported by James Youngman <jay@gnu.org>.
19631
19632 2010-02-20  Bruno Haible  <bruno@clisp.org>
19633
19634         Improve *printf warning condition.
19635         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
19636         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
19637         and the function is overridden due to SIGPIPE emulation.
19638
19639 2010-02-20  Bruno Haible  <bruno@clisp.org>
19640
19641         * lib/stdio.in.h: Tweak comments.
19642
19643 2010-02-19  Bruno Haible  <bruno@clisp.org>
19644
19645         Make it easier to find modules. New gnulib-tool option '--find'.
19646         * gnulib-tool: New option --find.
19647         (func_usage): Document it.
19648         (func_sanitize_modulelist): New function, extracted from
19649         func_all_modules.
19650         (func_all_modules): Invoke it.
19651         * doc/gnulib-tool.texi (Which modules?): New node.
19652
19653 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
19654
19655         * lib/sys_select.in.h: Provide select replacement even if
19656         sys/select.h exists on a system, for Interix.
19657
19658 2010-02-18  Jim Meyering  <meyering@redhat.com>
19659
19660         init.sh: don't use $(...) just yet
19661         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
19662         to accommodate e.g., Solaris' /bin/sh.
19663
19664 2010-02-17  Bruno Haible  <bruno@clisp.org>
19665
19666         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
19667         Reported by Ludovic Courtès <ludo@gnu.org>.
19668
19669 2010-02-16  Simon Josefsson  <simon@josefsson.org>
19670
19671         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
19672         linking with -lintl.
19673
19674 2010-02-17  Simon Josefsson  <simon@josefsson.org>
19675
19676         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
19677         if not provided by the system's netdb.h.  Reported by
19678         ludo@gnu.org (Ludovic Courtès).
19679
19680 2010-02-15  Jim Meyering  <meyering@redhat.com>
19681
19682         init.sh: improve portability and efficiency
19683         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
19684         "dummy" in a for loop.
19685         Use '!', not '^' to select the complement of a character set used
19686         in a "case" statement.
19687         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
19688         Suggestions from Eric Blake.
19689
19690         init.sh: automatically accommodate programs with the .exe suffix
19691         Automatically arrange for an invocation of "prog" to execute the
19692         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
19693         may use the simpler "prog", yet still work when built on a system
19694         that requires specifying the added suffix.
19695         Do this by constructing a function named "prog" that invokes
19696         "prog.exe" for each .exe file in selected directories.
19697         * tests/init.sh (find_exe_basenames_): New function.
19698         (create_exe_shim_functions_): New function.
19699         (path_prepend_): Use it.
19700
19701         maint.mk: mark syntax-check sc_*.m rules as .PHONY
19702         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
19703         "make -t syntax-check" doesn't create a ton of sc_*.m files.
19704
19705 2010-02-14  Jim Meyering  <meyering@redhat.com>
19706
19707         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
19708         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
19709         (sc_prohibit_hash_pjw_without_use): New rule.
19710
19711         maint.mk: allow the default upload destination dir to be overridden
19712         * top/maint.mk (upload_dest_dir_): Define with a default that
19713         preserves the status quo.
19714         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
19715         Reported by Peter Simons.
19716
19717         maint.mk: prohibit inclusion of "hash.h" without_use
19718         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
19719
19720 2010-02-10  Jim Meyering  <meyering@redhat.com>
19721
19722         maint.mk: prohibit inclusion of "ignore-value.h" without_use
19723         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
19724
19725 2010-02-09  Eric Blake  <ebb9@byu.net>
19726         and Bruno Haible  <bruno@clisp.org>
19727
19728         obstack-printf-posix: ensure declaration
19729         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
19730         extracted from gl_FUNC_OBSTACK_PRINTF.
19731         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
19732         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
19733         Likewise.
19734         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
19735         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
19736         0.
19737
19738 2010-02-08  Bruno Haible  <bruno@clisp.org>
19739
19740         gnulib-tool: Fix typo in 2010-02-07 commit.
19741         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
19742         Reported by Eric Blake.
19743
19744 2010-02-07  Bruno Haible  <bruno@clisp.org>
19745
19746         gnulib-tool: Fix up caching patches.
19747         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
19748         option --no-cache. Use associative arrays when supported by the shell.
19749         (sed_comments): New variable.
19750         (modcache): Renamed from do_cache.
19751         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
19752         abbreviate unnecessarily.
19753         (have_associative): New variable.
19754         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
19755         way also for ksh and zsh.
19756         (func_init_sed_convert_to_cache_statements): New function, extracted
19757         from func_cache_lookup_module. Add support for associative arrays.
19758         Don't set the c_MODULE_cached variable here. Ignore all lines before
19759         the first field header. Remove only the final newline, not all trailing
19760         newlines. Support empty fields correctly. Limit the use of 'eval' to
19761         assignments.
19762         (func_get_description, func_get_status, func_get_notice,
19763         func_get_applicability, func_get_filelist, func_get_dependencies,
19764         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
19765         func_get_automake_snippet, func_get_include_directive,
19766         func_get_link_directive, func_get_license, func_get_maintainer):
19767         Update documentation. List the unoptimized code first. Add support for
19768         associative arrays. Limit the use of 'eval' to assignments.
19769         (func_get_applicability): Undo stylistic pessimisations.
19770         (func_get_automake_snippet, func_get_include_directive): Reduce code
19771         duplication.
19772         (func_modules_transitive_closure, func_modules_add_dummy,
19773         func_modules_notice, func_modules_to_filelist, func_add_file,
19774         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
19775         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
19776         func_create_testdir, func_create_megatestdir): Update documentation.
19777
19778 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19779
19780         * gnulib-tool (func_cache_lookup_module): Store the module name
19781         belonging to the cache variable; error out if two different
19782         module names map to the same cache variable name.
19783
19784 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19785
19786         gnulib-tool: Make caching optional.
19787         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
19788         Update matching short versions of --no-changelog.
19789         (func_usage): Update.
19790         (sed_extract_cache_prog): Renamed from ...
19791         (sed_extract_prog): ... this; revert to old extraction script.
19792         (func_get_description, func_get_status)
19793         (func_get_notice, func_get_applicability, func_get_filelist)
19794         (func_get_dependencies, func_get_autoconf_early_snippet)
19795         (func_get_autoconf_snippet, func_get_automake_snippet)
19796         (func_get_include_directive, func_get_link_directive)
19797         (func_get_license, func_get_maintainer): If $do_cache is false,
19798         use old, non-caching extraction scripts.
19799         Suggestion by Bruno Haible.
19800
19801 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19802
19803         gnulib-tool: cache module metainformation.
19804         * gnulib-tool (sed_extract_prog): Match newline before each
19805         header, and rewrite header to a shell variable suffix.
19806         (func_cache_var, func_cache_lookup_module): New functions,
19807         to turn a module name into a cache variable prefix, and to
19808         look up and cache module metainformation.
19809         (func_get_description, func_get_status)
19810         (func_get_notice, func_get_applicability, func_get_filelist)
19811         (func_get_dependencies, func_get_autoconf_early_snippet)
19812         (func_get_autoconf_snippet, func_get_automake_snippet)
19813         (func_get_include_directive, func_get_link_directive)
19814         (func_get_license, func_get_maintainer): Use
19815         func_cache_lookup_module.
19816
19817 2010-02-07  Bruno Haible  <bruno@clisp.org>
19818
19819         fnctl: Fix missing dependency.
19820         * modules/fcntl (Depends-on): Add getdtablesize.
19821         Reported by John W. Eaton <jwe@gnu.org>.
19822
19823 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
19824
19825         Argp: fix recognition of short alias options.
19826
19827         * lib/argp-parse.c (convert_options): Fix improper use of
19828         `|' between character values.
19829         * tests/test-argp.c (group1_option): New alias option
19830         --read (-r).
19831         (group1_parser): Special handling for 'r'.
19832         (test15): New test case.
19833         (test_fun): Add test15.
19834         * tests/test-argp-2.sh: Update expected --help and --usage
19835         outputs.
19836
19837 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
19838
19839         * tests/test-argp.c: Fix indentation.
19840
19841 2010-02-04  Eric Blake  <ebb9@byu.net>
19842
19843         gettimeofday: expose type of second argument
19844         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
19845         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
19846         * tests/test-gettimeofday.c: Use it to silence warning.
19847         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
19848         the issue.
19849
19850 2010-02-03  Jim Meyering  <meyering@redhat.com>
19851
19852         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
19853         * lib/regcomp.c (TYPE_SIGNED): Define.
19854         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
19855
19856         regcomp.c: avoid a new -Wshadow warning
19857         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
19858
19859 2010-02-01  Jim Meyering  <meyering@redhat.com>
19860
19861         removing useless parentheses in cpp #define directives
19862         For motivation, see commit c0221df4, "define STREQ(a,b)
19863         consistently, removing useless parentheses"
19864         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
19865         * lib/mountlist.c (MNT_IGNORE): Likewise.
19866         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
19867
19868 2010-02-01  Eric Blake  <ebb9@byu.net>
19869
19870         sys_time: use link-warning
19871         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
19872         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
19873         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
19874         * modules/sys_time (Depends-on): Add warn-on-use.
19875         (Makefile.am): Always build replacement.
19876         (configure.ac): Update substitutions.
19877         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
19878         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
19879         bother with SYS_TIME_H.
19880         * modules/gettimeofday (configure.ac): Declare indicator.
19881         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
19882         in use.
19883
19884         closein-tests: silence compiler warning
19885         * tests/test-closein.c (main): Ignore fread result.
19886         * modules/closein-tests (Depends-on): Add ignore-value.
19887
19888         tests: silence warning about system return
19889         * tests/test-areadlink-with-size.c (main): Ignore system result.
19890         * tests/test-areadlink.c (main): Likewise.
19891         * tests/test-areadlinkat-with-size.c (main): Likewise.
19892         * tests/test-areadlinkat.c (main): Likewise.
19893         * tests/test-canonicalize-lgpl.c (main): Likewise.
19894         * tests/test-canonicalize.c (main): Likewise.
19895         * tests/test-chown.c (main): Likewise.
19896         * tests/test-fchownat.c (main): Likewise.
19897         * tests/test-fdutimensat.c (main): Likewise.
19898         * tests/test-fstatat.c (main): Likewise.
19899         * tests/test-futimens.c (main): Likewise.
19900         * tests/test-lchown.c (main): Likewise.
19901         * tests/test-link.c (main): Likewise.
19902         * tests/test-linkat.c (main): Likewise.
19903         * tests/test-lstat.c (main): Likewise.
19904         * tests/test-mkdir.c (main): Likewise.
19905         * tests/test-mkdirat.c (main): Likewise.
19906         * tests/test-mkfifo.c (main): Likewise.
19907         * tests/test-mkfifoat.c (main): Likewise.
19908         * tests/test-mknod.c (main): Likewise.
19909         * tests/test-readlink.c (main): Likewise.
19910         * tests/test-remove.c (main): Likewise.
19911         * tests/test-rename.c (main): Likewise.
19912         * tests/test-renameat.c (main): Likewise.
19913         * tests/test-rmdir.c (main): Likewise.
19914         * tests/test-symlink.c (main): Likewise.
19915         * tests/test-symlinkat.c (main): Likewise.
19916         * tests/test-unlink.c (main): Likewise.
19917         * tests/test-unlinkat.c (main): Likewise.
19918         * tests/test-utimens.c (main): Likewise.
19919         * tests/test-utimensat.c (main): Likewise.
19920         * modules/areadlink-tests (Depends-on): Add ignore-value.
19921         * modules/areadlink-with-size-tests (Depends-on): Likewise.
19922         * modules/areadlinkat-tests (Depends-on): Likewise.
19923         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
19924         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
19925         * modules/canonicalize-tests (Depends-on): Likewise.
19926         * modules/chown-tests (Depends-on): Likewise.
19927         * modules/fdutimensat-tests (Depends-on): Likewise.
19928         * modules/futimens-tests (Depends-on): Likewise.
19929         * modules/lchown-tests (Depends-on): Likewise.
19930         * modules/link-tests (Depends-on): Likewise.
19931         * modules/linkat-tests (Depends-on): Likewise.
19932         * modules/lstat-tests (Depends-on): Likewise.
19933         * modules/mkdir-tests (Depends-on): Likewise.
19934         * modules/mkfifo-tests (Depends-on): Likewise.
19935         * modules/mkfifoat-tests (Depends-on): Likewise.
19936         * modules/mknod-tests (Depends-on): Likewise.
19937         * modules/openat-tests (Depends-on): Likewise.
19938         * modules/readlink-tests (Depends-on): Likewise.
19939         * modules/remove-tests (Depends-on): Likewise.
19940         * modules/rename-tests (Depends-on): Likewise.
19941         * modules/renameat-tests (Depends-on): Likewise.
19942         * modules/rmdir-tests (Depends-on): Likewise.
19943         * modules/symlink-tests (Depends-on): Likewise.
19944         * modules/symlinkat-tests (Depends-on): Likewise.
19945         * modules/unlink-tests (Depends-on): Likewise.
19946         * modules/utimens-tests (Depends-on): Likewise.
19947         * modules/utimensat-tests (Depends-on): Likewise.
19948
19949 2010-01-31  Bruno Haible  <bruno@clisp.org>
19950
19951         Perform the same test for many <math.h> functions.
19952         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
19953         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
19954         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
19955         of gl_MATHFUNC.
19956         * modules/acos (configure.ac): Likewise.
19957         * modules/asin (configure.ac): Likewise.
19958         * modules/atan (configure.ac): Likewise.
19959         * modules/atan2 (configure.ac): Likewise.
19960         * modules/cbrt (configure.ac): Likewise.
19961         * modules/copysign (configure.ac): Likewise.
19962         * modules/cos (configure.ac): Likewise.
19963         * modules/cosh (configure.ac): Likewise.
19964         * modules/erf (configure.ac): Likewise.
19965         * modules/erfc (configure.ac): Likewise.
19966         * modules/exp (configure.ac): Likewise.
19967         * modules/fmod (configure.ac): Likewise.
19968         * modules/hypot (configure.ac): Likewise.
19969         * modules/j0 (configure.ac): Likewise.
19970         * modules/j1 (configure.ac): Likewise.
19971         * modules/jn (configure.ac): Likewise.
19972         * modules/lgamma (configure.ac): Likewise.
19973         * modules/log (configure.ac): Likewise.
19974         * modules/log10 (configure.ac): Likewise.
19975         * modules/log1p (configure.ac): Likewise.
19976         * modules/pow (configure.ac): Likewise.
19977         * modules/remainder (configure.ac): Likewise.
19978         * modules/sin (configure.ac): Likewise.
19979         * modules/sinh (configure.ac): Likewise.
19980         * modules/tan (configure.ac): Likewise.
19981         * modules/tanh (configure.ac): Likewise.
19982         * modules/y0 (configure.ac): Likewise.
19983         * modules/y1 (configure.ac): Likewise.
19984         * modules/yn (configure.ac): Likewise.
19985         Suggested by Paolo Bonzini.
19986
19987 2010-01-31  Bruno Haible  <bruno@clisp.org>
19988
19989         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
19990
19991 2010-01-31  Bruno Haible  <bruno@clisp.org>
19992
19993         Work around getdelim() bug on FreeBSD 8.0.
19994         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
19995         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
19996         not work.
19997         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
19998         is 1.
19999         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
20000         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
20001         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
20002         a non-zero size.
20003         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
20004
20005 2010-01-31  Bruno Haible  <bruno@clisp.org>
20006
20007         Work around getline() bug on FreeBSD 8.0.
20008         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
20009         and a non-zero size.
20010         * tests/test-getline.c (main): Likewise.
20011         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
20012         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
20013
20014 2010-01-28  Eric Blake  <ebb9@byu.net>
20015
20016         regex: fix build failure
20017         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
20018         platforms.
20019
20020 2010-01-28  Jim Meyering  <meyering@redhat.com>
20021
20022         regex: do not ignore memory allocation failure
20023         * lib/regex_internal.c (create_cd_newstate): Detect
20024         re_node_set_init_copy failure.   Extracted from glibc commit
20025         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
20026
20027         regex: sync more white-space changes from libc
20028         * lib/regex_internal.c: White-space only changes.
20029         * lib/regexec.c: Likewise.
20030
20031         regex: add many uses of __attribute_warn_unused_result__
20032         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
20033         * lib/regexec.c: Likewise.
20034         Extracted from a messy glibc commit.
20035
20036         regcomp.c: spelling and merge-artifact from glibc
20037         * lib/regcomp.c: Merge remainder of glibc's
20038         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
20039
20040         regcomp.c: sync white-space changes from glibc
20041         * lib/regcomp.c: Merge to accommodate white space
20042         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
20043
20044         regcomp.c: do not ignore internal return values
20045         * lib/regcomp.c: Do not ignore internal return values.
20046         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
20047         but without its white-space changes and spelling fixes.
20048
20049         regex_internal.h: define __attribute_warn_unused_result__
20050         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
20051
20052         maint: add a syntax-check rule to check for vulnerable Makefile.in
20053         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
20054
20055 2010-01-27  Jim Meyering  <meyering@redhat.com>
20056
20057         ncftpput-ftp: clean up spaces
20058         * build-aux/ncftpput-ftp: Make Copyright line consistent.
20059         Remove trailing blanks.
20060
20061 2010-01-27  Simon Josefsson  <simon@josefsson.org>
20062
20063         * build-aux/git-version-gen: Fix copyright statement.
20064         * build-aux/gnupload: Likewise.
20065         * tests/test-arcfour.c: Likewise.
20066         * tests/test-arctwo.c: Likewise.
20067         * tests/test-count-one-bits.c: Likewise.
20068         * tests/test-crc.c: Likewise.
20069         * tests/test-des.c: Likewise.
20070         * tests/test-gc-arcfour.c: Likewise.
20071         * tests/test-gc-arctwo.c: Likewise.
20072         * tests/test-gc-des.c: Likewise.
20073         * tests/test-gc-hmac-md5.c: Likewise.
20074         * tests/test-gc-hmac-sha1.c: Likewise.
20075         * tests/test-gc-md2.c: Likewise.
20076         * tests/test-gc-md4.c: Likewise.
20077         * tests/test-gc-md5.c: Likewise.
20078         * tests/test-gc-pbkdf2-sha1.c: Likewise.
20079         * tests/test-gc-rijndael.c: Likewise.
20080         * tests/test-gc-sha1.c: Likewise.
20081         * tests/test-gc.c: Likewise.
20082         * tests/test-gethostname.c: Likewise.
20083         * tests/test-gettimeofday.c: Likewise.
20084         * tests/test-hash.c: Likewise.
20085         * tests/test-hmac-md5.c: Likewise.
20086         * tests/test-hmac-sha1.c: Likewise.
20087         * tests/test-md2.c: Likewise.
20088         * tests/test-md4.c: Likewise.
20089         * tests/test-md5.c: Likewise.
20090         * tests/test-memchr.c: Likewise.
20091         * tests/test-memchr2.c: Likewise.
20092         * tests/test-memcmp.c: Likewise.
20093         * tests/test-memmem.c: Likewise.
20094         * tests/test-memrchr.c: Likewise.
20095         * tests/test-rawmemchr.c: Likewise.
20096         * tests/test-read-file.c: Likewise.
20097         * tests/test-rijndael.c: Likewise.
20098         * tests/test-sockets.c: Likewise.
20099         * tests/test-strchrnul.c: Likewise.
20100         * tests/test-strstr.c: Likewise.
20101         * tests/test-strtod.c: Likewise.
20102         * build-aux/ncftpput-ftp: Likewise.
20103
20104 2010-01-26  Eric Blake  <ebb9@byu.net>
20105
20106         ignore-value: update recommended header name
20107         * modules/ignore-value (Include): Only use <> for headers that
20108         exist in glibc.
20109
20110 2010-01-26  Jim Meyering  <meyering@redhat.com>
20111
20112         test-userspec.c: avoid compiler warnings
20113         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
20114         and "initialization discards qualifiers..." warnings.
20115         Put the first "uid" in its own scope, and make char* members "const".
20116
20117 2010-01-25  Bruno Haible  <bruno@clisp.org>
20118
20119         gnulib-tool: Make warning diagnostics consistent.
20120         * gnulib-tool (func_warning): New function.
20121         Use it everywhere where gnulib-tool produces output to stderr and it is
20122         not a fatal error.
20123
20124 2010-01-25  Bruno Haible  <bruno@clisp.org>
20125
20126         Fix test dependencies.
20127         * modules/xstrtol-tests (Depends-on): Add inttypes.
20128         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
20129
20130 2010-01-25 Pádraig Brady <P@draigBrady.com>
20131
20132         syntax-check: detect incorrect boolean macro values in config.h
20133         * modules/maintainer-makefile (configure.ac): Parameterize the location
20134         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
20135         The logic is from Eric Blake and the location indicated by Jim Meyering.
20136         Note the more natural CONFIG_HEADER name is prohibited by automake
20137         for backwards compatibility reasons.
20138         * top/maint.mk (sc_Wundef_boolean): New rule.
20139
20140 2010-01-25  Jim Meyering  <meyering@redhat.com>
20141
20142         bootstrap: detect MacOS 10.6's shasum, too
20143         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
20144         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
20145
20146 2010-01-23  Jim Meyering  <meyering@redhat.com>
20147
20148         xstrtoll: new module
20149         * modules/xstrtoll: New file.
20150         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
20151         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
20152         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
20153         ./configure fails if you use this module and lack "long long".
20154         * modules/xstrtoll-tests: New module.
20155         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
20156         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
20157         new init.sh-based test framework.
20158
20159 2010-01-24  Bruno Haible  <bruno@clisp.org>
20160
20161         Tests for module 'yn'.
20162         * modules/yn-tests: New file.
20163         * tests/test-yn.c: New file.
20164
20165         Tests for module 'y1'.
20166         * modules/y1-tests: New file.
20167         * tests/test-y1.c: New file.
20168
20169         Tests for module 'y0'.
20170         * modules/y0-tests: New file.
20171         * tests/test-y0.c: New file.
20172
20173         Tests for module 'tanh'.
20174         * modules/tanh-tests: New file.
20175         * tests/test-tanh.c: New file.
20176
20177         Tests for module 'tan'.
20178         * modules/tan-tests: New file.
20179         * tests/test-tan.c: New file.
20180
20181         Tests for module 'sqrt'.
20182         * modules/sqrt-tests: New file.
20183         * tests/test-sqrt.c: New file.
20184
20185         Tests for module 'sinh'.
20186         * modules/sinh-tests: New file.
20187         * tests/test-sinh.c: New file.
20188
20189         Tests for module 'sin'.
20190         * modules/sin-tests: New file.
20191         * tests/test-sin.c: New file.
20192
20193         Tests for module 'rint'.
20194         * modules/rint-tests: New file.
20195         * tests/test-rint.c: New file.
20196
20197         Tests for module 'remainder'.
20198         * modules/remainder-tests: New file.
20199         * tests/test-remainder.c: New file.
20200
20201         Tests for module 'pow'.
20202         * modules/pow-tests: New file.
20203         * tests/test-pow.c: New file.
20204
20205         Tests for module 'nextafter'.
20206         * modules/nextafter-tests: New file.
20207         * tests/test-nextafter.c: New file.
20208
20209         Tests for module 'modf'.
20210         * modules/modf-tests: New file.
20211         * tests/test-modf.c: New file.
20212
20213         Tests for module 'logb'.
20214         * modules/logb-tests: New file.
20215         * tests/test-logb.c: New file.
20216
20217         Tests for module 'log1p'.
20218         * modules/log1p-tests: New file.
20219         * tests/test-log1p.c: New file.
20220
20221         Tests for module 'log10'.
20222         * modules/log10-tests: New file.
20223         * tests/test-log10.c: New file.
20224
20225         Tests for module 'log'.
20226         * modules/log-tests: New file.
20227         * tests/test-log.c: New file.
20228
20229         Tests for module 'lgamma'.
20230         * modules/lgamma-tests: New file.
20231         * tests/test-lgamma.c: New file.
20232
20233         Tests for module 'ldexp'.
20234         * modules/ldexp-tests: New file.
20235         * tests/test-ldexp.c: New file.
20236
20237         Tests for module 'jn'.
20238         * modules/jn-tests: New file.
20239         * tests/test-jn.c: New file.
20240
20241         Tests for module 'j1'.
20242         * modules/j1-tests: New file.
20243         * tests/test-j1.c: New file.
20244
20245         Tests for module 'j0'.
20246         * modules/j0-tests: New file.
20247         * tests/test-j0.c: New file.
20248
20249         Tests for module 'hypot'.
20250         * modules/hypot-tests: New file.
20251         * tests/test-hypot.c: New file.
20252
20253         Tests for module 'fmod'.
20254         * modules/fmod-tests: New file.
20255         * tests/test-fmod.c: New file.
20256
20257         Tests for module 'fabs'.
20258         * modules/fabs-tests: New file.
20259         * tests/test-fabs.c: New file.
20260
20261         Tests for module 'exp'.
20262         * modules/exp-tests: New file.
20263         * tests/test-exp.c: New file.
20264
20265         Tests for module 'erfc'.
20266         * modules/erfc-tests: New file.
20267         * tests/test-erfc.c: New file.
20268
20269         Tests for module 'erf'.
20270         * modules/erf-tests: New file.
20271         * tests/test-erf.c: New file.
20272
20273         Tests for module 'cosh'.
20274         * modules/cosh-tests: New file.
20275         * tests/test-cosh.c: New file.
20276
20277         Tests for module 'cos'.
20278         * modules/cos-tests: New file.
20279         * tests/test-cos.c: New file.
20280
20281         Tests for module 'copysign'.
20282         * modules/copysign-tests: New file.
20283         * tests/test-copysign.c: New file.
20284
20285         Tests for module 'cbrt'.
20286         * modules/cbrt-tests: New file.
20287         * tests/test-cbrt.c: New file.
20288
20289         Tests for module 'atan2'.
20290         * modules/atan2-tests: New file.
20291         * tests/test-atan2.c: New file.
20292
20293         Tests for module 'atan'.
20294         * modules/atan-tests: New file.
20295         * tests/test-atan.c: New file.
20296
20297         Tests for module 'asin'.
20298         * modules/asin-tests: New file.
20299         * tests/test-asin.c: New file.
20300
20301         Tests for module 'acos'.
20302         * modules/acos-tests: New file.
20303         * tests/test-acos.c: New file.
20304
20305 2010-01-24  Bruno Haible  <bruno@clisp.org>
20306
20307         Fix tests for common <math.h> functions.
20308         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
20309         code snippet that references the function pointer, rather than merely
20310         calling the function. Substitute the FUNC_LIBM variable.
20311         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
20312         * modules/acos (configure.ac): Likewise.
20313         * modules/asin (configure.ac): Likewise.
20314         * modules/atan (configure.ac): Likewise.
20315         * modules/atan2 (configure.ac): Likewise.
20316         * modules/cbrt (configure.ac): Likewise.
20317         * modules/copysign (configure.ac): Likewise.
20318         * modules/cos (configure.ac): Likewise.
20319         * modules/cosh (configure.ac): Likewise.
20320         * modules/erf (configure.ac): Likewise.
20321         * modules/erfc (configure.ac): Likewise.
20322         * modules/exp (configure.ac): Likewise.
20323         * modules/fabs (configure.ac): Likewise.
20324         * modules/fmod (configure.ac): Likewise.
20325         * modules/hypot (configure.ac): Likewise.
20326         * modules/j0 (configure.ac): Likewise.
20327         * modules/j1 (configure.ac): Likewise.
20328         * modules/jn (configure.ac): Likewise.
20329         * modules/ldexp (configure.ac): Likewise.
20330         * modules/lgamma (configure.ac): Likewise.
20331         * modules/log (configure.ac): Likewise.
20332         * modules/log10 (configure.ac): Likewise.
20333         * modules/log1p (configure.ac): Likewise.
20334         * modules/logb (configure.ac): Likewise.
20335         * modules/modf (configure.ac): Likewise.
20336         * modules/nextafter (configure.ac): Likewise.
20337         * modules/pow (configure.ac): Likewise.
20338         * modules/remainder (configure.ac): Likewise.
20339         * modules/rint (configure.ac): Likewise.
20340         * modules/sin (configure.ac): Likewise.
20341         * modules/sinh (configure.ac): Likewise.
20342         * modules/tan (configure.ac): Likewise.
20343         * modules/tanh (configure.ac): Likewise.
20344         * modules/y0 (configure.ac): Likewise.
20345         * modules/y1 (configure.ac): Likewise.
20346         * modules/yn (configure.ac): Likewise.
20347
20348 2010-01-24  Bruno Haible  <bruno@clisp.org>
20349
20350         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
20351         * tests/test-acosl.c (x): New variable.
20352         (main): Store argument in x and fetch it from x.
20353         * tests/test-asinl.c (x): New variable.
20354         (main): Store argument in x and fetch it from x.
20355         * tests/test-atanl.c (x): New variable.
20356         (main): Store argument in x and fetch it from x.
20357         * tests/test-cosl.c (x): New variable.
20358         (main): Store argument in x and fetch it from x.
20359         * tests/test-expl.c (x): New variable.
20360         (main): Store argument in x and fetch it from x.
20361         * tests/test-logl.c (x): New variable.
20362         (main): Store argument in x and fetch it from x.
20363         * tests/test-sinl.c (x): New variable.
20364         (main): Store argument in x and fetch it from x.
20365         * tests/test-sqrtl.c (x): New variable.
20366         (main): Store argument in x and fetch it from x.
20367         * tests/test-tanl.c (x): New variable.
20368         (main): Store argument in x and fetch it from x.
20369
20370 2010-01-24  Bruno Haible  <bruno@clisp.org>
20371
20372         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
20373         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
20374         assignments to the initial TESTS_ENVIRONMENT.
20375         * doc/gnulib.texi (Unit test modules): Document it.
20376         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
20377         TESTS_ENVIRONMENT.
20378         * modules/btowc-tests (Makefile.am): Likewise.
20379         * modules/c-stack-tests (Makefile.am): Likewise.
20380         * modules/c-strcase-tests (Makefile.am): Likewise.
20381         * modules/copy-file-tests (Makefile.am): Likewise.
20382         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
20383         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
20384         * modules/mbrtowc-tests (Makefile.am): Likewise.
20385         * modules/mbscasecmp-tests (Makefile.am): Likewise.
20386         * modules/mbscasestr-tests (Makefile.am): Likewise.
20387         * modules/mbschr-tests (Makefile.am): Likewise.
20388         * modules/mbscspn-tests (Makefile.am): Likewise.
20389         * modules/mbsinit-tests (Makefile.am): Likewise.
20390         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
20391         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
20392         * modules/mbspbrk-tests (Makefile.am): Likewise.
20393         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
20394         * modules/mbsrchr-tests (Makefile.am): Likewise.
20395         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
20396         * modules/mbsspn-tests (Makefile.am): Likewise.
20397         * modules/mbsstr-tests (Makefile.am): Likewise.
20398         * modules/nl_langinfo-tests (Makefile.am): Likewise.
20399         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
20400         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
20401         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
20402         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
20403         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
20404         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
20405         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
20406         * modules/wcrtomb-tests (Makefile.am): Likewise.
20407         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
20408         * modules/wcsrtombs-tests (Makefile.am): Likewise.
20409         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
20410         assignments from TESTS_ENVIRONMENT.
20411         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
20412         augmentation.
20413         * modules/argp-version-etc-tests (Makefile.am): Likewise.
20414         * modules/atexit-tests (Makefile.am): Likewise.
20415         * modules/binary-io-tests (Makefile.am): Likewise.
20416         * modules/closein-tests (Makefile.am): Likewise.
20417         * modules/dprintf-posix-tests (Makefile.am): Likewise.
20418         * modules/exclude-tests (Makefile.am): Likewise.
20419         * modules/fflush-tests (Makefile.am): Likewise.
20420         * modules/fpending-tests (Makefile.am): Likewise.
20421         * modules/fprintf-posix-tests (Makefile.am): Likewise.
20422         * modules/freadahead-tests (Makefile.am): Likewise.
20423         * modules/freadptr-tests (Makefile.am): Likewise.
20424         * modules/freadseek-tests (Makefile.am): Likewise.
20425         * modules/fseek-tests (Makefile.am): Likewise.
20426         * modules/fseeko-tests (Makefile.am): Likewise.
20427         * modules/ftell-tests (Makefile.am): Likewise.
20428         * modules/ftello-tests (Makefile.am): Likewise.
20429         * modules/idpriv-drop-tests (Makefile.am): Likewise.
20430         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
20431         * modules/lseek-tests (Makefile.am): Likewise.
20432         * modules/parse-duration-tests (Makefile.am): Likewise.
20433         * modules/perror-tests (Makefile.am): Likewise.
20434         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
20435         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
20436         * modules/pipe-tests (Makefile.am): Likewise.
20437         * modules/pread-tests (Makefile.am): Likewise.
20438         * modules/printf-posix-tests (Makefile.am): Likewise.
20439         * modules/select-tests (Makefile.am): Likewise.
20440         * modules/sigpipe-tests (Makefile.am): Likewise.
20441         * modules/tsearch-tests (Makefile.am): Likewise.
20442         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
20443         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
20444         * modules/uniname/uniname-tests (Makefile.am): Likewise.
20445         * modules/uniwidth/width-tests (Makefile.am): Likewise.
20446         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
20447         * modules/version-etc-tests (Makefile.am): Likewise.
20448         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
20449         * modules/vprintf-posix-tests (Makefile.am): Likewise.
20450         * modules/xalloc-die-tests (Makefile.am): Likewise.
20451         * modules/xprintf-posix-tests (Makefile.am): Likewise.
20452         * modules/xstrtoimax-tests (Makefile.am): Likewise.
20453         * modules/xstrtol-tests (Makefile.am): Likewise.
20454         * modules/xstrtoumax-tests (Makefile.am): Likewise.
20455         * modules/yesno-tests (Makefile.am): Likewise.
20456         Suggested by Jim Meyering.
20457
20458 2010-01-24  Bruno Haible  <bruno@clisp.org>
20459
20460         More documentation.
20461         * doc/gnulib.texi (Writing modules): New chapter.
20462         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
20463         the new chapter.
20464
20465 2010-01-24  Jim Meyering  <meyering@redhat.com>
20466
20467         maint.mk: do not prepend "./" after filtering
20468         * top/maint.mk (_prepend_srcdir_prefix): New variable
20469         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
20470         "./" when $(srcdir) is ".".
20471
20472         define STREQ(a,b) consistently, removing useless parentheses
20473         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
20474         since the only risk is that "a" or "b" contains an unparenthesized
20475         comma, but if either did that, STREQ would have 3 or more arguments.
20476         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
20477         * lib/fts.c (STREQ): Remove unnecessary parentheses.
20478         * lib/hash-triple.c (STREQ): Likewise.
20479         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
20480         * lib/getugroups.c (STREQ): Likewise.
20481
20482 2010-01-23  Jim Meyering  <meyering@redhat.com>
20483
20484         maint.mk: fix syntax-check in a non-srcdir build directory
20485         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
20486         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
20487
20488 2010-01-22  Jim Meyering  <meyering@redhat.com>
20489
20490         userspec: add unit tests
20491         * tests/test-userspec.c: New file.
20492         * modules/userspec-tests: Likewise.
20493
20494 2010-01-21  Jim Meyering  <meyering@redhat.com>
20495
20496         maint.mk: handle source file names containing "." robustly
20497         * top/maint.mk (_dot_escaped_srcdir): Define.
20498         (VC_LIST): Use it in LHS of sed substitution.
20499
20500 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
20501
20502         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
20503         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
20504         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
20505         from a non-srcdir build.
20506
20507 2010-01-20  Eric Blake  <ebb9@byu.net>
20508
20509         warn-on-use: use instead of link-warning
20510         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
20511         * modules/unistd (Depends-on, Makefile.am): Likewise.
20512         * modules/arpa_inet (Depends-on): Replace link-warning with
20513         warn-on-use.
20514         (Makefile.am): Update rules accordingly.
20515         * modules/ctype (Depends-on, Makefile.am): Likewise.
20516         * modules/dirent (Depends-on, Makefile.am): Likewise.
20517         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
20518         * modules/inttypes (Depends-on, Makefile.am): Likewise.
20519         * modules/langinfo (Depends-on, Makefile.am): Likewise.
20520         * modules/locale (Depends-on, Makefile.am): Likewise.
20521         * modules/math (Depends-on, Makefile.am): Likewise.
20522         * modules/search (Depends-on, Makefile.am): Likewise.
20523         * modules/signal (Depends-on, Makefile.am): Likewise.
20524         * modules/spawn (Depends-on, Makefile.am): Likewise.
20525         * modules/stdlib (Depends-on, Makefile.am): Likewise.
20526         * modules/string (Depends-on, Makefile.am): Likewise.
20527         * modules/strings (Depends-on, Makefile.am): Likewise.
20528         * modules/sys_file (Depends-on, Makefile.am): Likewise.
20529         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
20530         * modules/sys_select (Depends-on, Makefile.am): Likewise.
20531         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
20532         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
20533         * modules/sys_times (Depends-on, Makefile.am): Likewise.
20534         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
20535         * modules/wchar (Depends-on, Makefile.am): Likewise.
20536         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
20537         should be poisoned.
20538         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
20539         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
20540         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
20541         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
20542         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
20543         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
20544         * m4/math_h.m4 (gl_MATH_H): Likewise.
20545         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
20546         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
20547         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
20548         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
20549         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
20550         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
20551         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
20552         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
20553         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
20554         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
20555         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
20556         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
20557         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
20558         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
20559         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
20560         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
20561         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
20562         GL_LINK_WARNING.
20563         * lib/ctype.in.h: Likewise.
20564         * lib/dirent.in.h: Likewise.
20565         * lib/fcntl.in.h: Likewise.
20566         * lib/inttypes.in.h: Likewise.
20567         * lib/langinfo.in.h: Likewise.
20568         * lib/locale.in.h: Likewise.
20569         * lib/math.in.h: Likewise.
20570         * lib/search.in.h: Likewise.
20571         * lib/signal.in.h: Likewise.
20572         * lib/spawn.in.h: Likewise.
20573         * lib/stdio.in.h: Likewise.
20574         * lib/stdlib.in.h: Likewise.
20575         * lib/string.in.h: Likewise.
20576         * lib/strings.in.h: Likewise.
20577         * lib/sys_file.in.h: Likewise.
20578         * lib/sys_ioctl.in.h: Likewise.
20579         * lib/sys_select.in.h: Likewise.
20580         * lib/sys_socket.in.h: Likewise.
20581         * lib/sys_stat.in.h: Likewise.
20582         * lib/sys_times.in.h: Likewise.
20583         * lib/sys_utsname.in.h: Likewise.
20584         * lib/unistd.in.h: Likewise.
20585         * lib/wchar.in.h: Likewise.
20586
20587 2010-01-20  Bruno Haible  <bruno@clisp.org>
20588
20589         Avoid duplicate -lm.
20590         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
20591         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
20592         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
20593         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
20594         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
20595         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
20596         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
20597         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
20598         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
20599         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
20600         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
20601         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
20602         Reported by Paolo Bonzini.
20603
20604 2010-01-19  Bruno Haible  <bruno@clisp.org>
20605
20606         langinfo, nl_langinfo: Relicense under LGPLv2+.
20607         * modules/langinfo (License): Change to LGPLv2+.
20608         * modules/nl_langinfo (License): Likewise.
20609         Patch by David Lutterkort <lutter@redhat.com>.
20610
20611 2010-01-19  Bruno Haible  <bruno@clisp.org>
20612
20613         Avoid compilation error with cc on OSF/1 5.1.
20614         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
20615         statement, not before.
20616         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
20617
20618 2010-01-18  Bruno Haible  <bruno@clisp.org>
20619
20620         Avoid a link error due to the __printf__ symbol.
20621         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
20622         and 2.6.x.
20623         (__format__, __printf__): Remove definitions.
20624         * lib/argp-fmtstream.h: Likewise.
20625         * lib/argp.h: Likewise.
20626         * lib/error.h: Likewise.
20627         * lib/vasnprintf.h: Likewise.
20628         * lib/xprintf.h: Likewise.
20629         * lib/xvasprintf.h: Likewise.
20630         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
20631
20632 2010-01-18  Bruno Haible  <bruno@clisp.org>
20633
20634         Tests for module 'tanl'.
20635         * modules/tanl-tests: New file.
20636         * tests/test-tanl.c: New file.
20637
20638         Tests for module 'sqrtl'.
20639         * modules/sqrtl-tests: New file.
20640         * tests/test-sqrtl.c: New file.
20641
20642         Tests for module 'sinl'.
20643         * modules/sinl-tests: New file.
20644         * tests/test-sinl.c: New file.
20645
20646         Tests for module 'logl'.
20647         * modules/logl-tests: New file.
20648         * tests/test-logl.c: New file.
20649
20650         Tests for module 'expl'.
20651         * modules/expl-tests: New file.
20652         * tests/test-expl.c: New file.
20653
20654         Tests for module 'cosl'.
20655         * modules/cosl-tests: New file.
20656         * tests/test-cosl.c: New file.
20657
20658         Tests for module 'atanl'.
20659         * modules/atanl-tests: New file.
20660         * tests/test-atanl.c: New file.
20661
20662         Tests for module 'asinl'.
20663         * modules/asinl-tests: New file.
20664         * tests/test-asinl.c: New file.
20665
20666         Tests for module 'acosl'.
20667         * modules/acosl-tests: New file.
20668         * tests/test-acosl.c: New file.
20669
20670         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
20671         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
20672         tanl): Use the standard gnulib idiom.
20673         * lib/cosl.c: Don't include trigl.c and sincosl.c.
20674         * lib/sinl.c: Likewise.
20675         * lib/tanl.c: Don't include trigl.c.
20676         (kernel_tanl): Make static.
20677         * lib/sincosl.c: Include trigl.h first.
20678         * lib/trigl.c: Likewise.
20679         * m4/acosl.m4: New file.
20680         * m4/asinl.m4: New file.
20681         * m4/atanl.m4: New file.
20682         * m4/cosl.m4: New file.
20683         * m4/expl.m4: New file.
20684         * m4/logl.m4: New file.
20685         * m4/sinl.m4: New file.
20686         * m4/sqrtl.m4: New file.
20687         * m4/tanl.m4: New file.
20688         * m4/mathl.m4: Remove file.
20689         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
20690         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
20691         Don't initialize GNULIB_MATHL.
20692         * modules/acosl: New file.
20693         * modules/asinl: New file.
20694         * modules/atanl: New file.
20695         * modules/cosl: New file.
20696         * modules/expl: New file.
20697         * modules/logl: New file.
20698         * modules/sinl: New file.
20699         * modules/sqrtl: New file.
20700         * modules/tanl: New file.
20701         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
20702         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
20703         substitute GNULIB_MATHL.
20704         * modules/mathl: Rewritten.
20705         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
20706         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
20707         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
20708         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
20709         * doc/posix-functions/expl.texi: Mention the 'expl' module.
20710         * doc/posix-functions/logl.texi: Mention the 'logl' module.
20711         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
20712         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
20713         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
20714
20715 2010-01-18  Bruno Haible  <bruno@clisp.org>
20716
20717         sqrt: Make gl_FUNC_SQRT requirable.
20718         * m4/sqrt.m4: New file.
20719         * modules/sqrt (Files): Add it.
20720         (configure.ac): Invoke gl_FUNC_SQRT.
20721
20722 2010-01-18  Bruno Haible  <bruno@clisp.org>
20723
20724         New modules for common <math.h> functions.
20725         * m4/mathfunc.m4: New file.
20726         * modules/acos: New file.
20727         * modules/asin: New file.
20728         * modules/atan: New file.
20729         * modules/atan2: New file.
20730         * modules/cbrt: New file.
20731         * modules/copysign: New file.
20732         * modules/cos: New file.
20733         * modules/cosh: New file.
20734         * modules/erf: New file.
20735         * modules/erfc: New file.
20736         * modules/exp: New file.
20737         * modules/fabs: New file.
20738         * modules/fmod: New file.
20739         * modules/hypot: New file.
20740         * modules/j0: New file.
20741         * modules/j1: New file.
20742         * modules/jn: New file.
20743         * modules/ldexp: New file.
20744         * modules/lgamma: New file.
20745         * modules/log: New file.
20746         * modules/log10: New file.
20747         * modules/log1p: New file.
20748         * modules/logb: New file.
20749         * modules/modf: New file.
20750         * modules/nextafter: New file.
20751         * modules/pow: New file.
20752         * modules/remainder: New file.
20753         * modules/rint: New file.
20754         * modules/sin: New file.
20755         * modules/sinh: New file.
20756         * modules/sqrt: New file.
20757         * modules/tan: New file.
20758         * modules/tanh: New file.
20759         * modules/y0: New file.
20760         * modules/y1: New file.
20761         * modules/yn: New file.
20762         * doc/posix-functions/acos.texi: Mention the 'acos' module.
20763         * doc/posix-functions/asin.texi: Mention the 'asin' module.
20764         * doc/posix-functions/atan.texi: Mention the 'atan' module.
20765         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
20766         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
20767         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
20768         * doc/posix-functions/cos.texi: Mention the 'cos' module.
20769         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
20770         * doc/posix-functions/erf.texi: Mention the 'erf' module.
20771         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
20772         * doc/posix-functions/exp.texi: Mention the 'exp' module.
20773         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
20774         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
20775         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
20776         * doc/posix-functions/j0.texi: Mention the 'j0' module.
20777         * doc/posix-functions/j1.texi: Mention the 'j1' module.
20778         * doc/posix-functions/jn.texi: Mention the 'jn' module.
20779         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
20780         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
20781         * doc/posix-functions/log.texi: Mention the 'log' module.
20782         * doc/posix-functions/log10.texi: Mention the 'log10' module.
20783         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
20784         * doc/posix-functions/logb.texi: Mention the 'logb' module.
20785         * doc/posix-functions/modf.texi: Mention the 'modf' module.
20786         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
20787         * doc/posix-functions/pow.texi: Mention the 'pow' module.
20788         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
20789         * doc/posix-functions/rint.texi: Mention the 'rint' module.
20790         * doc/posix-functions/sin.texi: Mention the 'sin' module.
20791         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
20792         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
20793         * doc/posix-functions/tan.texi: Mention the 'tan' module.
20794         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
20795         * doc/posix-functions/y0.texi: Mention the 'y0' module.
20796         * doc/posix-functions/y1.texi: Mention the 'y1' module.
20797         * doc/posix-functions/yn.texi: Mention the 'yn' module.
20798
20799 2010-01-18  Jim Meyering  <meyering@redhat.com>
20800
20801         ignore-value: relax license to LGPLv2+
20802         * modules/ignore-value (License): Relax to LGPLv2+.
20803
20804         getdate: don't leak when TZ contains two or more '"'s
20805         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
20806         double quote in TZ after the first one.
20807
20808         readtokens: do not leak internal token_lengths buffer
20809         * lib/readtokens.c (readtokens): Free the local, lengths,
20810         when the supplied "token_lengths" parameter is NULL.
20811
20812 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20813
20814         Fix a couple of missing LIBTHREAD link failures on AIX.
20815         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
20816         $(LIBTHREAD).
20817         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
20818
20819         Link test-poll against INET_PTON_LIB.
20820         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
20821         for inet_pton on Solaris 10.
20822
20823 2010-01-17  Bruno Haible  <bruno@clisp.org>
20824
20825         unistdio/*-sprintf: Fix typo in module description.
20826         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
20827         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
20828         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
20829         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
20830         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
20831         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
20832         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
20833         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
20834
20835 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20836
20837         gnulib-tool: fix filelist for AIX, HP-UX ksh.
20838         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
20839         variables in shell case patterns, for AIX and HP-UX ksh.
20840
20841         Split large sed scripts, for HP-UX sed.
20842         * modules/stdio: Split sed scripts around 50 sed commands,
20843         to avoid HP-UX limit of 99 commands, in the near future.
20844         * modules/string: Likewise.
20845         * modules/unistd: Likewise.
20846
20847         gnulib-tool: avoid writing in the current directory.
20848         * gnulib-tool (func_emit_lib_Makefile_am)
20849         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
20850         not in the current directory, so concurrent gnulib-tool
20851         instances do not interfere.
20852
20853 2010-01-16  Jim Meyering  <meyering@redhat.com>
20854
20855         doc: update users.txt
20856         * users.txt: Add grep.
20857         (diffutils, gzip): Update URLs.
20858
20859 2010-01-12  Bruno Haible  <bruno@clisp.org>
20860
20861         posix_spawn: Avoid test failure on Cygwin.
20862         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
20863         characters.
20864         Reported by Simon Josefsson.
20865
20866 2010-01-12  Bruno Haible  <bruno@clisp.org>
20867
20868         * tests/test-cond.c (main): When skipping the test, show the reason.
20869
20870 2010-01-12  Simon Josefsson  <simon@josefsson.org>
20871
20872         * lib/striconv.c (str_cd_iconv): Avoid if before free.
20873
20874 2010-01-12  Simon Josefsson  <simon@josefsson.org>
20875
20876         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
20877         VC_LIST_ALWAYS_EXCLUDE_REGEX.
20878
20879 2010-01-12  Eric Blake  <ebb9@byu.net>
20880
20881         build: guarantee AS_VAR_IF
20882         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
20883         (gl_AS_VAR_IF): Move...
20884         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
20885         Reported by Simon Josefsson.
20886
20887 2010-01-12  Simon Josefsson  <simon@josefsson.org>
20888
20889         * lib/stdio.in.h: Fix typo.
20890
20891 2010-01-12  Simon Josefsson  <simon@josefsson.org>
20892
20893         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
20894         libgpg-error.
20895
20896 2010-01-12  Simon Josefsson  <simon@josefsson.org>
20897
20898         * tests/test-xalloc-die.sh: Use $EXEEXT.
20899
20900 2010-01-12  Simon Josefsson  <simon@josefsson.org>
20901             Bruno Haible  <bruno@clisp.org>
20902
20903         getlogin, getlogin_r: Avoid test failure.
20904         * tests/test-getlogin.c: Include <stdio.h>.
20905         (main): Skip the test when the function fails because stdin is not a
20906         tty.
20907         * tests/test-getlogin_r.c: Include <stdio.h>.
20908         (main): Skip the test when the function fails because stdin is not a
20909         tty.
20910
20911 2010-01-11  Eric Blake  <ebb9@byu.net>
20912
20913         tests: avoid more large file warnings
20914         * tests/test-fflush.c: Avoid warning about ftell use.
20915         * tests/test-fseek.c: Avoid warning about fseek use.
20916
20917 2010-01-10  Bruno Haible  <bruno@clisp.org>
20918
20919         nproc: Work better on Linux when /proc and /sys are not mounted.
20920         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
20921         as lower bound when, on glibc/Linux systems,
20922         sysconf (_SC_NPROCESSORS_CONF) returns 1.
20923         Suggested by Pádraig Brady <P@draigbrady.com>.
20924         Reported by Dmitry V. Levin <ldv@altlinux.org>.
20925
20926         nproc: Refactor.
20927         * lib/nproc.c (num_processors_via_affinity_mask): New function,
20928         extracted from num_processors.
20929         (num_processors): Call it.
20930
20931 2010-01-11  Jim Meyering  <meyering@redhat.com>
20932
20933         utimecmp: avoid new warning from upcoming gcc-4.5.0
20934         * lib/utimecmp.c (BILLION): Define using #define rather than an
20935         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
20936
20937 2010-01-11  Eric Blake  <ebb9@byu.net>
20938
20939         math: add portability warnings for classification macros
20940         * modules/math (Depends-on): Add warn-on-use.
20941         (Makefile.am): Provide new substitutions.
20942         * m4/math_h.m4 (gl_MATH_H): Require inline.
20943         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
20944         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
20945         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
20946         implement warnings.
20947
20948         unistd: warn on use of environ without module
20949         * modules/unistd (Depends-on): Add warn-on-use.
20950         (Makefile.am): Provide new substitutions.
20951         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
20952         * lib/unistd.in.h (environ): Wrap with a warning helper function.
20953
20954         stdio: warn on suspicious uses
20955         * modules/stdio (Depends-on): Add warn-on-use.
20956         (Makefile.am): Provide new substitutions.
20957         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
20958         fseeko.
20959         * lib/stdio.in.h (gets): Always warn on use.
20960         (fseek, ftell): Adjust when warnings are issued, and honor
20961         _GL_NO_LARGE_FILES as a way to silence the warning.
20962         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
20963         any warning about large file offsets.
20964         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
20965         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
20966         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
20967         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
20968         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
20969         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
20970         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
20971         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
20972
20973         warn-on-use: new module
20974         * modules/warn-on-use: New file.
20975         * build-aux/warn-on-use.h: Likewise.
20976         * m4/warn-on-use.m4: Likewise.
20977         * MODULES.html.sh (Support for building): Mention it.
20978
20979 2010-01-10  Bruno Haible  <bruno@clisp.org>
20980
20981         Tests for module 'unistr/u32-strdup'.
20982         * modules/unistr/u32-strdup-tests: New file.
20983         * tests/unistr/test-u32-strdup.c: New file.
20984
20985         Tests for module 'unistr/u16-strdup'.
20986         * modules/unistr/u16-strdup-tests: New file.
20987         * tests/unistr/test-u16-strdup.c: New file.
20988
20989         Tests for module 'unistr/u8-strdup'.
20990         * modules/unistr/u8-strdup-tests: New file.
20991         * tests/unistr/test-u8-strdup.c: New file.
20992         * tests/unistr/test-strdup.h: New file.
20993
20994         Tests for module 'unistr/u32-strncmp'.
20995         * modules/unistr/u32-strncmp-tests: New file.
20996         * tests/unistr/test-u32-strncmp.c: New file.
20997
20998         Tests for module 'unistr/u16-strncmp'.
20999         * modules/unistr/u16-strncmp-tests: New file.
21000         * tests/unistr/test-u16-strncmp.c: New file.
21001
21002         Tests for module 'unistr/u8-strncmp'.
21003         * modules/unistr/u8-strncmp-tests: New file.
21004         * tests/unistr/test-u8-strncmp.c: New file.
21005         * tests/unistr/test-strncmp.h: New file.
21006
21007         Tests for module 'unistr/u32-strcoll'.
21008         * modules/unistr/u32-strcoll-tests: New file.
21009         * tests/unistr/test-u32-strcoll.c: New file.
21010
21011         Tests for module 'unistr/u16-strcoll'.
21012         * modules/unistr/u16-strcoll-tests: New file.
21013         * tests/unistr/test-u16-strcoll.c: New file.
21014
21015         Tests for module 'unistr/u8-strcoll'.
21016         * modules/unistr/u8-strcoll-tests: New file.
21017         * tests/unistr/test-u8-strcoll.c: New file.
21018
21019         Tests for module 'unistr/u32-strcmp'.
21020         * modules/unistr/u32-strcmp-tests: New file.
21021         * tests/unistr/test-u32-strcmp.c: New file.
21022         * tests/unistr/test-u32-strcmp.h: New file.
21023
21024         Tests for module 'unistr/u16-strcmp'.
21025         * modules/unistr/u16-strcmp-tests: New file.
21026         * tests/unistr/test-u16-strcmp.c: New file.
21027         * tests/unistr/test-u16-strcmp.h: New file.
21028
21029         Tests for module 'unistr/u8-strcmp'.
21030         * modules/unistr/u8-strcmp-tests: New file.
21031         * tests/unistr/test-u8-strcmp.c: New file.
21032         * tests/unistr/test-u8-strcmp.h: New file.
21033         * tests/unistr/test-strcmp.h: New file.
21034
21035         Tests for module 'unistr/u32-strncat'.
21036         * modules/unistr/u32-strncat-tests: New file.
21037         * tests/unistr/test-u32-strncat.c: New file.
21038
21039         Tests for module 'unistr/u16-strncat'.
21040         * modules/unistr/u16-strncat-tests: New file.
21041         * tests/unistr/test-u16-strncat.c: New file.
21042
21043         Tests for module 'unistr/u8-strncat'.
21044         * modules/unistr/u8-strncat-tests: New file.
21045         * tests/unistr/test-u8-strncat.c: New file.
21046         * tests/unistr/test-strncat.h: New file.
21047
21048         Tests for module 'unistr/u32-strcat'.
21049         * modules/unistr/u32-strcat-tests: New file.
21050         * tests/unistr/test-u32-strcat.c: New file.
21051
21052         Tests for module 'unistr/u16-strcat'.
21053         * modules/unistr/u16-strcat-tests: New file.
21054         * tests/unistr/test-u16-strcat.c: New file.
21055
21056         Tests for module 'unistr/u8-strcat'.
21057         * modules/unistr/u8-strcat-tests: New file.
21058         * tests/unistr/test-u8-strcat.c: New file.
21059         * tests/unistr/test-strcat.h: New file.
21060
21061         Tests for module 'unistr/u32-stpncpy'.
21062         * modules/unistr/u32-stpncpy-tests: New file.
21063         * tests/unistr/test-u32-stpncpy.c: New file.
21064
21065         Tests for module 'unistr/u16-stpncpy'.
21066         * modules/unistr/u16-stpncpy-tests: New file.
21067         * tests/unistr/test-u16-stpncpy.c: New file.
21068
21069         Tests for module 'unistr/u8-stpncpy'.
21070         * modules/unistr/u8-stpncpy-tests: New file.
21071         * tests/unistr/test-u8-stpncpy.c: New file.
21072         * tests/unistr/test-stpncpy.h: New file.
21073
21074         Tests for module 'unistr/u32-strncpy'.
21075         * modules/unistr/u32-strncpy-tests: New file.
21076         * tests/unistr/test-u32-strncpy.c: New file.
21077
21078         Tests for module 'unistr/u16-strncpy'.
21079         * modules/unistr/u16-strncpy-tests: New file.
21080         * tests/unistr/test-u16-strncpy.c: New file.
21081
21082         Tests for module 'unistr/u8-strncpy'.
21083         * modules/unistr/u8-strncpy-tests: New file.
21084         * tests/unistr/test-u8-strncpy.c: New file.
21085         * tests/unistr/test-strncpy.h: New file.
21086
21087         Tests for module 'unistr/u32-stpcpy'.
21088         * modules/unistr/u32-stpcpy-tests: New file.
21089         * tests/unistr/test-u32-stpcpy.c: New file.
21090
21091         Tests for module 'unistr/u16-stpcpy'.
21092         * modules/unistr/u16-stpcpy-tests: New file.
21093         * tests/unistr/test-u16-stpcpy.c: New file.
21094
21095         Tests for module 'unistr/u8-stpcpy'.
21096         * modules/unistr/u8-stpcpy-tests: New file.
21097         * tests/unistr/test-u8-stpcpy.c: New file.
21098         * tests/unistr/test-stpcpy.h: New file.
21099
21100         Tests for module 'unistr/u32-strcpy'.
21101         * modules/unistr/u32-strcpy-tests: New file.
21102         * tests/unistr/test-u32-strcpy.c: New file.
21103
21104         Tests for module 'unistr/u16-strcpy'.
21105         * modules/unistr/u16-strcpy-tests: New file.
21106         * tests/unistr/test-u16-strcpy.c: New file.
21107
21108         Tests for module 'unistr/u8-strcpy'.
21109         * modules/unistr/u8-strcpy-tests: New file.
21110         * tests/unistr/test-u8-strcpy.c: New file.
21111         * tests/unistr/test-strcpy.h: New file.
21112
21113         Tests for module 'unistr/u32-strnlen'.
21114         * modules/unistr/u32-strnlen-tests: New file.
21115         * tests/unistr/test-u32-strnlen.c: New file.
21116
21117         Tests for module 'unistr/u16-strnlen'.
21118         * modules/unistr/u16-strnlen-tests: New file.
21119         * tests/unistr/test-u16-strnlen.c: New file.
21120
21121         Tests for module 'unistr/u8-strnlen'.
21122         * modules/unistr/u8-strnlen-tests: New file.
21123         * tests/unistr/test-u8-strnlen.c: New file.
21124         * tests/unistr/test-strnlen.h: New file.
21125
21126         Tests for module 'unistr/u32-strlen'.
21127         * modules/unistr/u32-strlen-tests: New file.
21128         * tests/unistr/test-u32-strlen.c: New file.
21129
21130         Tests for module 'unistr/u16-strlen'.
21131         * modules/unistr/u16-strlen-tests: New file.
21132         * tests/unistr/test-u16-strlen.c: New file.
21133
21134         Tests for module 'unistr/u8-strlen'.
21135         * modules/unistr/u8-strlen-tests: New file.
21136         * tests/unistr/test-u8-strlen.c: New file.
21137
21138         Tests for module 'unistr/u32-prev'.
21139         * modules/unistr/u32-prev-tests: New file.
21140         * tests/unistr/test-u32-prev.c: New file.
21141
21142         Tests for module 'unistr/u16-prev'.
21143         * modules/unistr/u16-prev-tests: New file.
21144         * tests/unistr/test-u16-prev.c: New file.
21145
21146         Tests for module 'unistr/u8-prev'.
21147         * modules/unistr/u8-prev-tests: New file.
21148         * tests/unistr/test-u8-prev.c: New file.
21149
21150         Tests for module 'unistr/u32-next'.
21151         * modules/unistr/u32-next-tests: New file.
21152         * tests/unistr/test-u32-next.c: New file.
21153
21154         Tests for module 'unistr/u16-next'.
21155         * modules/unistr/u16-next-tests: New file.
21156         * tests/unistr/test-u16-next.c: New file.
21157
21158         Tests for module 'unistr/u8-next'.
21159         * modules/unistr/u8-next-tests: New file.
21160         * tests/unistr/test-u8-next.c: New file.
21161
21162         Tests for module 'unistr/u32-strmbtouc'.
21163         * modules/unistr/u32-strmbtouc-tests: New file.
21164         * tests/unistr/test-u32-strmbtouc.c: New file.
21165
21166         Tests for module 'unistr/u16-strmbtouc'.
21167         * modules/unistr/u16-strmbtouc-tests: New file.
21168         * tests/unistr/test-u16-strmbtouc.c: New file.
21169
21170         Tests for module 'unistr/u8-strmbtouc'.
21171         * modules/unistr/u8-strmbtouc-tests: New file.
21172         * tests/unistr/test-u8-strmbtouc.c: New file.
21173
21174         Tests for module 'unistr/u32-strmblen'.
21175         * modules/unistr/u32-strmblen-tests: New file.
21176         * tests/unistr/test-u32-strmblen.c: New file.
21177
21178         Tests for module 'unistr/u16-strmblen'.
21179         * modules/unistr/u16-strmblen-tests: New file.
21180         * tests/unistr/test-u16-strmblen.c: New file.
21181
21182         Tests for module 'unistr/u8-strmblen'.
21183         * modules/unistr/u8-strmblen-tests: New file.
21184         * tests/unistr/test-u8-strmblen.c: New file.
21185
21186         Tests for module 'unistr/u32-cpy-alloc'.
21187         * modules/unistr/u32-cpy-alloc-tests: New file.
21188         * tests/unistr/test-u32-cpy-alloc.c: New file.
21189
21190         Tests for module 'unistr/u16-cpy-alloc'.
21191         * modules/unistr/u16-cpy-alloc-tests: New file.
21192         * tests/unistr/test-u16-cpy-alloc.c: New file.
21193
21194         Tests for module 'unistr/u8-cpy-alloc'.
21195         * modules/unistr/u8-cpy-alloc-tests: New file.
21196         * tests/unistr/test-u8-cpy-alloc.c: New file.
21197         * tests/unistr/test-cpy-alloc.h: New file.
21198
21199         Tests for module 'unistr/u32-mbsnlen'.
21200         * modules/unistr/u32-mbsnlen-tests: New file.
21201         * tests/unistr/test-u32-mbsnlen.c: New file.
21202
21203         Tests for module 'unistr/u16-mbsnlen'.
21204         * modules/unistr/u16-mbsnlen-tests: New file.
21205         * tests/unistr/test-u16-mbsnlen.c: New file.
21206
21207         Tests for module 'unistr/u8-mbsnlen'.
21208         * modules/unistr/u8-mbsnlen-tests: New file.
21209         * tests/unistr/test-u8-mbsnlen.c: New file.
21210
21211         Tests for module 'unistr/u32-chr'.
21212         * modules/unistr/u32-chr-tests: New file.
21213         * tests/unistr/test-u32-chr.c: New file.
21214
21215         Tests for module 'unistr/u16-chr'.
21216         * modules/unistr/u16-chr-tests: New file.
21217         * tests/unistr/test-u16-chr.c: New file.
21218
21219         Tests for module 'unistr/u8-chr'.
21220         * modules/unistr/u8-chr-tests: New file.
21221         * tests/unistr/test-u8-chr.c: New file.
21222         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
21223
21224         Tests for module 'unistr/u32-cmp2'.
21225         * modules/unistr/u32-cmp2-tests: New file.
21226         * tests/unistr/test-u32-cmp2.c: New file.
21227
21228         Tests for module 'unistr/u16-cmp2'.
21229         * modules/unistr/u16-cmp2-tests: New file.
21230         * tests/unistr/test-u16-cmp2.c: New file.
21231
21232         Tests for module 'unistr/u8-cmp2'.
21233         * modules/unistr/u8-cmp2-tests: New file.
21234         * tests/unistr/test-u8-cmp2.c: New file.
21235         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
21236
21237         Tests for module 'unistr/u32-cmp'.
21238         * modules/unistr/u32-cmp-tests: New file.
21239         * tests/unistr/test-u32-cmp.c: New file.
21240
21241         Tests for module 'unistr/u16-cmp'.
21242         * modules/unistr/u16-cmp-tests: New file.
21243         * tests/unistr/test-u16-cmp.c: New file.
21244
21245         Tests for module 'unistr/u8-cmp'.
21246         * modules/unistr/u8-cmp-tests: New file.
21247         * tests/unistr/test-u8-cmp.c: New file.
21248         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
21249
21250         Tests for module 'unistr/u32-set'.
21251         * modules/unistr/u32-set-tests: New file.
21252         * tests/unistr/test-u32-set.c: New file.
21253
21254         Tests for module 'unistr/u16-set'.
21255         * modules/unistr/u16-set-tests: New file.
21256         * tests/unistr/test-u16-set.c: New file.
21257
21258         Tests for module 'unistr/u8-set'.
21259         * modules/unistr/u8-set-tests: New file.
21260         * tests/unistr/test-u8-set.c: New file.
21261         * tests/unistr/test-set.h: New file.
21262
21263         Tests for module 'unistr/u32-move'.
21264         * modules/unistr/u32-move-tests: New file.
21265         * tests/unistr/test-u32-move.c: New file.
21266
21267         Tests for module 'unistr/u16-move'.
21268         * modules/unistr/u16-move-tests: New file.
21269         * tests/unistr/test-u16-move.c: New file.
21270
21271         Tests for module 'unistr/u8-move'.
21272         * modules/unistr/u8-move-tests: New file.
21273         * tests/unistr/test-u8-move.c: New file.
21274         * tests/unistr/test-move.h: New file.
21275
21276         Tests for module 'unistr/u32-cpy'.
21277         * modules/unistr/u32-cpy-tests: New file.
21278         * tests/unistr/test-u32-cpy.c: New file.
21279
21280         Tests for module 'unistr/u16-cpy'.
21281         * modules/unistr/u16-cpy-tests: New file.
21282         * tests/unistr/test-u16-cpy.c: New file.
21283
21284         Tests for module 'unistr/u8-cpy'.
21285         * modules/unistr/u8-cpy-tests: New file.
21286         * tests/unistr/test-u8-cpy.c: New file.
21287         * tests/unistr/test-cpy.h: New file.
21288
21289 2010-01-09  Bruno Haible  <bruno@clisp.org>
21290
21291         Tests for module 'unistr/u32-uctomb'.
21292         * modules/unistr/u32-uctomb-tests: New file.
21293         * tests/unistr/test-u32-uctomb.c: New file.
21294
21295         Tests for module 'unistr/u16-uctomb'.
21296         * modules/unistr/u16-uctomb-tests: New file.
21297         * tests/unistr/test-u16-uctomb.c: New file.
21298
21299         Tests for module 'unistr/u8-uctomb'.
21300         * modules/unistr/u8-uctomb-tests: New file.
21301         * tests/unistr/test-u8-uctomb.c: New file.
21302
21303         Tests for module 'unistr/u32-mbtoucr'.
21304         * modules/unistr/u32-mbtoucr-tests: New file.
21305         * tests/unistr/test-u32-mbtoucr.c: New file.
21306
21307         Tests for module 'unistr/u16-mbtoucr'.
21308         * modules/unistr/u16-mbtoucr-tests: New file.
21309         * tests/unistr/test-u16-mbtoucr.c: New file.
21310
21311         Tests for module 'unistr/u8-mbtoucr'.
21312         * modules/unistr/u8-mbtoucr-tests: New file.
21313         * tests/unistr/test-u8-mbtoucr.c: New file.
21314
21315         Tests for module 'unistr/u32-mbtouc'.
21316         * modules/unistr/u32-mbtouc-tests: New file.
21317         * tests/unistr/test-u32-mbtouc.c: New file.
21318
21319         Tests for module 'unistr/u16-mbtouc'.
21320         * modules/unistr/u16-mbtouc-tests: New file.
21321         * tests/unistr/test-u16-mbtouc.c: New file.
21322
21323         Tests for module 'unistr/u8-mbtouc'.
21324         * modules/unistr/u8-mbtouc-tests: New file.
21325         * tests/unistr/test-u8-mbtouc.c: New file.
21326
21327         Tests for module 'unistr/u32-mbtouc-unsafe'.
21328         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
21329         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
21330         * tests/unistr/test-u32-mbtouc.h: New file.
21331
21332         Tests for module 'unistr/u16-mbtouc-unsafe'.
21333         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
21334         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
21335         * tests/unistr/test-u16-mbtouc.h: New file.
21336
21337         Tests for module 'unistr/u8-mbtouc-unsafe'.
21338         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
21339         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
21340         * tests/unistr/test-u8-mbtouc.h: New file.
21341
21342         Tests for module 'unistr/u32-mblen'.
21343         * modules/unistr/u32-mblen-tests: New file.
21344         * tests/unistr/test-u32-mblen.c: New file.
21345
21346         Tests for module 'unistr/u16-mblen'.
21347         * modules/unistr/u16-mblen-tests: New file.
21348         * tests/unistr/test-u16-mblen.c: New file.
21349
21350         Tests for module 'unistr/u8-mblen'.
21351         * modules/unistr/u8-mblen-tests: New file.
21352         * tests/unistr/test-u8-mblen.c: New file.
21353
21354         Tests for module 'unistr/u32-to-u16'.
21355         * modules/unistr/u32-to-u16-tests: New file.
21356         * tests/unistr/test-u32-to-u16.c: New file.
21357
21358         Tests for module 'unistr/u32-to-u8'.
21359         * modules/unistr/u32-to-u8-tests: New file.
21360         * tests/unistr/test-u32-to-u8.c: New file.
21361
21362         Tests for module 'unistr/u16-to-u32'.
21363         * modules/unistr/u16-to-u32-tests: New file.
21364         * tests/unistr/test-u16-to-u32.c: New file.
21365
21366         Tests for module 'unistr/u16-to-u8'.
21367         * modules/unistr/u16-to-u8-tests: New file.
21368         * tests/unistr/test-u16-to-u8.c: New file.
21369
21370         Tests for module 'unistr/u8-to-u32'.
21371         * modules/unistr/u8-to-u32-tests: New file.
21372         * tests/unistr/test-u8-to-u32.c: New file.
21373
21374         Tests for module 'unistr/u8-to-u16'.
21375         * modules/unistr/u8-to-u16-tests: New file.
21376         * tests/unistr/test-u8-to-u16.c: New file.
21377
21378         Tests for module 'unistr/u32-check'.
21379         * modules/unistr/u32-check-tests: New file.
21380         * tests/unistr/test-u32-check.c: New file.
21381
21382         Tests for module 'unistr/u16-check'.
21383         * modules/unistr/u16-check-tests: New file.
21384         * tests/unistr/test-u16-check.c: New file.
21385
21386         Tests for module 'unistr/u8-check'.
21387         * modules/unistr/u8-check-tests: New file.
21388         * tests/unistr/test-u8-check.c: New file.
21389
21390         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
21391         (category_equals): New function.
21392         (main): Add more tests.
21393         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
21394
21395         * tests/unictype/test-bidi_byname.c (main): Add more tests.
21396
21397 2010-01-10  Bruno Haible  <bruno@clisp.org>
21398
21399         unistr/u*-strcoll: Try harder to distinguish different strings.
21400         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
21401         compare s1 and s2 to see if they are different.
21402
21403 2010-01-10  Bruno Haible  <bruno@clisp.org>
21404
21405         unistr/u*-stpncpy: Fix the return value.
21406         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
21407         description of the return value consistent with stpncpy in glibc.
21408         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
21409         written non-NUL unit.
21410
21411 2010-01-10  Bruno Haible  <bruno@clisp.org>
21412
21413         unistr/u*-next: Add missing dependencies.
21414         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
21415         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
21416         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
21417
21418 2010-01-10  Bruno Haible  <bruno@clisp.org>
21419
21420         unistr/u8-mbsnlen: Fix return value for incomplete character.
21421         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
21422         u8_mblen.
21423         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
21424         Remove unistr/u8-mblen.
21425         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
21426         u16_mblen.
21427         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
21428         Remove unistr/u16-mblen.
21429
21430 2010-01-10  Bruno Haible  <bruno@clisp.org>
21431
21432         wchar: Fix compilation error when <wchar.h> is used from coreutils.
21433         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
21434         Reported by Brian Gough <bjg@gnu.org> and
21435         Chris Clayton <chris2553@googlemail.com> via
21436         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
21437
21438 2010-01-09  Bruno Haible  <bruno@clisp.org>
21439
21440         unistr/u16-to-u32: Reject invalid input.
21441         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
21442         u16_mbtouc.
21443         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
21444         Remove unistr/u16-mbtouc.
21445
21446         unistr/u16-to-u8: Reject invalid input.
21447         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
21448         u16_mbtouc.
21449         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
21450         Remove unistr/u16-mbtouc.
21451
21452         unistr/u8-to-u32: Reject invalid input.
21453         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
21454         u8_mbtouc.
21455         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
21456         Remove unistr/u8-mbtouc.
21457
21458         unistr/u8-to-u16: Reject invalid input.
21459         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
21460         u8_mbtouc.
21461         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
21462         Remove unistr/u8-mbtouc.
21463
21464 2010-01-09  Bruno Haible  <bruno@clisp.org>
21465
21466         Tests for module 'getlogin'.
21467         * modules/getlogin-tests: New file.
21468         * tests/test-getlogin.c: New file.
21469
21470         New module 'getlogin'.
21471         * lib/unistd.in.h (getlogin): New declaration.
21472         * lib/getlogin.c: New file.
21473         * m4/getlogin.m4: New file.
21474         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
21475         HAVE_GETLOGIN.
21476         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
21477         HAVE_GETLOGIN.
21478         * modules/getlogin: New file.
21479         * doc/posix-functions/getlogin.texi: Mention the new module.
21480         Reported by John W. Eaton <jwe@gnu.org>.
21481
21482 2010-01-09  Bruno Haible  <bruno@clisp.org>
21483
21484         getlogin_r: Support for native Windows.
21485         * lib/getlogin_r.c: Include <windows.h>
21486         (getlogin_r): Implement for native Windows.
21487         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
21488         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
21489         via John W. Eaton <jwe@gnu.org>.
21490
21491 2010-01-09  Bruno Haible  <bruno@clisp.org>
21492
21493         getlogin_r: Small fixes.
21494         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
21495         succeeds.
21496         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
21497         before testing whether getlogin_r is declared. No need to set
21498         HAVE_DECL_GETLOGIN_R to 1.
21499         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
21500
21501 2010-01-09  Bruno Haible  <bruno@clisp.org>
21502
21503         * lib/unistd.in.h (getlogin_r): Add comment.
21504
21505 2010-01-09  Bruno Haible  <bruno@clisp.org>
21506
21507         Tests for module 'getlogin_r'.
21508         * modules/getlogin_r-tests: New file.
21509         * tests/test-getlogin_r.c: New file.
21510
21511 2010-01-09  Jim Meyering  <meyering@redhat.com>
21512
21513         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
21514         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
21515         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
21516
21517 2010-01-08  Simon Josefsson  <simon@josefsson.org>
21518
21519         * lib/dup2.c (rpl_dup2): Improve comment.
21520
21521 2010-01-08  Eric Blake  <ebb9@byu.net>
21522
21523         maint.mk: allow packages to add makefile @@ exceptions
21524         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
21525         (sc_makefile_check): Rename...
21526         (sc_makefile_at_at_check): ...to this, and use hook.
21527
21528         dup2: work around mingw bug
21529         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
21530         Reported by Simon Josefsson.
21531
21532 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
21533
21534         glob: Fix C++ compilation.
21535         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
21536         C++.
21537
21538 2010-01-07  Bruno Haible  <bruno@clisp.org>
21539
21540         Fix indentation of wctype.in.h, broken since 2007-01-06.
21541         * lib/wctype.in.h: Fix indentation of preprocessor directives.
21542
21543 2010-01-07  Bruno Haible  <bruno@clisp.org>
21544
21545         mbslen: Avoid collision with system function.
21546         * lib/string.in.h [MirBSD]: Include <wchar.h>.
21547         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
21548         * m4/mbslen.m4: New file.
21549         * modules/mbslen (Files): Add it.
21550         (configure.ac): Invoke gl_MBSLEN.
21551         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
21552         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
21553         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
21554         via Ian Beckwith <ianb@erislabs.net>.
21555
21556 2010-01-07  Bruno Haible  <bruno@clisp.org>
21557
21558         dirent: Document the last fix.
21559         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
21560
21561 2010-01-07  Bruno Haible  <bruno@clisp.org>
21562
21563         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
21564         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
21565         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
21566         va_list are defined.
21567         * doc/posix-headers/stdio.texi: Document the bug of missing types.
21568         Reported by Eric Blake.
21569
21570 2010-01-07  Bruno Haible  <bruno@clisp.org>
21571
21572         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
21573         * modules/xlist (Depends-on): Add 'list',
21574         * modules/xoset (Depends-on): Add 'oset'.
21575         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
21576
21577 2010-01-07  Bruno Haible  <bruno@clisp.org>
21578
21579         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
21580         * doc/posix-functions/strncasecmp.texi: Likewise.
21581
21582 2010-01-07  Bruno Haible  <bruno@clisp.org>
21583
21584         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
21585
21586 2010-01-07  John W. Eaton  <jwe@octave.org>
21587
21588         wctype: allow C++ use
21589         * lib/wctype.in.h: Add extern "C" block for C++.
21590
21591 2010-01-06  Eric Blake  <ebb9@byu.net>
21592
21593         maint.mk: detect incorrect GFDL usage
21594         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
21595
21596 2010-01-06  Jim Meyering  <meyering@redhat.com>
21597         and Eric Blake  <ebb9@byu.net>
21598
21599         maint.mk: ignore multi-line copyright in NEWS
21600         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
21601
21602 2010-01-06  Eric Blake  <ebb9@byu.net>
21603
21604         select: add missing dependency
21605         * modules/select-tests (Depends-on): Move sockets dependency...
21606         * modules/select (Depends-on): ...here.
21607         Reported by Ian Beckwith.
21608
21609         doc: regenerate INSTALL
21610         * doc/INSTALL: Reflect recent autoconf update.
21611         * doc/INSTALL.ISO: Likewise.
21612         * doc/INSTALL.UTF-8: Likewise.
21613
21614         pread: fix compilation on glibc
21615         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
21616         Reported by Ralf Wildenhues.
21617
21618         dirent: fix test failure
21619         * lib/dirent.in.h (includes): Guarantee ino_t.
21620         Reported by Ralf Wildenhues.
21621
21622 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
21623
21624         linkat, renameat: avoid bad free
21625         * lib/at-func2.c (at_func2): Fix typo.
21626         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
21627
21628 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21629
21630         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
21631         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
21632         to avoid failure of symlink test later.
21633
21634 2010-01-06  Eric Blake  <ebb9@byu.net>
21635
21636         stdio, unistd: guarantee ssize_t
21637         * lib/unistd.in.h (includes): Ensure that types required by POSIX
21638         2008 are exposed when needed.
21639         * lib/stdio.in.h (includes): Likewise.
21640         Reported by Ralf Wildenhues.
21641
21642 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
21643
21644         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
21645         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
21646         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
21647
21648 2010-01-06  Jim Meyering  <meyering@redhat.com>
21649
21650         readtokens: this module *does* require xalloc.h
21651         It uses only functions that were omitted by the old syntax-check rule.
21652         * lib/readtokens.c: Include "xalloc.h" once again.
21653         * modules/readtokens (Depends-on): Add xalloc.
21654         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
21655
21656 2010-01-05  Eric Blake  <ebb9@byu.net>
21657
21658         maint: support 'make announcement' from a VPATH build
21659         * top/maint.mk (announcement): Look for correct NEWS file.
21660
21661 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
21662
21663         utimens (fdutimens): ignore a negative FD, per contract
21664         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
21665         when we have a valid file descriptor.  Otherwise, using a brand
21666         new glibc (with just-patched futimens that now fails with EBADF)
21667         would cause this function to fail with ENOSYS.
21668         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
21669         See also http://bugzilla.redhat.com/552320.
21670
21671 2010-01-05  Eric Blake  <ebb9@byu.net>
21672
21673         strcase: document what it provides
21674         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
21675         gnulib module.
21676         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
21677         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
21678
21679 2010-01-05  Jim Meyering  <meyering@redhat.com>
21680
21681         maint: remove useless inclusions of "xalloc.h"
21682         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
21683         * lib/readtokens.c: Likewise.
21684         * lib/same.c: Likewise.
21685         * modules/getloadavg (Depends-on): Remove xalloc.
21686         * modules/readtokens: Likewise.
21687         * modules/same: Likewise.
21688
21689         maint.mk: include 4 more function names in alloca.h-checking regexp
21690         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
21691         regexp.  Before, we would give a false-positive (saying alloca.h
21692         is included unnecessarily) when the only uses involved omitted symbols.
21693
21694         xalloc.h: use consistent formatting
21695         * lib/xalloc.h: Move declarations to start in the first column.
21696
21697 2010-01-05  Eric Blake  <ebb9@byu.net>
21698
21699         mkdir: avoid xalloc
21700         * lib/mkdir.c (includes): Drop unused header.
21701         Reported by John W. Eaton.
21702
21703 2010-01-04  Jim Meyering  <meyering@redhat.com>
21704
21705         nl_langinfo: avoid configure-time syntax error
21706         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
21707         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
21708         the empty string.  Don't let that provoke a shell syntax error.
21709
21710         regcomp, regexec, fnmatch: avoid array bounds read error
21711         * lib/regcomp.c (build_equiv_class): From glibc:
21712         Use only the low 24 bits of a findidx return value as an index
21713         into the weights array.  Patch by Ulrich Drepper:
21714         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
21715         * lib/regexec.c (check_node_accept_bytes): Likewise.
21716         * lib/fnmatch_loop.c (FCT): Likewise.
21717
21718         regcomp: skip collseq lookup when there are no rules
21719         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
21720         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
21721
21722         regcomp: recognize ill-formed { } expressions
21723         * lib/regcomp.c (parse_dup_op): From glibc:
21724         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
21725
21726         regcomp: fix typo in comment
21727         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
21728         s/satisfy/satisfies/.
21729
21730         regcomp: sync from glibc: remove dead store
21731         * lib/regcomp.c (duplicate_node_closure): Remove useless
21732         search_duplicated_node call and dead store.
21733
21734         regcomp: sync from glibc; always use nl_langinfo
21735         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
21736         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
21737         * modules/regex (Depends-on): Add nl_langinfo.
21738
21739 2010-01-04  Eric Blake  <ebb9@byu.net>
21740
21741         fdopendir: fix configure test
21742         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
21743
21744 2010-01-01  Bruno Haible  <bruno@clisp.org>
21745
21746         wchar: Remove unused configure check.
21747         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
21748
21749 2010-01-01  Eric Blake  <ebb9@byu.net>
21750
21751         headers: make check of system header explicit
21752         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
21753         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
21754         ourselves.
21755         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
21756         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
21757         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
21758         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
21759         internals.
21760         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
21761         missing.
21762         Suggested by Bruno Haible.
21763
21764 2010-01-01  Jim Meyering  <meyering@redhat.com>
21765
21766         ChangeLog: tweak to eliminate unnecessary copyright line
21767         * ChangeLog: Remove a copyright line that was mistakenly updated
21768         by today's update-copyright run.  Reported by Eric Blake.
21769
21770         test-update-copyright: don't let envvar setting cause test failure
21771         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
21772
21773 2010-01-01  Bruno Haible  <bruno@clisp.org>
21774
21775         localename: Avoid gcc warning.
21776         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
21777         function if it is not used.
21778
21779 2010-01-01  Jim Meyering  <meyering@redhat.com>
21780
21781         update nearly all FSF copyright year lists to include 2010
21782         Use the same procedure as for 2009, outlined in
21783         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
21784
21785         version-etc: set COPYRIGHT_YEAR to 2010
21786         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
21787
21788 2009-12-31  Eric Blake  <ebb9@byu.net>
21789
21790         doc: correct availability of cygwin 1.5.x getopt
21791         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
21792         variables.
21793         * doc/posix-functions/opterr.texi (opterr): Likewise.
21794         * doc/posix-functions/optind.texi (optind): Likewise.
21795         * doc/posix-functions/optopt.texi (optopt): Likewise.
21796         * doc/posix-functions/tzname.texi (tzname): Likewise.
21797
21798         openat: update maintainer
21799         * modules/openat (Maintainer): Add myself.
21800
21801         utimens: avoid shadowing warning
21802         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
21803         buffers into one, to avoid shadowing, as well as avoiding a
21804         redundant stat.
21805         Reported by Jim Meyering.
21806
21807         test-dup2: avoid compiler warning
21808         * tests/test-dup2.c (is_inheritable): Only define if used.
21809
21810 2010-01-01  Bruno Haible  <bruno@clisp.org>
21811
21812         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
21813         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
21814         defined, use wctomb instead of wcrtomb.
21815
21816 2010-01-01  Bruno Haible  <bruno@clisp.org>
21817
21818         iconv: Reject native Solaris iconv.
21819         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
21820         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
21821
21822 2009-12-31  Bruno Haible  <bruno@clisp.org>
21823
21824         * tests/test-signal.c (main): Remove test of 'SIG'.
21825
21826 2009-12-31  Bruno Haible  <bruno@clisp.org>
21827
21828         spawn: Fix incomplete fix.
21829         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
21830         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
21831         warnings for GNULIB_POSIXCHECK again.
21832         Reported by Eric Blake.
21833
21834 2009-12-31  Bruno Haible  <bruno@clisp.org>
21835
21836         Avoid namespace pollution on glibc systems.
21837         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
21838         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
21839         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
21840         glibc systems.
21841
21842 2009-12-31  Bruno Haible  <bruno@clisp.org>
21843
21844         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
21845         (gl_REPLACE_WCHAR_H): Turn into a no-op.
21846         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
21847         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
21848         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
21849         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
21850         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
21851
21852 2009-12-31  Bruno Haible  <bruno@clisp.org>
21853
21854         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
21855         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
21856         afterwards.
21857
21858 2009-12-31  Bruno Haible  <bruno@clisp.org>
21859
21860         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
21861         SYS_UTSNAME_H.
21862
21863 2009-12-31  Bruno Haible  <bruno@clisp.org>
21864
21865         spawn: Fix misapplied patch.
21866         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
21867         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
21868         warnings for GNULIB_POSIXCHECK.
21869
21870 2009-12-31  Bruno Haible  <bruno@clisp.org>
21871
21872         times: Update after sys_times changed.
21873         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
21874         * modules/times (Files): Add it.
21875         (configure.ac): Invoke gl_FUNC_TIMES.
21876
21877 2009-12-31  Bruno Haible  <bruno@clisp.org>
21878
21879         Use AC_C_INLINE where necessary.
21880         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
21881         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
21882         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
21883         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
21884         * m4/mbfile.m4 (gl_MBFILE): Likewise.
21885         * m4/mbiter.m4 (gl_MBITER): Likewise.
21886         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
21887         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
21888         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
21889         * modules/u64 (configure.ac): Likewise.
21890
21891 2009-12-31  Bruno Haible  <bruno@clisp.org>
21892
21893         Use AC_C_INLINE instead of module 'inline' where possible.
21894         * modules/inline (Description): Clarify purpose.
21895         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
21896         * modules/count-one-bits (Depends-on): Remove inline.
21897         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
21898         * modules/openat (Depends-on): Remove inline.
21899         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
21900         instead of depending on module 'inline'.
21901         * modules/filevercmp (Depends-on, configure.ac): Likewise.
21902         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
21903         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
21904         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
21905         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
21906         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
21907         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
21908         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
21909         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
21910         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
21911         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
21912         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
21913         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
21914         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
21915         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
21916         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
21917         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
21918         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
21919         Likewise.
21920         * modules/unictype/property-ascii-hex-digit (Depends-on,
21921         configure.ac): Likewise.
21922         * modules/unictype/property-bidi-arabic-digit (Depends-on,
21923         configure.ac): Likewise.
21924         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
21925         configure.ac): Likewise.
21926         * modules/unictype/property-bidi-block-separator (Depends-on,
21927         configure.ac): Likewise.
21928         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
21929         configure.ac): Likewise.
21930         * modules/unictype/property-bidi-common-separator (Depends-on,
21931         configure.ac): Likewise.
21932         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
21933         Likewise.
21934         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
21935         configure.ac): Likewise.
21936         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
21937         configure.ac): Likewise.
21938         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
21939         configure.ac): Likewise.
21940         * modules/unictype/property-bidi-european-digit (Depends-on,
21941         configure.ac): Likewise.
21942         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
21943         configure.ac): Likewise.
21944         * modules/unictype/property-bidi-left-to-right (Depends-on,
21945         configure.ac): Likewise.
21946         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
21947         configure.ac): Likewise.
21948         * modules/unictype/property-bidi-other-neutral (Depends-on,
21949         configure.ac): Likewise.
21950         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
21951         Likewise.
21952         * modules/unictype/property-bidi-segment-separator (Depends-on,
21953         configure.ac): Likewise.
21954         * modules/unictype/property-bidi-whitespace (Depends-on,
21955         configure.ac): Likewise.
21956         * modules/unictype/property-combining (Depends-on, configure.ac):
21957         Likewise.
21958         * modules/unictype/property-composite (Depends-on, configure.ac):
21959         Likewise.
21960         * modules/unictype/property-currency-symbol (Depends-on,
21961         configure.ac): Likewise.
21962         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
21963         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
21964         Likewise.
21965         * modules/unictype/property-default-ignorable-code-point (Depends-on,
21966         configure.ac): Likewise.
21967         * modules/unictype/property-deprecated (Depends-on, configure.ac):
21968         Likewise.
21969         * modules/unictype/property-diacritic (Depends-on, configure.ac):
21970         Likewise.
21971         * modules/unictype/property-extender (Depends-on, configure.ac):
21972         Likewise.
21973         * modules/unictype/property-format-control (Depends-on, configure.ac):
21974         Likewise.
21975         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
21976         Likewise.
21977         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
21978         Likewise.
21979         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
21980         Likewise.
21981         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
21982         Likewise.
21983         * modules/unictype/property-hyphen (Depends-on, configure.ac):
21984         Likewise.
21985         * modules/unictype/property-id-continue (Depends-on, configure.ac):
21986         Likewise.
21987         * modules/unictype/property-id-start (Depends-on, configure.ac):
21988         Likewise.
21989         * modules/unictype/property-ideographic (Depends-on, configure.ac):
21990         Likewise.
21991         * modules/unictype/property-ids-binary-operator (Depends-on,
21992         configure.ac): Likewise.
21993         * modules/unictype/property-ids-trinary-operator (Depends-on,
21994         configure.ac): Likewise.
21995         * modules/unictype/property-ignorable-control (Depends-on,
21996         configure.ac): Likewise.
21997         * modules/unictype/property-iso-control (Depends-on, configure.ac):
21998         Likewise.
21999         * modules/unictype/property-join-control (Depends-on, configure.ac):
22000         Likewise.
22001         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
22002         Likewise.
22003         * modules/unictype/property-line-separator (Depends-on, configure.ac):
22004         Likewise.
22005         * modules/unictype/property-logical-order-exception (Depends-on,
22006         configure.ac): Likewise.
22007         * modules/unictype/property-lowercase (Depends-on, configure.ac):
22008         Likewise.
22009         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
22010         * modules/unictype/property-non-break (Depends-on, configure.ac):
22011         Likewise.
22012         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
22013         Likewise.
22014         * modules/unictype/property-numeric (Depends-on, configure.ac):
22015         Likewise.
22016         * modules/unictype/property-other-alphabetic (Depends-on,
22017         configure.ac): Likewise.
22018         * modules/unictype/property-other-default-ignorable-code-point
22019         (Depends-on, configure.ac): Likewise.
22020         * modules/unictype/property-other-grapheme-extend (Depends-on,
22021         configure.ac): Likewise.
22022         * modules/unictype/property-other-id-continue (Depends-on,
22023         configure.ac): Likewise.
22024         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
22025         Likewise.
22026         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
22027         Likewise.
22028         * modules/unictype/property-other-math (Depends-on, configure.ac):
22029         Likewise.
22030         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
22031         Likewise.
22032         * modules/unictype/property-paired-punctuation (Depends-on,
22033         configure.ac): Likewise.
22034         * modules/unictype/property-paragraph-separator (Depends-on,
22035         configure.ac): Likewise.
22036         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
22037         Likewise.
22038         * modules/unictype/property-pattern-white-space (Depends-on,
22039         configure.ac): Likewise.
22040         * modules/unictype/property-private-use (Depends-on, configure.ac):
22041         Likewise.
22042         * modules/unictype/property-punctuation (Depends-on, configure.ac):
22043         Likewise.
22044         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
22045         Likewise.
22046         * modules/unictype/property-radical (Depends-on, configure.ac):
22047         Likewise.
22048         * modules/unictype/property-sentence-terminal (Depends-on,
22049         configure.ac): Likewise.
22050         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
22051         Likewise.
22052         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
22053         * modules/unictype/property-terminal-punctuation (Depends-on,
22054         configure.ac): Likewise.
22055         * modules/unictype/property-titlecase (Depends-on, configure.ac):
22056         Likewise.
22057         * modules/unictype/property-unassigned-code-value (Depends-on,
22058         configure.ac): Likewise.
22059         * modules/unictype/property-unified-ideograph (Depends-on,
22060         configure.ac): Likewise.
22061         * modules/unictype/property-uppercase (Depends-on, configure.ac):
22062         Likewise.
22063         * modules/unictype/property-variation-selector (Depends-on,
22064         configure.ac): Likewise.
22065         * modules/unictype/property-white-space (Depends-on, configure.ac):
22066         Likewise.
22067         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
22068         Likewise.
22069         * modules/unictype/property-xid-start (Depends-on, configure.ac):
22070         Likewise.
22071         * modules/unictype/property-zero-width (Depends-on, configure.ac):
22072         Likewise.
22073         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
22074         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
22075         Likewise.
22076
22077 2009-12-31  Bruno Haible  <bruno@clisp.org>
22078
22079         Remove unnecessary AC_C_INLINE invocation.
22080         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
22081         since 2009-08-21.
22082
22083 2009-12-31  Jim Meyering  <meyering@redhat.com>
22084
22085         maint.mk: don't require explicit gpg_key_ID in cfg.mk
22086         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
22087         With this change, we can all remove the gpg_key_ID = ... definition
22088         from our respective cfg.mk files.
22089
22090         maint.mk: create announcement template in ~/, not in /tmp
22091         * top/maint.mk (emit_upload_commands): Adjust.
22092         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
22093         Remove temporary file, .ci-msg.
22094
22095 2009-12-31  Eric Blake  <ebb9@byu.net>
22096
22097         link-warning: always build headers with link warnings
22098         * modules/arpa_inet (Makefile.am): Always build replacement
22099         header.
22100         * modules/ctype (Makefile.am): Likewise.
22101         * modules/dirent (Makefile.am): Likewise.
22102         * modules/inttypes (Makefile.am): Likewise.
22103         * modules/langinfo (Makefile.am): Likewise.
22104         * modules/locale (Makefile.am): Likewise.
22105         * modules/spawn (Makefile.am): Likewise.
22106         * modules/sys_file (Makefile.am): Likewise.
22107         * modules/sys_ioctl (Makefile.am): Likewise.
22108         * modules/sys_select (Makefile.am): Likewise.
22109         * modules/sys_socket (Makefile.am): Likewise.
22110         * modules/sys_times (Makefile.am): Likewise.
22111         * modules/sys_utsname (Makefile.am): Likewise.
22112         * modules/sys_wait (Makefile.am): Likewise.
22113         * modules/wchar (Makefile.am): Likewise.
22114         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
22115         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
22116         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
22117         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
22118         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
22119         Likewise.
22120         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
22121         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
22122         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
22123         Likewise.
22124         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
22125         Likewise.
22126         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
22127         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
22128         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
22129         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
22130         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
22131         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
22132         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
22133         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
22134         (gl_WCHAR_H_DEFAULTS): Likewise.
22135
22136 2009-12-31  Eric Blake  <ebb9@byu.net>
22137
22138         signal, spawn: use link warnings
22139         * lib/signal.in.h (sigset_t): Make unconditional.
22140         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
22141         (sigpending, sigprocmask, sigaction): Add link warnings.
22142         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
22143         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
22144         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
22145         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
22146         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
22147         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
22148         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
22149         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
22150         (posix_spawn_file_actions_destroy)
22151         (posix_spawn_file_actions_addopen)
22152         (posix_spawn_file_actions_addclose)
22153         (posix_spawn_file_actions_adddup2): Likewise.
22154         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
22155         * tests/test-signal.c (main): Enhance test.
22156
22157         spawn: improve wrapper support
22158         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
22159         (gl_SPAWN_H_DEFAULTS): New defaults.
22160         * modules/spawn (Makefile.am): Substitute them.
22161         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
22162         Only declare if missing or broken.
22163
22164         sys_times, sys_utsname: use include_next
22165         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
22166         header.
22167         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
22168         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
22169         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
22170         * modules/sys_times (Depends-on): Add include_next.
22171         (Makefile.am): Substitute additional values.
22172         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
22173         * lib/sys_times.in.h (includes): Include native header, if
22174         available.
22175         * lib/sys_utsname.in.h (includes): Likewise.
22176         * tests/test-sys_times.c (main): Enhance test.
22177
22178         fdutimensat: revert prior patch
22179         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
22180         utimens.h.
22181         Reported by Bruno Haible.
22182
22183 2009-12-30  Eric Blake  <ebb9@byu.net>
22184
22185         sys_wait: drop link-warning dependency
22186         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
22187         link-warning efforts.
22188         * lib/sys_wait.in.h: Likewise.
22189
22190         fdutimensat: remove bogus dependency
22191         * modules/fdutimensat (Depends-on): Drop inline.
22192
22193         unistd: fix typo
22194         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
22195
22196 2009-12-30  Bruno Haible  <bruno@clisp.org>
22197
22198         Fix compilation error with Solaris cc.
22199         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
22200         * lib/unicase/u16-is-invariant.c: Likewise.
22201         * lib/unicase/u32-is-invariant.c: Likewise.
22202         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
22203
22204 2009-12-30  Bruno Haible  <bruno@clisp.org>
22205
22206         Fix test crash.
22207         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
22208         locales.
22209         Reported by Simon Josefsson <simon@josefsson.org>.
22210
22211 2009-12-30  Bruno Haible  <bruno@clisp.org>
22212
22213         Fix compilation error on most platforms.
22214         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
22215         Reported by Simon Josefsson <simon@josefsson.org>
22216         and Nelson H. F. Beebe <beebe@math.utah.edu>.
22217
22218 2009-12-30  Eric Blake  <ebb9@byu.net>
22219
22220         futimens, utimensat: work around ntfs-3g bug
22221         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
22222         a ctime bug is present, and expand workaround to cover ntfs-3g.
22223         * lib/utimens.c (fdutimens, lutimens): Likewise.
22224         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
22225         (validate_timespec): Adjust return value.
22226         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
22227         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
22228         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
22229
22230 2009-12-29  Eric Blake  <ebb9@byu.net>
22231
22232         link-warning: make usage consistent
22233         * modules/ctype (Depends-on): Add link-warning.
22234         (Makefile.am): Update rules accordingly.
22235         * modules/langinfo (Depends-on, Makefile.am): Likewise.
22236         * modules/locale (Depends-on, Makefile.am): Likewise.
22237         * modules/sys_file (Makefile.am): Likewise.
22238         * modules/getopt-posix (Makefile.am): Delete unused link warning
22239         efforts.
22240         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
22241         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
22242         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
22243         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
22244
22245         stdio: remove unused variables
22246         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
22247         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
22248         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
22249
22250         tests: test more substitute headers
22251         * modules/ctype-tests: New file.
22252         * modules/dirent-tests: Likewise.
22253         * modules/spawn-tests: Likewise.
22254         * modules/sys_file-tests: Likewise.
22255         * modules/sys_ioctl-tests: Likewise.
22256         * modules/sys_wait-tests: Likewise.
22257         * tests/test-ctype.c: Likewise.
22258         * tests/test-dirent.c: Likewise.
22259         * tests/test-spawn.c: Likewise.
22260         * tests/test-sys_file.c: Likewise.
22261         * tests/test-sys_ioctl.c: Likewise.
22262         * tests/test-sys_wait.c: Likewise.
22263         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
22264         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
22265         whether or not flock is in use.
22266
22267         tests: remove License section from module
22268         * modules/arpa_inet-tests: Remove unneeded section.
22269         * modules/byteswap-tests: Likewise.
22270         * modules/ceilf-tests: Likewise.
22271         * modules/ceill-tests: Likewise.
22272         * modules/crypto/des-tests: Likewise.
22273         * modules/crypto/gc-arcfour-tests: Likewise.
22274         * modules/crypto/gc-arctwo-tests: Likewise.
22275         * modules/crypto/gc-des-tests: Likewise.
22276         * modules/crypto/gc-hmac-md5-tests: Likewise.
22277         * modules/crypto/gc-hmac-sha1-tests: Likewise.
22278         * modules/crypto/gc-md2-tests: Likewise.
22279         * modules/crypto/gc-md4-tests: Likewise.
22280         * modules/crypto/gc-md5-tests: Likewise.
22281         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
22282         * modules/crypto/gc-rijndael-tests: Likewise.
22283         * modules/crypto/gc-sha1-tests: Likewise.
22284         * modules/crypto/gc-tests: Likewise.
22285         * modules/crypto/md2-tests: Likewise.
22286         * modules/crypto/md4-tests: Likewise.
22287         * modules/fcntl-h-tests: Likewise.
22288         * modules/floorf-tests: Likewise.
22289         * modules/floorl-tests: Likewise.
22290         * modules/frexp-nolibm-tests: Likewise.
22291         * modules/frexp-tests: Likewise.
22292         * modules/frexpl-nolibm-tests: Likewise.
22293         * modules/frexpl-tests: Likewise.
22294         * modules/getaddrinfo-tests: Likewise.
22295         * modules/inttypes-tests: Likewise.
22296         * modules/isfinite-tests: Likewise.
22297         * modules/isinf-tests: Likewise.
22298         * modules/ldexpl-tests: Likewise.
22299         * modules/locale-tests: Likewise.
22300         * modules/math-tests: Likewise.
22301         * modules/netdb-tests: Likewise.
22302         * modules/netinet_in-tests: Likewise.
22303         * modules/printf-frexp-tests: Likewise.
22304         * modules/printf-frexpl-tests: Likewise.
22305         * modules/priv-set-tests: Likewise.
22306         * modules/random_r-tests: Likewise.
22307         * modules/round-tests: Likewise.
22308         * modules/roundf-tests: Likewise.
22309         * modules/roundl-tests: Likewise.
22310         * modules/search-tests: Likewise.
22311         * modules/select-tests: Likewise.
22312         * modules/signal-tests: Likewise.
22313         * modules/stdbool-tests: Likewise.
22314         * modules/stddef-tests: Likewise.
22315         * modules/stdint-tests: Likewise.
22316         * modules/stdio-tests: Likewise.
22317         * modules/stdlib-tests: Likewise.
22318         * modules/string-tests: Likewise.
22319         * modules/strings-tests: Likewise.
22320         * modules/sys_select-tests: Likewise.
22321         * modules/sys_socket-tests: Likewise.
22322         * modules/sys_stat-tests: Likewise.
22323         * modules/sys_time-tests: Likewise.
22324         * modules/sys_utsname-tests: Likewise.
22325         * modules/sysexits-tests: Likewise.
22326         * modules/time-tests: Likewise.
22327         * modules/trunc-tests: Likewise.
22328         * modules/truncf-tests: Likewise.
22329         * modules/truncl-tests: Likewise.
22330         * modules/tsearch-tests: Likewise.
22331         * modules/unistd-tests: Likewise.
22332         * modules/wchar-tests: Likewise.
22333         * modules/wctype-tests: Likewise.
22334
22335         tests: fix license on several tests
22336         * tests/test-des.c: Update to GPLv3+.
22337         * tests/test-flock.c: Likewise.
22338         * tests/test-fsync.c: Likewise.
22339         * tests/test-futimens.h: Likewise.
22340         * tests/test-gc-arcfour.c: Likewise.
22341         * tests/test-gc-arctwo.c: Likewise.
22342         * tests/test-gc-des.c: Likewise.
22343         * tests/test-gc-hmac-md5.c: Likewise.
22344         * tests/test-gc-hmac-sha1.c: Likewise.
22345         * tests/test-gc-md2.c: Likewise.
22346         * tests/test-gc-md4.c: Likewise.
22347         * tests/test-gc-md5.c: Likewise.
22348         * tests/test-gc-pbkdf2-sha1.c: Likewise.
22349         * tests/test-gc-rijndael.c: Likewise.
22350         * tests/test-gc-sha1.c: Likewise.
22351         * tests/test-gc.c: Likewise.
22352         * tests/test-getcwd.c: Likewise.
22353         * tests/test-link.c: Likewise.
22354         * tests/test-link.h: Likewise.
22355         * tests/test-lutimens.h: Likewise.
22356         * tests/test-md2.c: Likewise.
22357         * tests/test-md4.c: Likewise.
22358         * tests/test-mkdir.h: Likewise.
22359         * tests/test-rename.c: Likewise.
22360         * tests/test-rename.h: Likewise.
22361         * tests/test-safe-alloc.c: Likewise.
22362         * tests/test-utimens-common.h: Likewise.
22363         * tests/test-utimens.h: Likewise.
22364
22365         maint: sync license texts
22366         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
22367         * doc/gpl-3.0.texi: Revert copyright year update.
22368         * doc/lgpl-3.0.texi: Likewise.
22369
22370 2009-12-29  Jim Meyering  <meyering@redhat.com>
22371
22372         update nearly all FSF copyright year lists to include 2009
22373         The files named by the following are exempted:
22374             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
22375               test -f "$dst" && { echo "$dst"; continue; }
22376               test -d "$dst" || continue
22377               echo "$dst"/$(basename "$src")
22378             done > exempt
22379             git ls-files tests/unictype >> exempt
22380         In the remaining files, convert to all-interval notation if
22381         - there is already at least one year interval like 2000-2003
22382         - the file is maintained by me
22383         - the file is in lib/uni*/, where that style already prevails
22384         Otherwise, use update-copyright's default.
22385
22386 2009-12-29  Simon Josefsson  <simon@josefsson.org>
22387         and Eric Blake  <ebb9@byu.net>
22388
22389         tests: don't require debug system() to pass
22390         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
22391         * tests/test-rmdir.h (test_rmdir_func): Likewise.
22392         * tests/test-unlink.h (test_unlink_func): Likewise.
22393         * tests/test-fstatat.c (main): ...into callers.
22394         * tests/test-lstat.c (main): Likewise.
22395         * tests/test-rmdir.c (main): Likewise.
22396         * tests/test-unlink.c (main): Likewise.
22397         * tests/test-unlinkat.c (main): Likewise.
22398         * tests/test-areadlink-with-size.c (main): Don't require a
22399         debug-only system call to pass, aiding cross-testing to mingw.
22400         * tests/test-areadlink.c (main): Likewise.
22401         * tests/test-areadlinkat-with-size.c (main): Likewise.
22402         * tests/test-areadlinkat.c (main): Likewise.
22403         * tests/test-canonicalize-lgpl.c (main): Likewise.
22404         * tests/test-canonicalize.c (main): Likewise.
22405         * tests/test-chown.c (main): Likewise.
22406         * tests/test-fchownat.c (main): Likewise.
22407         * tests/test-lchown.c (main): Likewise.
22408         * tests/test-fdutimensat.c (main): Likewise.
22409         * tests/test-futimens.c (main): Likewise.
22410         * tests/test-link.c (main): Likewise.
22411         * tests/test-linkat.c (main): Likewise.
22412         * tests/test-mkdir.c (main): Likewise.
22413         * tests/test-mkdirat.c (main): Likewise.
22414         * tests/test-mkfifo.c (main): Likewise.
22415         * tests/test-mkfifoat.c (main): Likewise.
22416         * tests/test-mknod.c (main): Likewise.
22417         * tests/test-readlink.c (main): Likewise.
22418         * tests/test-remove.c (main): Likewise.
22419         * tests/test-rename.c (main): Likewise.
22420         * tests/test-renameat.c (main): Likewise.
22421         * tests/test-symlink.c (main): Likewise.
22422         * tests/test-symlinkat.c (main): Likewise.
22423         * tests/test-utimens.c (main): Likewise.
22424         * tests/test-utimensat.c (main): Likewise.
22425
22426 2009-12-29  Simon Josefsson  <simon@josefsson.org>
22427
22428         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
22429         on $(UNUSED_PARAMETER_H) to avoid build failure.
22430
22431 2009-12-28  Jim Meyering  <meyering@redhat.com>
22432
22433         update-copyright: you may specify a max. line length other than 72
22434         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
22435
22436         maint: use consistent FSF copyright line syntax
22437         * lib/posixtm.c: Add missing comma in FSF copyright line.
22438         * lib/posixtm.h: Likewise.
22439         * lib/getugroups.c: Add missing ", Inc.".
22440
22441         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
22442         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
22443         FSF copyright line.  Remove trailing blanks.
22444
22445 2009-12-28  Eric Blake  <ebb9@byu.net>
22446
22447         test-dup2: reduce dependencies
22448         * modules/cloexec (Configure.ac): Set witness.
22449         * modules/dup2-tests (Depends-on): Drop cloexec.
22450         * tests/test-dup2.c (main): Skip portion of test if cloexec module
22451         not present.
22452         Suggested by Bruno Haible.
22453
22454 2009-12-26  Bruno Haible  <bruno@clisp.org>
22455
22456         Remove an unneeded dependency.
22457         * modules/fseterr (Depends-on): Remove dup2.
22458
22459 2009-12-26  Eric Blake  <ebb9@byu.net>
22460
22461         tests: use macros.h in more places
22462         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
22463         (ASSERT_STREAM): Provide default of stderr.
22464         * tests/test-dirent-safer.c: Include macros.h, using alternate
22465         stream for assertions.
22466         * tests/test-dup-safer.c: Likewise.
22467         * tests/test-freopen-safer.c: Likewise.
22468         * tests/test-getopt.c: Likewise.
22469         * tests/test-openat-safer.c: Likewise.
22470         * tests/test-pipe.c: Likewise.
22471         * tests/test-popen-safer.c: Likewise.
22472         * modules/dirent-safer-tests (Files): Include macros.h.
22473         * modules/unistd-safer-tests (Files): Likewise.
22474         * modules/freopen-safer-tests (Files): Likewise.
22475         * modules/getopt-posix-tests (Files): Likewise.
22476         * modules/openat-safer-tests (Files): Likewise.
22477         * modules/pipe-tests (Files): Likewise.
22478
22479 2009-12-26  Bruno Haible  <bruno@clisp.org>
22480
22481         javacomp: Portability fix.
22482         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
22483         that it also works on Solaris.
22484
22485 2009-12-26  Bruno Haible  <bruno@clisp.org>
22486
22487         localename: Fix storage allocation of gl_locale_name_thread's result.
22488         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
22489         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
22490         all platforms that have 'uselocale'.
22491         (gl_locale_name_thread_unsafe): New function, extracted from
22492         gl_locale_name_thread.
22493         (gl_locale_name_thread): Call struniq on all platforms that have
22494         'uselocale'.
22495         * tests/test-localename.c (test_locale_name_thread): Check that the
22496         resulting strings are permanently allocated.
22497         * modules/localename-tests (Depends-on): Add strdup.
22498
22499 2009-12-26  Bruno Haible  <bruno@clisp.org>
22500
22501         * tests/test-localename.c (categories): Fill in the strings.
22502
22503 2009-12-26  Jim Meyering  <meyering@redhat.com>
22504
22505         isdir: complete the removal of m4/isdir.m4
22506         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
22507
22508         isdir: clean up, since at least grep still uses it
22509         * lib/isdir.c: Include "isdir.h".
22510         (S_ISDIR): Remove now-unneeded definition.
22511         * modules/isdir (Files): Add lib/isdir.h.
22512         * lib/isdir.h: New file, with declaration.
22513         * m4/isdir.m4: Remove file -- unneeded.
22514
22515 2009-12-25  Bruno Haible  <bruno@clisp.org>
22516
22517         selinux-h: Make generated .h files standalone.
22518         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
22519         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
22520         * lib/se-selinux.in.h: Likewise.
22521         * modules/selinux-h (Depends-on): Add unused-parameter.
22522         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
22523         selinux/selinux.h and selinux/context.h.
22524         Suggested by Eric Blake.
22525
22526 2009-12-25  Bruno Haible  <bruno@clisp.org>
22527
22528         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
22529         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
22530         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
22531         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
22532         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
22533
22534 2009-12-24  Bruno Haible  <bruno@clisp.org>
22535
22536         openat: Fix warning.
22537         * lib/openat-proc.c: Include <unistd.h>.
22538
22539 2009-12-24  Bruno Haible  <bruno@clisp.org>
22540
22541         New module 'unused-parameter'.
22542         * build-aux/unused-parameter.h: New file, extracted from earlier
22543         gnulib-common.m4.
22544         * modules/unused-parameter: New file.
22545         * lib/unistr.h: Include unused-parameter.h.
22546         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
22547         _GL_UNUSED.
22548         * modules/unistr/base (Depends-on): Add unused-parameter.
22549
22550 2009-12-24  Bruno Haible  <bruno@clisp.org>
22551
22552         Add missing dependencies to 'extensions' module.
22553         * m4/extensions.m4: Add comment.
22554         * modules/accept4 (Depends-on): Add extensions.
22555         * modules/dup3 (Depends-on): Likewise.
22556         * modules/fcntl (Depends-on): Likewise.
22557         * modules/futimens (Depends-on): Likewise.
22558         * modules/mknod (Depends-on): Likewise.
22559         * modules/pipe2 (Depends-on): Likewise.
22560         * modules/stat-time (Depends-on): Likewise.
22561         * modules/strcasestr-simple (Depends-on): Likewise.
22562         * modules/strsignal (Depends-on): Likewise.
22563         * modules/utimensat (Depends-on): Likewise.
22564         * modules/localcharset (Depends-on): Likewise. Needed because of
22565         gl_FCNTL_O_FLAGS.
22566         * modules/wcrtomb (Depends-on): Likewise. Needed because of
22567         AC_TYPE_MBSTATE_T.
22568         * modules/wcsnrtombs (Depends-on): Likewise.
22569         * modules/wcsrtombs (Depends-on): Likewise.
22570
22571 2009-12-24  Bruno Haible  <bruno@clisp.org>
22572
22573         binary-io: Avoid gcc warning due to SET_BINARY.
22574         * lib/binary-io.h (SET_BINARY): Cast the result to void.
22575         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
22576
22577 2009-12-24  Bruno Haible  <bruno@clisp.org>
22578
22579         Avoid future namespace pollution on glibc systems.
22580         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
22581         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
22582         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
22583         glibc systems.
22584
22585 2009-12-24  Bruno Haible  <bruno@clisp.org>
22586
22587         Refactor common macros used in tests.
22588         * tests/macros.h: New file.
22589         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
22590         and/or <stdlib.h>, if appropriate.
22591         (ASSERT, SIZEOF): Remove macros.
22592         * tests/test-areadlink-with-size.c: Likewise.
22593         * tests/test-areadlinkat.c: Likewise.
22594         * tests/test-areadlinkat-with-size.c: Likewise.
22595         * tests/test-argmatch.c: Likewise.
22596         * tests/test-argv-iter.c: Likewise.
22597         * tests/test-array-mergesort.c: Likewise.
22598         * tests/test-array_list.c: Likewise.
22599         * tests/test-array_oset.c: Likewise.
22600         * tests/test-avltree_list.c: Likewise.
22601         * tests/test-avltree_oset.c: Likewise.
22602         * tests/test-avltreehash_list.c: Likewise.
22603         * tests/test-base64.c: Likewise.
22604         * tests/test-binary-io.c: Likewise.
22605         * tests/test-bitrotate.c: Likewise.
22606         * tests/test-btowc.c: Likewise.
22607         * tests/test-byteswap.c: Likewise.
22608         * tests/test-c-ctype.c: Likewise.
22609         * tests/test-c-stack.c: Likewise.
22610         * tests/test-c-strcasecmp.c: Likewise.
22611         * tests/test-c-strcasestr.c: Likewise.
22612         * tests/test-c-strncasecmp.c: Likewise.
22613         * tests/test-c-strstr.c: Likewise.
22614         * tests/test-canonicalize-lgpl.c: Likewise.
22615         * tests/test-canonicalize.c: Likewise.
22616         * tests/test-carray_list.c: Likewise.
22617         * tests/test-ceilf1.c: Likewise.
22618         * tests/test-ceilf2.c: Likewise.
22619         * tests/test-ceill.c: Likewise.
22620         * tests/test-chown.c: Likewise.
22621         * tests/test-cloexec.c: Likewise.
22622         * tests/test-copy-acl.c: Likewise.
22623         * tests/test-copy-file.c: Likewise.
22624         * tests/test-count-one-bits.c: Likewise.
22625         * tests/test-dprintf-posix.c: Likewise.
22626         * tests/test-dup2.c: Likewise.
22627         * tests/test-dup3.c: Likewise.
22628         * tests/test-duplocale.c: Likewise.
22629         * tests/test-fbufmode.c: Likewise.
22630         * tests/test-fchdir.c: Likewise.
22631         * tests/test-fchownat.c: Likewise.
22632         * tests/test-fcntl-safer.c: Likewise.
22633         * tests/test-fcntl.c: Likewise.
22634         * tests/test-fdopendir.c: Likewise.
22635         * tests/test-fdutimensat.c: Likewise.
22636         * tests/test-fflush2.c: Likewise.
22637         * tests/test-file-has-acl.c: Likewise.
22638         * tests/test-filevercmp.c: Likewise.
22639         * tests/test-flock.c: Likewise.
22640         * tests/test-floorf1.c: Likewise.
22641         * tests/test-floorf2.c: Likewise.
22642         * tests/test-floorl.c: Likewise.
22643         * tests/test-fnmatch.c: Likewise.
22644         * tests/test-fopen.h: Likewise.
22645         * tests/test-fpending.c: Likewise.
22646         * tests/test-fprintf-posix.c: Likewise.
22647         * tests/test-fpurge.c: Likewise.
22648         * tests/test-freadable.c: Likewise.
22649         * tests/test-freadahead.c: Likewise.
22650         * tests/test-freading.c: Likewise.
22651         * tests/test-freadptr.c: Likewise.
22652         * tests/test-freadptr2.c: Likewise.
22653         * tests/test-freadseek.c: Likewise.
22654         * tests/test-freopen.c: Likewise.
22655         * tests/test-frexp.c: Likewise.
22656         * tests/test-frexpl.c: Likewise.
22657         * tests/test-fseek.c: Likewise.
22658         * tests/test-fseeko.c: Likewise.
22659         * tests/test-fstatat.c: Likewise.
22660         * tests/test-fstrcmp.c: Likewise.
22661         * tests/test-fsync.c: Likewise.
22662         * tests/test-ftell.c: Likewise.
22663         * tests/test-ftello.c: Likewise.
22664         * tests/test-func.c: Likewise.
22665         * tests/test-futimens.c: Likewise.
22666         * tests/test-fwritable.c: Likewise.
22667         * tests/test-fwriting.c: Likewise.
22668         * tests/test-getcwd.c: Likewise.
22669         * tests/test-getdate.c: Likewise.
22670         * tests/test-getdelim.c: Likewise.
22671         * tests/test-getdtablesize.c: Likewise.
22672         * tests/test-getgroups.c: Likewise.
22673         * tests/test-getline.c: Likewise.
22674         * tests/test-getndelim2.c: Likewise.
22675         * tests/test-glob.c: Likewise.
22676         * tests/test-hash.c: Likewise.
22677         * tests/test-i-ring.c: Likewise.
22678         * tests/test-iconv-utf.c: Likewise.
22679         * tests/test-iconv.c: Likewise.
22680         * tests/test-idpriv-drop.c: Likewise.
22681         * tests/test-idpriv-droptemp.c: Likewise.
22682         * tests/test-inet_ntop.c: Likewise.
22683         * tests/test-inet_pton.c: Likewise.
22684         * tests/test-isblank.c: Likewise.
22685         * tests/test-isfinite.c: Likewise.
22686         * tests/test-isinf.c: Likewise.
22687         * tests/test-isnan.c: Likewise.
22688         * tests/test-isnand.h: Likewise.
22689         * tests/test-isnanf.h: Likewise.
22690         * tests/test-isnanl.h: Likewise.
22691         * tests/test-lchown.c: Likewise.
22692         * tests/test-ldexpl.c: Likewise.
22693         * tests/test-link.c: Likewise.
22694         * tests/test-linkat.c: Likewise.
22695         * tests/test-linked_list.c: Likewise.
22696         * tests/test-linkedhash_list.c: Likewise.
22697         * tests/test-localename.c: Likewise.
22698         * tests/test-lseek.c: Likewise.
22699         * tests/test-lstat.c: Likewise.
22700         * tests/test-mbmemcasecmp.c: Likewise.
22701         * tests/test-mbmemcasecoll.c: Likewise.
22702         * tests/test-mbrtowc.c: Likewise.
22703         * tests/test-mbscasecmp.c: Likewise.
22704         * tests/test-mbscasestr1.c: Likewise.
22705         * tests/test-mbscasestr2.c: Likewise.
22706         * tests/test-mbscasestr3.c: Likewise.
22707         * tests/test-mbscasestr4.c: Likewise.
22708         * tests/test-mbschr.c: Likewise.
22709         * tests/test-mbscspn.c: Likewise.
22710         * tests/test-mbsinit.c: Likewise.
22711         * tests/test-mbsncasecmp.c: Likewise.
22712         * tests/test-mbsnrtowcs.c: Likewise.
22713         * tests/test-mbspbrk.c: Likewise.
22714         * tests/test-mbspcasecmp.c: Likewise.
22715         * tests/test-mbsrchr.c: Likewise.
22716         * tests/test-mbsrtowcs.c: Likewise.
22717         * tests/test-mbsspn.c: Likewise.
22718         * tests/test-mbsstr1.c: Likewise.
22719         * tests/test-mbsstr2.c: Likewise.
22720         * tests/test-mbsstr3.c: Likewise.
22721         * tests/test-memchr.c: Likewise.
22722         * tests/test-memchr2.c: Likewise.
22723         * tests/test-memcmp.c: Likewise.
22724         * tests/test-memmem.c: Likewise.
22725         * tests/test-memrchr.c: Likewise.
22726         * tests/test-mkdir.c: Likewise.
22727         * tests/test-mkdirat.c: Likewise.
22728         * tests/test-mkfifo.c: Likewise.
22729         * tests/test-mkfifoat.c: Likewise.
22730         * tests/test-mknod.c: Likewise.
22731         * tests/test-nanosleep.c: Likewise.
22732         * tests/test-nl_langinfo.c: Likewise.
22733         * tests/test-obstack-printf.c: Likewise.
22734         * tests/test-open.c: Likewise.
22735         * tests/test-openat.c: Likewise.
22736         * tests/test-pipe-filter-gi1.c: Likewise.
22737         * tests/test-pipe-filter-gi2-main.c: Likewise.
22738         * tests/test-pipe-filter-ii1.c: Likewise.
22739         * tests/test-pipe-filter-ii2-main.c: Likewise.
22740         * tests/test-pipe2.c: Likewise.
22741         * tests/test-popen.h: Likewise.
22742         * tests/test-posixtm.c: Likewise.
22743         * tests/test-pread.c: Likewise.
22744         * tests/test-printf-frexp.c: Likewise.
22745         * tests/test-printf-frexpl.c: Likewise.
22746         * tests/test-printf-posix.c: Likewise.
22747         * tests/test-priv-set.c: Likewise.
22748         * tests/test-quotearg.c: Likewise.
22749         * tests/test-random_r.c: Likewise.
22750         * tests/test-rawmemchr.c: Likewise.
22751         * tests/test-rbtree_list.c: Likewise.
22752         * tests/test-rbtree_oset.c: Likewise.
22753         * tests/test-rbtreehash_list.c: Likewise.
22754         * tests/test-readlink.c: Likewise.
22755         * tests/test-remove.c: Likewise.
22756         * tests/test-rename.c: Likewise.
22757         * tests/test-renameat.c: Likewise.
22758         * tests/test-rmdir.c: Likewise.
22759         * tests/test-round1.c: Likewise.
22760         * tests/test-roundf1.c: Likewise.
22761         * tests/test-roundl.c: Likewise.
22762         * tests/test-safe-alloc.c: Likewise.
22763         * tests/test-sameacls.c: Likewise.
22764         * tests/test-set-mode-acl.c: Likewise.
22765         * tests/test-setenv.c: Likewise.
22766         * tests/test-sigaction.c: Likewise.
22767         * tests/test-signbit.c: Likewise.
22768         * tests/test-sleep.c: Likewise.
22769         * tests/test-snprintf-posix.c: Likewise.
22770         * tests/test-snprintf.c: Likewise.
22771         * tests/test-sprintf-posix.c: Likewise.
22772         * tests/test-stat-time.c: Likewise.
22773         * tests/test-stat.c: Likewise.
22774         * tests/test-strcasestr.c: Likewise.
22775         * tests/test-strchrnul.c: Likewise.
22776         * tests/test-strerror.c: Likewise.
22777         * tests/test-striconv.c: Likewise.
22778         * tests/test-striconveh.c: Likewise.
22779         * tests/test-striconveha.c: Likewise.
22780         * tests/test-strsignal.c: Likewise.
22781         * tests/test-strstr.c: Likewise.
22782         * tests/test-strtod.c: Likewise.
22783         * tests/test-strverscmp.c: Likewise.
22784         * tests/test-symlink.c: Likewise.
22785         * tests/test-symlinkat.c: Likewise.
22786         * tests/test-trunc1.c: Likewise.
22787         * tests/test-trunc2.c: Likewise.
22788         * tests/test-truncf1.c: Likewise.
22789         * tests/test-truncf2.c: Likewise.
22790         * tests/test-truncl.c: Likewise.
22791         * tests/test-uname.c: Likewise.
22792         * tests/test-unlink.c: Likewise.
22793         * tests/test-unlinkat.c: Likewise.
22794         * tests/test-unsetenv.c: Likewise.
22795         * tests/test-usleep.c: Likewise.
22796         * tests/test-utimens.c: Likewise.
22797         * tests/test-utimensat.c: Likewise.
22798         * tests/test-vasnprintf-posix.c: Likewise.
22799         * tests/test-vasnprintf-posix2.c: Likewise.
22800         * tests/test-vasnprintf.c: Likewise.
22801         * tests/test-vasprintf-posix.c: Likewise.
22802         * tests/test-vasprintf.c: Likewise.
22803         * tests/test-vdprintf-posix.c: Likewise.
22804         * tests/test-vfprintf-posix.c: Likewise.
22805         * tests/test-vprintf-posix.c: Likewise.
22806         * tests/test-vsnprintf-posix.c: Likewise.
22807         * tests/test-vsnprintf.c: Likewise.
22808         * tests/test-vsprintf-posix.c: Likewise.
22809         * tests/test-wcrtomb.c: Likewise.
22810         * tests/test-wcsnrtombs.c: Likewise.
22811         * tests/test-wcsrtombs.c: Likewise.
22812         * tests/test-wctype.c: Likewise.
22813         * tests/test-wcwidth.c: Likewise.
22814         * tests/test-xfprintf-posix.c: Likewise.
22815         * tests/test-xmemdup0.c: Likewise.
22816         * tests/test-xprintf-posix.c: Likewise.
22817         * tests/test-xvasprintf.c: Likewise.
22818         * tests/unicase/test-locale-language.c: Likewise.
22819         * tests/unicase/test-mapping-part1.h: Likewise.
22820         * tests/unicase/test-predicate-part1.h: Likewise.
22821         * tests/unicase/test-u8-casecmp.c: Likewise.
22822         * tests/unicase/test-u8-casecoll.c: Likewise.
22823         * tests/unicase/test-u8-casefold.c: Likewise.
22824         * tests/unicase/test-u8-is-cased.c: Likewise.
22825         * tests/unicase/test-u8-is-casefolded.c: Likewise.
22826         * tests/unicase/test-u8-is-lowercase.c: Likewise.
22827         * tests/unicase/test-u8-is-titlecase.c: Likewise.
22828         * tests/unicase/test-u8-is-uppercase.c: Likewise.
22829         * tests/unicase/test-u8-tolower.c: Likewise.
22830         * tests/unicase/test-u8-totitle.c: Likewise.
22831         * tests/unicase/test-u8-toupper.c: Likewise.
22832         * tests/unicase/test-u16-casecmp.c: Likewise.
22833         * tests/unicase/test-u16-casecoll.c: Likewise.
22834         * tests/unicase/test-u16-casefold.c: Likewise.
22835         * tests/unicase/test-u16-is-cased.c: Likewise.
22836         * tests/unicase/test-u16-is-casefolded.c: Likewise.
22837         * tests/unicase/test-u16-is-lowercase.c: Likewise.
22838         * tests/unicase/test-u16-is-titlecase.c: Likewise.
22839         * tests/unicase/test-u16-is-uppercase.c: Likewise.
22840         * tests/unicase/test-u16-tolower.c: Likewise.
22841         * tests/unicase/test-u16-totitle.c: Likewise.
22842         * tests/unicase/test-u16-toupper.c: Likewise.
22843         * tests/unicase/test-u32-casecmp.c: Likewise.
22844         * tests/unicase/test-u32-casecoll.c: Likewise.
22845         * tests/unicase/test-u32-casefold.c: Likewise.
22846         * tests/unicase/test-u32-is-cased.c: Likewise.
22847         * tests/unicase/test-u32-is-casefolded.c: Likewise.
22848         * tests/unicase/test-u32-is-lowercase.c: Likewise.
22849         * tests/unicase/test-u32-is-titlecase.c: Likewise.
22850         * tests/unicase/test-u32-is-uppercase.c: Likewise.
22851         * tests/unicase/test-u32-tolower.c: Likewise.
22852         * tests/unicase/test-u32-totitle.c: Likewise.
22853         * tests/unicase/test-u32-toupper.c: Likewise.
22854         * tests/unicase/test-ulc-casecmp.c: Likewise.
22855         * tests/unicase/test-ulc-casecoll.c: Likewise.
22856         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
22857         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
22858         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
22859         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
22860         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
22861         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
22862         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
22863         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
22864         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
22865         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
22866         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
22867         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
22868         * tests/unictype/test-bidi_byname.c: Likewise.
22869         * tests/unictype/test-bidi_name.c: Likewise.
22870         * tests/unictype/test-bidi_of.c: Likewise.
22871         * tests/unictype/test-bidi_test.c: Likewise.
22872         * tests/unictype/test-block_list.c: Likewise.
22873         * tests/unictype/test-block_of.c: Likewise.
22874         * tests/unictype/test-block_test.c: Likewise.
22875         * tests/unictype/test-categ_and.c: Likewise.
22876         * tests/unictype/test-categ_and_not.c: Likewise.
22877         * tests/unictype/test-categ_byname.c: Likewise.
22878         * tests/unictype/test-categ_name.c: Likewise.
22879         * tests/unictype/test-categ_none.c: Likewise.
22880         * tests/unictype/test-categ_of.c: Likewise.
22881         * tests/unictype/test-categ_or.c: Likewise.
22882         * tests/unictype/test-categ_test_withtable.c: Likewise.
22883         * tests/unictype/test-combining.c: Likewise.
22884         * tests/unictype/test-decdigit.c: Likewise.
22885         * tests/unictype/test-digit.c: Likewise.
22886         * tests/unictype/test-mirror.c: Likewise.
22887         * tests/unictype/test-numeric.c: Likewise.
22888         * tests/unictype/test-pr_byname.c: Likewise.
22889         * tests/unictype/test-pr_test.c: Likewise.
22890         * tests/unictype/test-predicate-part1.h: Likewise.
22891         * tests/unictype/test-scripts.c: Likewise.
22892         * tests/unictype/test-sy_c_ident.c: Likewise.
22893         * tests/unictype/test-sy_java_ident.c: Likewise.
22894         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
22895         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
22896         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
22897         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
22898         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
22899         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
22900         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
22901         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
22902         * tests/uninorm/test-canonical-decomposition.c: Likewise.
22903         * tests/uninorm/test-compat-decomposition.c: Likewise.
22904         * tests/uninorm/test-composition.c: Likewise.
22905         * tests/uninorm/test-decomposing-form.c: Likewise.
22906         * tests/uninorm/test-decomposition.c: Likewise.
22907         * tests/uninorm/test-u8-nfc.c: Likewise.
22908         * tests/uninorm/test-u8-nfd.c: Likewise.
22909         * tests/uninorm/test-u8-nfkc.c: Likewise.
22910         * tests/uninorm/test-u8-nfkd.c: Likewise.
22911         * tests/uninorm/test-u8-normcmp.c: Likewise.
22912         * tests/uninorm/test-u8-normcoll.c: Likewise.
22913         * tests/uninorm/test-u16-nfc.c: Likewise.
22914         * tests/uninorm/test-u16-nfd.c: Likewise.
22915         * tests/uninorm/test-u16-nfkc.c: Likewise.
22916         * tests/uninorm/test-u16-nfkd.c: Likewise.
22917         * tests/uninorm/test-u16-normcmp.c: Likewise.
22918         * tests/uninorm/test-u16-normcoll.c: Likewise.
22919         * tests/uninorm/test-u32-nfc.c: Likewise.
22920         * tests/uninorm/test-u32-nfd.c: Likewise.
22921         * tests/uninorm/test-u32-nfkc.c: Likewise.
22922         * tests/uninorm/test-u32-nfkd.c: Likewise.
22923         * tests/uninorm/test-u32-normalize-big.c: Likewise.
22924         * tests/uninorm/test-u32-normcmp.c: Likewise.
22925         * tests/uninorm/test-u32-normcoll.c: Likewise.
22926         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
22927         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
22928         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
22929         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
22930         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
22931         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
22932         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
22933         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
22934         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
22935         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
22936         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
22937         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
22938         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
22939         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
22940         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
22941         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
22942         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
22943         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
22944         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
22945         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
22946         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
22947         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
22948         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
22949         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
22950         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
22951         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
22952         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
22953         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
22954         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
22955         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
22956         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
22957         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
22958         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
22959         * tests/uniwidth/test-u8-strwidth.c: Likewise.
22960         * tests/uniwidth/test-u8-width.c: Likewise.
22961         * tests/uniwidth/test-u16-strwidth.c: Likewise.
22962         * tests/uniwidth/test-u16-width.c: Likewise.
22963         * tests/uniwidth/test-u32-strwidth.c: Likewise.
22964         * tests/uniwidth/test-u32-width.c: Likewise.
22965         * tests/uniwidth/test-uc_width.c: Likewise.
22966         * tests/uniwidth/test-uc_width2.c: Likewise.
22967         * modules/acl-tests (Files): Add tests/macros.h.
22968         * modules/areadlink-tests (Files): Likewise.
22969         * modules/areadlink-with-size-tests (Files): Likewise.
22970         * modules/areadlinkat-tests (Files): Likewise.
22971         * modules/areadlinkat-with-size-tests (Files): Likewise.
22972         * modules/argmatch-tests (Files): Likewise.
22973         * modules/argv-iter-tests (Files): Likewise.
22974         * modules/array-list-tests (Files): Likewise.
22975         * modules/array-mergesort-tests (Files): Likewise.
22976         * modules/array-oset-tests (Files): Likewise.
22977         * modules/avltree-list-tests (Files): Likewise.
22978         * modules/avltree-oset-tests (Files): Likewise.
22979         * modules/avltreehash-list-tests (Files): Likewise.
22980         * modules/base64-tests (Files): Likewise.
22981         * modules/binary-io-tests (Files): Likewise.
22982         * modules/bitrotate-tests (Files): Likewise.
22983         * modules/btowc-tests (Files): Likewise.
22984         * modules/byteswap-tests (Files): Likewise.
22985         * modules/c-ctype-tests (Files): Likewise.
22986         * modules/c-stack-tests (Files): Likewise.
22987         * modules/c-strcase-tests (Files): Likewise.
22988         * modules/c-strcasestr-tests (Files): Likewise.
22989         * modules/c-strstr-tests (Files): Likewise.
22990         * modules/canonicalize-lgpl-tests (Files): Likewise.
22991         * modules/canonicalize-tests (Files): Likewise.
22992         * modules/carray-list-tests (Files): Likewise.
22993         * modules/ceilf-tests (Files): Likewise.
22994         * modules/ceill-tests (Files): Likewise.
22995         * modules/chown-tests (Files): Likewise.
22996         * modules/cloexec-tests (Files): Likewise.
22997         * modules/copy-file-tests (Files): Likewise.
22998         * modules/count-one-bits-tests (Files): Likewise.
22999         * modules/dprintf-posix-tests (Files): Likewise.
23000         * modules/dup2-tests (Files): Likewise.
23001         * modules/dup3-tests (Files): Likewise.
23002         * modules/duplocale-tests (Files): Likewise.
23003         * modules/fbufmode-tests (Files): Likewise.
23004         * modules/fchdir-tests (Files): Likewise.
23005         * modules/fcntl-safer-tests (Files): Likewise.
23006         * modules/fcntl-tests (Files): Likewise.
23007         * modules/fdopendir-tests (Files): Likewise.
23008         * modules/fdutimensat-tests (Files): Likewise.
23009         * modules/fflush-tests (Files): Likewise.
23010         * modules/filevercmp-tests (Files): Likewise.
23011         * modules/flock-tests (Files): Likewise.
23012         * modules/floorf-tests (Files): Likewise.
23013         * modules/floorl-tests (Files): Likewise.
23014         * modules/fnmatch-tests (Files): Likewise.
23015         * modules/fopen-safer-tests (Files): Likewise.
23016         * modules/fopen-tests (Files): Likewise.
23017         * modules/fpending-tests (Files): Likewise.
23018         * modules/fprintf-posix-tests (Files): Likewise.
23019         * modules/fpurge-tests (Files): Likewise.
23020         * modules/freadable-tests (Files): Likewise.
23021         * modules/freadahead-tests (Files): Likewise.
23022         * modules/freading-tests (Files): Likewise.
23023         * modules/freadptr-tests (Files): Likewise.
23024         * modules/freadseek-tests (Files): Likewise.
23025         * modules/freopen-tests (Files): Likewise.
23026         * modules/frexp-nolibm-tests (Files): Likewise.
23027         * modules/frexp-tests (Files): Likewise.
23028         * modules/frexpl-nolibm-tests (Files): Likewise.
23029         * modules/frexpl-tests (Files): Likewise.
23030         * modules/fseek-tests (Files): Likewise.
23031         * modules/fseeko-tests (Files): Likewise.
23032         * modules/fstrcmp-tests (Files): Likewise.
23033         * modules/fsync-tests (Files): Likewise.
23034         * modules/ftell-tests (Files): Likewise.
23035         * modules/ftello-tests (Files): Likewise.
23036         * modules/func-tests (Files): Likewise.
23037         * modules/futimens-tests (Files): Likewise.
23038         * modules/fwritable-tests (Files): Likewise.
23039         * modules/fwriting-tests (Files): Likewise.
23040         * modules/getcwd-tests (Files): Likewise.
23041         * modules/getdate-tests (Files): Likewise.
23042         * modules/getdelim-tests (Files): Likewise.
23043         * modules/getdtablesize-tests (Files): Likewise.
23044         * modules/getgroups-tests (Files): Likewise.
23045         * modules/getline-tests (Files): Likewise.
23046         * modules/getndelim2-tests (Files): Likewise.
23047         * modules/glob-tests (Files): Likewise.
23048         * modules/hash-tests (Files): Likewise.
23049         * modules/i-ring-tests (Files): Likewise.
23050         * modules/iconv-tests (Files): Likewise.
23051         * modules/iconv_open-utf-tests (Files): Likewise.
23052         * modules/idpriv-drop-tests (Files): Likewise.
23053         * modules/idpriv-droptemp-tests (Files): Likewise.
23054         * modules/inet_ntop-tests (Files): Likewise.
23055         * modules/inet_pton-tests (Files): Likewise.
23056         * modules/isblank-tests (Files): Likewise.
23057         * modules/isfinite-tests (Files): Likewise.
23058         * modules/isinf-tests (Files): Likewise.
23059         * modules/isnan-tests (Files): Likewise.
23060         * modules/isnand-nolibm-tests (Files): Likewise.
23061         * modules/isnand-tests (Files): Likewise.
23062         * modules/isnanf-nolibm-tests (Files): Likewise.
23063         * modules/isnanf-tests (Files): Likewise.
23064         * modules/isnanl-nolibm-tests (Files): Likewise.
23065         * modules/isnanl-tests (Files): Likewise.
23066         * modules/lchown-tests (Files): Likewise.
23067         * modules/ldexpl-tests (Files): Likewise.
23068         * modules/link-tests (Files): Likewise.
23069         * modules/linkat-tests (Files): Likewise.
23070         * modules/linked-list-tests (Files): Likewise.
23071         * modules/linkedhash-list-tests (Files): Likewise.
23072         * modules/localename-tests (Files): Likewise.
23073         * modules/lseek-tests (Files): Likewise.
23074         * modules/lstat-tests (Files): Likewise.
23075         * modules/mbmemcasecmp-tests (Files): Likewise.
23076         * modules/mbmemcasecoll-tests (Files): Likewise.
23077         * modules/mbrtowc-tests (Files): Likewise.
23078         * modules/mbscasecmp-tests (Files): Likewise.
23079         * modules/mbscasestr-tests (Files): Likewise.
23080         * modules/mbschr-tests (Files): Likewise.
23081         * modules/mbscspn-tests (Files): Likewise.
23082         * modules/mbsinit-tests (Files): Likewise.
23083         * modules/mbsncasecmp-tests (Files): Likewise.
23084         * modules/mbsnrtowcs-tests (Files): Likewise.
23085         * modules/mbspbrk-tests (Files): Likewise.
23086         * modules/mbspcasecmp-tests (Files): Likewise.
23087         * modules/mbsrchr-tests (Files): Likewise.
23088         * modules/mbsrtowcs-tests (Files): Likewise.
23089         * modules/mbsspn-tests (Files): Likewise.
23090         * modules/mbsstr-tests (Files): Likewise.
23091         * modules/memchr-tests (Files): Likewise.
23092         * modules/memchr2-tests (Files): Likewise.
23093         * modules/memcmp-tests (Files): Likewise.
23094         * modules/memmem-tests (Files): Likewise.
23095         * modules/memrchr-tests (Files): Likewise.
23096         * modules/mkdir-tests (Files): Likewise.
23097         * modules/mkfifo-tests (Files): Likewise.
23098         * modules/mkfifoat-tests (Files): Likewise.
23099         * modules/mknod-tests (Files): Likewise.
23100         * modules/nanosleep-tests (Files): Likewise.
23101         * modules/nl_langinfo-tests (Files): Likewise.
23102         * modules/obstack-printf-tests (Files): Likewise.
23103         * modules/open-tests (Files): Likewise.
23104         * modules/openat-tests (Files): Likewise.
23105         * modules/pipe-filter-gi-tests (Files): Likewise.
23106         * modules/pipe-filter-ii-tests (Files): Likewise.
23107         * modules/pipe2-tests (Files): Likewise.
23108         * modules/popen-safer-tests (Files): Likewise.
23109         * modules/popen-tests (Files): Likewise.
23110         * modules/posixtm-tests (Files): Likewise.
23111         * modules/pread-tests (Files): Likewise.
23112         * modules/printf-frexp-tests (Files): Likewise.
23113         * modules/printf-frexpl-tests (Files): Likewise.
23114         * modules/printf-posix-tests (Files): Likewise.
23115         * modules/priv-set-tests (Files): Likewise.
23116         * modules/quotearg-tests (Files): Likewise.
23117         * modules/random_r-tests (Files): Likewise.
23118         * modules/rawmemchr-tests (Files): Likewise.
23119         * modules/rbtree-list-tests (Files): Likewise.
23120         * modules/rbtree-oset-tests (Files): Likewise.
23121         * modules/rbtreehash-list-tests (Files): Likewise.
23122         * modules/readlink-tests (Files): Likewise.
23123         * modules/remove-tests (Files): Likewise.
23124         * modules/rename-tests (Files): Likewise.
23125         * modules/renameat-tests (Files): Likewise.
23126         * modules/rmdir-tests (Files): Likewise.
23127         * modules/round-tests (Files): Likewise.
23128         * modules/roundf-tests (Files): Likewise.
23129         * modules/roundl-tests (Files): Likewise.
23130         * modules/safe-alloc-tests (Files): Likewise.
23131         * modules/setenv-tests (Files): Likewise.
23132         * modules/sigaction-tests (Files): Likewise.
23133         * modules/signbit-tests (Files): Likewise.
23134         * modules/sleep-tests (Files): Likewise.
23135         * modules/snprintf-posix-tests (Files): Likewise.
23136         * modules/snprintf-tests (Files): Likewise.
23137         * modules/sprintf-posix-tests (Files): Likewise.
23138         * modules/stat-tests (Files): Likewise.
23139         * modules/stat-time-tests (Files): Likewise.
23140         * modules/strcasestr-tests (Files): Likewise.
23141         * modules/strchrnul-tests (Files): Likewise.
23142         * modules/strerror-tests (Files): Likewise.
23143         * modules/striconv-tests (Files): Likewise.
23144         * modules/striconveh-tests (Files): Likewise.
23145         * modules/striconveha-tests (Files): Likewise.
23146         * modules/strsignal-tests (Files): Likewise.
23147         * modules/strstr-tests (Files): Likewise.
23148         * modules/strtod-tests (Files): Likewise.
23149         * modules/strverscmp-tests (Files): Likewise.
23150         * modules/symlink-tests (Files): Likewise.
23151         * modules/symlinkat-tests (Files): Likewise.
23152         * modules/trunc-tests (Files): Likewise.
23153         * modules/truncf-tests (Files): Likewise.
23154         * modules/truncl-tests (Files): Likewise.
23155         * modules/uname-tests (Files): Likewise.
23156         * modules/unicase/cased-tests (Files): Likewise.
23157         * modules/unicase/ignorable-tests (Files): Likewise.
23158         * modules/unicase/locale-language-tests (Files): Likewise.
23159         * modules/unicase/tolower-tests (Files): Likewise.
23160         * modules/unicase/totitle-tests (Files): Likewise.
23161         * modules/unicase/toupper-tests (Files): Likewise.
23162         * modules/unicase/u8-casecmp-tests (Files): Likewise.
23163         * modules/unicase/u8-casecoll-tests (Files): Likewise.
23164         * modules/unicase/u8-casefold-tests (Files): Likewise.
23165         * modules/unicase/u8-is-cased-tests (Files): Likewise.
23166         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
23167         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
23168         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
23169         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
23170         * modules/unicase/u8-tolower-tests (Files): Likewise.
23171         * modules/unicase/u8-totitle-tests (Files): Likewise.
23172         * modules/unicase/u8-toupper-tests (Files): Likewise.
23173         * modules/unicase/u16-casecmp-tests (Files): Likewise.
23174         * modules/unicase/u16-casecoll-tests (Files): Likewise.
23175         * modules/unicase/u16-casefold-tests (Files): Likewise.
23176         * modules/unicase/u16-is-cased-tests (Files): Likewise.
23177         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
23178         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
23179         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
23180         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
23181         * modules/unicase/u16-tolower-tests (Files): Likewise.
23182         * modules/unicase/u16-totitle-tests (Files): Likewise.
23183         * modules/unicase/u16-toupper-tests (Files): Likewise.
23184         * modules/unicase/u32-casecmp-tests (Files): Likewise.
23185         * modules/unicase/u32-casecoll-tests (Files): Likewise.
23186         * modules/unicase/u32-casefold-tests (Files): Likewise.
23187         * modules/unicase/u32-is-cased-tests (Files): Likewise.
23188         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
23189         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
23190         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
23191         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
23192         * modules/unicase/u32-tolower-tests (Files): Likewise.
23193         * modules/unicase/u32-totitle-tests (Files): Likewise.
23194         * modules/unicase/u32-toupper-tests (Files): Likewise.
23195         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
23196         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
23197         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
23198         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
23199         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
23200         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
23201         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
23202         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
23203         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
23204         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
23205         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
23206         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
23207         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
23208         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
23209         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
23210         * modules/unictype/bidicategory-name-tests (Files): Likewise.
23211         * modules/unictype/bidicategory-of-tests (Files): Likewise.
23212         * modules/unictype/bidicategory-test-tests (Files): Likewise.
23213         * modules/unictype/block-list-tests (Files): Likewise.
23214         * modules/unictype/block-of-tests (Files): Likewise.
23215         * modules/unictype/block-test-tests (Files): Likewise.
23216         * modules/unictype/category-C-tests (Files): Likewise.
23217         * modules/unictype/category-Cc-tests (Files): Likewise.
23218         * modules/unictype/category-Cf-tests (Files): Likewise.
23219         * modules/unictype/category-Cn-tests (Files): Likewise.
23220         * modules/unictype/category-Co-tests (Files): Likewise.
23221         * modules/unictype/category-Cs-tests (Files): Likewise.
23222         * modules/unictype/category-L-tests (Files): Likewise.
23223         * modules/unictype/category-Ll-tests (Files): Likewise.
23224         * modules/unictype/category-Lm-tests (Files): Likewise.
23225         * modules/unictype/category-Lo-tests (Files): Likewise.
23226         * modules/unictype/category-Lt-tests (Files): Likewise.
23227         * modules/unictype/category-Lu-tests (Files): Likewise.
23228         * modules/unictype/category-M-tests (Files): Likewise.
23229         * modules/unictype/category-Mc-tests (Files): Likewise.
23230         * modules/unictype/category-Me-tests (Files): Likewise.
23231         * modules/unictype/category-Mn-tests (Files): Likewise.
23232         * modules/unictype/category-N-tests (Files): Likewise.
23233         * modules/unictype/category-Nd-tests (Files): Likewise.
23234         * modules/unictype/category-Nl-tests (Files): Likewise.
23235         * modules/unictype/category-No-tests (Files): Likewise.
23236         * modules/unictype/category-P-tests (Files): Likewise.
23237         * modules/unictype/category-Pc-tests (Files): Likewise.
23238         * modules/unictype/category-Pd-tests (Files): Likewise.
23239         * modules/unictype/category-Pe-tests (Files): Likewise.
23240         * modules/unictype/category-Pf-tests (Files): Likewise.
23241         * modules/unictype/category-Pi-tests (Files): Likewise.
23242         * modules/unictype/category-Po-tests (Files): Likewise.
23243         * modules/unictype/category-Ps-tests (Files): Likewise.
23244         * modules/unictype/category-S-tests (Files): Likewise.
23245         * modules/unictype/category-Sc-tests (Files): Likewise.
23246         * modules/unictype/category-Sk-tests (Files): Likewise.
23247         * modules/unictype/category-Sm-tests (Files): Likewise.
23248         * modules/unictype/category-So-tests (Files): Likewise.
23249         * modules/unictype/category-Z-tests (Files): Likewise.
23250         * modules/unictype/category-Zl-tests (Files): Likewise.
23251         * modules/unictype/category-Zp-tests (Files): Likewise.
23252         * modules/unictype/category-Zs-tests (Files): Likewise.
23253         * modules/unictype/category-and-not-tests (Files): Likewise.
23254         * modules/unictype/category-and-tests (Files): Likewise.
23255         * modules/unictype/category-byname-tests (Files): Likewise.
23256         * modules/unictype/category-name-tests (Files): Likewise.
23257         * modules/unictype/category-none-tests (Files): Likewise.
23258         * modules/unictype/category-of-tests (Files): Likewise.
23259         * modules/unictype/category-or-tests (Files): Likewise.
23260         * modules/unictype/category-test-withtable-tests (Files): Likewise.
23261         * modules/unictype/combining-class-tests (Files): Likewise.
23262         * modules/unictype/ctype-alnum-tests (Files): Likewise.
23263         * modules/unictype/ctype-alpha-tests (Files): Likewise.
23264         * modules/unictype/ctype-blank-tests (Files): Likewise.
23265         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
23266         * modules/unictype/ctype-digit-tests (Files): Likewise.
23267         * modules/unictype/ctype-graph-tests (Files): Likewise.
23268         * modules/unictype/ctype-lower-tests (Files): Likewise.
23269         * modules/unictype/ctype-print-tests (Files): Likewise.
23270         * modules/unictype/ctype-punct-tests (Files): Likewise.
23271         * modules/unictype/ctype-space-tests (Files): Likewise.
23272         * modules/unictype/ctype-upper-tests (Files): Likewise.
23273         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
23274         * modules/unictype/decimal-digit-tests (Files): Likewise.
23275         * modules/unictype/digit-tests (Files): Likewise.
23276         * modules/unictype/mirror-tests (Files): Likewise.
23277         * modules/unictype/numeric-tests (Files): Likewise.
23278         * modules/unictype/property-alphabetic-tests (Files): Likewise.
23279         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
23280         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
23281         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
23282         Likewise.
23283         * modules/unictype/property-bidi-block-separator-tests (Files):
23284         Likewise.
23285         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
23286         Likewise.
23287         * modules/unictype/property-bidi-common-separator-tests (Files):
23288         Likewise.
23289         * modules/unictype/property-bidi-control-tests (Files): Likewise.
23290         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
23291         Likewise.
23292         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
23293         Likewise.
23294         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
23295         Likewise.
23296         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
23297         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
23298         Likewise.
23299         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
23300         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
23301         Likewise.
23302         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
23303         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
23304         * modules/unictype/property-bidi-segment-separator-tests (Files):
23305         Likewise.
23306         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
23307         * modules/unictype/property-byname-tests (Files): Likewise.
23308         * modules/unictype/property-combining-tests (Files): Likewise.
23309         * modules/unictype/property-composite-tests (Files): Likewise.
23310         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
23311         * modules/unictype/property-dash-tests (Files): Likewise.
23312         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
23313         * modules/unictype/property-default-ignorable-code-point-tests (Files):
23314         Likewise.
23315         * modules/unictype/property-deprecated-tests (Files): Likewise.
23316         * modules/unictype/property-diacritic-tests (Files): Likewise.
23317         * modules/unictype/property-extender-tests (Files): Likewise.
23318         * modules/unictype/property-format-control-tests (Files): Likewise.
23319         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
23320         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
23321         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
23322         * modules/unictype/property-hex-digit-tests (Files): Likewise.
23323         * modules/unictype/property-hyphen-tests (Files): Likewise.
23324         * modules/unictype/property-id-continue-tests (Files): Likewise.
23325         * modules/unictype/property-id-start-tests (Files): Likewise.
23326         * modules/unictype/property-ideographic-tests (Files): Likewise.
23327         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
23328         * modules/unictype/property-ids-trinary-operator-tests (Files):
23329         Likewise.
23330         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
23331         * modules/unictype/property-iso-control-tests (Files): Likewise.
23332         * modules/unictype/property-join-control-tests (Files): Likewise.
23333         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
23334         * modules/unictype/property-line-separator-tests (Files): Likewise.
23335         * modules/unictype/property-logical-order-exception-tests (Files):
23336         Likewise.
23337         * modules/unictype/property-lowercase-tests (Files): Likewise.
23338         * modules/unictype/property-math-tests (Files): Likewise.
23339         * modules/unictype/property-non-break-tests (Files): Likewise.
23340         * modules/unictype/property-not-a-character-tests (Files): Likewise.
23341         * modules/unictype/property-numeric-tests (Files): Likewise.
23342         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
23343         * modules/unictype/property-other-default-ignorable-code-point-tests
23344         (Files): Likewise.
23345         * modules/unictype/property-other-grapheme-extend-tests (Files):
23346         Likewise.
23347         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
23348         * modules/unictype/property-other-id-start-tests (Files): Likewise.
23349         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
23350         * modules/unictype/property-other-math-tests (Files): Likewise.
23351         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
23352         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
23353         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
23354         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
23355         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
23356         * modules/unictype/property-private-use-tests (Files): Likewise.
23357         * modules/unictype/property-punctuation-tests (Files): Likewise.
23358         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
23359         * modules/unictype/property-radical-tests (Files): Likewise.
23360         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
23361         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
23362         * modules/unictype/property-space-tests (Files): Likewise.
23363         * modules/unictype/property-terminal-punctuation-tests (Files):
23364         Likewise.
23365         * modules/unictype/property-test-tests (Files): Likewise.
23366         * modules/unictype/property-titlecase-tests (Files): Likewise.
23367         * modules/unictype/property-unassigned-code-value-tests (Files):
23368         Likewise.
23369         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
23370         * modules/unictype/property-uppercase-tests (Files): Likewise.
23371         * modules/unictype/property-variation-selector-tests (Files): Likewise.
23372         * modules/unictype/property-white-space-tests (Files): Likewise.
23373         * modules/unictype/property-xid-continue-tests (Files): Likewise.
23374         * modules/unictype/property-xid-start-tests (Files): Likewise.
23375         * modules/unictype/property-zero-width-tests (Files): Likewise.
23376         * modules/unictype/scripts-tests (Files): Likewise.
23377         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
23378         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
23379         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
23380         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
23381         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
23382         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
23383         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
23384         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
23385         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
23386         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
23387         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
23388         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
23389         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
23390         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
23391         * modules/uninorm/composition-tests (Files): Likewise.
23392         * modules/uninorm/decomposing-form-tests (Files): Likewise.
23393         * modules/uninorm/decomposition-tests (Files): Likewise.
23394         * modules/uninorm/filter-tests (Files): Likewise.
23395         * modules/uninorm/nfc-tests (Files): Likewise.
23396         * modules/uninorm/nfd-tests (Files): Likewise.
23397         * modules/uninorm/nfkc-tests (Files): Likewise.
23398         * modules/uninorm/nfkd-tests (Files): Likewise.
23399         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
23400         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
23401         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
23402         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
23403         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
23404         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
23405         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
23406         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
23407         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
23408         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
23409         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
23410         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
23411         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
23412         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
23413         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
23414         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
23415         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
23416         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
23417         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
23418         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
23419         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
23420         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
23421         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
23422         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
23423         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
23424         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
23425         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
23426         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
23427         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
23428         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
23429         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
23430         * modules/uniwidth/u8-width-tests (Files): Likewise.
23431         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
23432         * modules/uniwidth/u16-width-tests (Files): Likewise.
23433         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
23434         * modules/uniwidth/u32-width-tests (Files): Likewise.
23435         * modules/uniwidth/width-tests (Files): Likewise.
23436         * modules/unlink-tests (Files): Likewise.
23437         * modules/unsetenv-tests (Files): Likewise.
23438         * modules/usleep-tests (Files): Likewise.
23439         * modules/utimens-tests (Files): Likewise.
23440         * modules/utimensat-tests (Files): Likewise.
23441         * modules/vasnprintf-posix-tests (Files): Likewise.
23442         * modules/vasnprintf-tests (Files): Likewise.
23443         * modules/vasprintf-posix-tests (Files): Likewise.
23444         * modules/vasprintf-tests (Files): Likewise.
23445         * modules/vdprintf-posix-tests (Files): Likewise.
23446         * modules/vfprintf-posix-tests (Files): Likewise.
23447         * modules/vprintf-posix-tests (Files): Likewise.
23448         * modules/vsnprintf-posix-tests (Files): Likewise.
23449         * modules/vsnprintf-tests (Files): Likewise.
23450         * modules/vsprintf-posix-tests (Files): Likewise.
23451         * modules/wcrtomb-tests (Files): Likewise.
23452         * modules/wcsnrtombs-tests (Files): Likewise.
23453         * modules/wcsrtombs-tests (Files): Likewise.
23454         * modules/wctype-tests (Files): Likewise.
23455         * modules/wcwidth-tests (Files): Likewise.
23456         * modules/xmemdup0-tests (Files): Likewise.
23457         * modules/xprintf-posix-tests (Files): Likewise.
23458         * modules/xvasprintf-tests (Files): Likewise.
23459
23460 2009-12-24  Eric Blake  <ebb9@byu.net>
23461
23462         test-nanosleep: fix typo
23463         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
23464         patch.
23465         Reported by Bruno Haible.
23466
23467 2009-12-24  Bruno Haible  <bruno@clisp.org>
23468
23469         Reduce namespace pollution on glibc systems.
23470         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
23471         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
23472         systems.
23473         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
23474         <getopt.h> on glibc systems.
23475         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
23476         systems.
23477         * lib/fcntl.c: Include <unistd.h> here instead.
23478
23479 2009-12-24  Bruno Haible  <bruno@clisp.org>
23480
23481         * lib/stdlib.in.h (includes): Fix typo in today's commit.
23482
23483 2009-12-24  Eric Blake  <ebb9@byu.net>
23484
23485         tests: add signature checks
23486         * tests/signature.h (SIGNATURE_CHECK): New file.
23487         * modules/atexit-tests (Files): Use it.
23488         * modules/btowc-tests (Files): Likewise.
23489         * modules/canonicalize-lgpl-tests (Files): Likewise.
23490         * modules/ceilf-tests (Files): Likewise.
23491         * modules/ceill-tests (Files): Likewise.
23492         * modules/chown-tests (Files): Likewise.
23493         * modules/dprintf-posix-tests (Files): Likewise.
23494         * modules/dup2-tests (Files): Likewise.
23495         * modules/dup3-tests (Files): Likewise.
23496         * modules/duplocale-tests (Files): Likewise.
23497         * modules/fchdir-tests (Files): Likewise.
23498         * modules/fcntl-tests (Files): Likewise.
23499         * modules/fdopendir-tests (Files): Likewise.
23500         * modules/fflush-tests (Files): Likewise.
23501         * modules/flock-tests (Files): Likewise.
23502         * modules/floorf-tests (Files): Likewise.
23503         * modules/floorl-tests (Files): Likewise.
23504         * modules/fnmatch-tests (Files): Likewise.
23505         * modules/fopen-tests (Files): Likewise.
23506         * modules/fprintf-posix-tests (Files): Likewise.
23507         * modules/freopen-tests (Files): Likewise.
23508         * modules/frexp-nolibm-tests (Files): Likewise.
23509         * modules/frexp-tests (Files): Likewise.
23510         * modules/frexpl-nolibm-tests (Files): Likewise.
23511         * modules/frexpl-tests (Files): Likewise.
23512         * modules/fseek-tests (Files): Likewise.
23513         * modules/fseeko-tests (Files): Likewise.
23514         * modules/fsync-tests (Files): Likewise.
23515         * modules/ftell-tests (Files): Likewise.
23516         * modules/ftello-tests (Files): Likewise.
23517         * modules/futimens-tests (Files): Likewise.
23518         * modules/getaddrinfo-tests (Files): Likewise.
23519         * modules/getcwd-tests (Files): Likewise.
23520         * modules/getdelim-tests (Files): Likewise.
23521         * modules/getdtablesize-tests (Files): Likewise.
23522         * modules/getgroups-tests (Files): Likewise.
23523         * modules/gethostname-tests (Files): Likewise.
23524         * modules/getline-tests (Files): Likewise.
23525         * modules/getopt-posix-tests (Files): Likewise.
23526         * modules/gettimeofday-tests (Files): Likewise.
23527         * modules/glob-tests (Files): Likewise.
23528         * modules/iconv-tests (Files): Likewise.
23529         * modules/inet_ntop-tests (Files): Likewise.
23530         * modules/inet_pton-tests (Files): Likewise.
23531         * modules/isblank-tests (Files): Likewise.
23532         * modules/lchown-tests (Files): Likewise.
23533         * modules/ldexpl-tests (Files): Likewise.
23534         * modules/link-tests (Files): Likewise.
23535         * modules/linkat-tests (Files): Likewise.
23536         * modules/lseek-tests (Files): Likewise.
23537         * modules/lstat-tests (Files): Likewise.
23538         * modules/mbrtowc-tests (Files): Likewise.
23539         * modules/mbsinit-tests (Files): Likewise.
23540         * modules/mbsnrtowcs-tests (Files): Likewise.
23541         * modules/mbsrtowcs-tests (Files): Likewise.
23542         * modules/memchr-tests (Files): Likewise.
23543         * modules/memcmp-tests (Files): Likewise.
23544         * modules/memmem-tests (Files): Likewise.
23545         * modules/memrchr-tests (Files): Likewise.
23546         * modules/mkdir-tests (Files): Likewise.
23547         * modules/mkfifo-tests (Files): Likewise.
23548         * modules/mkfifoat-tests (Files): Likewise.
23549         * modules/mknod-tests (Files): Likewise.
23550         * modules/nanosleep-tests (Files): Likewise.
23551         * modules/nl_langinfo-tests (Files): Likewise.
23552         * modules/obstack-printf-tests (Files): Likewise.
23553         * modules/open-tests (Files): Likewise.
23554         * modules/openat-tests (Files): Likewise.
23555         * modules/perror-tests (Files): Likewise.
23556         * modules/pipe2-tests (Files): Likewise.
23557         * modules/poll-tests (Files): Likewise.
23558         * modules/popen-tests (Files): Likewise.
23559         * modules/posix_spawn-tests (Files): Likewise.
23560         * modules/posix_spawnp-tests (Files): Likewise.
23561         * modules/pread-tests (Files): Likewise.
23562         * modules/printf-posix-tests (Files): Likewise.
23563         * modules/pty-tests (Files): Likewise.
23564         * modules/random_r-tests (Files): Likewise.
23565         * modules/rawmemchr-tests (Files): Likewise.
23566         * modules/readlink-tests (Files): Likewise.
23567         * modules/remove-tests (Files): Likewise.
23568         * modules/rename-tests (Files): Likewise.
23569         * modules/renameat-tests (Files): Likewise.
23570         * modules/rmdir-tests (Files): Likewise.
23571         * modules/round-tests (Files): Likewise.
23572         * modules/roundf-tests (Files): Likewise.
23573         * modules/roundl-tests (Files): Likewise.
23574         * modules/select-tests (Files): Likewise.
23575         * modules/setenv-tests (Files): Likewise.
23576         * modules/sigaction-tests (Files): Likewise.
23577         * modules/sleep-tests (Files): Likewise.
23578         * modules/snprintf-posix-tests (Files): Likewise.
23579         * modules/snprintf-tests (Files): Likewise.
23580         * modules/sprintf-posix-tests (Files): Likewise.
23581         * modules/stat-tests (Files): Likewise.
23582         * modules/strcasestr-tests (Files): Likewise.
23583         * modules/strchrnul-tests (Files): Likewise.
23584         * modules/strerror-tests (Files): Likewise.
23585         * modules/strsignal-tests (Files): Likewise.
23586         * modules/strstr-tests (Files): Likewise.
23587         * modules/strtod-tests (Files): Likewise.
23588         * modules/strverscmp-tests (Files): Likewise.
23589         * modules/symlink-tests (Files): Likewise.
23590         * modules/symlinkat-tests (Files): Likewise.
23591         * modules/times-tests (Files): Likewise.
23592         * modules/trunc-tests (Files): Likewise.
23593         * modules/truncf-tests (Files): Likewise.
23594         * modules/truncl-tests (Files): Likewise.
23595         * modules/tsearch-tests (Files): Likewise.
23596         * modules/uname-tests (Files): Likewise.
23597         * modules/unlink-tests (Files): Likewise.
23598         * modules/unsetenv-tests (Files): Likewise.
23599         * modules/usleep-tests (Files): Likewise.
23600         * modules/utimensat-tests (Files): Likewise.
23601         * modules/vasprintf-tests (Files): Likewise.
23602         * modules/vdprintf-posix-tests (Files): Likewise.
23603         * modules/vfprintf-posix-tests (Files): Likewise.
23604         * modules/vprintf-posix-tests (Files): Likewise.
23605         * modules/vsnprintf-posix-tests (Files): Likewise.
23606         * modules/vsnprintf-tests (Files): Likewise.
23607         * modules/vsprintf-posix-tests (Files): Likewise.
23608         * modules/wcrtomb-tests (Files): Likewise.
23609         * modules/wcsnrtombs-tests (Files): Likewise.
23610         * modules/wcsrtombs-tests (Files): Likewise.
23611         * modules/wcwidth-tests (Files): Likewise.
23612         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
23613         * tests/test-isinf.c (isinf): Likewise.
23614         * tests/test-isnan.c (isnan): Likewise.
23615         * tests/test-signbit.c (signbit): Likewise.
23616         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
23617         declaration, either as macro or with correct signature.
23618         (select): Ensure function under test is declared with correct
23619         signature in correct header.
23620         * tests/test-atexit.c (atexit): Likewise.
23621         * tests/test-btowc.c (btowc): Likewise.
23622         * tests/test-canonicalize-lgpl.c (realpath)
23623         (canonicalize_file_name): Likewise.
23624         * tests/test-ceilf1.c (ceilf): Likewise.
23625         * tests/test-ceill.c (ceill): Likewise.
23626         * tests/test-chown.c (chown): Likewise.
23627         * tests/test-dprintf-posix.c (dprintf): Likewise.
23628         * tests/test-dup2.c (dup2): Likewise.
23629         * tests/test-dup3.c (dup3): Likewise.
23630         * tests/test-duplocale.c (duplocale): Likewise.
23631         * tests/test-fchdir.c (fchdir): Likewise.
23632         * tests/test-fchownat.c (fchownat): Likewise.
23633         * tests/test-fcntl.c (fcntl): Likewise.
23634         * tests/test-fdopendir.c (fdopendir): Likewise.
23635         * tests/test-fflush.c (fflush): Likewise.
23636         * tests/test-flock.c (flock): Likewise.
23637         * tests/test-floorf1.c (floorf): Likewise.
23638         * tests/test-floorl.c (floorl): Likewise.
23639         * tests/test-fnmatch.c (fnmatch): Likewise.
23640         * tests/test-fopen.c (fopen): Likewise.
23641         * tests/test-fprintf-posix.c (fprintf): Likewise.
23642         * tests/test-freopen.c (freopen): Likewise.
23643         * tests/test-frexp.c (frexp): Likewise.
23644         * tests/test-frexpl.c (frexpl): Likewise.
23645         * tests/test-fseek.c (fseek): Likewise.
23646         * tests/test-fseeko.c (fseeko): Likewise.
23647         * tests/test-fstatat.c (fstatat): Likewise.
23648         * tests/test-fsync.c (fsync): Likewise.
23649         * tests/test-ftell.c (ftell): Likewise.
23650         * tests/test-ftello.c (ftello): Likewise.
23651         * tests/test-futimens.c (futimens): Likewise.
23652         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
23653         (gai_strerror): Likewise.
23654         * tests/test-getcwd.c (getcwd): Likewise.
23655         * tests/test-getdelim.c (getdelim): Likewise.
23656         * tests/test-getdtablesize.c (getdtablesize): Likewise.
23657         * tests/test-getgroups.c (getgroups): Likewise.
23658         * tests/test-gethostname.c (gethostname): Likewise.
23659         * tests/test-getline.c (getline): Likewise.
23660         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
23661         Likewise.
23662         * tests/test-gettimeofday.c (gettimeofday): Likewise.
23663         * tests/test-glob.c (glob, globfree): Likewise.
23664         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
23665         * tests/test-inet_ntop.c (inet_ntop): Likewise.
23666         * tests/test-inet_pton.c (inet_pton): Likewise.
23667         * tests/test-isblank.c (isblank): Likewise.
23668         * tests/test-lchown.c (lchown): Likewise.
23669         * tests/test-ldexpl.c (ldexpl): Likewise.
23670         * tests/test-link.c (link): Likewise.
23671         * tests/test-linkat.c (linkat): Likewise.
23672         * tests/test-lseek.c (lseek): Likewise.
23673         * tests/test-lstat.c (lstat): Likewise.
23674         * tests/test-mbrtowc.c (mbrtowc): Likewise.
23675         * tests/test-mbsinit.c (mbsinit): Likewise.
23676         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
23677         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
23678         * tests/test-memchr.c (memchr): Likewise.
23679         * tests/test-memcmp.c (memcmp): Likewise.
23680         * tests/test-memmem.c (memmem): Likewise.
23681         * tests/test-memrchr.c (memrchr): Likewise.
23682         * tests/test-mkdir.c (mkdir): Likewise.
23683         * tests/test-mkdirat.c (mkdirat): Likewise.
23684         * tests/test-mkfifo.c (mkfifo): Likewise.
23685         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
23686         * tests/test-mknod.c (mknod): Likewise.
23687         * tests/test-nanosleep.c (nanosleep): Likewise.
23688         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
23689         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
23690         Likewise.
23691         * tests/test-open.c (open): Likewise.
23692         * tests/test-openat.c (openat): Likewise.
23693         * tests/test-perror.c (perror): Likewise.
23694         * tests/test-pipe2.c (pipe2): Likewise.
23695         * tests/test-poll.c (poll): Likewise.
23696         * tests/test-popen.c (popen, pclose): Likewise.
23697         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
23698         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
23699         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
23700         (posix_spawn_file_actions_destroy)
23701         (posix_spawn_file_actions_addclose)
23702         (posix_spawn_file_actions_addopen)
23703         (posix_spawn_file_actions_adddup2): Likewise.
23704         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
23705         * tests/test-pread.c (pread): Likewise.
23706         * tests/test-printf-posix.c (printf): Likewise.
23707         * tests/test-pty.c (openpty, forkpty): Likewise.
23708         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
23709         (random_r): Likewise.
23710         * tests/test-rawmemchr.c (rawmemchr): Likewise.
23711         * tests/test-readlink.c (readlink): Likewise.
23712         * tests/test-remove.c (remove): Likewise.
23713         * tests/test-rename.c (rename): Likewise.
23714         * tests/test-renameat.c (renameat): Likewise.
23715         * tests/test-rmdir.c (rmdir): Likewise.
23716         * tests/test-round1.c (round): Likewise.
23717         * tests/test-roundf1.c (roundf): Likewise.
23718         * tests/test-roundl.c (roundl): Likewise.
23719         * tests/test-setenv.c (setenv): Likewise.
23720         * tests/test-sigaction.c (sigaction): Likewise.
23721         * tests/test-sleep.c (sleep): Likewise.
23722         * tests/test-snprintf.c (snprintf): Likewise.
23723         * tests/test-sprintf-posix.c (sprintf): Likewise.
23724         * tests/test-stat.c (stat): Likewise.
23725         * tests/test-stpncpy.c (stpncpy): Likewise.
23726         * tests/test-strcasestr.c (strcasestr): Likewise.
23727         * tests/test-strchrnul.c (strchrnul): Likewise.
23728         * tests/test-strerror.c (strerror): Likewise.
23729         * tests/test-strsignal.c (strsignal): Likewise.
23730         * tests/test-strstr.c (strstr): Likewise.
23731         * tests/test-strtod.c (strtod): Likewise.
23732         * tests/test-strverscmp.c (strverscmp): Likewise.
23733         * tests/test-symlink.c (symlink): Likewise.
23734         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
23735         * tests/test-times.c (times): Likewise.
23736         * tests/test-trunc1.c (trunc): Likewise.
23737         * tests/test-truncf1.c (truncf): Likewise.
23738         * tests/test-truncl.c (truncl): Likewise.
23739         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
23740         Likewise.
23741         * tests/test-uname.c (uname): Likewise.
23742         * tests/test-unlink.c (unlink): Likewise.
23743         * tests/test-unlinkat.c (unlinkat): Likewise.
23744         * tests/test-unsetenv.c (unsetenv): Likewise.
23745         * tests/test-usleep.c (usleep): Likewise.
23746         * tests/test-utimensat.c (utimensat): Likewise.
23747         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
23748         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
23749         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
23750         * tests/test-vprintf-posix.c (vprintf): Likewise.
23751         * tests/test-vsnprintf.c (vsnprintf): Likewise.
23752         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
23753         * tests/test-wcrtomb.c (wcrtomb): Likewise.
23754         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
23755         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
23756         * tests/test-wcwidth.c (wcwidth): Likewise.
23757
23758         build: pull in conditional headers during GNULIB_POSIXCHECK
23759         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
23760         definitions from any conditionally-included headers.
23761         * lib/stdlib.in.h (includes): Likewise.
23762         * lib/unistd.in.h (includes): Likewise.
23763
23764 2009-12-24  Bruno Haible  <bruno@clisp.org>
23765
23766         * tests/test-argv-iter.c: Include header file being tested immediately
23767         after config.h.
23768         * tests/test-base64.c: Likewise.
23769         * tests/test-flock.c: Likewise.
23770         * tests/test-fsync.c: Likewise.
23771         * tests/test-getdate.c: Likewise.
23772         * tests/test-getndelim2.c: Likewise.
23773         * tests/test-isfinite.c: Likewise.
23774         * tests/test-isinf.c: Likewise.
23775         * tests/test-strerror.c: Likewise.
23776         * tests/test-strsignal.c: Likewise.
23777
23778 2009-12-23  Eric Blake  <ebb9@byu.net>
23779
23780         unistd: work around cygwin bug
23781         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
23782         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
23783         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
23784
23785 2009-12-23  Bruno Haible  <bruno@clisp.org>
23786
23787         localename: More tests.
23788         * tests/test-localename.c (SIZEOF): New macro.
23789         (categories): New variable.
23790         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
23791         test_locale_name_default): Add test w.r.t. thread locale.
23792         (test_locale_name_thread): New function.
23793         (main): Invoke it.
23794
23795         localename: Make aware of thread locale.
23796         * lib/localename.h (gl_locale_name_thread): New declaration.
23797         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
23798         behaviour with respect to thread locale.
23799         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
23800         <langinfo.h>, glthread/lock.h.
23801         (SIZE_BITS): New macro.
23802         (string_hash): New function.
23803         (struct hash_node): New type.
23804         (HASH_TABLE_SIZE): New macro.
23805         (struniq_hash_table, struniq_lock): New variables.
23806         (struniq): New function.
23807         (gl_locale_name_thread): New function.
23808         (gl_locale_name): Invoke it.
23809         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
23810         * modules/localename (Depends-on): Add lock.
23811         Reported by Mike Gran <spk121@yahoo.com>.
23812
23813 2009-12-23  Eric Blake  <ebb9@byu.net>
23814
23815         va-args: new module
23816         * modules/va-args: New file.
23817         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
23818         * MODULES.html.sh (Core language properties): Mention it.
23819
23820         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
23821         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
23822         named alias for __attribute__((__unused__)).
23823         * lib/chown.c: Update client.
23824         * lib/fchmodat.c: Likewise.
23825         * lib/fts.c: Likewise.
23826         * lib/getdate.y: Likewise.
23827         * lib/getgroups.c: Likewise.
23828         * lib/getopt.c: Likewise.
23829         * lib/getugroups.c: Likewise.
23830         * lib/mkdir.c: Likewise.
23831         * lib/mkfifo.c: Likewise.
23832         * lib/mkfifoat.c: Likewise.
23833         * lib/mknod.c: Likewise.
23834         * lib/mknodat.c: Likewise.
23835         * lib/readlink.c: Likewise.
23836         * lib/se-context.in.h: Likewise.
23837         * lib/se-selinux.in.h: Likewise.
23838         * lib/sockets.c: Likewise.
23839         * lib/symlink.c: Likewise.
23840         * lib/symlinkat.c: Likewise.
23841         * lib/unicodeio.c: Likewise.
23842         * lib/unistr.h: Likewise.
23843         * tests/test-areadlink.c: Likewise.
23844         * tests/test-areadlinkat.c: Likewise.
23845         * tests/test-filenamecat.c: Likewise.
23846         * tests/test-fseeko.c: Likewise.
23847         * tests/test-ftello.c: Likewise.
23848         * tests/test-getdate.c: Likewise.
23849         * tests/test-getgroups.c: Likewise.
23850         * tests/test-gethostname.c: Likewise.
23851         * tests/test-quotearg.c: Likewise.
23852         * tests/test-version-etc.c: Likewise.
23853         * tests/test-xalloc-die.c: Likewise.
23854         * tests/test-xfprintf-posix.c: Likewise.
23855         * tests/test-xprintf-posix.c: Likewise.
23856         * tests/test-xvasprintf.c: Likewise.
23857
23858         tests: avoid compiler warnings
23859         * tests/test-fcntl.c (main): Delete unused parameters.
23860         * tests/test-freopen-safer.c (main): Likewise.
23861         * tests/test-xalloc-die.c (main): Mark unused parameters.
23862         * tests/test-fseeko.c (main): Likewise.
23863         * tests/test-ftello.c (main): Likewise.
23864         * tests/test-nanosleep.c (main): Avoid declaration warning.
23865         * tests/test-sleep.c (main): Likewise.
23866         * tests/test-unsetenv.c (main): Silence warning about string
23867         literal.
23868         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
23869
23870 2009-12-23  Bruno Haible  <bruno@clisp.org>
23871
23872         * tests/test-localename.c (test_locale_name): New function, extracted
23873         from main. Also test mixed situations.
23874         (test_locale_name_posix, test_locale_name_environ,
23875         test_locale_name_default): New functions.
23876         (main): Invoke them all.
23877         * modules/localename-tests (configure.ac): Test for newlocale.
23878
23879 2009-12-23  Bruno Haible  <bruno@clisp.org>
23880
23881         unistd: Ensure getcwd gets declared before being overridden.
23882         * lib/unistd.in.h: Conditionally include <io.h>.
23883
23884 2009-12-22  Bruno Haible  <bruno@clisp.org>
23885
23886         wchar: Diagnose broken combination of glibc and gcc versions and flags.
23887         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
23888         (gl_WCHAR_H): Invoke it.
23889         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
23890         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
23891         Reported by Karl Berry <karl@freefriends.org>.
23892
23893 2009-12-22  Eric Blake  <ebb9@byu.net>
23894
23895         math, unistd: avoid redundant includes
23896         * lib/math.in.h (isnan): No need to re-include <math.h>.
23897         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
23898
23899         getsubopt: work around cygwin bug
23900         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
23901         avoid conflicting with system getsubopt.
23902         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
23903         bug.
23904
23905         getopt: synchronize from glibc
23906         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
23907         parameter order.  Adjust all callers.
23908         (_getopt_internal_r, main): Adjust quoting in error messages.
23909         Drop considerations for outdated POSIX 1003.2 error message.
23910         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
23911         callers.
23912         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
23913
23914         test-getopt: test stderr behavior
23915         * modules/getopt-posix-tests (Depends-on): Add dup2.
23916         * tests/test-getopt.c (ASSERT): Avoid stderr.
23917         (main): Move stderr to a temporary file.
23918         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
23919         Instead, add parameter to inform caller if output occurred.
23920         (test_getopt): Adjust all existing tests to expect silence, and
23921         add new tests of leading ":".
23922         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
23923         glibc shortcomings with leading "-:" or "+:" in optstring.
23924         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
23925         Likewise.
23926         * doc/posix-functions/getopt.texi (getopt): Likewise.
23927
23928         test-getopt: enhance test
23929         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
23930         supports optind=0.
23931         * tests/test-getopt.c (OPTIND_MIN): Move...
23932         * tests/test-getopt.h (OPTIND_MIN): ...here.
23933         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
23934         Require that optind=0 works, since modern BSD supports it in
23935         addition to optreset, and since coreutils expects it.
23936         (test_getopt_long_only): New test.
23937         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
23938         glibc shortcomings with 'W;', and enforcement of optind=0.
23939         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
23940         Likewise.
23941
23942 2009-12-21  Bruno Haible  <bruno@clisp.org>
23943
23944         localename: Improvements for MacOS X and Cygwin.
23945         * lib/localename.h (gl_locale_name_environ): New declaration.
23946         * lib/localename.c (gl_locale_name_environ): New function, extracted from
23947         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
23948         (gl_locale_name_posix): Invoke it.
23949         (gl_locale_name_default): Add comments. Use Windows native API also on
23950         Cygwin.
23951
23952 2009-12-21  Bruno Haible  <bruno@clisp.org>
23953
23954         Update list of Win32 locale ids.
23955         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
23956         (LANG_SAMI): Renamed from LANG_SAAMI.
23957         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
23958         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
23959         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
23960         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
23961         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
23962         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
23963         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
23964         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
23965         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
23966         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
23967         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
23968         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
23969         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
23970         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
23971         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
23972         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
23973         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
23974         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
23975         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
23976         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
23977         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
23978         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
23979         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
23980         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
23981         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
23982         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
23983         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
23984         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
23985         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
23986         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
23987         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
23988         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
23989         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
23990         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
23991         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
23992         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
23993         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
23994         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
23995         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
23996         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
23997         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
23998         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
23999         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
24000         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
24001         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
24002         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
24003         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
24004         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
24005         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
24006         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
24007         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
24008         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
24009         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
24010         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
24011         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
24012         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
24013         Add more languages and countries for Sami, Sorbian. Add more countries
24014         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
24015         for Pashto. Change country for Syriac, Tswana.
24016
24017 2009-12-21  Eric Blake  <ebb9@byu.net>
24018
24019         test-utimens: avoid spurious failure
24020         * tests/test-chown.h (nap): Factor...
24021         * tests/nap.h: ...into new file.
24022         * tests/test-lchown.h (nap): Avoid duplication.
24023         * tests/test-utimens-common.h (nap): Use shared implementation,
24024         necessary on file systems with 1-second resolution.
24025         * modules/chown-tests (Files): Include new file.
24026         * modules/fdutimensat-tests (Files): Likewise.
24027         * modules/futimens-tests (Files): Likewise.
24028         * modules/lchown-tests (Files): Likewise.
24029         * modules/openat-tests (Files): Likewise.
24030         * modules/utimens-tests (Files): Likewise.
24031         * modules/utimensat-tests (Files): Likewise.
24032
24033 2009-12-19  Eric Blake  <ebb9@byu.net>
24034
24035         futimens, utimensat: work around Linux bug
24036         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
24037         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
24038         * lib/utimensat.c (rpl_utimensat): Work around it.
24039         * lib/futimens.c (rpl_futimens): Adjust comment.
24040
24041         utimens: work around Linux ctime bug
24042         * lib/utimens.c (detect_ctime_bug): New helper function.
24043         (update_timespec): Differentiate between workaround needed for
24044         this bug vs. what is needed for systems that lack utimensat.
24045         (fdutimens, lutimens): Work around bug.
24046
24047         utimens: check for ctime update
24048         * tests/test-utimens-common.h (check_ctime): Define.
24049         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
24050         * tests/test-futimens.h (test_futimens): Likewise.
24051         * tests/test-lutimens.h (test_lutimens): Likewise.
24052         * doc/posix-functions/futimens.texi (futimens): Document the bug.
24053         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
24054
24055 2009-12-19  Bruno Haible  <bruno@clisp.org>
24056
24057         dprintf-posix: Check against memory leak fixed on 2009-12-15.
24058         * tests/test-dprintf-posix2.sh: New file.
24059         * tests/test-dprintf-posix2.c: New file.
24060         * modules/dprintf-posix-tests (Files): Add them.
24061         (configure.ac): Check for getrlimit and setrlimit.
24062         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
24063
24064 2009-12-19  Bruno Haible  <bruno@clisp.org>
24065
24066         fprintf-posix: Check against memory leak fixed on 2009-12-15.
24067         * tests/test-fprintf-posix3.sh: New file.
24068         * tests/test-fprintf-posix3.c: New file.
24069         * modules/fprintf-posix-tests (Files): Add them.
24070         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
24071
24072 2009-12-19  Eric Blake  <ebb9@byu.net>
24073
24074         dirfd: fix prototype
24075         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
24076         * lib/dirfd.c (dirfd): Likewise.
24077
24078         canonicalize: reduce memory usage
24079         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
24080         allocation to size.
24081         Reported by Solar Designer <solar@openwall.com>.
24082
24083 2009-12-19  Bruno Haible  <bruno@clisp.org>
24084
24085         New module attribute 'Applicability'.
24086         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
24087         * gnulib-tool: New option --extract-applicability.
24088         (func_usage): Document it.
24089         (sed_extract_prog): Recognize it.
24090         (func_get_applicability): New function.
24091         (func_import): Generalize handling of 'link-warning' module.
24092         * modules/link-warning (Applicability): New section.
24093         * modules/arg-nonnull (Applicability): New section.
24094         Repoted by Simon Josefsson <simon@josefsson.org>.
24095
24096 2009-12-19  Bruno Haible  <bruno@clisp.org>
24097
24098         fflush: tweak
24099         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
24100         * lib/fseeko.c (rpl_fseeko): Likewise.
24101
24102 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
24103
24104         * lib/gl_list.h: Fix typo in comment.
24105
24106 2009-12-16  Eric Blake  <ebb9@byu.net>
24107
24108         fcntl: use to simplify other modules
24109         * modules/cloexec (Depends-on): Add fcntl.
24110         * modules/fchdir (Depends-on): Likewise.
24111         * modules/fd-safer-flag (Depends-on): Likewise.
24112         * modules/unistd-safer (Depends-on): Likewise.
24113         * modules/dup3 (configure.ac): Set module indicator.
24114         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
24115         missing.
24116         * lib/fchdir.c (_gl_register_dup): Fix comment.
24117         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
24118         * lib/dup-safer.c (dup_safer): Likewise.
24119         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
24120         * lib/dup3.c (dup3): Likewise.
24121         * tests/test-fchdir.c (main): Enhance test.
24122         Fixes a dup_cloexec bug reported by OndÅ™ej Vašík.
24123
24124         fcntl: port portions of fcntl to mingw
24125         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
24126         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
24127         replacement for mingw.
24128         * modules/fcntl (Description): Update.
24129         (Depends-on): Add dup2.
24130         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
24131         * modules/fcntl-h (Makefile.am): Substitute it.
24132         * lib/fcntl.in.h (fcntl): Update declaration.
24133         (F_DUPFD, F_GETFD): New macros, when needed.
24134         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
24135         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
24136         * tests/test-fcntl.c (check_flags, main): Enhance test for items
24137         we now guarantee.
24138
24139         fcntl: work around cygwin bug in F_DUPFD
24140         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
24141         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
24142         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
24143         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
24144         * doc/posix-functions/fcntl.texi (fcntl): Document it.
24145
24146         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
24147         * modules/fcntl (Files): List new files.
24148         (configure.ac): Run a test.
24149         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
24150         * lib/fcntl.c (rpl_fcntl): Likewise.
24151         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
24152         (gl_FCNTL_H): Always replace fcntl.h.
24153         * modules/fcntl-h (Makefile.am): Substitute witnesses.
24154         * lib/fcntl.in.h (fcntl): Declare replacement.
24155         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
24156         needed, plus a witness.
24157         * doc/posix-functions/fcntl.texi (fcntl): Document this.
24158         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
24159         * tests/test-fcntl.c: New file.
24160         * modules/fcntl-tests: Likewise.
24161
24162         binary-io: avoid potential compilation warning
24163         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
24164         directives.
24165
24166         fflush: avoid compilation error on NetBSD
24167         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
24168         between off_t and fpos_t, since the latter is sometimes a struct.
24169         * lib/fseeko.c (rpl_fseeko): Likewise.
24170         Reported by Alexander Nasonov <alnsn@yandex.ru>.
24171
24172 2009-12-15  Eric Blake  <ebb9@byu.net>
24173
24174         fcntl-h, stdio, sys_ioctl: fix declarations
24175         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
24176         function must not take arguments.
24177         * lib/sys_ioctl.in.h (ioctl): Likewise.
24178         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
24179         (open): Add a link warning.
24180
24181 2009-12-15  Jim Meyering  <meyering@redhat.com>
24182
24183         areadlink, areadlink-with-size: relax license to LGPLv2+
24184         * modules/areadlink (License): Relax to LGPLv2+.
24185         * modules/areadlink-with-size (License): Likewise.
24186
24187 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
24188             Bruno Haible  <bruno@clisp.org>
24189
24190         *printf: Fix memory leak.
24191         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
24192         * lib/vfprintf.c (vfprintf): Likewise.
24193         * lib/dprintf.c (dprintf): Likewise.
24194         * lib/vdprintf.c (vdprintf): Likewise.
24195
24196 2009-12-14  Eric Blake  <ebb9@byu.net>
24197
24198         accept4: adjust module dependencies
24199         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
24200
24201         utimens: one more try at avoiding compiler warning
24202         * lib/utimens.c (lutimens): Lower scope of result.
24203
24204 2009-12-13  Bruno Haible  <bruno@clisp.org>
24205
24206         Move the malloc checking from module 'list' to new module 'xlist'.
24207         * modules/xlist: New file.
24208         * lib/gl_xlist.h: New file.
24209         * lib/gl_xlist.c: New file.
24210         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
24211         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
24212         gl_list_add_last, gl_list_add_before, gl_list_add_after,
24213         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
24214         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
24215         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
24216         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
24217         gl_sortedlist_nx_add): New declarations.
24218         (struct gl_list_implementation): Rename and change methods accordingly.
24219         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
24220         (gl_list_nx_create): Renamed from gl_list_create.
24221         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
24222         (gl_list_nx_set_at): Renamed from gl_list_set_at.
24223         (gl_list_nx_add_first): Renamed from gl_list_add_first.
24224         (gl_list_nx_add_last): Renamed from gl_list_add_last.
24225         (gl_list_nx_add_before): Renamed from gl_list_add_before.
24226         (gl_list_nx_add_after): Renamed from gl_list_add_after.
24227         (gl_list_nx_add_at): Renamed from gl_list_add_at.
24228         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
24229         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
24230         gl_list_create_empty.
24231         (gl_list_nx_create): Renamed from gl_list_create.
24232         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
24233         (gl_list_nx_set_at): Renamed from gl_list_set_at.
24234         (gl_list_nx_add_first): Renamed from gl_list_add_first.
24235         (gl_list_nx_add_last): Renamed from gl_list_add_last.
24236         (gl_list_nx_add_before): Renamed from gl_list_add_before.
24237         (gl_list_nx_add_after): Renamed from gl_list_add_after.
24238         (gl_list_nx_add_at): Renamed from gl_list_add_at.
24239         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
24240         * lib/gl_array_list.c: Don't include xalloc.h.
24241         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
24242         NULL upon out-of-memory.
24243         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
24244         out-of-memory.
24245         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
24246         Change return type to 'int'.
24247         (gl_array_nx_set_at): Renamed from gl_array_set_at.
24248         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
24249         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
24250         upon out-of-memory.
24251         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
24252         upon out-of-memory.
24253         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
24254         upon out-of-memory.
24255         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
24256         upon out-of-memory.
24257         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
24258         out-of-memory.
24259         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
24260         Update.
24261         (gl_array_list_implementation): Update.
24262         * lib/gl_carray_list.c: Don't include xalloc.h.
24263         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
24264         Return NULL upon out-of-memory.
24265         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
24266         out-of-memory.
24267         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
24268         Change return type to 'int'.
24269         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
24270         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
24271         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
24272         upon out-of-memory.
24273         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
24274         upon out-of-memory.
24275         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
24276         out-of-memory.
24277         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
24278         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
24279         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
24280         Update.
24281         (gl_carray_list_implementation): Update.
24282         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
24283         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
24284         gl_linked_create_empty. Return NULL upon out-of-memory.
24285         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
24286         out-of-memory.
24287         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
24288         Change return type to 'int'. Return -1 upon out-of-memory.
24289         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
24290         out-of-memory.
24291         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
24292         upon out-of-memory.
24293         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
24294         upon out-of-memory.
24295         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
24296         NULL upon out-of-memory.
24297         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
24298         upon out-of-memory.
24299         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
24300         out-of-memory.
24301         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
24302         Update.
24303         * lib/gl_linked_list.c: Don't include xalloc.h.
24304         (gl_linked_list_implementation): Update.
24305         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
24306         (add_to_bucket): Change return type to 'int'.
24307         (gl_linkedhash_list_implementation): Update.
24308         * lib/gl_anytree_list1.h (free_subtree): New function.
24309         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
24310         gl_tree_create_empty. Return NULL upon out-of-memory.
24311         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
24312         Change return type to 'int'. Return -1 upon out-of-memory.
24313         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
24314         out-of-memory.
24315         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
24316         (gl_tree_remove_node): New function, moved here from
24317         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
24318         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
24319         Update.
24320         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
24321         malloc, not xmalloc. Return NULL upon out-of-memory.
24322         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
24323         out-of-memory.
24324         (gl_tree_remove_node_from_tree): New function, extracted from
24325         gl_tree_remove_node.
24326         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
24327         upon out-of-memory.
24328         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
24329         out-of-memory.
24330         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
24331         upon out-of-memory.
24332         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
24333         upon out-of-memory.
24334         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
24335         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
24336         not xmalloc. Return NULL upon out-of-memory.
24337         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
24338         out-of-memory.
24339         (gl_tree_remove_node_from_tree): New function, extracted from
24340         gl_tree_remove_node.
24341         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
24342         upon out-of-memory.
24343         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
24344         out-of-memory.
24345         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
24346         upon out-of-memory.
24347         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
24348         upon out-of-memory.
24349         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
24350         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
24351         gl_anytree_list1.h before gl_anyavltree_list2.h.
24352         (gl_avltree_list_implementation): Update.
24353         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
24354         gl_anytree_list1.h before gl_anyavltree_list2.h.
24355         (gl_rbtree_list_implementation): Update.
24356         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
24357         Change return type to 'int'. Return -1 upon out-of-memory. Use
24358         __builtin_expect.
24359         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
24360         (gl_avltreehash_list_implementation): Update.
24361         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
24362         (gl_rbtreehash_list_implementation): Update.
24363         * modules/array-list (Depends-on): Remove xalloc.
24364         * modules/carray-list (Depends-on): Likewise.
24365         * modules/linked-list (Depends-on): Likewise.
24366         * modules/linkedhash-list (Depends-on): Likewise.
24367         * modules/avltree-list (Depends-on): Likewise.
24368         * modules/rbtree-list (Depends-on): Likewise.
24369         * modules/avltreehash-list (Depends-on): Likewise.
24370         * modules/rbtreehash-list (Depends-on): Likewise.
24371
24372         * modules/xsublist: New file.
24373         * lib/gl_xsublist.h: New file.
24374         * lib/gl_xsublist.c: New file.
24375         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
24376         (gl_sublist_nx_create): New declaration.
24377         * lib/gl_sublist.c: Don't include xalloc.h.
24378         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
24379         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
24380         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
24381         Change return type to 'int'. Return -1 upon out-of-memory.
24382         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
24383         upon out-of-memory.
24384         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
24385         NULL upon out-of-memory.
24386         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
24387         upon out-of-memory.
24388         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
24389         NULL upon out-of-memory.
24390         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
24391         NULL upon out-of-memory.
24392         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
24393         upon out-of-memory.
24394         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
24395         (gl_sublist_list_implementation): Update.
24396         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
24397         upon out-of-memory.
24398         * modules/sublist (Depends-on): Remove xalloc.
24399
24400         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
24401         * tests/test-carray_list.c: Likewise.
24402         * tests/test-linked_list.c: Likewise.
24403         * tests/test-linkedhash_list.c: Likewise.
24404         * tests/test-avltree_list.c: Likewise.
24405         * tests/test-rbtree_list.c: Likewise.
24406         * tests/test-avltreehash_list.c: Likewise.
24407         * tests/test-rbtreehash_list.c: Likewise.
24408         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
24409         * modules/carray-list-tests (Makefile.am): Likewise.
24410         * modules/linked-list-tests (Makefile.am): Likewise.
24411         * modules/linkedhash-list-tests (Makefile.am): Likewise.
24412         * modules/avltree-list-tests (Makefile.am): Likewise.
24413         * modules/rbtree-list-tests (Makefile.am): Likewise.
24414         * modules/avltreehash-list-tests (Makefile.am): Likewise.
24415         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
24416
24417         * NEWS: Mention the changes.
24418
24419         * lib/clean-temp.c: Include gl_xlist.h.
24420         * modules/clean-temp (Depends-on): Add xlist.
24421
24422         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
24423         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
24424
24425         * tests/test-array_oset.c: Include gl_xlist.h.
24426         * modules/array-oset-tests (Depends-on): Add xlist.
24427
24428         Reported by José E. Marchesi <jemarch@gnu.org>.
24429
24430 2009-12-13  Bruno Haible  <bruno@clisp.org>
24431
24432         Move the malloc checking from module 'oset' to new module 'xoset'.
24433         * modules/xoset: New file.
24434         * lib/gl_xoset.h: New file.
24435         * lib/gl_xoset.c: New file.
24436         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
24437         declarations.
24438         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
24439         (struct gl_oset_implementation): Rename and change methods accordingly.
24440         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
24441         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
24442         'int'. Mark as __warn_unused_result__.
24443         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
24444         gl_oset_create_empty.
24445         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
24446         'int'.
24447         * lib/gl_array_oset.c: Don't include xalloc.h.
24448         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
24449         malloc, not xmalloc.
24450         (grow): Change return type to 'int'. Don't call xalloc_die.
24451         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
24452         to 'int'.
24453         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
24454         'int'.
24455         (gl_array_oset_implementation): Update.
24456         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
24457         gl_tree_create_empty.
24458         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
24459         'int'.
24460         * lib/gl_avltree_oset.c: Don't include xalloc.h.
24461         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
24462         xmalloc.
24463         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
24464         not xmalloc.
24465         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
24466         xmalloc.
24467         (gl_avltree_oset_implementation): Update.
24468         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
24469         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
24470         xmalloc.
24471         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
24472         not xmalloc.
24473         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
24474         xmalloc.
24475         (gl_rbtree_oset_implementation): Update.
24476         * modules/array-oset (Depends-on): Remove xalloc.
24477         * modules/avltree-oset (Depends-on): Likewise.
24478         * modules/rbtree-oset (Depends-on): Likewise.
24479         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
24480         * tests/test-avltree_oset.c: Likewise.
24481         * tests/test-rbtree_oset.c: Likewise.
24482         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
24483         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
24484         * modules/rbtree-oset-tests (Makefile.am): Likewise.
24485         * NEWS: Mention the change.
24486
24487 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
24488
24489         maint.mk: allow a project to override release-prep commands
24490         * top/maint.mk (alpha, beta, stable): Move release-preparatory
24491         commands into a new rule.
24492         (release-prep): New rule.
24493         (release-prep-hook): New overridable variable.
24494
24495 2009-12-13  Bruno Haible  <bruno@clisp.org>
24496
24497         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
24498
24499 2009-12-13  Jim Meyering  <meyering@redhat.com>
24500
24501         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
24502         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
24503
24504 2009-12-12  Bruno Haible  <bruno@clisp.org>
24505
24506         duplocale: Tweak.
24507         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
24508
24509 2009-12-12  Karl Berry  <karl@gnu.org>
24510
24511         * config/srclist.txt (strtoll.c): tab changes, no more sync.
24512
24513 2009-12-12  Bruno Haible  <bruno@clisp.org>
24514
24515         * m4/po.m4: Undo incorrect untabification.
24516
24517 2009-12-12  Bruno Haible  <bruno@clisp.org>
24518
24519         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
24520         * modules/c-strtod (Depends-on): Add locale.
24521         * modules/c-strtold (Depends-on): Likewise.
24522
24523 2009-12-12  Bruno Haible  <bruno@clisp.org>
24524
24525         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
24526
24527 2009-12-11  Eric Blake  <ebb9@byu.net>
24528
24529         setenv: relax requirement in light of POSIX ruling
24530         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
24531         not NULL.
24532         * tests/test-setenv.c (main): Relax test.
24533         * tests/test-unsetenv.c (main): Likewise.
24534         * doc/posix-functions/setenv.texi (setenv): Document this.
24535         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
24536
24537 2009-12-11  Bruno Haible  <bruno@clisp.org>
24538
24539         New module 'fd-safer-flag'.
24540         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
24541         * lib/dup-safer.c (dup_safer_flag): Remove function.
24542         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
24543         * lib/fd-safer.c (fd_safer_flag): Remove function.
24544         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
24545         * modules/cloexec (configure.ac): Drop indicator macro.
24546         * modules/fd-safer-flag: New file.
24547         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
24548         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
24549         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
24550
24551 2009-12-11  Bruno Haible  <bruno@clisp.org>
24552
24553         Tests for module 'nl_langinfo'.
24554         * modules/nl_langinfo-tests: New file.
24555         * tests/test-nl_langinfo.sh: New file.
24556         * tests/test-nl_langinfo.c: New file.
24557
24558         New module 'nl_langinfo'.
24559         * lib/nl_langinfo.c: New file.
24560         * m4/nl_langinfo.m4: New file.
24561         * modules/nl_langinfo: New file.
24562         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
24563
24564 2009-12-11  Bruno Haible  <bruno@clisp.org>
24565
24566         Tests for module 'langinfo'.
24567         * modules/langinfo-tests: New file.
24568         * tests/test-langinfo.c: New file.
24569
24570         New module 'langinfo'.
24571         * lib/langinfo.in.h: New file.
24572         * m4/langinfo_h.m4: New file.
24573         * modules/langinfo: New file.
24574         * doc/posix-headers/langinfo.texi: Mention the new module.
24575
24576 2009-12-11  Bruno Haible  <bruno@clisp.org>
24577
24578         * lib/config.charset: Untabify.
24579
24580 2009-12-11  Bruno Haible  <bruno@clisp.org>
24581
24582         * modules/unistd-safer (configure.ac): Drop indicator macro.
24583
24584 2009-12-11  Bruno Haible  <bruno@clisp.org>
24585
24586         Move pipe2-safer code to its own file.
24587         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
24588         * lib/pipe-safer.c (pipe2_safer): Remove function.
24589         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
24590         (Makefile.am): Add it to lib_SOURCES.
24591
24592 2009-12-10  Bruno Haible  <bruno@clisp.org>
24593
24594         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
24595
24596 2009-12-10  Bruno Haible  <bruno@clisp.org>
24597
24598         Declare which arguments expect non-NULL values, for GCC and clang.
24599         * build-aux/arg-nonnull.h: New file.
24600         * modules/arg-nonnull: New file.
24601         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
24602         (inet_ntop, inet_pton): Use it.
24603         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
24604         (closedir, dirfd, opendir, scandir, alphasort): Use it.
24605         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
24606         (open, openat): Use it.
24607         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
24608         (fnmatch): Use it.
24609         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
24610         (getopt, getopt_long, getopt_long_only): Use it.
24611         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
24612         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
24613         Use it.
24614         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
24615         (iconv_open): Use it.
24616         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
24617         (strtoimax, strtoumax): Use it.
24618         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
24619         (duplocale): Use it.
24620         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
24621         (frexp, frexpl): Use it.
24622         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
24623         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
24624         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
24625         (tsearch, tfind, tdelete, twalk): Use it.
24626         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
24627         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
24628         sigpending): Use it.
24629         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
24630         (posix_spawn, posix_spawnp, posix_spawnattr_init,
24631         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
24632         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
24633         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
24634         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
24635         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
24636         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
24637         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
24638         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
24639         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
24640         Use it.
24641         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
24642         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
24643         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
24644         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
24645         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
24646         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
24647         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
24648         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
24649         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
24650         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
24651         strtoull, unsetenv): Use it.
24652         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
24653         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
24654         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
24655         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
24656         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
24657         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
24658         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
24659         (strcasecmp, strncasecmp): Use it.
24660         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
24661         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
24662         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
24663         rpl_setsockopt): Use it.
24664         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
24665         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
24666         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
24667         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
24668         (gettimeofday): Use it.
24669         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
24670         (times): Use it.
24671         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
24672         (uname): Use it.
24673         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
24674         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
24675         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
24676         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
24677         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
24678         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
24679         unlinkat, write): Use it.
24680         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
24681         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
24682         * lib/argv-iter.h: Include arg-nonnull.h.
24683         (_ATTRIBUTE_NONNULL_): Remove macro.
24684         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
24685         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
24686         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
24687         optimization.
24688         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
24689         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
24690         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
24691         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
24692         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
24693         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
24694         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
24695         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
24696         * modules/arpa_inet (Depends-on): Add arg-nonnull.
24697         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
24698         * modules/dirent (Depends-on): Add arg-nonnull.
24699         (Makefile.am): Insert arg-nonnull.h into dirent.h.
24700         * modules/fcntl-h (Depends-on): Add arg-nonnull.
24701         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
24702         * modules/fnmatch (Depends-on): Add arg-nonnull.
24703         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
24704         * modules/getopt-posix (Depends-on): Add arg-nonnull.
24705         (Makefile.am): Insert arg-nonnull.h into getopt.h.
24706         * modules/glob (Depends-on): Add arg-nonnull.
24707         (Makefile.am): Insert arg-nonnull.h into glob.h.
24708         * modules/iconv_open (Depends-on): Add arg-nonnull.
24709         (Makefile.am): Insert arg-nonnull.h into iconv.h.
24710         * modules/inttypes (Depends-on): Add arg-nonnull.
24711         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
24712         * modules/locale (Depends-on): Add arg-nonnull.
24713         (Makefile.am): Insert arg-nonnull.h into locale.h.
24714         * modules/math (Depends-on): Add arg-nonnull.
24715         (Makefile.am): Insert arg-nonnull.h into math.h.
24716         * modules/netdb (Depends-on): Add arg-nonnull.
24717         (Makefile.am): Insert arg-nonnull.h into netdb.h.
24718         * modules/search (Depends-on): Add arg-nonnull.
24719         (Makefile.am): Insert arg-nonnull.h into search.h.
24720         * modules/signal (Depends-on): Add arg-nonnull.
24721         (Makefile.am): Insert arg-nonnull.h into signal.h.
24722         * modules/spawn (Depends-on): Add arg-nonnull.
24723         (Makefile.am): Insert arg-nonnull.h into spawn.h.
24724         * modules/stdio (Depends-on): Add arg-nonnull.
24725         (Makefile.am): Insert arg-nonnull.h into stdio.h.
24726         * modules/stdlib (Depends-on): Add arg-nonnull.
24727         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
24728         * modules/string (Depends-on): Add arg-nonnull.
24729         (Makefile.am): Insert arg-nonnull.h into string.h.
24730         * modules/strings (Depends-on): Add arg-nonnull.
24731         (Makefile.am): Insert arg-nonnull.h into strings.h.
24732         * modules/sys_socket (Depends-on): Add arg-nonnull.
24733         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
24734         * modules/sys_stat (Depends-on): Add arg-nonnull.
24735         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
24736         * modules/sys_time (Depends-on): Add arg-nonnull.
24737         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
24738         * modules/sys_times (Depends-on): Add arg-nonnull.
24739         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
24740         * modules/sys_utsname (Depends-on): Add arg-nonnull.
24741         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
24742         * modules/time (Depends-on): Add arg-nonnull.
24743         (Makefile.am): Insert arg-nonnull.h into time.h.
24744         * modules/unistd (Depends-on): Add arg-nonnull.
24745         (Makefile.am): Insert arg-nonnull.h into unistd.h.
24746         * modules/wchar (Depends-on): Add arg-nonnull.
24747         (Makefile.am): Insert arg-nonnull.h into wchar.h.
24748         * modules/argv-iter (Depends-on): Add arg-nonnull.
24749         * tests/test-canonicalize.c (null_ptr): New function.
24750         (main): Use it.
24751         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
24752         (main): Use it.
24753         * tests/test-memmem.c (null_ptr): New function.
24754         (main): Use it.
24755         Reported by Jim Meyering.
24756
24757 2009-12-10  Bruno Haible  <bruno@clisp.org>
24758
24759         Use spaces for indentation, not tabs.
24760         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
24761         * m4/*.m4: Untabify.
24762         * build-aux/*.h: Untabify.
24763         * tests/**/*.[hc]: Untabify.
24764         * README: New section "Indent with spaces, not TABs", based on
24765         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
24766         * NEWS: Mention the change.
24767
24768 2009-12-10  Bruno Haible  <bruno@clisp.org>
24769
24770         pty test: Fix link error.
24771         * modules/pty-tests (Makefile.am): Add the default LDADD value to
24772         test_pty_LDADD.
24773
24774 2009-12-07  Simon Josefsson  <simon@josefsson.org>
24775
24776         * modules/pty: New file.
24777         * modules/pty-tests: New file.
24778         * m4/pty.m4: New file.
24779         * tests/test-pty.c: New file.
24780         * doc/glibc-headers/pty.texi: Modified.
24781         * doc/glibc-functions/forkpty.texi: Modified.
24782         * doc/glibc-functions/openpty.texi: Modified.
24783
24784 2009-12-10  Bruno Haible  <bruno@clisp.org>
24785
24786         Avoid syntax error in C++ mode.
24787         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
24788
24789 2009-12-10  Bruno Haible  <bruno@clisp.org>
24790
24791         Use sed with option -e.
24792         * gnulib-tool (func_version, func_emit_copyright_notice,
24793         func_emit_initmacro_end, func_import, func_create_testdir): Pass
24794         option -e to sed.
24795         * modules/link-warning (Makefile.am): Likewise.
24796
24797 2009-12-10  Jim Meyering  <meyering@redhat.com>
24798
24799         mgetgroups: do not write bytes beyond end of malloc'd buffer
24800         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
24801         username, we call getgroups with a one-element-shorter buffer,
24802         but still told it the length was original, max_n_groups.
24803
24804 2009-12-09  Eric Blake  <ebb9@byu.net>
24805
24806         cloexec: relax license
24807         * modules/cloexec (Maintainer): Add myself.
24808         (License): Use LGPL, not GPL.
24809
24810         link-warning: optimize generation
24811         * modules/link-warning (Makefile.am): Reduce process usage.
24812
24813 2009-12-09  Bruno Haible  <bruno@clisp.org>
24814
24815         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
24816         workaround was added on 2009-11-17.
24817
24818 2009-12-09  Jim Meyering  <meyering@redhat.com>
24819             Bruno Haible  <bruno@clisp.org>
24820
24821         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
24822         * modules/link-warning (Makefile.am): Make the comment-removing sed
24823         command more robust in the face of bootstrap-prepended comment lines.
24824
24825 2009-12-09  Bruno Haible  <bruno@clisp.org>
24826
24827         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
24828         most one group.
24829
24830 2009-12-09  Simon Josefsson <simon@josefsson.org>
24831             Bruno Haible  <bruno@clisp.org>
24832
24833         * build-aux/link-warning.h: Add copyright notice.
24834         * modules/link-warning (Makefile.am): Generate link-warning.h from
24835         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
24836         * NEWS: Mention change in link-warning module.
24837         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
24838         * modules/dirent (Makefile.am): Add dependency to dirent.h.
24839         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
24840         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
24841         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
24842         * modules/math (Makefile.am): Add dependency to math.h.
24843         * modules/search (Makefile.am): Add dependency to search.h.
24844         * modules/signal (Makefile.am): Add dependency to signal.h.
24845         * modules/spawn (Makefile.am): Add dependency to spawn.h.
24846         * modules/stdio (Makefile.am): Add dependency to stdio.h.
24847         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
24848         * modules/string (Makefile.am): Add dependency to string.h.
24849         * modules/strings (Makefile.am): Add dependency to strings.h.
24850         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
24851         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
24852         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
24853         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
24854         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
24855         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
24856         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
24857         * modules/unistd (Makefile.am): Add dependency to unistd.h.
24858         * modules/wchar (Makefile.am): Add dependency to wchar.h.
24859
24860 2009-12-09  Bruno Haible  <bruno@clisp.org>
24861
24862         fchdir: Optimize away rpl_fstat when possible.
24863         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
24864         REPLACE_OPEN_DIRECTORY.
24865         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
24866
24867 2009-12-09  Bruno Haible  <bruno@clisp.org>
24868
24869         * lib/fchdir.c: Update comment.
24870
24871 2009-12-09  Bruno Haible  <bruno@clisp.org>
24872
24873         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
24874
24875 2009-12-08  Eric Blake  <ebb9@byu.net>
24876
24877         fchdir: avoid memory leak on re-registration.
24878         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
24879
24880 2009-12-08  Jim Meyering  <meyering@redhat.com>
24881
24882         init.sh: avoid Solaris 10 /bin/sh portability problem
24883         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
24884         sourced script:
24885           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
24886           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
24887           bar
24888         tests/init.sh relied on that, accepting a --set-path=DIR argument,
24889         and two tests used that idiom.
24890         * tests/init.sh: Update suggested usage comments.
24891         (path_prepend_): New function, to be used in place
24892         of the --src-path=DIR option.
24893         (setup_): Move PATH-prepending code into path_prepend_.
24894         * tests/test-pread.sh: Adapt to new usage.
24895         * tests/test-xalloc-die.sh: Likewise.
24896
24897 2009-12-08  Simon Josefsson  <simon@josefsson.org>
24898
24899         * doc/gnulib.texi (Glibc pty.h): Add.
24900         * doc/glibc-functions/forkpty.texi: Add.
24901         * doc/glibc-functions/openpty.texi: Add.
24902         Suggested by Bruno Haible.
24903
24904 2009-12-08  Eric Blake  <ebb9@byu.net>
24905
24906         fchdir: fix logic bugs
24907         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
24908         * tests/test-fchdir.c (main): Enhance test.
24909         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
24910         is in use.
24911
24912         dup2: fix logic bugs
24913         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
24914         REPLACE_DUP2 to decide when rpl_dup2 is needed.
24915         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
24916         exists.
24917         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
24918
24919 2009-12-07  Eric Blake  <ebb9@byu.net>
24920
24921         unlink: fix m4 detection
24922         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
24923
24924         unistd-safer: add unit test
24925         * modules/unistd-safer-tests: New file.
24926         * tests/test-dup-safer.c: Likewise.
24927         * tests/test-cloexec.c (setmode): Avoid compiler warning.
24928         * tests/test-dup2.c (setmode): Likewise.
24929         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
24930
24931         cloexec: preserve text vs. binary across dup_cloexec
24932         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
24933         mode.
24934         * modules/dup2-tests (Depends-on): Add binary-io.
24935         * modules/cloexec-tests (Depends-on): Likewise.
24936         * tests/test-dup2.c (setmode, is_mode): New helpers.
24937         (main): Add tests that translation mode is preserved.
24938         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
24939         Reported by Bruno Haible.
24940
24941         mgetgroups: reduce duplicate listings
24942         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
24943         resulting array.
24944         * tests/test-chown.h (test_chown): Simplify client.
24945         * tests/test-lchown.h (test_lchown): Likewise.
24946
24947 2009-12-06  Bruno Haible  <bruno@clisp.org>
24948
24949         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
24950         value.
24951
24952 2009-12-06  Bruno Haible  <bruno@clisp.org>
24953
24954         * lib/progname.c: Include stdio.h, stdlib.h.
24955         (set_program_name): Reject a NULL argument.
24956
24957 2009-12-05  Eric Blake  <ebb9@byu.net>
24958
24959         pipe2-safer: new module
24960         * modules/pipe2-safer: New file.
24961         * lib/unistd-safer.h (pipe2_safer): New prototype.
24962         * lib/unistd--.h (pipe2): New wrapper.
24963         * lib/pipe-safer.c (pipe2_safer): New function.
24964         * modules/pipe (Depends-on): Add pipe2-safer.
24965         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
24966
24967         stdlib-safer: preserve cloexec flag for mkostemp[s]
24968         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
24969         fd_safer_flag.
24970
24971         unistd-safer: allow preservation of cloexec status via flag
24972         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
24973         prototypes.
24974         * lib/dup-safer.c (dup_safer_flag): New function.
24975         * lib/fd-safer.c (fd_safer_flag): Likewise.
24976         * modules/cloexec (configure.ac): Set witness.
24977
24978         test-dup2: enhance test
24979         * modules/dup2-tests (Depends-on): Add cloexec.
24980         * tests/test-dup2.c (main): Enhance test.
24981
24982         cloexec: add dup_cloexec
24983         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
24984         header and comments.
24985         * lib/cloexec.c (set_cloexec_flag): Add comments.
24986         (dup_cloexec): New function, with mingw implementation borrowed
24987         from...
24988         * lib/w32spawn.h (dup_noinherit): ...here.
24989         * modules/execute (Depends-on): Add cloexec.
24990         * modules/pipe (Depends-on): Likewise.
24991         * modules/cloexec (Depends-on): Add dup2.
24992         * modules/cloexec-tests (Files): New file.
24993         * tests/test-cloexec.c: Likewise.
24994
24995         test-xalloc-die: fix test for mingw
24996         * modules/xalloc-die-tests (Files): Add tests/init.sh.
24997         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
24998         directory and .exe suffix off argv[0] output.
24999
25000         test-fseeko: fix test for mingw
25001         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
25002         than undefining fseek, so test will pass on mingw.
25003
25004 2009-12-05  Bruno Haible  <bruno@clisp.org>
25005
25006         * lib/progname.h (set_program_name): Clarify specification.
25007         * lib/progname.c (set_program_name): Likewise.
25008         Reported by Jim Meyering.
25009
25010 2009-12-05  Jim Meyering  <meyering@redhat.com>
25011
25012         maint.mk: backslash-escape parens in default regexp
25013         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
25014         backslash-escape the literal parentheses.
25015
25016         maint.mk: news-date-check: use grep -E
25017         * top/maint.mk (today): Define a Make variable, not a...
25018         (news-date-check): ...shell variable.
25019         (news-date-regexp): Use the Make variable.
25020         Use grep's -E option.  Change the failing diagnostic to mention
25021         the variable, $(news-date-regexp).
25022
25023 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
25024
25025         maintainer-makefile: allow customization of NEWS entry format
25026         * top/maint.mk (news-date-regexp): New overridable variable.
25027         (news-date-check): Use it.
25028
25029 2009-12-04  Eric Blake  <ebb9@byu.net>
25030
25031         mgetgroups: add xgetgroups, and avoid ENOSYS failures
25032         * lib/mgetgroups.h (xgetgroups): New prototype.
25033         * lib/mgetgroups.c (xgetgroups): New wrapper.
25034         (mgetgroups): Handle ENOSYS.
25035         * modules/mgetgroups (Depends-on): Add realloc.
25036         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
25037
25038         mgetgroups: avoid argument promotion issues with -1
25039         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
25040         for invalid gid_t.
25041         * tests/test-chown.h (getegid, test_chown): Likewise.
25042         * tests/test-lchown.h (getegid, test_lchown): Likewise.
25043
25044 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
25045
25046         exclude: Fix header file problems.
25047         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
25048
25049 2009-12-01  Jim Meyering  <meyering@redhat.com>
25050
25051         fts: fts_open: do not let an empty string cause immediate failure
25052         This is required in support of GNU rm, for which the command
25053         "rm A '' B" must process and remove both A and B, in spite of
25054         the empty string argument.
25055         * lib/fts.c (fts_open): Do not let the presence of an empty string
25056         cause fts_open to fail immediately.  Most fts-using tools must be
25057         able to process all arguments, in order, and can be expected to
25058         diagnose such arguments themselves.
25059
25060 2009-11-30  Eric Blake  <ebb9@byu.net>
25061
25062         utimens: fix compilation error
25063         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
25064         Declare variable at right scope.
25065
25066 2009-11-29  Jim Meyering  <meyering@redhat.com>
25067
25068         bootstrap: handle perl-5.11's changed --version output
25069         * build-aux/bootstrap (get_version): Handle perl separately,
25070         since perl-5.11's --version output is different.
25071
25072 2009-11-28  Jim Meyering  <meyering@redhat.com>
25073
25074         userspec: depend on the inttostr module, too
25075         * modules/userspec (Depends-on): Add inttostr.
25076
25077         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
25078         * lib/userspec.c (parse_with_separator): Do not accept a user ID
25079         number of MAXUID when it evaluates to (uid_t) -1.
25080         Likewise for group ID.  Reported by Matt McCutchen in
25081         <http://savannah.gnu.org/bugs/?28113>
25082
25083         userspec: reformat to use spaces, not TABs
25084         * lib/userspec.c: Expand TABs to spaces.
25085         Add Emacs' "indent-tabs-mode: nil" hint.
25086
25087 2009-11-27  Eric Blake  <ebb9@byu.net>
25088
25089         getopt-gnu: flush out another BSD bug
25090         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
25091         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
25092         flush out BSD bug.
25093         * tests/test-getopt.h (test_getopt): End lists with NULL.
25094         * tests/test-getopt_long.h (test_getopt_long): Likewise.
25095         (test_getopt_long_posix): Enhance test.
25096         * modules/getopt-posix-tests (Depends-on): Add stdbool.
25097         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
25098         getopt-gnu.
25099         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
25100         Likewise.
25101
25102 2009-11-27  Simon Josefsson  <simon@josefsson.org>
25103
25104         * modules/idpriv-droptemp-tests (Notice): Fix text.
25105
25106 2009-11-27  Jim Meyering  <meyering@redhat.com>
25107
25108         test-xalloc-die: avoid spurious failure due to libtool argv difference
25109         In a libtool-enabled project, this test would fail due to a difference
25110         in the emitted program name, e.g.,
25111         -test-xalloc-die: memory exhausted
25112         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
25113         Use program to avoid that.
25114         * modules/xalloc-die-tests (Depends-on): Add progname.
25115         * tests/test-xalloc-die.c: Include progname.h".
25116         (program_name): Remove decl.
25117         (main): Call set_program_name.
25118         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
25119
25120 2009-11-26  Richard Jones  <rjones@redhat.com>
25121
25122         w32sock: leave win32 error in place.
25123         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
25124
25125 2009-11-26  Eric Blake  <ebb9@byu.net>
25126
25127         init.sh: suggest to use skip_ and fail_ functions in comments
25128         * tests/init.sh: Add a sentence.
25129
25130 2009-11-25  Bruno Haible  <bruno@clisp.org>
25131
25132         init.sh: add documentation in comments
25133         * tests/init.sh: Add some developer and user documentation.
25134
25135 2009-11-26  Jim Meyering  <meyering@redhat.com>
25136
25137         init.sh: accommodate even those who specify bogus srcdir manually
25138         * tests/init.sh: Normally, srcdir is guaranteed by automake and
25139         configure-time tests to be sanitized, so that there is no need to
25140         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
25141         (with no double quotes) suffices.  However, since tests may be
25142         invoked manually, and since you may explicitly set srcdir to the
25143         name of a directory containing spaces, do quote its uses here.
25144         * tests/test-pread.sh: Likewise.
25145         Suggested by Bruno Haible.
25146
25147         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
25148         * tests/test-pread.sh: Write no data into the pipe, because
25149         test-pread actually reads none.  This avoids a diagnostic,
25150         "bash: echo: write error: Broken pipe", that arises in the unusual
25151         event something is ignoring SIGPIPE, and might be interpreted
25152         as some sort of failure.  Reported by Bruno Haible.
25153
25154 2009-11-25  Jim Meyering  <meyering@redhat.com>
25155
25156         test-pread: cover failure with ESPIPE and EINVAL
25157         * tests/test-pread.c (main): Test for failure, too.
25158         * tests/test-pread.sh: Invoke with stdin on a pipe.
25159         Suggested by Eric Blake.
25160
25161         pread: improvement and fix
25162         * modules/pread (Depends-on): Depend on lseek, for portability to
25163         e.g., mingw.  Suggested by Eric Blake.
25164         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
25165
25166         unistd.in.h: correct declaration of pread
25167         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
25168         Reported by Richard W.M. Jones.
25169
25170         test-pread.sh: distribute the test script
25171         * modules/pread-tests (Files): Include test-pread.sh.
25172
25173         test-pread.sh: clean up
25174         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
25175         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
25176         That is unnecessary, since it's always ".".
25177         Suggestion from Eric Blake.
25178
25179         test-pread.sh: make executable
25180         * tests/test-pread.sh: Set executable bit.
25181         Reported by Eric Blake.
25182
25183         correct typo in test-pread.sh
25184         * tests/test-pread.sh: Add #! line.
25185
25186         test pread
25187         * tests/test-pread.c: New file.
25188         * tests/test-pread.sh: Likewise.
25189         * modules/pread-tests: Likewise.
25190
25191         pread: new module
25192         * modules/pread: New file.
25193         * lib/unistd.in.h (pread): Define/declare.
25194         * lib/pread.c (pread): New file.
25195         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
25196         * modules/unistd (Makefile.am): Substitute witnesses.
25197         * doc/posix-functions/pread.texi (pread): Update.
25198         * MODULES.html.sh: Add pread.
25199
25200 2009-11-25  Jim Meyering  <meyering@redhat.com>
25201
25202         tests/init.sh: new file to be used via most *.sh tests
25203         * tests/init.sh: New file.
25204
25205 2009-11-25  Eric Blake  <ebb9@byu.net>
25206
25207         utimens: work around older Linux failure with symlinks
25208         * lib/utimens.c (lutimensat_works_really): New variable.
25209         (fdutimens, lutimens): Use it to manage kernels that support
25210         nanosecond times on files, but not on symlinks.
25211         Reported by OndÅ™ej Vašík.
25212
25213         utimes: fix configure grammar
25214         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
25215
25216 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
25217
25218         regex: Fix fastmap for multibyte character ranges.
25219         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
25220         characters when a multibyte character range is included.
25221
25222 2009-11-22  Andy Wingo  <wingo@pobox.com>
25223
25224         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
25225         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
25226
25227 2009-11-24  Bruno Haible  <bruno@clisp.org>
25228
25229         doc: Most *_l functions exist in MacOS X 10.5.
25230         * doc/posix-functions/duplocale.texi: Update platforms list.
25231         * doc/posix-functions/freelocale.texi: Likewise.
25232         * doc/posix-functions/newlocale.texi: Likewise.
25233         * doc/posix-functions/uselocale.texi: Likewise.
25234         * doc/posix-functions/isalnum_l.texi: Likewise.
25235         * doc/posix-functions/isalpha_l.texi: Likewise.
25236         * doc/posix-functions/isblank_l.texi: Likewise.
25237         * doc/posix-functions/iscntrl_l.texi: Likewise.
25238         * doc/posix-functions/isdigit_l.texi: Likewise.
25239         * doc/posix-functions/isgraph_l.texi: Likewise.
25240         * doc/posix-functions/islower_l.texi: Likewise.
25241         * doc/posix-functions/isprint_l.texi: Likewise.
25242         * doc/posix-functions/ispunct_l.texi: Likewise.
25243         * doc/posix-functions/isspace_l.texi: Likewise.
25244         * doc/posix-functions/isupper_l.texi: Likewise.
25245         * doc/posix-functions/iswalnum_l.texi: Likewise.
25246         * doc/posix-functions/iswalpha_l.texi: Likewise.
25247         * doc/posix-functions/iswblank_l.texi: Likewise.
25248         * doc/posix-functions/iswcntrl_l.texi: Likewise.
25249         * doc/posix-functions/iswctype_l.texi: Likewise.
25250         * doc/posix-functions/iswdigit_l.texi: Likewise.
25251         * doc/posix-functions/iswgraph_l.texi: Likewise.
25252         * doc/posix-functions/iswlower_l.texi: Likewise.
25253         * doc/posix-functions/iswprint_l.texi: Likewise.
25254         * doc/posix-functions/iswpunct_l.texi: Likewise.
25255         * doc/posix-functions/iswspace_l.texi: Likewise.
25256         * doc/posix-functions/iswupper_l.texi: Likewise.
25257         * doc/posix-functions/iswxdigit_l.texi: Likewise.
25258         * doc/posix-functions/isxdigit_l.texi: Likewise.
25259         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
25260         * doc/posix-functions/strcasecmp_l.texi: Likewise.
25261         * doc/posix-functions/strcoll_l.texi: Likewise.
25262         * doc/posix-functions/strfmon_l.texi: Likewise.
25263         * doc/posix-functions/strftime_l.texi: Likewise.
25264         * doc/posix-functions/strncasecmp_l.texi: Likewise.
25265         * doc/posix-functions/strxfrm_l.texi: Likewise.
25266         * doc/posix-functions/tolower_l.texi: Likewise.
25267         * doc/posix-functions/toupper_l.texi: Likewise.
25268         * doc/posix-functions/towctrans_l.texi: Likewise.
25269         * doc/posix-functions/towlower_l.texi: Likewise.
25270         * doc/posix-functions/towupper_l.texi: Likewise.
25271         * doc/posix-functions/wcscoll_l.texi: Likewise.
25272         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
25273         * doc/posix-functions/wctrans_l.texi: Likewise.
25274         * doc/posix-functions/wctype_l.texi: Likewise.
25275         * doc/glibc-functions/strptime_l.texi: Likewise.
25276         * doc/glibc-functions/strtod_l.texi: Likewise.
25277         * doc/glibc-functions/strtof_l.texi: Likewise.
25278         * doc/glibc-functions/strtol_l.texi: Likewise.
25279         * doc/glibc-functions/strtold_l.texi: Likewise.
25280         * doc/glibc-functions/strtoll_l.texi: Likewise.
25281         * doc/glibc-functions/strtoul_l.texi: Likewise.
25282         * doc/glibc-functions/strtoull_l.texi: Likewise.
25283         * doc/glibc-functions/wcsftime_l.texi: Likewise.
25284         * doc/glibc-functions/wcstod_l.texi: Likewise.
25285         * doc/glibc-functions/wcstof_l.texi: Likewise.
25286         * doc/glibc-functions/wcstol_l.texi: Likewise.
25287         * doc/glibc-functions/wcstold_l.texi: Likewise.
25288         * doc/glibc-functions/wcstoll_l.texi: Likewise.
25289         * doc/glibc-functions/wcstoul_l.texi: Likewise.
25290         * doc/glibc-functions/wcstoull_l.texi: Likewise.
25291
25292 2009-11-24  Bruno Haible  <bruno@clisp.org>
25293
25294         duplocale: Fix logic bug.
25295         * lib/duplocale.c: Don't include <langinfo.h>.
25296         (_NL_LOCALE_NAME): Remove macro.
25297         (rpl_duplocale): Use setlocale instead of nl_langinfo.
25298         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
25299
25300 2009-11-23  Jim Meyering  <meyering@redhat.com>
25301
25302         test-update-copyright: don't hard-code /usr/bin/perl
25303         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
25304         perl to print the current year.  Gilles Espinasse reported that
25305         the replaced use of perl was hard-coded as /usr/bin/perl.
25306
25307 2009-11-23  Bruno Haible  <bruno@clisp.org>
25308
25309         duplocale: Add support for glibc 2.3.x.
25310         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
25311
25312 2009-11-22  Bruno Haible  <bruno@clisp.org>
25313
25314         vasnprintf: Tiny optimization.
25315         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
25316         MacOS X.
25317
25318 2009-11-22  Bruno Haible  <bruno@clisp.org>
25319
25320         Tests for module 'duplocale'.
25321         * modules/duplocale-tests: New file.
25322         * tests/test-duplocale.c: New file.
25323
25324         New module 'duplocale'.
25325         * m4/duplocale.m4: New file.
25326         * lib/locale.in.h (duplocale): New declaration.
25327         * lib/duplocale.c: New file.
25328         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
25329         gl_LOCALE_H_DEFAULTS): New macros.
25330         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
25331         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
25332         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
25333         REPLACE_DUPLOCALE.
25334         * modules/duplocale: New file.
25335         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
25336
25337 2009-11-22  Bruno Haible  <bruno@clisp.org>
25338
25339         * modules/locale-tests (configure.ac): Test for newlocale function.
25340         * tests/test-locale.c: When the system has extended locale functions,
25341         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
25342
25343         locale: Make locale_t available when possible.
25344         * lib/locale.in.h: Include <xlocale.h> when it exists.
25345         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
25346         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
25347         * modules/locale (Depends-on): Add extensions.
25348         (Makefile.am): Also substitute HAVE_XLOCALE_H.
25349         * doc/posix-headers/locale.texi: Document the problem with locale_t.
25350
25351 2009-11-22  Bruno Haible  <bruno@clisp.org>
25352
25353         Add comments.
25354         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
25355         invocation.
25356         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
25357         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
25358         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
25359
25360 2009-11-22  Bruno Haible  <bruno@clisp.org>
25361
25362         error: account for the possibility of freopen (stdout).
25363         * lib/error.c: Include <unistd.h>.
25364         (flush_stdout): New function, extracted from error and error_at_line.
25365         Determine stdout's fd dynamically.
25366         (error, error_at_line): Invoke flush_stdout.
25367         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
25368         * modules/error (Depends-on): Add unistd.
25369
25370 2009-11-22  Bruno Haible  <bruno@clisp.org>
25371
25372         diffseq: Add comment.
25373         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
25374
25375 2009-11-22  Jim Meyering  <meyering@redhat.com>
25376
25377         c-stack: avoid defining an unused static function
25378         * lib/c-stack.c (find_stack_direction): Do not define this function
25379         when it will not be used.
25380
25381         diffseq: avoid spurious gcc warnings
25382         * lib/diffseq.h (IF_LINT2): Define.
25383         (compareseq): Use it to initialize two members of "part".
25384         This avoids two used-uninitialized warnings.
25385
25386 2009-11-21  Jim Meyering  <meyering@redhat.com>
25387
25388         c-stack: avoid "ignoring return value of `write'" warning
25389         * lib/c-stack.c: Include "ignore-value.h".
25390         (die): Explicitly ignore each write return value.
25391         * modules/c-stack (Depends-on): Add ignore-value.
25392
25393 2009-11-21  Bruno Haible  <bruno@clisp.org>
25394
25395         diffseq: reduce scope of variable 'best'.
25396         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
25397         variable, earlier used for two different purposes.
25398
25399 2009-11-21  Jim Meyering  <meyering@redhat.com>
25400
25401         diffseq: remove useless assignment to "best"
25402         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
25403         assignment.  At that point "best" is already guaranteed to be zero.
25404
25405 2009-11-20  Eric Blake  <ebb9@byu.net>
25406
25407         build: mention ftp redirector in release announcements
25408         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
25409         values that used to come from cfg.mk; mention FTP redirect URL.
25410         * build-aux/announce-gen: Mention the mirror list.
25411         Suggested by Karl Berry.
25412
25413         nanosleep: improve port to mingw
25414         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
25415         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
25416         LIB_NANOSLEEP, but only when needed.
25417         * modules/select (Link): Document LIBSOCKET.
25418         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
25419         enough.
25420
25421         nanosleep: work around cygwin bug
25422         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
25423         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
25424         bug.
25425         (getnow): Delete, not needed.
25426         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
25427         LIB_CLOCK_GETTIME.
25428         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
25429         clock-time, gettime.
25430         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
25431         bug.
25432         * modules/nanosleep-tests: New test.
25433         * tests/test-nanosleep.c: New file.
25434
25435         sleep: work around cygwin bug
25436         * lib/sleep.c (rpl_sleep): Work around the bug.
25437         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
25438         (gl_PREREQ_SLEEP): Delete unused macro.
25439         * modules/sleep (Depends-on): Add verify.
25440         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
25441         * modules/unistd (Makefile.am): Substitute witness.
25442         * lib/unistd.in.h (sleep): Update prototype.
25443         * doc/posix-functions/sleep.texi (sleep): Document the bug.
25444         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
25445         * modules/sleep-tests (Depends-on): Check for alarm.
25446
25447 2009-11-20  Jim Meyering  <meyering@redhat.com>
25448
25449         maint.mk: improve sc_prohibit_magic_number_exit
25450         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
25451         so it does not match uses like System.exit(1).
25452         Add comments showing how to correct all offenders.
25453
25454 2009-11-19  Eric Blake  <ebb9@byu.net>
25455
25456         xalloc-die-tests: add missing library
25457         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
25458
25459         test-xvasprintf: silence compiler warnings
25460         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
25461         empty string from gcc.
25462
25463 2009-11-19  Jim Meyering  <meyering@redhat.com>
25464
25465         xfreopen: new module, from coreutils
25466         * modules/xfreopen: New module.
25467         * lib/xfreopen.c: New file.
25468         * lib/xfreopen.h: New file.
25469         * MODULES.html.sh (File stream based Input/Output"): Add it.
25470
25471 2009-11-19  Eric Blake  <ebb9@byu.net>
25472
25473         manywarnings: depend on warnings
25474         * modules/manywarnings (Depends-on): Add warnings.
25475
25476         build: avoid compiler warnings
25477         * lib/select.c (rpl_select): Delete unused variable.
25478         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
25479
25480 2009-11-18  Eric Blake  <ebb9@byu.net>
25481
25482         tests: avoid false negative with --with-packager
25483         * tests/test-version-etc.sh: Discard packager information.
25484         * tests/test-argp-version-etc-1.sh: Likewise.
25485         Reported by Mike Frysinger.
25486
25487         utimens: fix regression on Solaris
25488         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
25489         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
25490         can only change fd timestamps via futimesat.  Instead, use an
25491         additional witness macro to avoid BSD bug.
25492         Reported by Jim Meyering.
25493
25494 2009-11-17  Eric Blake  <ebb9@byu.net>
25495
25496         usleep: use it to simplify tests
25497         * modules/stat-time-tests (Depends-on): Add usleep.
25498         (configure.ac): Drop usleep check.
25499         * modules/chown-tests (Depends-on, configure.ac): Likewise.
25500         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
25501         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
25502         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
25503         * modules/openat-tests (Depends-on, configure.ac): Likewise.
25504         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
25505         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
25506         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
25507         Likewise.
25508         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
25509         * tests/test-lchown.h (nap): Likewise.
25510         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
25511         * tests/test-stat-time.c (nap): Likewise.
25512         * tests/test-utimens-common.h (nap): Update comments.
25513
25514         usleep: new module
25515         * modules/usleep: New file.
25516         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
25517         * lib/usleep.c (usleep): Likewise.
25518         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
25519         * modules/unistd (Makefile.am): Substitute witnesses.
25520         * lib/unistd.in.h (usleep): Add declaration.
25521         * doc/pastposix-functions/usleep.texi (usleep): Document this.
25522         * MODULES.html.sh (Date and time): Likewise.
25523         * modules/usleep-tests (Depends-on): New test.
25524         * tests/test-usleep.c: New file.
25525
25526         chown: work around OpenBSD bug
25527         * lib/chown.c (rpl_chown): Work around the bug.
25528         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
25529         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
25530         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
25531         * modules/chown (Depends-on): Add stdbool.
25532         * modules/lchown (Depends-on): Likewise.
25533         * doc/posix-functions/chown.texi (chown): Document the bug.
25534         * doc/posix-functions/lchown.texi (lchown): Likewise.
25535         * tests/test-lchown.h (test_chown): Relax test.
25536
25537         mkstemp: avoid conflict with C++ keyword template
25538         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
25539         * lib/mkostemp.c (mkostemp): Likewise.
25540         * lib/mkostemps.c (mkostemps): Likewise.
25541         * lib/mkstemp.c (mkstemp): Likewise.
25542         * lib/mkstemps.c (mkstemps): Likewise.
25543
25544         xalloc-die-tests: optimize
25545         * tests/test-xalloc-die.sh: Reduce number of processes.
25546
25547 2009-11-17  Simon Josefsson  <simon@josefsson.org>
25548
25549         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
25550         patch from ludo@gnu.org (Ludovic Courtès).
25551
25552 2009-11-17  Jim Meyering  <meyering@redhat.com>
25553
25554         version-etc: use proper license string
25555         * modules/version-etc (License): Use LGPL, not LGPLv3+.
25556         * modules/version-etc-fsf: Likewise.
25557
25558 2009-11-17  Simon Josefsson  <simon@josefsson.org>
25559
25560         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
25561         printed to stdout.  Deal with EOL differences.
25562
25563 2009-11-17  Eric Blake  <ebb9@byu.net>
25564
25565         unsetenv: work around Solaris bug
25566         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
25567         * lib/unsetenv.c (rpl_unsetenv): Work around it.
25568         Reported by Jim Meyering.
25569
25570         vasnprintf: avoid compiler warnings
25571         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
25572         variables.
25573         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
25574
25575 2009-11-17  Simon Josefsson  <simon@josefsson.org>
25576
25577         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
25578         settings since xalloc-die is no longer the self test,
25579         xalloc-die.sh is.
25580
25581 2009-11-17  Jim Meyering  <meyering@redhat.com>
25582
25583         test-xalloc-die.sh: make the code agree with the commit log
25584         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
25585         at the end, just in case you happen to have a test-xalloc-die
25586         program in some other PATH directory.
25587
25588         test-xalloc-die.sh: fix a portability bug
25589         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
25590         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
25591         Otherwise, argv[0] (as often seen in diagnostics) would be too
25592         system-dependent, sometimes with, and sometimes without the leading "./".
25593
25594         version-etc-fsf: relax license to LGPLv3+
25595         * modules/version-etc-fsf (License): Relax license.
25596
25597 2009-11-16  Eric Blake  <ebb9@byu.net>
25598
25599         xalloc-die-tests: avoid printing null pointer
25600         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
25601         shell script.
25602         * tests/test-xalloc-die.c (program_name): Declare.
25603         * tests/test-xalloc-die.sh (tmpfiles): New file.
25604
25605         setenv, unsetenv: work around various bugs
25606         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
25607         (setenv) [HAVE_SETENV]: Work around bugs.
25608         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
25609         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
25610         for bugs.
25611         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
25612         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
25613         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
25614         * modules/stdlib (Makefile.am): Update substitutions.
25615         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
25616         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
25617         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
25618         * modules/setenv-tests: New test.
25619         * modules/unsetenv-tests: Likewise.
25620         * tests/test-setenv.c: New file.
25621         * tests/test-unsetenv.c: Likewise.
25622
25623 2009-11-16  Jim Meyering  <meyering@redhat.com>
25624
25625         version-etc: relax license to LGPLv3+
25626         * modules/version-etc (License): Relax license.
25627
25628         better AC_REQUIRE expanded-before-required-warning avoidance
25629         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
25630         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
25631         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
25632         which is no longer needed.
25633
25634 2009-11-16  Eric Blake  <ebb9@byu.net>
25635
25636         test-freading: clean up temporary file
25637         * tests/test-freading.c (main): Remove file on success, and use
25638         ASSERT more liberally.
25639         Reported by Jim Meyering.
25640
25641 2009-11-16  Jim Meyering  <meyering@redhat.com>
25642
25643         avoid new AC_REQUIRE expanded-before-required warnings
25644         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
25645         merely using it.
25646         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
25647         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
25648
25649 2009-11-15  Simon Josefsson  <simon@josefsson.org>
25650
25651         * tests/test-xalloc-die.c: New file.
25652         * modules/xalloc-die-tests: New file.
25653         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
25654         XFAIL_TESTS so it can be appended by modules.
25655
25656 2009-11-15  Simon Josefsson  <simon@josefsson.org>
25657
25658         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
25659         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
25660
25661 2009-11-14  Eric Blake  <ebb9@byu.net>
25662
25663         fnmatch: avoid compiler warning
25664         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
25665         to silence compiler warning about mismatch signedness in ?:.
25666         Reported by Robert Millan.
25667
25668         intprops: add double-inclusion guard
25669         * lib/intprops.h: Allow idempotent includes.
25670         Suggested by Bruce Korb.
25671
25672         openat: detect Solaris fchownat bug
25673         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
25674         penalizing glibc chownat when only lchownat is broken.
25675         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
25676         trailing slash bugs.
25677         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
25678         * modules/openat-tests (Files): Include more files.
25679         (Depends-on): Add mgetgroups, sleep, stat-time.
25680         (configure.ac): Add additional checks.
25681         (Makefile.am): Build new test.
25682         * tests/test-fchownat.c: New file.
25683
25684         lchown: detect Solaris and FreeBSD bug
25685         * lib/lchown.c (rpl_lchown): Work around bug.
25686         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
25687         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
25688         * modules/unistd (Makefile.am): Populate it.
25689         * lib/unistd.in.h (lchown): Update declaration.
25690         * doc/posix-functions/lchown.texi (lchown): Document the bug.
25691         * modules/lchown-tests: New file.
25692         * tests/test-lchown.h (test_lchown): Likewise.
25693         * tests/test-lchown.c (main): Likewise.
25694
25695         chown: detect Solaris and FreeBSD bug
25696         * lib/chown.c (rpl_chown): Work around bug.
25697         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
25698         (gl_PREREQ_CHOWN): Delete.
25699         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
25700         * modules/unistd (Makefile.am): Populate it.
25701         * lib/unistd.in.h (chown): Update declaration.
25702         * lib/lchown.c (chown): Update client.
25703         * modules/lchown (Depends-on): Add lstat.
25704         * doc/posix-functions/chown.texi (chown): Document the bug.
25705         * doc/posix-functions/getgroups.texi (getgroups): Document
25706         getgroups pitfall.
25707         * modules/chown-tests: New file.
25708         * tests/test-chown.h (test_chown): Likewise.
25709         * tests/test-chown.c (main): Likewise.
25710
25711 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
25712
25713         gnulib-tool: correctly detect absence of m4 directories
25714         * gnulib-tool: Avoid extra newline on data passed to wc -l.
25715
25716 2009-11-14  Jim Meyering  <meyering@redhat.com>
25717
25718         maint.mk: Prohibit inclusion of "xalloc.h" without use.
25719         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
25720
25721 2009-11-14  John W. Eaton  <jwe@gnu.org>
25722
25723         strftime.h: wrap funtion declaration in extern "C" block
25724         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
25725
25726 2009-11-13  Eric Blake  <ebb9@byu.net>
25727
25728         getgroups: avoid compiler warning
25729         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
25730
25731         getgroups: work around FreeBSD bug
25732         * lib/getgroups.c (rpl_getgroups): Work around the bug.
25733         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
25734         * doc/posix-functions/getgroups.texi (getgroups): Document it.
25735         * tests/test-getgroups.c (main): Fix buffer overrun.
25736
25737         getgroups: avoid compilation failure
25738         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
25739         * modules/getgroups (Depends-on): Add stdint.
25740
25741 2009-11-13  Jim Meyering  <meyering@redhat.com>
25742
25743         test-getgroups: avoid compilation failure
25744         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
25745
25746 2009-11-13  Eric Blake  <ebb9@byu.net>
25747
25748         mgetgroups: new module, taken from coreutils
25749         * modules/mgetgroups: New file.
25750         * lib/mgetgroups.h: Likewise.
25751         * lib/mgetgroups.c (mgetgroups): Likewise.
25752         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
25753         * MODULES.html.sh (Users and groups): Mention it.
25754
25755         getgroups: don't expose GETGROUPS_T to user
25756         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
25757         an element at a time if GETGROUPS_T is wrong size.
25758         * lib/getugroups.h (getugroups): Change signature.
25759         * lib/unistd.in.h (getgroups): Likewise.
25760         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
25761         signature needs fixing.
25762         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
25763         AC_TYPE_GETGROUPS.
25764         * modules/group-member (Depends-on): Add getgroups.
25765         * lib/group-member.c (group_info, get_group_info): Use gid_t.
25766         (group_member): Rely on getgroups replacement.
25767         * lib/getugroups.c (getugroups): Use gid_t.
25768         * tests/test-getgroups.c (main): Likewise.
25769         * NEWS: Mention the signature change.
25770         * doc/posix-functions/getgroups.texi (getgroups): Mention the
25771         problem with signature.
25772         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
25773         GETGROUPS_T is still useful for setgroups.
25774
25775         getgroups, getugroups: provide stubs for mingw
25776         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
25777         * lib/getugroups.c (getugroups): Likewise.
25778         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
25779         function.  Modernize replacement scheme.
25780         (gl_PREREQ_GETGROUPS): Delete.
25781         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
25782         * modules/getgroups (configure.ac): Declare witness.
25783         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
25784         * modules/unistd (Depends-on): Substitute witness.
25785         * lib/unistd.in.h (getgroups): Declare replacement.
25786
25787         getgroups: avoid calling exit
25788         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
25789         drop xalloc.
25790         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
25791         dependencies.
25792         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
25793         exiting, in the rare case of malloc failure.
25794
25795         getgroups: fix logic error
25796         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
25797         has more than 20 groups.
25798         * modules/getgroups-tests: New test.
25799         * tests/test-getgroups.c: New file.
25800
25801 2009-11-13  Simon Josefsson  <simon@josefsson.org>
25802
25803         * tests/test-base64.c: Improve.
25804
25805 2009-11-13  Simon Josefsson  <simon@josefsson.org>
25806
25807         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
25808         Blake <ebb9@byu.net>.
25809
25810 2009-11-13  Simon Josefsson  <simon@josefsson.org>
25811
25812         * tests/test-xvasprintf.c: Add %s%s related checks.
25813
25814 2009-11-12  Eric Blake  <ebb9@byu.net>
25815
25816         version-etc: match standards.texi style
25817         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
25818         and use <> only for URLs.
25819
25820 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
25821
25822         fts: do not fail on a submount during traversal
25823         * lib/fts.c (fts_build): Read the stat info again after opening
25824         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
25825         Original report at http://bugzilla.redhat.com/501848.
25826
25827 2009-11-12  Jim Meyering  <meyering@redhat.com>
25828
25829         bootstrap: sync from coreutils
25830         * build-aux/bootstrap (bootstrap_epilogue): New function.
25831         Use git_modules_config in one more place.  This make bootstrap's
25832         --gnulib-srcdir option more useful for testing.
25833
25834         bootstrap: generalize autoheader check
25835         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
25836         AC_CONFIG_HEADERS.
25837
25838 2009-11-11  Eric Blake  <ebb9@byu.net>
25839
25840         mkfifoat: use new modules for Solaris and BSD bugs
25841         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
25842         * lib/mkfifoat.c (mknodat): Split...
25843         * lib/mknodat.c (mknodat): ...into new file.
25844         * modules/mkfifoat (Files): Ship new file.
25845         (Depends-on): Add mkfifo, mknod.
25846         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
25847         (Depends-on): Add symlink.
25848         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
25849         redundant with test_mkfifo.h.
25850         (do_mkfifoat, do_mknodat): New helpers.
25851
25852         mknod: new module
25853         * modules/mknod: New file.
25854         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
25855         * lib/mknod.c (mknod): Likewise.
25856         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
25857         defaults.
25858         * modules/sys_stat (Makefile.am): Substitute them.
25859         * lib/sys_stat.in.h (mknod): Declare replacement.
25860         * MODULES.html.sh (Support for systems lacking POSIX:2008):
25861         Document it.
25862         * doc/posix-functions/mknod.texi (mknod): Likewise.
25863         * modules/mknod-tests: New test.
25864         * tests/test-mknod.c: Likewise.
25865
25866         mkfifo: new module
25867         * modules/mkfifo: New file.
25868         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
25869         * lib/mkfifo.c (mkfifo): Likewise.
25870         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
25871         defaults.
25872         * modules/sys_stat (Makefile.am): Substitute them.
25873         * lib/sys_stat.in.h (mkfifo): Declare replacement.
25874         * MODULES.html.sh (Support for systems lacking POSIX:2008):
25875         Document it.
25876         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
25877         * modules/mkfifo-tests: New test.
25878         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
25879         from test-mkfifoat.c.
25880         * tests/test-mkfifo.c: New file.
25881
25882         readlink: detect FreeBSD bug
25883         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
25884         slash on symlink.
25885         * doc/posix-functions/readlink.texi (readlink): Document the bug.
25886         * tests/test-readlink.h (test_readlink): Enhance test.
25887
25888         symlink: detect FreeBSD bug
25889         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
25890         slash on symlink.
25891         * doc/posix-functions/symlink.texi (symlink): Document the bug.
25892         * tests/test-symlink.h (test_symlink): Enhance test.
25893
25894 2009-11-10  Eric Blake  <ebb9@byu.net>
25895
25896         link: detect FreeBSD bug
25897         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
25898         symlink.
25899         * doc/posix-functions/link.texi (link): Document the bug.
25900         * tests/test-link.h (test_link): Enhance test.
25901         * tests/test-linkat.c (main): Update caller.
25902
25903         unlink, remove: detect FreeBSD bug
25904         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
25905         slash on symlink.
25906         * doc/posix-functions/unlink.texi (unlink): Document the bug.
25907         * doc/posix-functions/remove.texi (remove): Likewise.
25908         * tests/test-unlink.h (test_unlink): Enhance test.
25909         * tests/test-remove.c (main): Likewise.
25910
25911 2009-11-09  Eric Blake  <ebb9@byu.net>
25912
25913         rename: detect FreeBSD bug
25914         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
25915         slash on symlink.
25916         * modules/renameat-tests (Depends-on): Add filenamecat.
25917         * tests/test-rename.h (test_rename): Allow one more errno.
25918         * tests/test-renameat.c (main): Likewise.
25919         * doc/posix-functions/rename.texi (rename): Document the bug.
25920
25921         open: detect FreeBSD bug
25922         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
25923         symlink.
25924         * doc/posix-functions/open.texi (open): Document the bug.
25925         * doc/posix-functions/utimes.texi (utimes): Likewise.
25926         * tests/test-open.h (test_open): Add parameters, and test symlink
25927         handling.
25928         * tests/test-open.c (main): Adjust caller.
25929         * tests/test-fcntl-safer.c (main): Likewise.
25930         * modules/open-tests (Depends-on): Add stdbool, symlink.
25931         * modules/fcntl-safer-tests (Depends-on): Likewise.
25932         * tests/test-openat.c (main): Add test-open tests.
25933
25934         stat: detect FreeBSD bug
25935         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
25936         symlink.
25937         * doc/posix-functions/stat.texi (stat): Document the bug.
25938         * tests/test-stat.h (test_stat_func): Add argument.
25939         * tests/test-stat.c (main): Adjust caller.
25940         * tests/test-fstatat.c (main): Likewise.
25941         * modules/stat-tests (Depends-on): Add stdbool, symlink.
25942         Reported by Jim Meyering.
25943
25944 2009-11-09  James Youngman  <jay@gnu.org>
25945
25946         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
25947         * lib/strftime.c: Correct placement of #include "ignore-value.h".
25948
25949 2009-11-08  Jim Meyering  <meyering@redhat.com>
25950
25951         utimens: remove invalid futimesat call
25952         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
25953         It used the file descriptor of the target file as the DIR_FD
25954         parameter and NULL as the file name.  That caused failure with
25955         errno == EFAULT on FreeBSD-8.0-rc2
25956
25957 2009-11-07  Eric Blake  <ebb9@byu.net>
25958
25959         fflush, freadseek: use fseeko, not fseek
25960         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
25961         (clear_ungetc_buffer): Avoid potential problems on large files.
25962         * lib/freadseek.c (freadseek): Likewise.
25963         * modules/freadseek (Depends-on): Add fseeko.
25964         * modules/fseek (configure.ac): Set a witness.
25965         * tests/test-fflush.c (main): Use fseeko.
25966         * tests/test-fpurge.c (fseek): Disable link warning.
25967         * tests/test-freadable.c (fseek): Likewise.
25968         * tests/test-freading.c (fseek): Likewise.
25969         * tests/test-fseeko.c (fseek): Likewise.
25970         * tests/test-ftell.c (fseek): Likewise.
25971         * tests/test-ftello.c (fseek): Likewise.
25972         * tests/test-fwritable.c (fseek): Likewise.
25973         * tests/test-fwriting.c (fseek): Likewise.
25974
25975 2009-11-06  Simon Josefsson  <simon@josefsson.org>
25976
25977         * modules/memchr (Depends-on): Drop getpagesize dependency.
25978
25979 2009-11-06  Simon Josefsson  <simon@josefsson.org>
25980
25981         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
25982         Reported by Ludovic Courtès.
25983         * build-aux/pmccabe2html: Improve example usage.
25984         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
25985
25986 2009-11-06  Jim Meyering  <meyering@redhat.com>
25987
25988         do-release-commit-and-tag: New module.
25989         Automate the release-commit and tag process.
25990         * build-aux/do-release-commit-and-tag: New script, from coreutils.
25991         * modules/do-release-commit-and-tag: New file.
25992         * MODULES.html.sh (Support for maintaining and releasing): Add it.
25993
25994 2009-11-06  Simon Josefsson  <simon@josefsson.org>
25995
25996         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
25997         because test-select.c uses inet_pton.
25998
25999 2009-11-06  Simon Josefsson  <simon@josefsson.org>
26000
26001         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
26002         GETADDRINFO_LIB.  Bump serial number.
26003         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
26004         Suggested by Eric Blake <ebb9@byu.net>.
26005
26006 2009-11-05  Eric Blake  <ebb9@byu.net>
26007
26008         strtod: detect darwin bug
26009         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
26010         Reported by Leo Davis.
26011
26012         freopen-safer: new module
26013         * modules/freopen-safer: New module.
26014         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
26015         * lib/freopen-safer.c (freopen_safer): New file.
26016         * lib/stdio-safer.h (freopen_safer): New declaration.
26017         * lib/stdio--.h (freopen): New override.
26018         * MODULES.html.sh (File stream based Input/Output): Mention it.
26019         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
26020         freopen-safer module.
26021         * doc/posix-functions/stderr.texi (stderr): Likewise.
26022         * doc/posix-functions/stdin.texi (stdin): Likewise.
26023         * doc/posix-functions/stdout.texi (stdout): Likewise.
26024         * modules/freopen-safer-tests: New test.
26025         * tests/test-reopen-safer.c: New file.
26026
26027 2009-11-05  Jim Meyering  <meyering@redhat.com>
26028
26029         maint.mk: Prohibit inclusion of "close-stream.h" without use.
26030         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
26031
26032 2009-11-05  Simon Josefsson  <simon@josefsson.org>
26033
26034         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
26035
26036 2009-11-05  Simon Josefsson  <simon@josefsson.org>
26037
26038         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
26039
26040 2009-11-05  Simon Josefsson  <simon@josefsson.org>
26041
26042         Fix link error.
26043         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
26044         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
26045
26046 2009-11-05  Simon Josefsson  <simon@josefsson.org>
26047
26048         * tests/test-func.c: Also test value of __func__.
26049
26050 2009-11-05  Simon Josefsson  <simon@josefsson.org>
26051
26052         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
26053         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
26054
26055 2009-11-05  Bruno Haible  <bruno@clisp.org>
26056
26057         Fix link error.
26058         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
26059         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
26060         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
26061
26062 2009-11-05  Bruno Haible  <bruno@clisp.org>
26063
26064         Tests for module 'inet_pton'.
26065         * modules/inet_pton-tests: New file.
26066         * tests/test-inet_pton.c: New file.
26067
26068 2009-11-05  Bruno Haible  <bruno@clisp.org>
26069
26070         Tests for module 'inet_ntop'.
26071         * modules/inet_ntop-tests: New file.
26072         * tests/test-inet_ntop.c: New file.
26073
26074 2009-11-04  Eric Blake  <ebb9@byu.net>
26075
26076         stdlib-safer: wrap all mkstemp variants
26077         * modules/mkostemp (configure.ac): Set witness.
26078         * modules/mkostemps (configure.ac): Likewise.
26079         * modules/mkstemps (configure.ac): Likewise.
26080         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
26081         (mkstemps_safer): Wrap more functions.
26082         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
26083         wrapping.
26084         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
26085         (mkstemps_safer): Implement the wrappers.
26086
26087         mkstemps, mkostemps: new modules
26088         * modules/mkostemps: New module.
26089         * modules/mkstemps: Likewise.
26090         * lib/mkostemps.c (mkostemps): New file.
26091         * lib/mkstemps.c (mkstemps): Likewise.
26092         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
26093         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
26094         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
26095         * modules/stdlib (Makefile.am): Substitute them.
26096         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
26097         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
26098         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
26099         * doc/gnulib.texi (Glibc stdlib.h): Include them.
26100         * MODULES.html.sh (File system functions): Mention them.
26101
26102         tempname: resync from glibc
26103         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
26104         same values for __GT_FILE as glibc.  Abort even when assertions
26105         are disabled.
26106         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
26107         match its value otherwise.  Allow idempotent inclusion.
26108         * lib/mkdtemp.c (mkdtemp): Adjust caller.
26109         * lib/mkostemp.c (mkostemp): Likewise.
26110         * lib/mkstemp.c (mkstemp): Likewise.
26111         * lib/tmpfile.c (tmpfile): Likewise.
26112         * NEWS: Document this.
26113
26114         utimens: fix use of futimens on older Linux
26115         * lib/utimens.c (fdutimens): Use updated, rather than original,
26116         timespec to avoid bug in older Linux kernel.
26117         Reported by Simon Josefsson.
26118
26119 2009-11-04  Bruno Haible  <bruno@clisp.org>
26120
26121         Make num_processors more flexible and consistent.
26122         * lib/nproc.h (enum nproc_query): New type.
26123         (num_processors): Add a 'query' argument.
26124         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
26125         (num_processors): Add a 'query' argument. Test the value of the
26126         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
26127         mingw, count the number of CPUs available for the current process.
26128         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
26129         Check for sched_getaffinity and sched_getaffinity_np.
26130         * modules/nproc (Depends-on): Add c-ctype, extensions.
26131         * NEWS: Mention the change.
26132
26133 2009-11-03  Bruno Haible  <bruno@clisp.org>
26134
26135         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
26136
26137 2009-11-03  Jim Meyering  <meyering@redhat.com>
26138
26139         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
26140         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
26141         if it is defined.
26142
26143 2009-11-02  Eric Blake  <ebb9@byu.net>
26144
26145         mktime, timegm: share common declaration
26146         * lib/mktime-internal.h: New file.
26147         * lib/mktime.c: Use it rather than open-coding a declaration.
26148         * lib/timegm.c: Likewise.
26149         * modules/mktime (Files): Ship it.
26150         * modules/timegm (Files): Likewise.
26151         Suggested by Bruno Haible.
26152
26153         test-update-copyright: update test to match script changes
26154         * tests/test-update-copyright.sh: Avoid hard-coding perl
26155         location.  Don't update *.bak created by earlier runs.
26156
26157 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
26158             Simon Josefsson  <simon@josefsson.org>
26159             Bruno Haible  <bruno@clisp.org>
26160
26161         Fix link error on Solaris 8.
26162         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
26163         also in libnsl. Define also INET_PTON_LIB.
26164         * modules/inet_pton (Link): New section.
26165
26166 2009-11-02  Simon Josefsson  <simon@josefsson.org>
26167             Bruno Haible  <bruno@clisp.org>
26168
26169         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
26170         * modules/inet_ntop (Link): New section.
26171         Reported by Boyan Kasarov <bkasarov@gmail.com>.
26172
26173 2009-11-02  Eric Blake  <ebb9@byu.net>
26174
26175         maint: avoid compiler warnings in m4 macros
26176         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
26177         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
26178
26179 2009-11-02  Simon Josefsson  <simon@josefsson.org>
26180
26181         * m4/pmccabe2html.m4: Remove file.
26182         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
26183         function.  Change maintainer.
26184         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
26185         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
26186         Courtès).
26187
26188 2009-10-31  Eric Blake  <ebb9@byu.net>
26189
26190         fseeko: fix m4 regression
26191         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
26192         regression from 2009-10-27.
26193         Reported by Ralf Wildenhues.
26194
26195 2009-10-31  Jim Meyering  <meyering@redhat.com>
26196
26197         inttostr: aesthetics and improved (compile-time) safety
26198         Define inttype_is_signed rather than inttype_is_unsigned,
26199         since the sole use is via "#if inttype_is_signed".
26200         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
26201         inttype_is_unsigned.
26202         * lib/offtostr.c (inttype_is_signed): Likewise.
26203         * lib/uinttostr.c (inttype_is_signed): Likewise.
26204         * lib/umaxtostr.c (inttype_is_signed): Likewise.
26205         * lib/inttostr.c (inttostr): Use verify to cross-check the
26206         inttype_is_signed value and the signedness of the actual type.
26207         * modules/inttostr (Depends-on): Add verify.
26208
26209 2009-10-30  Eric Blake  <ebb9@byu.net>
26210
26211         build: avoid compiler warnings
26212         * lib/fchmodat.c (lchmod): Mark unused variables.
26213         * lib/getopt.c (_getopt_initialize): Likewise.
26214         * lib/mktime.c (__mktime_internal): Provide prototype.
26215         * lib/inttostr.c (inttostr): Avoid compiler warning even with
26216         older gcc that do not understand #pragma GCC diagnostic.
26217         * lib/uinttostr.c (inttype_is_unsigned): Define.
26218         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
26219
26220 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
26221
26222         stat: fix compilation on AIX
26223         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
26224         only see struct stat64.
26225
26226 2009-10-30  Eric Blake  <ebb9@byu.net>
26227
26228         exclude: make more robust
26229         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
26230         rather than masking a coding bug.
26231         Suggested by Bruno Haible.
26232
26233 2009-10-30  Jim Meyering  <meyering@redhat.com>
26234
26235         perl scripts: remove #!/usr/bin/perl in favor of more portable...
26236         Rather than putting #!/usr/bin/perl on the first line,
26237         start with a variant of what's recommended by "man perlrun" that
26238         invokes the first "perl" program from your shell's search path.
26239         * build-aux/gitlog-to-changelog: Replace #!... as above.
26240         Add a "Local Variables" perl mode setting.
26241         Prompted by a patch from Ludovic Courtès.
26242         Improved by Eric Blake.
26243         * build-aux/useless-if-before-free: Likewise.
26244         * build-aux/announce-gen: Likewise.
26245         * build-aux/update-copyright: Likewise.
26246
26247 2009-10-29  Eric Blake  <ebb9@byu.net>
26248
26249         filenamecat-lgpl: adjust clients
26250         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
26251         filenamecat.
26252         * modules/renameat (Depends-on): Likewise.
26253
26254         filenamecat: split into filenamecat-lgpl
26255         * modules/filenamecat-lgpl: New module.
26256         * modules/filenamecat (Files): Move library-safe files into
26257         filenamecat-lgpl.
26258         (Depends-on): Add filenamecat-lgpl.
26259         (configure.ac): Declare witness.
26260         * lib/filenamecat.h (file_name_concat): Only declare when using
26261         GPL module.
26262         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
26263         Move...
26264         * lib/filenamecat-lgpl.c: ...into new file.
26265         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
26266         (gl_FILE_NAME_CONCAT): Use it.
26267         * MODULES.html.sh (File system functions): Mention new module.
26268
26269         argp: avoid memory leak
26270         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
26271         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
26272         base_name, since the latter malloc()s and can call exit().
26273         Leak introduced 2006-07-03.
26274
26275         dirname-lgpl: adjust clients that don't need full dirname
26276         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
26277         * modules/filenamecat (Depends-on): Likewise.
26278         * modules/linkat (Depends-on): Likewise.
26279         * modules/mkancesdirs (Depends-on): Likewise.
26280         * modules/mkdir (Depends-on): Likewise.
26281         * modules/openat (Depends-on): Likewise.
26282         * modules/savewd (Depends-on): Likewise.
26283         * modules/rename (Depends-on): Likewise.
26284         (License): Relax license.
26285         * modules/mkdir-tests (Depends-on): Drop progname.
26286         (Makefile.am): Delete unneeded LDADD.
26287         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
26288
26289         dirname: split into dirname-lgpl
26290         * modules/dirname-lgpl: New module.
26291         * modules/dirname (Files): Move library-safe files into
26292         dirname-lgpl.
26293         (Depends-on): Add dirname-lgpl.
26294         (configure.ac): Declare witness.
26295         * modules/double-slash-root (License): Relax license.
26296         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
26297         module.
26298         * lib/dirname.c (dir_len, mdir_name): Move...
26299         * lib/dirname-lgpl.c: ...into new file.
26300         * lib/basename.c (last_component, base_len): Move...
26301         * lib/basename-lgpl.c: ...into new file.
26302         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
26303         (gl_DIRNAME): Use it.
26304         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
26305         Mention new module.
26306         * modules/dirname-tests (Depends-on): Add progname.
26307         * tests/test-dirname.c (program_name): Delete.
26308
26309         mkdir: make safe for libraries
26310         * modules/mkdir (Depends-on): Drop xalloc.
26311         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
26312         exit.
26313
26314         tests: avoid some compiler warnings
26315         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
26316         literals.
26317         * tests/test-memchr.c (main): Avoid type mismatch.
26318         * tests/test-arpa_inet.c (main): Avoid unused parameters.
26319         * tests/test-base64.c (main): Likewise.
26320         * tests/test-getdelim.c (main): Likewise.
26321         * tests/test-gethostname.c (main): Likewise.
26322         * tests/test-getline.c (main): Likewise.
26323         * tests/test-netinet_in.c (main): Likewise.
26324         * tests/test-select.c (open_server_socket, main): Likewise.
26325         * tests/test-select-stdin.c (main): Likewise.
26326         * tests/test-sockets.c (main): Likewise.
26327         * tests/test-strsignal.c (main): Likewise.
26328         * tests/test-sys_select.c (main): Likewise.
26329         * tests/test-sys_socket.c (main): Likewise.
26330         * tests/test-u64.c (main): Likewise.
26331         * tests/test-xfprintf-posix.c (main): Likewise.
26332         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
26333
26334         sockets: avoid compiler warning
26335         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
26336
26337         maint: detect usage(1) and other suspicious exits
26338         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
26339
26340 2009-10-29  Jim Meyering  <meyering@redhat.com>
26341
26342         timespec: long-to-int truncation could make timespec_cmp malfunction
26343         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
26344         a multiple of 2^32 nanoseconds as no difference.
26345
26346 2009-10-28  Jim Meyering  <meyering@redhat.com>
26347
26348         fprintftime: wrap macro code argument in "do {...} while(0)"
26349         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
26350         cpy macro must be a statement that can be followed by a semicolon.
26351         Now that the else clause contains a comment and is hence longer
26352         than one line, I require curly braces.  That in turn requires
26353         that we wrap this code block in the standard do...while(0).
26354
26355         fprintftime: remove stray semicolon from previous change
26356         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
26357
26358         fprintftime: avoid a warning about ignored fwrite return value
26359         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
26360         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
26361         that is unsafe.
26362         * modules/fprintftime (Depends-on): Add ignore-value.
26363
26364         exclude: avoid an unwarranted warning
26365         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
26366
26367 2009-10-27  Eric Blake  <ebb9@byu.net>
26368
26369         fseek: avoid compilation failure when fflush is replaced
26370         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
26371         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
26372         module is in use.
26373         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
26374         module is not in use; since REPLACE_FSEEK worked otherwise.
26375         (GNULIB_FTELLO): Likewise for ftell.
26376         Reported by Ian Beckwith and others.
26377
26378 2009-10-27  Bruno Haible  <bruno@clisp.org>
26379
26380         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
26381         Reported by Jim Meyering.
26382
26383 2009-10-27  Jim Meyering  <jim@meyering.net>
26384             Bruno Haible  <bruno@clisp.org>
26385
26386         Avoid warning despite dropping the return value of fwrite.
26387         * lib/unicodeio.c: Include ignore-value.h.
26388         (fwrite_success_callback): Explicitly ignore fwrite's return value.
26389         * modules/unicodeio (Depends-on): Add ignore-value.
26390
26391 2009-10-26  Eric Blake  <ebb9@byu.net>
26392
26393         areadlinkat: fix fallback path
26394         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
26395         pointer and zero.
26396
26397 2009-10-22  Pádraig Brady  <P@draigBrady.com>
26398
26399         Use a better IO block size for modern systems
26400         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
26401         * lib/md2.c: Likewise.
26402         * lib/md4.c: Likewise.
26403         * lib/md5.c: Likewise.
26404         * lib/sha1.c: Likewise.
26405         * lib/sha256.c: Likewise.
26406         * lib/sha512.c: Likewise.
26407
26408 2009-10-22  Eric Blake  <ebb9@byu.net>
26409
26410         tests: avoid several compiler warnings
26411         * tests/test-getcwd.c (main): Avoid buffer underflow.
26412         * tests/test-getdate.c (main): String literals are not safe with
26413         putenv, so use setenv.  Declare unused argument.
26414         * modules/getdate-tests (Depends-on): Add setenv.
26415         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
26416         problems with string literals in char *.
26417         * tests/test-hash.c (main): Avoid shadowing declaration.
26418         (insert_new): Treat string literals as char const *.
26419         * tests/test-getopt.h (test_getopt): Likewise.
26420         (getopt_loop): Alter types to minimize casting elsewhere.
26421         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
26422         (test_getopt_long_posix): Likewise.
26423         (do_getopt_long): Add wrapper to minimize casting.
26424         * tests/test-atexit.c (clear_temp_file): Use void.
26425         * tests/test-areadlink-with-size.c (main): Declare unused
26426         arguments.
26427         * tests/test-areadlink.c (main): Likewise.
26428         * tests/test-areadlinkat-with-size.c (main): Likewise.
26429         * tests/test-areadlinkat.c (main): Likewise.
26430         * tests/test-canonicalize-lgpl.c (main): Likewise.
26431         * tests/test-canonicalize.c (main): Likewise.
26432         * tests/test-dirent-safer.c (main): Likewise.
26433         * tests/test-dirname.c (main): Likewise.
26434         * tests/test-dup2.c (main): Likewise.
26435         * tests/test-fchdir.c (main): Likewise.
26436         * tests/test-fcntl-h.c (main): Likewise.
26437         * tests/test-fcntl-safer.c (main): Likewise.
26438         * tests/test-fdopendir.c (main): Likewise.
26439         * tests/test-fdutimensat.c (main): Likewise.
26440         * tests/test-fflush.c (main): Likewise.
26441         * tests/test-filenamecat.c (main): Likewise.
26442         * tests/test-filevercmp.c (main): Likewise.
26443         * tests/test-fopen-safer.c (main): Likewise.
26444         * tests/test-fopen.c (main): Likewise.
26445         * tests/test-fpending.c (main): Likewise.
26446         * tests/test-fpurge.c (main): Likewise.
26447         * tests/test-freading.c (main): Likewise.
26448         * tests/test-fstatat.c (main): Likewise.
26449         * tests/test-fsync.c (main): Likewise.
26450         * tests/test-futimens.c (main): Likewise.
26451         * tests/test-getndelim2.c (main): Likewise.
26452         * tests/test-gettimeofday.c (main): Likewise.
26453         * tests/test-getopt.c (main): Likewise.
26454         * tests/test-i-ring.c (main): Likewise.
26455         * tests/test-inttypes.c (main): Likewise.
26456         * tests/test-link.c (main): Likewise.
26457         * tests/test-lstat.c (main): Likewise.
26458         * tests/test-math.c (main): Likewise.
26459         * tests/test-md5.c (main): Likewise.
26460         * tests/test-memchr2.c (main): Likewise.
26461         * tests/test-memrchr.c (main): Likewise.
26462         * tests/test-mkdir.c (main): Likewise.
26463         * tests/test-mkdirat.c (main): Likewise.
26464         * tests/test-mkfifoat.c (main): Likewise.
26465         * tests/test-open.c (main): Likewise.
26466         * tests/test-openat-safer.c (main): Likewise.
26467         * tests/test-openat.c (main): Likewise.
26468         * tests/test-quotearg.c (main): Likewise.
26469         * tests/test-rawmemchr.c (main): Likewise.
26470         * tests/test-readlink.c (main): Likewise.
26471         * tests/test-remove.c (main): Likewise.
26472         * tests/test-rename.c (main): Likewise.
26473         * tests/test-renameat.c (main): Likewise.
26474         * tests/test-rmdir.c (main): Likewise.
26475         * tests/test-sha1.c (main): Likewise.
26476         * tests/test-signal.c (main): Likewise.
26477         * tests/test-sigaction.c (main): Likewise.
26478         * tests/test-stat.c (main): Likewise.
26479         * tests/test-stat-time.c (main): Likewise.
26480         * tests/test-stddef.c (main): Likewise.
26481         * tests/test-stdint.c (main): Likewise.
26482         * tests/test-stdio.c (main): Likewise.
26483         * tests/test-stdlib.c (main): Likewise.
26484         * tests/test-strchrnul.c (main): Likewise.
26485         * tests/test-strerror.c (main): Likewise.
26486         * tests/test-string.c (main): Likewise.
26487         * tests/test-strtod.c (main): Likewise.
26488         * tests/test-strverscmp.c (main): Likewise.
26489         * tests/test-symlink.c (main): Likewise.
26490         * tests/test-symlinkat.c (main): Likewise.
26491         * tests/test-sys_stat.c (main): Likewise.
26492         * tests/test-sys_time.c (main): Likewise.
26493         * tests/test-time.c (main): Likewise.
26494         * tests/test-unistd.c (main): Likewise.
26495         * tests/test-unlink.c (main): Likewise.
26496         * tests/test-unlinkat.c (main): Likewise.
26497         * tests/test-utimens.c (main): Likewise.
26498         * tests/test-utimensat.c (main): Likewise.
26499         * tests/test-version-etc.c (main): Likewise.
26500         * tests/test-wchar.c (main): Likewise.
26501         * tests/test-wctype.c (main): Likewise.
26502         * tests/test-xprintf-posix.c (main): Likewise.
26503         * tests/test-posixtm.c (main): Likewise.
26504         (STREQ): Delete unused macro.
26505         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
26506         shadowed variables.
26507         * tests/test-memchr.c (main): Likewise.
26508
26509 2009-10-21  Eric Blake  <ebb9@byu.net>
26510
26511         areadlinkat: avoid failure on older glibc
26512         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
26513         rather than mis-comparing 0 against FUNC_RESULT of char*.
26514
26515 2009-10-21  Bruno Haible  <bruno@clisp.org>
26516
26517         * modules/stpncpy (License): Relicense under LGPLv2+.
26518         Reported by David Lutterkort <lutter@redhat.com>.
26519
26520 2009-10-20  Eric Blake  <ebb9@byu.net>
26521
26522         utimensat: work around Solaris 9 bug
26523         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
26524         has trailing slash bugs.
26525         * tests/test-lutimens.h (test_lutimens): Enhance test.
26526         * tests/test-utimens.h (test_utimens): Likewise.
26527         * doc/posix-functions/utime.texi (utime): Enhance documentation.
26528         * doc/posix-functions/utimes.texi (utimes): Likewise.
26529         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
26530         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
26531         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
26532         * doc/posix-functions/futimens.texi (futimens): Likewise.
26533
26534         fdutimensat: new module
26535         * modules/fdutimensat: New file.
26536         * lib/fdutimensat.c (fdutimensat): Likewise.
26537         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
26538         * MODULES.html.sh (File system functions): Mention module.
26539         * modules/fdutimensat-tests: New test.
26540         * tests/test-fdutimensat.c: Likewise.
26541
26542         doc: regenerate INSTALL
26543         * doc/INSTALL: Reflect recent autoconf update.
26544         * doc/INSTALL.ISO: Likewise.
26545         * doc/INSTALL.UTF-8: Likewise.
26546
26547 2009-10-20  Pádraig Brady  <P@draigBrady.com>
26548
26549         acl: warn if ACL support is not detected
26550         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
26551
26552 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
26553
26554         * lib/nproc.h: Add extern "C" block for C++.
26555
26556 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
26557             Bruno Haible  <bruno@clisp.org>
26558
26559         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
26560         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
26561         * doc/posix-functions/isalpha.texi: Likewise.
26562         * doc/posix-functions/isblank.texi: Likewise.
26563         * doc/posix-functions/iscntrl.texi: Likewise.
26564         * doc/posix-functions/isdigit.texi: Likewise.
26565         * doc/posix-functions/isgraph.texi: Likewise.
26566         * doc/posix-functions/islower.texi: Likewise.
26567         * doc/posix-functions/isprint.texi: Likewise.
26568         * doc/posix-functions/ispunct.texi: Likewise.
26569         * doc/posix-functions/isspace.texi: Likewise.
26570         * doc/posix-functions/isupper.texi: Likewise.
26571         * doc/posix-functions/isxdigit.texi: Likewise.
26572
26573 2009-10-18  Bruno Haible  <bruno@clisp.org>
26574
26575         Tests for module 'isblank'.
26576         * modules/isblank-tests: New file.
26577         * tests/test-isblank.c: New file.
26578
26579         New module 'isblank'.
26580         * lib/isblank.c: New file.
26581         * m4/isblank.m4: New file.
26582         * modules/isblank: New file.
26583         * doc/posix-functions/isblank.texi: Mention the new module.
26584
26585 2009-10-18  Bruno Haible  <bruno@clisp.org>
26586
26587         New module 'ctype'.
26588         * lib/ctype.in.h: New file.
26589         * m4/ctype.m4: New file.
26590         * modules/ctype: New file.
26591         * doc/posix-headers/ctype.texi: Mention the new module.
26592
26593 2009-10-18  Jim Meyering  <meyering@redhat.com>
26594
26595         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
26596         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
26597         right after its initialization, rather than farther down.
26598         Keeping these in close proximity makes it easier to ensure
26599         that each such variable is initialized.  E.g.,
26600
26601             LIB_CLOCK_GETTIME=
26602             AC_SUBST([LIB_CLOCK_GETTIME])
26603
26604         This change also increments these serial numbers.
26605         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
26606         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
26607         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
26608
26609 2009-10-18  Bruno Haible  <bruno@clisp.org>
26610
26611         Don't let environment variables perturb build.
26612         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
26613         (gl_PREREQ_GETHRXTIME): ... not here.
26614
26615 2009-10-18  Bruno Haible  <bruno@clisp.org>
26616
26617         Avoid symlink attack in localcharset module.
26618         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
26619         (O_NOFOLLOW): Define fallback.
26620         (get_charset_aliases): Don't open the file if it is a symbolic link.
26621         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
26622         gl_FCNTL_H.
26623         (gl_FCNTL_H): Require it.
26624         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
26625         * modules/localcharset (Files): Add m4/fcntl_h.m4.
26626         Reported by Fergal Glynn <fglynn@veracode.com>.
26627
26628 2009-10-18  Bruno Haible  <bruno@clisp.org>
26629
26630         Implement nproc for mingw.
26631         * lib/nproc.c: Include <windows.h>
26632         (num_processors): On native Windows platforms, try GetSystemInfo.
26633
26634 2009-10-18  Bruno Haible  <bruno@clisp.org>
26635
26636         Implement nproc for IRIX.
26637         * lib/nproc.c: Include <sys/sysmp.h>.
26638         (num_processors): On IRIX systems, try sysmp.
26639         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
26640
26641 2009-10-18  Bruno Haible  <bruno@clisp.org>
26642
26643         Implement nproc for HP-UX.
26644         * lib/nproc.c: Include <sys/pstat.h>
26645         (num_processors): On HP-UX systems, try pstat_getdynamic.
26646         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
26647         pstat_getdynamic.
26648
26649 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
26650             Bruno Haible  <bruno@clisp.org>
26651
26652         Implement nproc for NetBSD, OpenBSD.
26653         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
26654         (ARRAY_SIZE): New macro.
26655         (num_processors): On BSD systems, try sysctl of HW_NCPU.
26656         * m4/nproc.m4: New file.
26657         * modules/nproc (Files): Add m4/nproc.m4.
26658         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
26659         (Makefile.am): Instead, augment lib_SOURCES.
26660
26661 2009-10-18  Bruno Haible  <bruno@clisp.org>
26662
26663         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
26664         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
26665         sys/param.h.
26666
26667 2009-10-16  Eric Blake  <ebb9@byu.net>
26668
26669         utimensat: new module
26670         * modules/utimensat: New file.
26671         * lib/utimensat.c (utimensat): Likewise.
26672         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
26673         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
26674         so we can work around Linux bugs.
26675         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
26676         * modules/sys_stat (Makefile.am): Substitute them.
26677         * lib/sys_stat.in.h (utimensat): Declare it.
26678         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
26679         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
26680         * modules/utimensat-tests: New test.
26681         * tests/test-utimensat.c: Likewise.
26682
26683         utimens: let lutimens work on non-symlinks
26684         * lib/utimens.c (lutimens): Fall back to utimens rather than
26685         failing with ENOSYS, when file is not a symlink.
26686         (utimens): Reduce redirection.
26687         * tests/test-lutimens.h (test_lutimens): Update test to cover
26688         non-symlinks.
26689         * tests/test-utimens.h (test_utimens): Update test to cover
26690         symlinks.
26691         * tests/test-utimens.c (main): Update caller.
26692
26693         utimens: cache whether utimensat syscall works
26694         * lib/utimens.c (utimensat_works_really): New cache variable.
26695         (fdutimens, lutimens): Use it to avoid failing syscall.
26696
26697         test-stat-time, test-utimens: improve portability
26698         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
26699         ext4 on alpha, and for cygwin.
26700         * tests/test-utimens-common.h: New file.
26701         (nap): Factor delays into single function.
26702         * tests/test-lutimens.h (test_lutimens): Use new header.
26703         * tests/test-futimens.h (test_futimens): Likewise.
26704         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
26705         timestamps to occur from same machine, as was done previously for
26706         test_utimens.
26707         * modules/utimens-tests (Files): Ship new file.
26708         * modules/futimens-tests (Files): Likewise.
26709         Reported in part by Jim Meyering.
26710
26711         sys_stat: sort replacement declarations
26712         * lib/sys_stat.in.h: Sort declarations.
26713         * lib/futimens.c (futimens): Fix typo.
26714
26715 2009-10-15  Jim Meyering  <meyering@redhat.com>
26716
26717         don't let environment settings perturb build
26718         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
26719         could cause a configure-time and/or build-time malfunction.
26720         Typically, a configure-time function-in-library test is performed
26721         via code like this:
26722
26723           LIB_VAR=
26724           AC_SUBST([LIB_VAR])
26725           prefix_saved_LIBS=$LIBS
26726             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
26727                        [test "$ac_cv_search_FUNC" = "none required" ||
26728                         LIB_VAR=$ac_cv_search_FUNC])
26729           LIBS=$prefix_saved_LIBS
26730
26731         However, in each of the files affected by this change, the LIB_VAR=
26732         initialization was omitted.  Thus, when set in the environment, its
26733         value would propagate into generated Makefiles when FUNC is not found
26734         in LIB_NAME.
26735         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
26736         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
26737         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
26738
26739 2009-10-14  Eric Blake  <ebb9@byu.net>
26740
26741         fchdir: avoid infinite recursion in mingw
26742         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
26743         recursing.
26744
26745         test-stat-time: port to mingw
26746         * tests/test-stat-time.c (force_unlink): Return a value.
26747         (test_ctime) [W32]: Fix compilation error.
26748         (nap): Don't call usleep with too large an argument.  Use
26749         force_unlink.
26750         * doc/pastposix-functions/usleep.texi (usleep): Document the
26751         portability issue.
26752
26753 2009-10-13  Jim Meyering  <meyering@redhat.com>
26754
26755         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
26756         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
26757         * modules/pipe-filter-ii: Likewise.
26758         * modules/sys_socket-tests: Likewise.
26759         * modules/tsearch-tests: Likewise.
26760         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
26761         (check): Depend on it.
26762
26763 2009-10-12  Eric Blake  <ebb9@byu.net>
26764
26765         utimens-tests: port to NFS file systems
26766         * tests/test-utimens.h (test_utimens): Refactor utimecmp
26767         comparisons to avoid spurious failures from timestamp drift
26768         between NFS machines.
26769
26770 2009-10-12  Eric Blake  <ebb9@byu.net>
26771
26772         stat-time-tests: minor cleanups
26773         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
26774         * tests/test-stat-time.c (nap): Separate assignment from call.
26775         Suggested by Paolo Bonzini and Bruno Haible.
26776
26777         sys_stat: guarantee struct timespec
26778         * lib/sys_stat.in.h (includes): Always include <time.h>
26779         * modules/sys_stat (Depends-on): Add time.
26780         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
26781         mode_t permission values.
26782         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
26783         get at subsecond timestamps.
26784
26785 2009-10-10  Eric Blake  <ebb9@byu.net>
26786
26787         futimens: new module
26788         * modules/futimens: New file.
26789         * lib/futimens.c (futimens): Likewise.
26790         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
26791         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
26792         we can work around Linux bugs.
26793         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
26794         * modules/sys_stat (Makefile.am): Substitute them.
26795         * lib/sys_stat.in.h (futimens): Declare it.
26796         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
26797         * doc/posix-functions/futimens.texi (futimens): Likewise.
26798         * modules/futimens-tests: New test.
26799         * tests/test-futimens.c: Likewise.
26800
26801         utimens: introduce fdutimens
26802         * lib/utimens.h (fdutimens): New prototype.
26803         * lib/utimens.c (gl_futimens): Move guts...
26804         (fdutimens): ...to new interface.
26805         * tests/test-utimens.c (do_fdutimens): Use it.
26806
26807         utimens: add UTIME_NOW and UTIME_OMIT support
26808         * lib/utimens.c (validate_timespec, update_timespec): New helper
26809         functions.
26810         (gl_futimens, lutimens): Use them.
26811         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
26812         stdbool, sys_stat.
26813         (Link): Mention resulting library dependency.
26814         * modules/utimecmp (Link): Likewise.
26815         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
26816         (Makefile.am): Pick up library dependency.
26817         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
26818         definition.
26819         * tests/test-sys_stat.c: Test the definitions.
26820         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
26821         * NEWS: Document library dependency.
26822
26823         utimecmp: support symlink timestamps
26824         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
26825         hashing when possible.  Use pathconf when available.
26826         (SYSCALL_RESOLUTION): Recognize tighter resolution.
26827         * modules/utimecmp (Depends-on): Add lstat.
26828
26829         utimens: add lutimens interface
26830         * lib/utimens.c (lutimens): New function.
26831         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
26832         * lib/utimens.h (lutimens): Declare new interface.
26833         * tests/test-utimens.c (main): Enhance test.
26834         * tests/test-lutimens.h (test_lutimens): New file.
26835         * modules/utimens-tests (Files): Distribute it.
26836         (Depends-on): Add symlink.
26837         (configure.ac): Check for usleep.
26838
26839         utimens: validate futimens usage
26840         * lib/utimens.c (gl_futimens): Require valid fd up front, using
26841         fewer syscalls on failure later on.  Avoid compiler warning on
26842         mingw.
26843         * modules/utimens (Depends-on): Add dup2.
26844
26845         utimens: add test
26846         * modules/utimens-tests: New test.
26847         * tests/test-utimens.h: New file.
26848         * tests/test-futimens.h: Likewise.
26849         * tests/test-utimens.c: Likewise.
26850
26851         doc: mention timestamp portability issues
26852         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
26853         instead.
26854         * doc/posix-functions/utime.texi (utime): Likewise.
26855         * doc/posix-functions/utimes.texi (utimes): Likewise.
26856         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
26857         instead.
26858         * doc/posix-functions/futimens.texi (futimens): Mention utimens
26859         module.
26860         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
26861         Mention weakness with symlink timestamps.
26862         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
26863         to utimensat/futimens instead.
26864         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
26865
26866         test-dup2: enhance test
26867         * tests/test-dup2.c (main): Also check AT_FDCWD.
26868
26869         test-stat-time: avoid more spurious failures
26870         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
26871         xfs; and avoid race if the two timestamps cross quantization edge.
26872
26873         relocatable: prefer 'file system' over 'filesystem'
26874         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
26875         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
26876         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
26877         * doc/relocatable.texi (Enabling Relocatability): Likewise.
26878         * lib/relocatable.c (compute_curr_prefix): Likewise.
26879
26880 2009-10-10  Jim Meyering  <meyering@redhat.com>
26881
26882         stat-time-tests: check for the usleep function
26883         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
26884
26885 2009-10-10  Bruno Haible  <bruno@clisp.org>
26886
26887         * modules/xnanosleep: Put the Link section after the Include section.
26888
26889 2009-10-09  Eric Blake  <ebb9@byu.net>
26890
26891         dup2: work around FreeBSD 6.1 bug
26892         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
26893         * doc/posix-functions/dup2.texi (dup2): Document it.
26894         Reported by Nelson H. F. Beebe and Jim Meyering.
26895
26896         test-stat-time: port to buggy NFS clients
26897         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
26898         (test_ctime): Also skip test if mtime and ctime are skewed.
26899
26900         maint: prefer 'file system' over 'filesystem'
26901         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
26902         * doc/posix-functions/lstat.texi (lstat): Likewise.
26903         * lib/file-has-acl.c (file_has_acl): Likewise.
26904         * lib/fwriteerror.c [TEST]: Likewise.
26905         * tests/test-areadlink.h (test_areadlink): Likewise.
26906         * tests/test-areadlinkat-with-size.c (main): Likewise.
26907         * tests/test-areadlinkat.c (main): Likewise.
26908         * tests/test-canonicalize-lgpl.c (main): Likewise.
26909         * tests/test-canonicalize.c (main): Likewise.
26910         * tests/test-fstatat.c (main): Likewise.
26911         * tests/test-linkat.c (main): Likewise.
26912         * tests/test-lstat.h (test_lstat_func): Likewise.
26913         * tests/test-mkdir.h (test_mkdir): Likewise.
26914         * tests/test-readlink.h (test_readlink): Likewise.
26915         * tests/test-remove.c (main): Likewise.
26916         * tests/test-rename.h (test_rename): Likewise.
26917         * tests/test-renameat.c (main): Likewise.
26918         * tests/test-rmdir.h (test_rmdir_func): Likewise.
26919         * tests/test-symlink.h (test_symlink): Likewise.
26920         * tests/test-symlinkat.c (main): Likewise.
26921         * tests/test-unlink.h (test_unlink_func): Likewise.
26922         * tests/test-unlinkat.c (main): Likewise.
26923
26924         maint: make realtime library usage explicit
26925         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
26926         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
26927         * modules/settime (Link): Likewise.
26928         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
26929
26930         test-stat-time: speed up execution
26931         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
26932         warning on mingw.
26933         (nap): New helper function.
26934         (prepare_test): Use it to reduce sleep time.
26935         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
26936         execution.
26937         * modules/stat-time-tests (configure.ac): Check for usleep.
26938
26939 2009-10-09  Jim Meyering  <meyering@redhat.com>
26940
26941         selinux-h: always use getfilecon wrappers
26942         * lib/getfilecon.c: New file.
26943         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
26944         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
26945         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
26946         (fgetfilecon): Provide a stub.
26947         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
26948         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
26949         file unconditionally.
26950         When <selinux/selinux.h> is found, arrange to use wrappers.
26951         * modules/selinux-h (Files): Add getfilecon.c.
26952         (Makefile.am): Substitute include-next-related bits
26953         into the now-always-generated selinux/selinux.h file.
26954         * doc/glibc-functions/lgetfilecon.texi: New file.
26955         * doc/glibc-functions/fgetfilecon.texi: New file.
26956         * doc/glibc-functions/getfilecon.texi: New file.
26957         * doc/glibc-functions/getfilecon-desc.texi: New file.
26958         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
26959         which to pull in the new files.
26960         * MODULES.html.sh (Misc): Add selinux-h.
26961
26962 2009-10-08  Jim Meyering  <meyering@redhat.com>
26963
26964         unistd: fix comment typo
26965         * lib/unistd.in.h (euidaccess): Fix a comment typo.
26966
26967 2009-10-08  Eric Blake  <ebb9@byu.net>
26968
26969         areadlink: use SIZE_MAX consistently
26970         * modules/areadlink (Depends-on): Add stdint.
26971         * modules/areadlink-with-size (Depends-on): Likewise.
26972         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
26973         gives NULL; drop sys/types, since unistd gives size_t; and add
26974         stdint for SIZE_MAX.
26975         (SIZE_MAX): Rely on headers.
26976         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
26977         and add stdint.
26978         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
26979         (SIZE_MAX): Likewise.
26980         (INITIAL_BUF_SIZE): Turn into enum.
26981         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
26982
26983 2009-10-08  Jim Meyering  <meyering@redhat.com>
26984
26985         areadlinkat: avoid compilation failure
26986         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
26987         Fix typo in comment.
26988
26989 2009-10-07  Eric Blake  <ebb9@byu.net>
26990
26991         areadlinkat-with-size: new module
26992         * modules/areadlinkat-with-size: New module.
26993         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
26994         * lib/areadlink.h (areadlinkat): Declare it.
26995         * MODULES.html.sh (File system functions): Mention it.
26996         * modules/areadlinkat-with-size-tests: New test.
26997         * tests/test-areadlinkat-with-size.c: New file.
26998
26999         xreadlinkat: new module
27000         * modules/xreadlinkat: New module.
27001         * lib/xreadlinkat.c (xreadlinkat): New file.
27002         * lib/xreadlink.h (xreadlinkat): Declare it.
27003         * MODULES.html.sh (File system functions): Mention it.
27004
27005         areadlinkat: new module
27006         * lib/at-func.c (FUNC_FAIL): New define.
27007         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
27008         * modules/areadlinkat: New module.
27009         * lib/linkat.c (areadlinkat): Move...
27010         * lib/areadlinkat.c (areadlinkat): ...to new file.
27011         * lib/areadlink.h (areadlinkat): Declare it.
27012         * modules/linkat (Depends-on): Add areadlinkat.
27013         * MODULES.html.sh (File system functions): Mention it.
27014         * modules/areadlinkat-tests: New test.
27015         * tests/test-areadlinkat.c: New file.
27016
27017         areadlink, areadlink-with-size: add tests
27018         * modules/areadlink-tests: New test.
27019         * modules/areadlink-with-size-tests: Likewise.
27020         * tests/test-areadlink.h: New file.
27021         * tests/test-areadlink.c: Likewise.
27022         * tests/test-areadlink-with-size.c: Likewise.
27023
27024         maint: minor cleanups
27025         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
27026         _UNUSED_PARAMETER_ instead.
27027         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
27028         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
27029         * modules/linkat-tests (Files): Distribute test-link.h.
27030
27031         openat, utimens: whitespace cleanup
27032         * lib/openat.c: Prefer space throughout, rather than mix of 8
27033         spaces vs. tabs.
27034         * lib/at-func.c: Likewise.
27035         * lib/utimens.c: Likewise.
27036
27037         openat: avoid using wrong fd
27038         * lib/openat.c (openat_permissive): Reject user's fd if saving the
27039         working directory chooses same fd.
27040         * lib/at-func.c (AT_FUNC_NAME): Likewise.
27041
27042         mkdir, mkdirat: fix cygwin 1.5.x bug
27043         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
27044         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
27045         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
27046         bug.
27047         (gl_PREREQ_MKDIR): Delete unused macro.
27048         * modules/mkdir (Files): Track file rename.
27049         (configure.ac): Update macro name.
27050         * modules/openat (Depends-on): Add mkdir.
27051         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
27052
27053         mkdir, mkdirat: add tests
27054         * modules/mkdir-tests: New test.
27055         * tests/test-mkdir.h: New file.
27056         * tests/test-mkdir.c: Likewise.
27057         * tests/test-mkdirat.c: Likewise.
27058         * modules/openat-tests (Files): Add new files.
27059         (Makefile.am): Run new test.
27060
27061 2009-10-06  Eric Blake  <ebb9@byu.net>
27062
27063         doc: tweak *at function documentation
27064         * doc/posix-functions/faccessat.texi (faccessat): Mention
27065         known issue with replacement.
27066         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
27067         * doc/posix-functions/linkat.texi (linkat): Likewise.
27068         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
27069         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
27070         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
27071         * doc/posix-functions/renameat.texi (renameat): Likewise.
27072         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
27073
27074         openat: fix GNU/Hurd bug in unlinkat
27075         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
27076         broken.
27077         * doc/posix-functions/unlink.texi (unlink): Document this.
27078         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
27079
27080         fdopendir: fix GNU/Hurd bug
27081         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
27082         allowing non-directory fds.
27083         * lib/fdopendir.c (rpl_fdopendir): Work around it.
27084         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
27085         * modules/dirent (Makefile.am): Substitute it.
27086         * lib/dirent.in.h (fdopendir): Declare replacement.
27087         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
27088         * tests/test-fdopendir.c (main): Test something other than
27089         /dev/null, since on Hurd that behaves like a directory.
27090
27091         test-symlink: port to GNU/Hurd
27092         * tests/test-symlink.h (test_symlink): Relax expected errno.
27093
27094         doc: tweak more cygwin information
27095         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
27096         now compatible with glibc.
27097         * doc/posix-functions/getopt.texi (getopt): Likewise.
27098
27099         getopt-gnu: add another test
27100         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
27101         guarantee behavior relied on by m4.
27102         * tests/test-getopt.c (main): Use it.
27103         * modules/getopt-posix-tests (Depends-on): Add setenv.
27104         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
27105
27106         getopt: fix compilation on darwin
27107         * lib/getopt.in.h (includes): Leave breadcrumbs during system
27108         include.
27109         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
27110         Reported by Ludovic Courtès.
27111
27112 2009-10-06  Bruno Haible  <bruno@clisp.org>
27113
27114         * modules/size_max (Description): Discourage its use.
27115         Reported by Simon Josefsson.
27116
27117 2009-10-06  Jim Meyering  <meyering@redhat.com>
27118
27119         linkat: avoid compilation failure
27120         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
27121
27122 2009-10-05  Eric Blake  <ebb9@byu.net>
27123
27124         linkat: support Linux 2.6.17
27125         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
27126         linkat on Linux, but allow cache variable override.
27127         * lib/linkat.c (rpl_linkat): Define override.
27128         * modules/linkat (Depends-on): Add symlinkat.
27129         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
27130         * modules/unistd (Makefile.am): Substitute it.
27131         * lib/unistd.in.h (linkat): Declare replacement.
27132         Reported by Pádraig Brady.
27133
27134         quotearg: port test to systems with C.UTF-8 locale
27135         * tests/test-quotearg.c (struct result_strings): Add another
27136         member, differentiating between C.ASCII and C.UTF-8 handling.
27137         (compare_strings): Add parameter.
27138         (main): Adjust all callers.
27139
27140         getopt: avoid clash with FreeBSD _getopt_internal
27141         * lib/getopt.in.h (_getopt_internal): Override the name.
27142         * lib/getopt_int.h (includes): Pick up any overrides.
27143         Reported by Reuben Thomas.
27144
27145         hash: allow C89 compilation
27146         * lib/hash.c (check_tuning): Move declaration before statement.
27147         Reported by Reuben Thomas.
27148
27149 2009-10-05  Karl Berry  <karl@gnu.org>
27150
27151         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
27152
27153 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
27154             Bruno Haible  <bruno@clisp.org>
27155
27156         * lib/uname.c (uname): Use a table-driven algorithm to compute
27157         Windows NT versions.
27158
27159 2009-10-04  Bruno Haible  <bruno@clisp.org>
27160
27161         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
27162         program_invocation_short_name.
27163         * modules/progname (configure.ac): Test for presence of
27164         program_invocation_short_name.
27165         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
27166
27167 2009-10-04  Bruno Haible  <bruno@clisp.org>
27168
27169         * lib/progname.c (set_program_name): Fix comment.
27170         Reported by Jim Meyering.
27171
27172 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
27173             Bruno Haible  <bruno@clisp.org>
27174
27175         * lib/uname.c: Include <string.h>.
27176         (uname): Do only one call to GetVersionEx in the common case.
27177
27178 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
27179             Bruno Haible  <bruno@clisp.org>
27180
27181         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
27182         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
27183         (uname): Add support for Windows CE and various non-x86 CPU types.
27184
27185 2009-10-03  Bruno Haible  <bruno@clisp.org>
27186
27187         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
27188         invocation to tests/configure.ac.
27189         Reported by Ian Beckwith <ianb@erislabs.net>.
27190
27191 2009-10-02  Eric Blake  <ebb9@byu.net>
27192
27193         fchdir: avoid compiler warning
27194         * lib/fchdir.c (canonicalize_file_name)
27195         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
27196
27197         test-open: support mingw errno values
27198         * tests/test-open.h (test_open): Relax test.
27199         * tests/test-fopen.h (test_fopen): Likewise.
27200         * tests/test-openat-safer.c (main): Likewise.
27201
27202         open: fix opening directory on mingw
27203         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
27204
27205         test-open: on GNU/Hurd, /dev/null is a directory
27206         * tests/test-fopen.h (main): Rename...
27207         (test_fopen): ...to this.  Use a guaranteed non-directory when
27208         confirming open behavior on trailing slash.
27209         * tests/test-openat-safer.c (main): Likewise.
27210         * tests/test-open.h (main): Likewise....
27211         (test_open): ...to this.
27212         * tests/test-fopen.c (main): Adjust caller.
27213         * tests/test-fopen-safer.c (main): Likewise.
27214         * tests/test-open.c (main): Likewise.
27215         * tests/test-fcntl-safer.c (main): Likewise.
27216         Reported by Samuel Thibault.
27217
27218         rename, fchdir: don't ignore chdir failure
27219         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
27220         * lib/rename.c (rpl_rename) [W32]: Likewise.
27221         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
27222         an empty destination directory if source cannot be renamed,
27223         although there is still possibility for failure.
27224         * doc/posix-functions/rename.texi (rename): Document the race.
27225         Reported by Jim Meyering.
27226
27227         maint: cleanup whitespace in recent commits
27228         * lib/rename.c (rpl_rename): Remove tabs.
27229         * tests/test-link.h (test_link): Likewise.
27230         * lib/fchdir.c (get_name): Likewise.
27231         Reported by Jim Meyering.
27232
27233 2009-10-02  Ben Pfaff  <blp@gnu.org>
27234
27235         relocatable-prog-wrapper: Add missing dependency on
27236         double-slash-root.
27237         * modules/relocatable-prog-wrapper: Add dependency.
27238         Reported by Ian Beckwith <ianb@erislabs.net>.
27239
27240 2009-10-02  Eric Blake  <ebb9@byu.net>
27241
27242         renameat: fix Solaris bugs
27243         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
27244         needed fixing.
27245         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
27246         * modules/stdio (Makefile.am): Substitute it.
27247         * lib/stdio.in.h (renameat): Declare replacement.
27248         * lib/renameat.c (rpl_renameat): Implement fix.
27249
27250         renameat: new module
27251         * modules/renameat: New file.
27252         * lib/renameat.c (renameat): Likewise.
27253         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
27254         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
27255         * modules/stdio (Makefile.am): Substitute them.
27256         * lib/stdio.in.h (renameat): Declare it.
27257         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
27258         * doc/posix-functions/renameat.texi (renameat): Likewise.
27259         * modules/renameat-tests: New test.
27260         * tests/test-renameat.c: Likewise.
27261
27262         rename: fix mingw bugs
27263         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
27264         directory overwrite bugs.
27265
27266         rename: fix another cygwin 1.5 bug
27267         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
27268         checks.
27269         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
27270         unnecessary cygwin workarounds.  Also work around bug with moving
27271         full directory onto an empty one.
27272         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
27273
27274         rename-dest-slash: merge into rename module
27275         * modules/rename-dest-slash (Status): Mark obsolete.
27276         (Depends-on): Add rename.
27277         (Files): Let rename do it all.
27278         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
27279         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
27280         * m4/rename-dest-slash.m4: ...so this file can be deleted.
27281         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
27282         * lib/rename.c (rpl_rename): Update comments.
27283
27284         rename: fix cygwin 1.5.x bugs
27285         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
27286         * lib/rename.c (rpl_rename): Work around them.
27287         * modules/rename (Depends-on): Add same-inode.
27288
27289         rename: fix Solaris 10 bug
27290         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
27291         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
27292         was the only bug.
27293
27294         rename: fix Solaris 9 bug
27295         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
27296         on non-directory.  Avoid calling exit.
27297         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
27298         strdup.
27299         * modules/rename-tests (Depends-on): Drop lstat.
27300         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
27301         (gl_PREREQ_RENAME): Delete unused macro.
27302
27303         rename-dest-slash: fix NetBSD bug
27304         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
27305         links.
27306         * modules/rename-dest-slash (Depends-on): Add same-inode.
27307
27308         rename-tests: new test, exposes several platform bugs
27309         * modules/rename-tests: New file.
27310         * tests/test-rename.h: Likewise.
27311         * tests/test-rename.c: Likewise.
27312         * doc/posix-functions/rename.texi (rename): Improve documentation,
27313         including bugs that will eventually be fixed in gnulib.
27314
27315 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
27316
27317         * lib/uname.c: Include <stdlib.h>
27318         (uname): Assume version info is available.
27319
27320 2009-10-02  Jim Meyering  <meyering@redhat.com>
27321
27322         gnu-web-doc-update: correct --help output
27323         * build-aux/gnu-web-doc-update: Make --help output relevant.
27324
27325         gnu-web-doc-update: add standard options
27326         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
27327
27328         gnu-web-doc-update: New module.
27329         Use this script to automatically update the on-line web documentation
27330         for your GNU project at http://www.gnu.org/software/$pkg/manual/
27331         * modules/gnu-web-doc-update: New file, from coreutils.
27332         * build-aux/gnu-web-doc-update: New script.
27333
27334 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
27335
27336         link: LoadLibrary is not needed.
27337         * lib/link.c: Use GetModuleHandle.
27338
27339 2009-10-01  Eric Blake  <ebb9@byu.net>
27340
27341         getopt: bump serial number
27342         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
27343         change.
27344
27345         tests: tighten link, rmdir, and remove tests
27346         * tests/test-link.h (includes): No need to use <config.h> here.
27347         Clean up if directory hard link was created, otherwise test for
27348         trailing '.'.
27349         * tests/test-linkat.c (main): Simplify.
27350         * tests/test-remove.c (main): Enhance test for trailing '.'.
27351         * tests/test-rmdir.h (test_rmdir_func): Likewise.
27352
27353 2009-10-01  Jim Meyering  <meyering@redhat.com>
27354
27355         maint.mk: requiring "make major" was annoying, for a "minor" release.
27356         What is intended is "stable", to contrast with alpha and beta,
27357         so require "make stable", not "make major".
27358         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
27359         (get_tool_versions): Likewise.
27360         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
27361
27362 2009-09-30  Ben Pfaff  <blp@gnu.org>
27363
27364         Fix broken build of replacement for Windows tmpfile().
27365         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
27366         flags argument added along with the 'mkostemp' module.
27367
27368 2009-09-28  Bruno Haible  <bruno@clisp.org>
27369
27370         Avoid identifier clash with POSIX function 'remove' defined as a macro.
27371         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
27372         to 'remove_elt'.
27373         (gl_list_remove): Update.
27374         * lib/gl_list.c (gl_list_remove): Update.
27375         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
27376         to 'remove_elt'.
27377         (gl_oset_remove): Update.
27378         * lib/gl_list.c (gl_oset_remove): Update.
27379         Reported by Eric Blake.
27380
27381 2009-09-28  Eric Blake  <ebb9@byu.net>
27382
27383         doc: mention yet more cygwin 1.7 status
27384         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
27385         cygwin.
27386         * doc/glibc-functions/execvpe.texi (execvpe): New file.
27387         * doc/gnulib.texi (Glibc unistd.h): Mention it.
27388
27389         argp: fix test failure
27390         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
27391         that are not upper-case.  Pass correct range to tolower.
27392
27393 2009-09-27  Jim Meyering  <meyering@redhat.com>
27394
27395         test-yesno: work around sparc-dash here-document infelicity
27396         Without this change, the literal \177 byte in a here document
27397         would make dash 0.5.5.1-3 access uninitialized memory.
27398         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
27399         Instead, use a marker, "@", and filter through tr to create the desired
27400         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
27401
27402 2009-09-27  Bruno Haible  <bruno@clisp.org>
27403
27404         Disable untested support for new flavours of ACLs on AIX.
27405         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
27406         progress.
27407         * lib/set-mode-acl.c (qset_acl): Likewise.
27408
27409 2008-12-07  Bruno Haible  <bruno@clisp.org>
27410
27411         Add support for new flavours of ACLs on AIX. (Untested.)
27412         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
27413         (file_has_acl): Add support for newer AIX.
27414         * lib/set-mode-acl.c (qset_acl): Likewise.
27415         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
27416         Rainer Tammer <tammer@tammer.net>.
27417
27418 2009-09-26  Eric Blake  <ebb9@byu.net>
27419
27420         argp: fix compilation of getopt
27421         * lib/getopt.in.h (includes): Use different guard than glibc.
27422         Reported by Sergey Poznyakoff.
27423
27424         doc: mention more cygwin 1.7 status
27425         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
27426         bug.
27427         * doc/posix-functions/execl.texi (execl): Likewise.
27428         * doc/posix-functions/execle.texi (execle): Likewise.
27429         * doc/posix-functions/execlp.texi (execlp): Likewise.
27430         * doc/posix-functions/execv.texi (execv): Likewise.
27431         * doc/posix-functions/execve.texi (execve): Likewise.
27432         * doc/posix-functions/execvp.texi (execvp): Likewise.
27433         * doc/glibc-functions/canonicalize_file_name.texi
27434         (canonicalize_file_name): Cygwin 1.7 now provides this.
27435         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
27436         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
27437         on AT_SYMLINK_NOFOLLOW.
27438
27439 2009-09-24  Eric Blake  <ebb9@byu.net>
27440
27441         test-linkat: make test more robust
27442         * tests/test-linkat.c (main): Avoid collision with EEXIST.
27443
27444         getopt: fix inclusion guards for cygwin
27445         * modules/getopt-posix (Depends-on): Add include-next.
27446         (Makefile.am): Substitute more items in replacement header.
27447         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
27448         <getopt.h>.
27449         * lib/getopt.in.h (includes): Use split inclusion guard, and
27450         prefer <getopt.h> over include <unistd.h> when one is present.
27451         (option): Also override name of 'struct option'.
27452
27453         same-inode: revert prior change; it is not yet ready
27454         * NEWS: Undo mention of this change.
27455         * lib/same-inode.h (same-inode.h): Undo tri-state change.
27456         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
27457         * lib/cycle-check.c (cycle_check): Likewise.
27458         * lib/same.c (same_name): Likewise.
27459         * lib/at-func2.c (at_func2): Likewise.
27460
27461 2009-09-23  Eric Blake  <ebb9@byu.net>
27462
27463         linkat: new module
27464         * modules/linkat: New file.
27465         * lib/at-func2.c (at_func2): Likewise.
27466         * lib/linkat.c (linkat): Likewise.
27467         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
27468         * lib/openat-priv.h (at_func2): Add declaration.
27469         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
27470         * modules/unistd (Makefile.am): Substitute them.
27471         * lib/unistd.in.h (linkat): Declare it.
27472         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
27473         * doc/posix-functions/linkat.texi (linkat): Likewise.
27474         * doc/posix-functions/link.texi (link): Tweak wording.
27475         * tests/test-link.c (main): Move guts...
27476         * tests/test-link.h (test_link): ...into new file.
27477         * modules/linkat-tests: New test.
27478         * tests/test-linkat.c: Likewise.
27479         * modules/link-tests (Files): Ship new file.
27480         (Depends-on): Add stdbool.
27481
27482         dirname: add library-safe mdir_name
27483         * lib/dirname.h (mdir_name): New prototype.
27484         * lib/dirname.c (dir_name): Move guts...
27485         (mdir_name): ...to new function that avoids xalloc_die.
27486
27487         fchdir: another mingw fix
27488         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
27489         * lib/fchdir.c (get_name): New helper method; skips canonicalize
27490         on mingw (where it has not yet been ported), and make it optional
27491         elsewhere.
27492         (_gl_register_fd): Use it.
27493
27494         same-inode: make SAME_INODE tri-state, to port to mingw
27495         * NEWS: Mention this change.
27496         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
27497         st_ino always being 0.
27498         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
27499         * lib/cycle-check.c (cycle_check): Likewise.
27500         * lib/same.c (same_name): Likewise.
27501
27502         lstat: avoid mingw compilation error
27503         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
27504         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
27505         lstat ourselves.
27506         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
27507         was adequate.
27508         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
27509         the checks for lstat.
27510         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
27511
27512         link: fix test failure on Solaris 9
27513         * lib/link.c (rpl_link): Don't assume link will catch bogus
27514         trailing slash on source.
27515
27516         test-symlinkat: enhance test
27517         * tests/test-readlink.c (main): Move guts...
27518         * tests/test-readlink.h (test_readlink): ...into new file.
27519         * tests/test-symlink.c (main): Move guts...
27520         * tests/test-symlink.h (test_symlink): ...into new file.
27521         * tests/test-symlinkat.c (main): Use new files for further
27522         coverage.
27523         (do_symlink, do_readlink): New helper functions.
27524         * modules/symlink-tests (Files): Ship new file.
27525         (Depends-on): Add stdbool.
27526         * modules/readlink-tests (Files): Ship new file.
27527         (Depends-on): Add stdbool.
27528         * modules/symlinkat-tests (Files): Use new files.
27529
27530 2009-09-23  Eric Blake  <ebb9@byu.net>
27531
27532         readlink: document portability issue with symlink length
27533         * doc/posix-functions/lstat.texi (lstat): Mention that some file
27534         systems have bogus st_size on symlinks, and mention the
27535         areadlink-with-size module.
27536         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
27537         * doc/posix-functions/readlink.texi (readlink): Mention the
27538         areadlink module, and ERANGE failure.
27539         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
27540         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
27541
27542         readlink: fix Solaris 9 bug with trailing slash
27543         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
27544         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
27545         * doc/posix-functions/readlink.texi (readlink): Document this.
27546         * modules/readlink-tests: New test.
27547         * tests/test-readlink.c: Likewise.
27548
27549         readlink: fix cygwin 1.5.x bug with return type
27550         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
27551         * lib/unistd.in.h (readlink): Use ssize_t.
27552         * lib/readlink.c (readlink): Likewise.
27553         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
27554         * modules/unistd (Makefile.am): Substitute it.
27555         * lib/unistd.in.h (readlink): Declare replacement.
27556         * doc/posix-functions/readlink.texi (readlink): Document this.
27557
27558         symlink: use throughout gnulib
27559         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
27560         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
27561         symlink is not used.
27562         * modules/symlinkat (Depends-on): Add symlink.
27563         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
27564         * modules/canonicalize-tests (Depends-on): Likewise.
27565         * modules/lstat-tests (Depends-on): Likewise.
27566         * modules/openat-tests (Depends-on): Likewise.
27567         * modules/remove-tests (Depends-on): Likewise.
27568         * modules/rmdir-tests (Depends-on): Likewise.
27569         * modules/unlink-tests (Depends-on): Likewise.
27570         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
27571         * tests/test-canonicalize.c (symlink): Likewise.
27572         * tests/test-fstatat.c (symlink): Likewise.
27573         * tests/test-lstat.c (symlink): Likewise.
27574         * tests/test-remove.c (symlink): Likewise.
27575         * tests/test-rmdir.c (symlink): Likewise.
27576         * tests/test-unlink.c (symlink): Likewise.
27577         * tests/test-unlinkat.c (symlink): Likewise.
27578
27579         symlink: new module, for Solaris 9 bug
27580         * modules/symlink: New file.
27581         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
27582         * lib/symlink.c: Likewise.
27583         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
27584         * modules/unistd (Makefile.am): Substitute them.
27585         * lib/unistd.in.h (symlink): Declare replacement.
27586         * MODULES.html.sh (File system functions): Mention it.
27587         * doc/posix-functions/symlink.texi (symlink): Likewise.
27588         * modules/symlink-tests: New test.
27589         * tests/test-symlink.c: Likewise.
27590
27591 2009-09-23  Bruno Haible  <bruno@clisp.org>
27592
27593         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
27594         when needed.
27595         Test case: gnulib-tool --import --with-tests atexit inttypes.
27596         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
27597
27598 2009-09-23  Bruno Haible  <bruno@clisp.org>
27599
27600         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
27601         subcommand, not in a subshell.
27602
27603 2009-09-22  Eric Blake  <ebb9@byu.net>
27604
27605         unistd: sort replacement declarations
27606         * lib/unistd.in.h: Sort declarations.
27607
27608         open, openat: minor optimization
27609         * lib/open.c (open): If open succeeded, len is non-zero.
27610         * lib/openat.c (rpl_openat): Likewise.
27611
27612         link-follow: ensure correct result
27613         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
27614         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
27615         distinguish between possible failures.
27616
27617 2009-09-21  Eric Blake  <ebb9@byu.net>
27618
27619         fts: avoid compiler warning
27620         * lib/fts.c (dirent_inode_sort_may_be_useful)
27621         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
27622
27623 2009-09-19  Bruno Haible  <bruno@clisp.org>
27624
27625         * lib/progreloc.c (canonicalize_file_name): New declaration.
27626
27627 2009-09-19  Eric Blake  <ebb9@byu.net>
27628
27629         link: fix quoting
27630         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
27631
27632         openat: fix openat bugs on Solaris 9
27633         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
27634         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
27635         * modules/openat (Depends-on): Add open.
27636         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
27637         * modules/fcntl-h (Makefile.am): Substitute it.
27638         * lib/fcntl.in.h (openat): Declare replacement.
27639         * doc/posix-functions/openat.texi (openat): Document this.
27640
27641         openat: move fstatat and unlinkat into correct files
27642         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
27643         compiled.
27644         * lib/openat.c (fstatat, unlinkat): Move...
27645         * lib/fstatat.c (fstatat): ...into correct files.
27646         * lib/unlinkat.c (unlinkat): Likewise.
27647
27648         openat: fix unlinkat bugs on Solaris 9
27649         * lib/unlinkat.c (unlinkat): New file.
27650         * modules/openat (Depends-on): Add unlink.
27651         (Files): Distribute it.
27652         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
27653         trailing slash behavior is broken.
27654         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
27655         * modules/unistd (Makefile.am): Substitute it.
27656         * lib/unistd.in.h (unlinkat): Declare replacement.
27657         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
27658
27659         openat: fix fstatat bugs on Solaris 9
27660         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
27661         stat.
27662         * doc/posix-functions/fstatat.texi (fstatat): Document this.
27663
27664         test-unlinkat: enhance test, to expose Solaris 9 bug
27665         * tests/test-unlink.c (main): Factor guts...
27666         * tests/test-unlink.h (test_rmdir_func): ...into new file.
27667         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
27668         * tests/test-rmdir.c (main): Adjust caller.
27669         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
27670         (unlinker): New helper function.
27671         (rmdirat): Enhance check.
27672         * modules/rmdir-tests (Depends-on): Add stdbool.
27673         * modules/unlink-tests (Depends-on): Likewise.
27674         (Files): Add test-unlink.h.
27675         * modules/openat-tests (Files): Likewise.
27676         (Depends-on): Add unlinkdir.
27677
27678         test-fstatat: new test, to expose Solaris 9 bugs
27679         * tests/test-stat.c (main): Factor guts...
27680         * tests/test-stat.h (test_stat_func): ...into new file.
27681         * tests/test-lstat.c (main): Factor guts...
27682         * tests/test-lstat.h (test_lstat_func): ...into new file.
27683         * tests/test-fstatat.c: New file.
27684         * modules/stat-tests (Files): Add test-stat.h.
27685         * modules/lstat-tests (Files): Add test-lstat.h.
27686         (Depends-on): Add stdbool.
27687         * modules/openat-tests (Depends-on): Add pathmax.
27688         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
27689         (Makefile.am): Run new test.
27690
27691         remove: new module, for mingw and Solaris 9 bugs
27692         * modules/remove: New file.
27693         * lib/remove.c: Likewise.
27694         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
27695         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
27696         * modules/stdio (Makefile.am): Use them.
27697         * lib/stdio.in.h (remove): Declare replacement.
27698         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
27699         * doc/posix-functions/remove.texi (remove): Likewise.
27700         * modules/remove-tests: New test.
27701         * tests/test-remove.c: Likewise.
27702
27703         unlink: new module, for Solaris 9 bug
27704         * modules/unlink: New file.
27705         * lib/unlink.c: Likewise.
27706         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
27707         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
27708         * modules/unistd (Makefile.am): Use them.
27709         * lib/unistd.in.h (stat): Declare replacement.
27710         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
27711         * doc/posix-functions/unlink.texi (unlink): Likewise.
27712         * modules/unlink-tests: New test.
27713         * tests/test-unlink.c: Likewise.
27714
27715         lstat: fix Solaris 9 bug
27716         * lib/lstat.c (lstat): Also check for trailing slash on
27717         non-symlink, non-directories.  Use stat module to simplify logic.
27718         * doc/posix-functions/lstat.texi (lstat): Document it.
27719         * modules/lstat-tests (Depends-on): Add errno, same-inode.
27720         (configure.ac): Check for symlink.
27721         * tests/test-lstat.c (main): Add more tests.
27722
27723         stat: add as dependency to other modules
27724         * modules/chown (Depends-on): Add stat.
27725         * modules/euidaccess (Depends-on): Likewise.
27726         * modules/fchdir (Depends-on): Likewise.
27727         * modules/isdir (Depends-on): Likewise.
27728         * modules/link (Depends-on): Likewise.
27729         * modules/lstat (Depends-on): Likewise.
27730         * modules/mkdir-p (Depends-on): Likewise.
27731         * modules/modechange (Depends-on): Likewise.
27732         * modules/open (Depends-on): Likewise.
27733         * modules/readlink (Depends-on): Likewise.
27734         * modules/same (Depends-on): Likewise.
27735
27736         stat: fix Solaris 9 bug
27737         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
27738         slash.
27739         * lib/stat.c (rpl_stat): Work around it.
27740         * doc/posix-functions/stat.texi (stat): Update documentation.
27741
27742         stat: new module, for mingw bug
27743         * modules/stat: New file.
27744         * lib/stat.c: Likewise.
27745         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
27746         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
27747         * modules/sys_stat (Makefile.am): Use them.
27748         * lib/sys_stat.in.h (stat): Declare replacement.
27749         * lib/openat.c (fstatat): Deal with lstat and stat being function
27750         macros.
27751         * modules/openat (Depends-on): Add inline.
27752         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
27753         * doc/posix-functions/stat.texi (stat): Likewise.
27754         * modules/stat-tests: New test.
27755         * tests/test-stat.c: Likewise.
27756
27757 2009-09-19  Jim Meyering  <meyering@redhat.com>
27758
27759         syntax-check: detect unnecessary inclusion of canonicalize.h
27760         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
27761
27762 2009-09-19  Eric Blake  <ebb9@byu.net>
27763
27764         canonicalize-lgpl: adjust clients to use correct header
27765         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
27766         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
27767         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
27768         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
27769         * lib/progreloc.c (includes): Likewise.
27770
27771 2009-09-19  Jim Meyering  <meyering@redhat.com>
27772
27773         test-posixtm.c: correct a comment
27774         * tests/test-posixtm.c: Correct first-line comment.
27775         Spotted by Eric Blake.
27776
27777 2009-09-16  Jim Meyering  <meyering@redhat.com>
27778
27779         posixtm-tests: make T const-correct; add a test case
27780         * tests/test-posixtm.c (T): Declare const.
27781         Add a test for -(2^31+1).
27782         Remove useless can-succeed-only-in-2002 test.
27783
27784         posixtm-tests: adjust the sole failing test
27785         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
27786         expected output matches what mktime now produces.  Cross-checked via
27787         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
27788
27789         posixtm: move #ifdef'd tests into a new module
27790         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
27791         * tests/test-posixtm.c: ... this new file.
27792         * modules/posixtm-tests: New module.
27793
27794 2009-09-19  Eric Blake  <ebb9@byu.net>
27795
27796         openat: simplify use of at-func.c
27797         * lib/at-func.c (includes): Include prerequisites here, to
27798         simplify requirements on client files.
27799         * lib/openat-priv.h: Add double-inclusion guard.
27800         * lib/faccessat.c (includes): Simplify.
27801         * lib/fchmodat.c (includes): Likewise.
27802         * lib/fchownat.c (includes): Likewise.
27803         * lib/mkdirat.c (includes): Likewise.
27804         * lib/mkfifoat.c (includes): Likewise.
27805         * lib/symlinkat.c (includes): Likewise.
27806
27807         openat: allow return of fd 0
27808         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
27809         * modules/save-cwd (Depends-on): Replace fcntl-safer with
27810         unistd-safer.
27811         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
27812         <fcntl.h>; this module does not leak fds.
27813         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
27814         must be allowed to return 0, leaving openat_safer to add the
27815         safety.
27816         (openat_permissive): Avoid writing to just-opened fd 2 if
27817         restoring the current directory fails.
27818         * lib/openat-die.c (openat_restore_fail): Add comment.
27819         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
27820         (save_cwd): Guarantee safe fd, but without use of open_safer.
27821         * tests/test-openat.c: New test.
27822         * modules/openat-tests (Files, Makefile.am): Distribute and build
27823         new file.
27824
27825         relocatable-prog-wrapper: fix build
27826         * modules/relocatable-prog-wrapper (Files): Update name of
27827         canonicalize m4 file, broken on 2009-09-17.
27828         Reported by emad hajjar <aleppos@hotmail.com>.
27829
27830 2009-09-19  Bruno Haible  <bruno@clisp.org>
27831
27832         * lib/safe-alloc.h: Use the standard header with GPL copyright.
27833         * lib/safe-alloc.c: Likewise.
27834         Reported by Ian Beckwith <ianb@erislabs.net>.
27835
27836 2009-09-18  Bruno Haible  <bruno@clisp.org>
27837
27838         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
27839         Reported by <erobles@sensacd.com.mx>.
27840
27841 2009-09-17  Eric Blake  <ebb9@byu.net>
27842
27843         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
27844         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
27845         slashes when checking if last component is missing.
27846         * tests/test-canonicalize.c (main): Test this.
27847
27848         canonicalize, canonicalize-lgpl: honor // if distinct from /
27849         * modules/canonicalize (Files): Add double-slash-root.m4.
27850         * modules/canonicalize-lgpl (Files): Likewise.
27851         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
27852         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
27853         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
27854         fallback definition.
27855         (canonicalize_filename_mode): Use it to protect //.
27856         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
27857         (__realpath): Likewise.
27858         * tests/test-canonicalize.c (main): Test this.
27859         * tests/test-canonicalize-lgpl.c (main): Likewise.
27860         * modules/canonicalize-tests (Depends-on): Add same-inode.
27861         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
27862
27863         canonicalize-lgpl: fix glibc bug with trailing slash
27864         * m4/canonicalize-lgpl.m4: Move contents...
27865         * m4/canonicalize.m4: ...here.
27866         (gl_CANONICALIZE_LGPL): Factor realpath check...
27867         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
27868         glibc 2.3.5 bug, fixed 2005-04-27.
27869         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
27870         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
27871         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
27872         * modules/canonicalize-lgpl (Files): Manage file rename.
27873         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
27874         * modules/stdlib (Makefile.am): Substitute witness.
27875         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
27876         is needed.
27877         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
27878         replacement is required.
27879         * lib/canonicalize.c (canonicalize_file_name): Likewise.
27880         * doc/glibc-functions/canonicalize_file_name.texi
27881         (canonicalize_file_name): Document this.
27882         * doc/posix-functions/realpath.texi (realpath): Likewise.
27883
27884         canonicalize-lgpl: reject non-directory with trailing slash
27885         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
27886         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
27887         catches failures in glibc 2.3.5.
27888         * tests/test-canonicalize.c (main): Likewise.
27889
27890         canonicalize-lgpl: use native realpath if it works
27891         * lib/canonicalize-lgpl.c (realpath): Guard with
27892         FUNC_REALPATH_WORKS.
27893         * lib/stdlib.in.h (realpath): Make declaration optional based on
27894         HAVE_REALPATH.
27895         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
27896         native realpath works.
27897         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
27898         * modules/stdlib (Makefile.am): Substitute witness.
27899
27900         canonicalize, canonicalize-lgpl: use <stdlib.h>
27901         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
27902         (Include): Mention <stdlib.h>.
27903         (configure.ac): Mention functions we provide.
27904         * modules/canonicalize (configure.ac): Likewise.
27905         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
27906         realpath if canonicalize_file_name is missing.
27907         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
27908         * modules/stdlib (Makefile.am): Substitute witnesses.
27909         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
27910         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
27911         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
27912         * NEWS: Document this.
27913         * doc/glibc-functions/canonicalize_file_name.texi
27914         (canonicalize_file_name): Likewise.
27915         * doc/posix-functions/realpath.texi (realpath): Likewise.
27916         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
27917
27918         test-canonicalize: consolidate into single C program
27919         * tests/test-canonicalize.sh: Delete; move setup into...
27920         * tests/test-canonicalize.c (main): ...the program, making it
27921         easier to run in debugger.  Add some tests.
27922         * modules/canonicalize-tests (Files): Remove unused file.
27923         (Depends-on): Add progname.
27924         (configure.ac, Makefile.am): Simplify.
27925
27926         test-canonicalize-lgpl: consolidate into single C program
27927         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
27928         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
27929         easier to run in debugger.  Add some tests.
27930         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
27931         (configure.ac, Makefile.am): Simplify.
27932
27933         canonicalize: avoid resolvepath
27934         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
27935         unnecessary checks.
27936         * lib/canonicalize.c (includes): Simplify.
27937         (canonicalize_file_name): Drop resolvepath implementation.
27938         * modules/canonicalize (Depends-on): Drop filenamecat.
27939
27940         canonicalize: don't lose errno
27941         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
27942         over calls to free.
27943
27944         canonicalize: simplify errno handling
27945         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
27946         assignment.
27947
27948         canonicalize, canonicalize-lgpl: update module dependencies
27949         * modules/canonicalize (Depends-on): Add extensions, lstat,
27950         pathmax, stdlib.
27951         (Files): Drop pathmax.h.
27952         (configure.ac): Adjust macro name.
27953         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
27954         lstat, stdlib, sys_stat.
27955         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
27956         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
27957         extensions.
27958         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
27959         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
27960         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
27961         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
27962         declaration, if available.
27963         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
27964         we can rely on the readlink module.
27965         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
27966         (includes): Use <unistd.h> unconditionally.
27967
27968 2009-09-17  Eric Blake  <ebb9@byu.net>
27969
27970         maint: make Include sections of modules consistent
27971         * modules/alloca: Use only header name; no need to list #include.
27972         * modules/alloca-opt: Likewise.
27973         * modules/arpa_inet: Likewise.
27974         * modules/canon-host: Likewise.
27975         * modules/configmake: Likewise.
27976         * modules/dirent: Likewise.
27977         * modules/eealloc: Likewise.
27978         * modules/environ: Likewise.
27979         * modules/fchdir: Likewise.
27980         * modules/fcntl: Likewise.
27981         * modules/fcntl-h: Likewise.
27982         * modules/gethrxtime: Likewise.
27983         * modules/gettime: Likewise.
27984         * modules/ignore-value: Likewise.
27985         * modules/inet_ntop: Likewise.
27986         * modules/inet_pton: Likewise.
27987         * modules/inttypes: Likewise.
27988         * modules/isnand-nolibm: Likewise.
27989         * modules/isnanf-nolibm: Likewise.
27990         * modules/mbchar: Likewise.
27991         * modules/mbfile: Likewise.
27992         * modules/mbiter: Likewise.
27993         * modules/mbuiter: Likewise.
27994         * modules/netdb: Likewise.
27995         * modules/netinet_in: Likewise.
27996         * modules/nproc: Likewise.
27997         * modules/pagealign_alloc: Likewise.
27998         * modules/poll: Likewise.
27999         * modules/printf-frexp: Likewise.
28000         * modules/pthread: Likewise.
28001         * modules/putenv: Likewise.
28002         * modules/random_r: Likewise.
28003         * modules/relocatable-prog: Likewise.
28004         * modules/search: Likewise.
28005         * modules/select: Likewise.
28006         * modules/selinux-h: Likewise.
28007         * modules/settime: Likewise.
28008         * modules/signal: Likewise.
28009         * modules/size_max: Likewise.
28010         * modules/socklen: Likewise.
28011         * modules/ssize_t: Likewise.
28012         * modules/stdarg: Likewise.
28013         * modules/stdbool: Likewise.
28014         * modules/stddef: Likewise.
28015         * modules/stdint: Likewise.
28016         * modules/stdio: Likewise.
28017         * modules/stdlib: Likewise.
28018         * modules/string: Likewise.
28019         * modules/strings: Likewise.
28020         * modules/sys_file: Likewise.
28021         * modules/sys_ioctl: Likewise.
28022         * modules/sys_select: Likewise.
28023         * modules/sys_socket: Likewise.
28024         * modules/sys_stat: Likewise.
28025         * modules/sys_time: Likewise.
28026         * modules/sys_times: Likewise.
28027         * modules/sys_utsname: Likewise.
28028         * modules/sys_wait: Likewise.
28029         * modules/sysexits: Likewise.
28030         * modules/time: Likewise.
28031         * modules/times: Likewise.
28032         * modules/tmpfile: Likewise.
28033         * modules/trim: Likewise.
28034         * modules/unistd: Likewise.
28035         * modules/wchar: Likewise.
28036         * modules/wctype: Likewise.
28037
28038 2009-09-17  Bruno Haible  <bruno@clisp.org>
28039
28040         Make getdate.y compile on QNX and NetBSD 5 / i386.
28041         * m4/getdate.m4 (gl_GETDATE): Conditionally define
28042         TIME_T_FITS_IN_LONG_INT.
28043         * lib/getdate.y (long_time_t): New type.
28044         (relative_time): Change type of 'seconds' field to long_time_t.
28045         (get_date): Update types of local variables. Check against overflow
28046         during conversion from long_time_t to time_t.
28047         Reported by Matt Kraai <kraai@ftbfs.org>
28048         and Hasso Tepper <hasso@netbsd.org>.
28049
28050 2009-09-17  Bruno Haible  <bruno@clisp.org>
28051
28052         * modules/COPYING: Update copyright years.
28053         * modules/README: Likeiwse.
28054         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
28055         Reported by Ian Beckwith <ianb@erislabs.net>.
28056
28057 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
28058
28059         * users.txt: Update references for gnuit package.
28060
28061 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
28062
28063         * m4/getdelim.m4: Fix typo in copyright line.
28064
28065 2009-09-17  Bruno Haible  <bruno@clisp.org>
28066
28067         * lib/atoll.c: Use the standard header with GPL copyright.
28068         * lib/argz.in.h: Likewise.
28069         * lib/glob.c: Likewise.
28070         * lib/glob-libc.h: Likewise.
28071         * lib/random_r.c: Likewise.
28072         * lib/siglist.h: Likewise.
28073         * lib/strsignal.c: Likewise.
28074         Reported by Ian Beckwith <ianb@erislabs.net>.
28075
28076 2009-09-17  Eric Blake  <ebb9@byu.net>
28077
28078         rmdir: ensure correct dependency order
28079         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
28080
28081 2009-09-17  Bruno Haible  <bruno@clisp.org>
28082
28083         Disable assertion that fails on NetBSD 5 / i386.
28084         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
28085         Reported by Sam Steingold <sds@gnu.org>
28086         and Hasso Tepper <hasso@netbsd.org>.
28087
28088 2009-09-16  Eric Blake  <ebb9@byu.net>
28089
28090         unlinkdir: port to mingw
28091         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
28092         on which no one can unlink a directory.
28093
28094         stdlib: sort witness names
28095         * modules/stdlib (Makefile.am): Sort replacements.
28096         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
28097         * lib/stdlib.in.h: Likewise.
28098
28099         parse-duration-tests: avoid link failure
28100         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
28101         LIBINTL.
28102         Reported by Tom G. Christensen.
28103
28104         openat-tests: ensure unlinkat behaves like rmdir
28105         * tests/test-rmdir.c (main): Factor guts...
28106         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
28107         * modules/rmdir-tests (Files): Ship new file.
28108         * modules/openat-tests: New test.
28109         * tests/test-unlinkat.c: Likewise.
28110
28111         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
28112         * modules/rmdir-errno (Status, Notice): Now obsolete.
28113
28114         rmdir: work around cygwin 1.5.x and mingw bugs
28115         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
28116         * lib/rmdir.c (rmdir): Work around it.
28117         * modules/rmdir (Status, Notice): No longer obsolete.
28118         (Files): Add dos.m4.
28119         (Depends-on): Add unistd.
28120         (configure.ac): Set witnesses.
28121         (License): Relax to LGPLv2+.
28122         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
28123         * modules/unistd (Makefile.am): Substitute witnesses.
28124         * lib/unistd.in.h (rmdir): Declare replacement.
28125         * doc/posix-functions/rmdir.texi (rmdir): Document this.
28126         * modules/rmdir-tests: New tests.
28127         * tests/test-rmdir.c: Likewise.
28128
28129 2009-09-15  Eric Blake  <ebb9@byu.net>
28130
28131         fchdir: improve use of replacement functions
28132         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
28133         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
28134         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
28135         REPLACE_CLOSEDIR.
28136         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
28137         * modules/sys_stat (Makefile.am): Substitute correct witness.
28138         * modules/dirent (Makefile.am): Likewise.
28139         * modules/unistd (Makefile.am): Likewise.
28140         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
28141         * lib/unistd.in.h (dup): Likewise.
28142         * lib/sys_stat.in.h (fstat): Likewise.
28143
28144         maint: ignore gnulib-tool temp files
28145         * .gitignore: Ignore files created during gnulib-tool --test.
28146
28147 2009-09-13  Jim Meyering  <meyering@redhat.com>
28148
28149         posixtm: don't reject a time that specify "60" as the number of seconds
28150         * lib/posixtm.c (posixtime): The code to reject invalid dates
28151         would also reject a time specified with the .60 suffix.
28152         But POSIX allows that, in order to accommodate leap seconds.
28153         So don't reject it.
28154         (main): Adjust tests accordingly.
28155         * modules/posixtm (Depends-on): Add stpcpy.
28156
28157 2009-09-11  Jim Meyering  <meyering@redhat.com>
28158
28159         announce-gen: include [$release_type] in emitted Subject:
28160         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
28161         e.g., [stable] in the emitted Subject: line.
28162
28163 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28164
28165         Remove obsolete macros from several modules.
28166         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
28167         obsolete Autoconf macros with their modern counterparts.
28168         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
28169         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
28170         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
28171         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
28172         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
28173         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
28174         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
28175         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
28176         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
28177         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
28178         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
28179         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
28180         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
28181         * m4/sockets.m4 (gl_SOCKETS): Likewise.
28182         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
28183         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
28184         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
28185         * m4/time_r.m4 (gl_TIME_R): Likewise.
28186         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
28187         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
28188         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
28189
28190         Fix copyright header in build-aux scripts.
28191         * build-aux/git-version-gen: Fix copyright header to match GPLv3
28192         recommendation.
28193         * build-aux/ncftpput-ftp: Likewise.
28194         * build-aux/update-copyright: Likewise.
28195
28196 2009-09-09  Eric Blake  <ebb9@byu.net>
28197
28198         test-link: allow Linux choice of errno
28199         * tests/test-link.c (main): Relax test for alternate error.
28200
28201         strndup: fix improper m4 caching
28202         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
28203         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
28204         (gl_PREREQ_STRNDUP): Delete.
28205         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
28206         * modules/string (Makefile.am): Substitute it.
28207         * lib/string.in.h (strndup): Modernize prototype.
28208
28209         getcwd: port to mingw
28210         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
28211         different from the POSIX assumptions made throughout the getcwd
28212         module; fortunately, the mingw getcwd does not need replacement.
28213         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
28214         * modules/getcwd-tests: New test.
28215         * tests/test-getcwd.c: Likewise.
28216
28217         link: fix platform bugs
28218         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
28219         * lib/link.c (link): Work around them.  Fix related mingw bug.
28220         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
28221         * modules/unistd (Makefile.am): Substitute it.
28222         * lib/unistd.in.h (link): Declare replacement.
28223         * doc/posix-functions/link.texi (link): Document this.
28224         * modules/link (Depends-on): Add strdup-posix, sys_stat.
28225
28226         test-link: consolidate into single C program, test more cases
28227         * tests/test-link.sh: Delete.
28228         * tests/test-link.c: Test more error conditions.  Exposes bugs on
28229         at least Cygwin and Solaris.
28230         * modules/link-tests (Files): Remove unused file.
28231         (Depends-on): Add errno, sys_stat.
28232         (Makefile.am): Simplify.
28233
28234 2009-09-08  Bruno Haible  <bruno@clisp.org>
28235
28236         Work around towlower, towupper bug on mingw.
28237         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
28238         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
28239         * doc/posix-functions/towlower.texi: Mention the mingw bug.
28240         * doc/posix-functions/towupper.texi: Likewise.
28241         Reported by Eric Blake.
28242
28243 2009-09-08  Jim Meyering  <meyering@redhat.com>
28244
28245         build: don't try to run autoheader if we don't use it
28246         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
28247         is not used in configure.ac.
28248
28249 2009-09-08  Eric Blake  <ebb9@byu.net>
28250
28251         euidaccess: fix compilation error
28252         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
28253
28254         rawmemchr: relax license
28255         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
28256         okay.
28257         Reported by Jim Meyering.
28258
28259         mkfifoat: new module
28260         * modules/mkfifoat: New file.
28261         * lib/mkfifoat.c: Likewise.
28262         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
28263         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
28264         * modules/sys_stat (Makefile.am): Use them.
28265         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
28266         * MODULES.html.sh (File system functions): Mention module.
28267         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
28268         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
28269         * modules/mkfifoat-tests: New test.
28270         * tests/test-mkfifoat.c: Likewise.
28271
28272         strchrnul: relax license
28273         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
28274         okay.
28275         Reported by Jim Meyering.
28276
28277 2009-09-08  Eric Blake  <ebb9@byu.net>
28278
28279         fstatat: fix compilation on Solaris
28280         * lib/fstatat.c (includes): Add fcntl.h.
28281         Reported by Pádraig Brady.
28282
28283 2009-09-07  Eric Blake  <ebb9@byu.net>
28284
28285         rename: modernize replacement
28286         * modules/rename (Depends-on): Add stdio.
28287         (configure.ac): Declare witness.
28288         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
28289         stdio take care of replacement.
28290         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
28291         * modules/stdio (Makefile.am): Substitute them.
28292         * lib/stdio.in.h (rename): Declare replacement.
28293         * lib/rename.c (includes): Allow cross-compilation to non-windows
28294         machines.
28295         * doc/posix-functions/rename.texi (rename): Improve
28296         documentation.
28297
28298         stdio: sort witness names
28299         * modules/stdio (Makefile.am): Sort replacements.
28300         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
28301         * lib/stdio.in.h: Likewise.
28302
28303         getcwd: minor cleanups
28304         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
28305         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
28306
28307         openat: provide more convenience names
28308         * modules/faccessat (configure.ac): Add C witness.
28309         * lib/unistd.in.h (readlinkat): Fix typo.
28310         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
28311         convenience wrappers.
28312         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
28313         wrappers in syntax checks.
28314
28315 2009-09-06  Eric Blake  <ebb9@byu.net>
28316
28317         doc: fix comments in recent patches
28318         * lib/faccessat.c: Mention correct function.
28319         * lib/fchmodat.c: Likewise.
28320         * lib/fchownat.c: Likewise.
28321         * lib/symlinkat.c: Likewise.
28322         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
28323         constants.
28324
28325         faccessat, symlinkat: continue cleanup of previous patch
28326         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
28327         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
28328         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
28329         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
28330         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
28331         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
28332         set.
28333
28334 2009-09-06  Bruno Haible  <bruno@clisp.org>
28335
28336         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
28337         (fstatat): Declare if GNULIB_FSTATAT is set.
28338         (mkdirat): Declare if GNULIB_MKDIRAT is set.
28339         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
28340         (unlinkat): Declare if GNULIB_UNLINKAT is set.
28341         * modules/fcntl-h (Files): Remove m4/openat.m4.
28342         * modules/sys_stat (Files): Remove m4/openat.m4.
28343         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
28344         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
28345         * modules/unistd (Files): Remove m4/openat.m4.
28346         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
28347         GNULIB_OPENAT.
28348         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
28349         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
28350         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
28351         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
28352         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
28353         gl_OPENAT_DEFAULTS.
28354         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
28355         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
28356         Don't require gl_OPENAT_DEFAULTS.
28357         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
28358         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
28359         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
28360         (gl_OPENAT_DEFAULTS): Remove macro.
28361
28362 2009-09-06  Bruno Haible  <bruno@clisp.org>
28363
28364         * modules/openat (configure.ac): Remove unneeded witness.
28365
28366 2009-09-06  Bruno Haible  <bruno@clisp.org>
28367
28368         Set errno to ENOSYS when a function is entirely unsupported.
28369         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
28370         EOPNOTSUPP.
28371         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
28372         * modules/chown (Depends-on): Remove errno.
28373
28374 2009-09-06  Bruno Haible  <bruno@clisp.org>
28375
28376         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
28377
28378 2009-09-06  Bruno Haible  <bruno@clisp.org>
28379
28380         * lib/sys_stat.in.h: Fix preprocessor command indentation.
28381
28382 2009-09-06  Ben Pfaff  <blp@gnu.org>
28383             Bruno Haible  <bruno@clisp.org>
28384
28385         Work around a glibc bug in strtok_r.
28386         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
28387         Undefine if UNDEFINE_STRTOK_R is set.
28388         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
28389         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
28390         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
28391         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
28392         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
28393         UNDEFINE_STRTOK_R.
28394         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
28395
28396 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
28397
28398         exclude: minor fix
28399         * lib/exclude.c: Include wctype.h
28400
28401 2009-09-06  Akim Demaille  <demaille@gostai.com>
28402
28403         bootstrap: improve error message
28404         * build-aux/bootstrap (find_tool): Upon failure, report the list
28405         of candidates.
28406         Honor the initial value of the envvar.
28407
28408 2009-09-05  Eric Blake  <ebb9@byu.net>
28409
28410         symlinkat: new module
28411         * modules/symlinkat: New file.
28412         * lib/symlinkat.c: Likewise.
28413         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
28414         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
28415         * modules/unistd (Makefile.am): Use them.
28416         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
28417         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
28418         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
28419         * MODULES.html.sh (File system functions): Mention module.
28420         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
28421         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
28422         * modules/symlinkat-tests: New test.
28423         * tests/test-symlinkat.c: Likewise.
28424
28425         test-openat-safer: add more checks
28426         * tests/test-openat-safer.c (main): Check more code paths.
28427
28428 2009-09-05  Jim Meyering  <meyering@redhat.com>
28429
28430         syntax-check: detect unnecessary inclusion of openat.h
28431         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
28432
28433 2009-09-05  Bruno Haible  <bruno@clisp.org>
28434
28435         Support towlower, towupper.
28436         * doc/posix-functions/towlower.texi: Mention module wctype.
28437         * doc/posix-functions/towupper.texi: Likewise.
28438         * lib/wctype.in.h (towlower, towupper): New functions.
28439         * tests/test-wctype.c: Include stdio.h, stdlib.h.
28440         (ASSERT): New macro.
28441         (e): New variable.
28442         (main): Test also towlower, towupper. Test WEOF argument.
28443         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
28444
28445 2009-09-05  Bruno Haible  <bruno@clisp.org>
28446
28447         Fix conversion behaviour when the input is invalid.
28448         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
28449         mark occurring in first pass of indirect conversion.
28450         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
28451         input.
28452         Found by clang's static analyzer.
28453
28454 2009-09-05  Bruno Haible  <bruno@clisp.org>
28455
28456         * tests/test-striconveh.c (main): Test indirect conversion on platforms
28457         where direct conversion is possible.
28458
28459 2009-09-04  Eric Blake  <ebb9@byu.net>
28460
28461         openat: fail with ENOENT on empty name
28462         * lib/openat-proc.c (openat_proc_name): Special-case the empty
28463         buffer.
28464
28465         link-follow: fix logic bug in prior patch
28466         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
28467         reversed sense of yes and no in prior patch.  Avoid confusing
28468         compilation failure with desired semantics.
28469
28470         link-follow: accomodate mingw and cross-compilation
28471         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
28472         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
28473         cross-compilation results to -1, to make linkat easier to
28474         implement when cross-compiling.  Trivially support mingw.
28475         * modules/link-follow (configure.ac): Call new name.
28476         * NEWS: Mention this.
28477
28478 2009-09-03  Eric Blake  <ebb9@byu.net>
28479
28480         faccessat: compile replacement
28481         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
28482         needed.
28483
28484         fts: fix compilation error
28485         * lib/fts.c (includes): Re-add "openat.h", for
28486         openat_needs_fchdir.
28487
28488         faccessat: new module
28489         * modules/faccessat: New file.
28490         * lib/faccessat.c: Likewise.
28491         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
28492         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
28493         * modules/unistd (Makefile.am): Use it.
28494         * lib/unistd.in.h (faccessat): Declare it.
28495         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
28496         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
28497         * MODULES.html.sh (File system functions): Mention it.
28498         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
28499         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
28500
28501         euidaccess: prefer POSIX over non-standard implementation
28502         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
28503         * lib/euidaccess.c (euidaccess): Use it if available.
28504
28505         openat: make template easier to use
28506         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
28507         AT_FUNC_F2 to be undefined.
28508         (VALIDATE_FLAG): New macro; use it to reject bad flags.
28509         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
28510         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
28511         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
28512         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
28513         Likewise.
28514         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
28515         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
28516         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
28517         Likewise.
28518
28519         openat: declare in POSIX headers
28520         * NEWS: Mention this.
28521         * modules/openat (configure.ac): Declare witnesses.
28522         (Depends-on): Add fcntl-h, sys_stat, unistd.
28523         (Include): Mention correct headers.
28524         * modules/fcntl-h (Depends-on): Add link-warning.
28525         (Files): Add openat.m4.
28526         (Makefile.am): Substitute witnesses.
28527         * modules/sys_stat (Files, Makefile.am): Likewise.
28528         * modules/unistd (Files, Makefile.am): Likewise.
28529         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
28530         (gl_OPENAT_DEFAULTS): New macro.
28531         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
28532         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
28533         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
28534         (SYS_STAT_H): Remove unused variable.
28535         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
28536         * lib/fcntl--.h (includes): Remove unneeded header.
28537         * lib/openat-safer.c (includes): Likewise.
28538         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
28539         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
28540         appropriate headers.
28541         (__OPENAT_PREFIX): Delete.
28542         * lib/fcntl.in.h (openat): Provide declaration.
28543         (AT_FDCWD): Fix Solaris bug.
28544         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
28545         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
28546         * lib/fchmodat.c (includes):  Adjust to find declaration.
28547         * lib/fchownat.c (includes): Likewise.
28548         * lib/mkdirat.c (includes): Likewise.
28549         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
28550         still visible.
28551
28552 2009-09-02  Eric Blake  <ebb9@byu.net>
28553
28554         errno: use consistently
28555         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
28556         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
28557         * lib/canonicalize.c (ELOOP): Likewise.
28558         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
28559         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
28560         * lib/lchown.c (EOPNOTSUPP): Likewise.
28561         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
28562         * lib/savewd.c (ESTALE): Likewise.
28563         * lib/settime.c (ENOSYS): Likewise.
28564         * lib/utimens.c (ENOSYS): Likewise.
28565         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
28566         * lib/chdir-safer.c (ELOOP): Likewise.
28567         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
28568         * modules/c-stack (Depends-on): Add errno.
28569         * modules/canonicalize (Depends-on): Likewise.
28570         * modules/chdir-safer (Depends-on): Likewise.
28571         * modules/fdopendir (Depends-on): Likewise.
28572         * modules/inet_ntop (Depends-on): Likewise.
28573         * modules/inet_pton (Depends-on): Likewise.
28574         * modules/lchown (Depends-on): Likewise.
28575         * modules/openat (Depends-on): Likewise.
28576         * modules/savewd (Depends-on): Likewise.
28577         * modules/settime (Depends-on): Likewise.
28578         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
28579
28580         fts: avoid leaking fds
28581         * modules/fts (Depends-on): Add cloexec.
28582         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
28583         flag.
28584
28585         fts: make directory fds more robust
28586         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
28587         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
28588
28589         backupfile, chdir-long, fts, savedir: make safer
28590         * lib/backupfile.c (includes): Use "dirent--.h", since
28591         numbered_backup can write to stderr during readdir.
28592         * lib/savedir.c (includes): Likewise.
28593         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
28594         emulation can write to stderr on failure.
28595         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
28596         * lib/getcwd.c: Document why opendir_safer is unused.
28597         * lib/glob.c: Likewise.
28598         * lib/scandir.c: Likewise.
28599         * lib/openat-proc.c: Likewise, for open_safer.
28600         * modules/backupfile (Depends-on): Add dirent-safer.
28601         * modules/savedir (Depends-on): Likewise.
28602         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
28603         * modules/chdir-long (Depends-on): Add openat-safer.
28604
28605         openat-safer: new module
28606         * modules/openat-safer: New file.
28607         * lib/openat-safer.c: Likewise.
28608         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
28609         * lib/fcntl-safer.h (openat_safer): Declare.
28610         * lib/fcntl--.h (openat): Override.
28611         * MODULES.html.sh (File descriptor based I/O): Mention it.
28612         * lib/openat.h: Add double-inclusion guards.
28613         * lib/openat.c (includes): Only include "fcntl-safer.h", not
28614         "fcntl--.h", so we can implement openat.
28615         * modules/openat-safer-tests: New test.
28616         * tests/test-openat-safer.c: New file.
28617
28618         dirent-safer: new module
28619         * modules/dirent-safer: New file.
28620         * lib/dirent--.h: Likewise.
28621         * lib/dirent-safer.h: Likewise.
28622         * lib/opendir-safer.c: Likewise.
28623         * m4/dirent-safer.m4: Likewise.
28624         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
28625         * modules/dirent-safer-tests: New test.
28626         * tests/test-dirent-safer.c: New file.
28627         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
28628
28629         fdopendir: optimize on mingw
28630         * lib/unistd.in.h (_gl_directory_name): New prototype.
28631         * lib/fchdir.c (_gl_directory_name): Implement it.
28632         (fchdir): Use it to simplify implementation.
28633         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
28634         fchdir, when available, to avoid calling [f]chdir().
28635
28636         fdopendir: split into its own module
28637         * lib/openat.c (fdopendir): Move...
28638         * lib/fdopendir.c: ...into new file.
28639         * modules/fdopendir: New module.
28640         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
28641         * modules/openat (Depends-on): Add fdopendir.
28642         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
28643         fdopendir here.
28644         * modules/savedir (Depends-on): Only need fdopendir, not full
28645         openat.
28646         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
28647         * lib/openat.h (fdopendir): Drop prototype.
28648         * lib/dirent.in.h (fdopendir): Provide prototype.
28649         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
28650         * modules/dirent (Makefile.am): Substitute them.
28651         * MODULES.html.sh (File system functions): Mention it.
28652         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
28653         * modules/fdopendir-tests: New file.
28654         * tests/test-fdopendir.c: Likewise.
28655
28656         fchdir: use more consistent macro convention
28657         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
28658         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
28659         REPLACE_FCHDIR, rather than relying on config.h macros.
28660         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
28661         inside a single make-time REPLACE_FCHDIR block, rather than using
28662         the config.h FCHDIR_REPLACEMENT.
28663         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
28664         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
28665         Manage fstat replacement.
28666         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
28667         REPLACE_FCHDIR.
28668         * modules/sys_stat (Files): Add m4/unistd_h.m4.
28669         (Makefile.am): Substitute REPLACE_FCHDIR.
28670         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
28671         FCHDIR_REPLACEMENT.
28672         * lib/dup-safer.c (dup_safer): Likewise.
28673         * lib/dup2.c (rpl_dup2): Likewise.
28674         * lib/dup3.c (rpl_dup3): Likewise.
28675         * lib/open.c (rpl_open): Likewise.
28676
28677         fchdir: simplify error handling, and support dup3
28678         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
28679         stdbool, malloc-posix, realloc-posix.
28680         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
28681         (ensure_dirs_slot): Return false on allocation failure.
28682         (rpl_dup2): Delete.
28683         (_gl_register_dup): New function.
28684         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
28685         (_gl_register_fd): Close fd on allocation failure.
28686         * lib/fcntl.in.h (_gl_register_fd): Update signature.
28687         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
28688         prototype.
28689         (rpl_dup2_fchdir): Delete prototype.
28690         * lib/open.c (open): Update caller.
28691         * lib/dup2.c (dup2): Track fchdir metadata.
28692         * lib/dup3.c (dup3): Likewise.
28693         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
28694         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
28695
28696 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28697
28698         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
28699         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
28700         don't pass arguments to AC_OUTPUT.
28701
28702 2009-09-02  Bruno Haible  <bruno@clisp.org>
28703
28704         * modules/mkdtemp (License): Relicense under LGPLv2+.
28705         Reported by Paolo Bonzini.
28706
28707 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28708
28709         Replace uses of obsolete autoconf macros in Jim's modules.
28710         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
28711         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
28712         can evoke a warning from autoconf when run with -Wobsolete
28713         enabled.  They were declared obsolete for good reasons (see
28714         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
28715         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
28716         should not continue using the deprecated macros.
28717         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
28718         obsolete Autoconf macros with modern counterparts.
28719         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
28720         * m4/dos.m4 (gl_AC_DOS): Likewise.
28721         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
28722         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
28723         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
28724         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
28725         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
28726         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
28727         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
28728         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
28729         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
28730         Likewise.
28731         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
28732         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
28733         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
28734         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
28735         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
28736         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
28737
28738 2009-09-01  Eric Blake  <ebb9@byu.net>
28739
28740         fchdir: fix off-by-one bug in previous patch
28741         * lib/fchdir.c (rpl_fstat): Use correct bounds.
28742         (_gl_unregister_fd): Delete useless if.
28743
28744 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
28745
28746         maint.mk: sort the list of syntax-check rules
28747         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
28748         easier to get a sense of progress when the rules are run sequentially
28749         and take a long time.
28750
28751 2009-09-01  Simon Josefsson  <simon@josefsson.org>
28752
28753         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
28754         * modules/netinet_in: Likewise.
28755         * modules/sys_file: Likewise.
28756         * modules/sys_ioctl: Likewise.
28757         * modules/sys_select: Likewise.
28758         * modules/sys_socket: Likewise.
28759         * modules/sys_stat: Likewise.
28760         * modules/sys_time: Likewise.
28761         * modules/sys_times: Likewise.
28762         * modules/sys_utsname: Likewise.
28763         * modules/sys_wait: Likewise.
28764
28765 2009-09-01  Jim Meyering  <meyering@redhat.com>
28766
28767         fts: help ensure that return values are not ignored
28768         * lib/fts_.h (__GNUC_PREREQ): Define.
28769         (__attribute_warn_unused_result__): Define.
28770         (fts_children, fts_close, fts_open, fts_read): Declare with
28771         __attribute_warn_unused_result__.
28772
28773         fts: fts_close now fails also when closing a dir file descriptor fails
28774         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
28775         and propagate to caller, along with errno.
28776
28777         announce-gen: correct formatting in --help output
28778         * build-aux/announce-gen (usage): Move the one-line description in
28779         --help output "up", to where it belongs, just after Usage:.
28780
28781 2009-08-31  Eric Blake  <ebb9@byu.net>
28782
28783         fchdir: port to mingw
28784         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
28785         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
28786         opened, then use a substitute.
28787         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
28788         replacement.
28789         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
28790         (_gl_register_fd): No need to check stat if open already filters
28791         all directories.
28792         (fchdir): Fix error condition to match POSIX.
28793         * modules/fchdir (Depends-on): Add sys_stat.
28794         * doc/posix-functions/open.texi (open): Document the limitation.
28795         * modules/fchdir-tests: New file.
28796         * tests/test-fchdir.c: Likewise.
28797
28798         canonicalize: allow cross-testing from cygwin to mingw
28799         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
28800         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
28801         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
28802         Likewise.
28803         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
28804         target does not support symlinks.
28805         * tests/test-canonicalize-lgpl.sh: Likewise.
28806
28807         chown: avoid compilation warning on mingw
28808         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
28809         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
28810         mingw.
28811         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
28812         * modules/chown (Depends-on): Add errno.
28813
28814 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
28815
28816         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
28817         command.
28818
28819 2009-08-31  Jim Meyering  <meyering@redhat.com>
28820
28821         canonicalize: remove useless initialization
28822         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
28823         initialization of local, "end".
28824
28825 2009-08-30  Bruno Haible  <bruno@clisp.org>
28826
28827         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
28828         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
28829         ENOSYS.
28830
28831 2009-08-30  Bruno Haible  <bruno@clisp.org>
28832
28833         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
28834         /usr/xpg4/bin/tr when it exists.
28835         * tests/test-pipe-filter-gi1.sh: Likewise.
28836
28837 2009-08-30  Bruno Haible  <bruno@clisp.org>
28838
28839         Work around deficient /usr/bin/id program on Solaris.
28840         * tests/test-file-has-acl.sh (ID): New variable.
28841         * tests/test-set-mode-acl.sh (ID): Likewise.
28842         * tests/test-copy-acl.sh (ID): Likewise.
28843         * tests/test-copy-file.sh (ID): Likewise.
28844
28845 2009-08-30  Bruno Haible  <bruno@clisp.org>
28846
28847         New module 'xstriconveh'.
28848         * lib/xstriconveh.h: New file.
28849         * lib/xstriconveh.c: New file.
28850         * modules/xstriconveh: New file.
28851
28852 2009-08-30  Bruno Haible  <bruno@clisp.org>
28853
28854         Make it easier to use mem_cd_iconveh.
28855         * lib/striconveh.h (iconveh_t): New type.
28856         (iconveh_open, iconveh_close): New declarations.
28857         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
28858         with a single 'const iconveh_t *' argument.
28859         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
28860         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
28861         with a single 'const iconveh_t *' argument.
28862         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
28863         * tests/test-striconveh.c (main): Update.
28864         * NEWS: Mention the change.
28865
28866 2009-08-30  Bruno Haible  <bruno@clisp.org>
28867
28868         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
28869         problem.
28870
28871 2009-08-30  Bruno Haible  <bruno@clisp.org>
28872
28873         Work around iconv_open problem on Solaris.
28874         * lib/iconv_open-solaris.gperf: New file.
28875         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
28876         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
28877         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
28878         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
28879         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
28880         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
28881
28882 2009-08-29  Jim Meyering  <meyering@redhat.com>
28883
28884         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
28885         * top/maint.mk (cvs-check): Remove target; it was just an alias
28886         to the better-named vc-diff-check.
28887         (maintainer-distcheck): Remove rule.  It was used only from
28888         the (alpha/beta/major) target, and all of its commands but one
28889         were coreutils-specific.
28890         (vc-dist): Remove rule.
28891         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
28892         Run vc-diff-check, not vc-dist.
28893         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
28894
28895 2009-08-27  Bruno Haible  <bruno@clisp.org>
28896
28897         * tests/test-bitrotate.c (main): Remove test that uses a shift count
28898         of 0.
28899
28900 2009-08-27  Bruno Haible  <bruno@clisp.org>
28901
28902         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
28903         compilers.
28904         * doc/func.texi: Document the SunPRO C bug.
28905
28906 2009-08-27  Bruno Haible  <bruno@clisp.org>
28907
28908         Fix link error on Solaris.
28909         * tests/test-parse-duration.c (xstrdup): Remove function.
28910
28911 2009-08-26  Pádraig Brady  <P@draigbrady.com>
28912
28913         ignore-value: handle pointer types, too
28914         * lib/ignore-value.h (__attribute__): Remove definition.
28915         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
28916         of a more concise and more-often effective "(void) i" statement.
28917         (ignore_ptr): New function to suppress warnings from functions that
28918         return pointers, and to make it explicit that one function doesn't
28919         handle all cases.
28920
28921 2009-08-25  Bruno Haible  <bruno@clisp.org>
28922
28923         dup2: work around a Linux bug.
28924         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
28925         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
28926         * doc/posix-functions/dup2.texi: Mention the Linux bug.
28927         Reported by Simon Josefsson.
28928
28929 2009-08-25  Jim Meyering  <meyering@redhat.com>
28930
28931         libguestfs uses gnulib
28932         * users.txt: Add libguestfs.
28933
28934 2009-08-24  Eric Blake  <ebb9@byu.net>
28935
28936         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
28937         * lib/pipe2.c (includes): Add binary-io.h.
28938         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
28939
28940 2009-08-24  Bruno Haible  <bruno@clisp.org>
28941
28942         Tolerate declared but missing accept4 syscall.
28943         * lib/accept4.c (accept4): Invoke original accept4 function first, if
28944         available.
28945         * lib/sys_socket.in.h (accept4): If the function is already present,
28946         override it.
28947         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
28948         * modules/accept4 (Makefile.am): Compile accept4.c always.
28949         Reported by Paolo Bonzini and Eric Blake.
28950
28951 2009-08-23  Bruno Haible  <bruno@clisp.org>
28952
28953         New module 'accept4'.
28954         * lib/sys_socket.in.h (accept4): New declaration.
28955         * lib/accept4.c: New file.
28956         * m4/accept4.m4: New file.
28957         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
28958         GNULIB_ACCEPT4, HAVE_ACCEPT4.
28959         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
28960         HAVE_ACCEPT4.
28961         * modules/accept4: New file.
28962         * doc/glibc-functions/accept4.texi: Mention the new module.
28963
28964 2009-08-24  Jim Meyering  <meyering@redhat.com>
28965
28966         progname: also set global program_invocation_name, when possible
28967         Before this change, a libtool-enabled program that calls glibc's
28968         error function would report the program name as
28969         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
28970         * modules/progname (configure.ac): Check for a declaration of
28971         program_invocation_name.
28972         * lib/progname.c:  Include <errno.h>.
28973         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
28974         Set program_invocation_name.
28975
28976 2009-08-23  Bruno Haible  <bruno@clisp.org>
28977
28978         * lib/dup3.c: Include <string.h>.
28979
28980 2009-08-23  Bruno Haible  <bruno@clisp.org>
28981
28982         * lib/dup3.c (dup3): Test only once whether the system actually exists.
28983         * lib/pipe2.c (pipe2): Likewise.
28984         Suggested by Eric Blake.
28985
28986 2009-08-23  Bruno Haible  <bruno@clisp.org>
28987
28988         Tolerate declared but missing dup3 syscall.
28989         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
28990         * lib/unistd.in.h (dup3): If the function is already present,
28991         override it.
28992         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
28993         * modules/dup3 (Makefile.am): Compile dup3.c always.
28994         Reported by Paolo Bonzini.
28995
28996 2009-08-23  Bruno Haible  <bruno@clisp.org>
28997
28998         Tolerate declared but missing pipe2 syscall.
28999         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
29000         available.
29001         * lib/unistd.in.h (pipe2): If the function is already present,
29002         override it.
29003         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
29004         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
29005         Reported by Paolo Bonzini.
29006
29007 2009-08-23  Bruno Haible  <bruno@clisp.org>
29008
29009         * lib/pipe2.c (pipe2): Move #ifs inside function.
29010
29011 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
29012
29013         quotearg: document limitations of quote_these_too
29014         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
29015         those limitations are created.
29016         * lib/quotearg.h (set_char_quoting): Document that digits and
29017         letters that are special after backslash are not permitted.
29018         (quotearg_char): Cross-reference set_char_quoting documentation.
29019
29020 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
29021
29022         quotearg: implement custom_quoting_style
29023         * lib/quotearg.c: (struct quoting_options): Add left_quote and
29024         right_quote fields.
29025         (set_custom_quoting): New public function.
29026         (quotearg_buffer_restyled): Add left_quote and right_quote
29027         arguments, handle them very much like locale quoting, and update
29028         all uses.
29029         (quotearg_n_custom): New public function.
29030         (quotearg_n_custom_mem): New public function.
29031         (quotearg_custom): New public function.
29032         (quotearg_custom_mem): New public function.
29033         * lib/quotearg.h: Prototype and document new public functions.
29034         (enum quoting_style): For escape_quoting_style and
29035         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
29036         ignored even though they're otherwise like c_quoting_style.
29037         Add custom_quoting_style member and document with comparison to
29038         clocale_quoting_style.
29039         * tests/test-quotearg.c (custom_quotes): New array.
29040         (custom_results): New array.
29041         (main): Extend to test custom quoting.
29042
29043 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
29044
29045         quotearg: fix right quote escaping when it's in quote_these_too
29046         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
29047         quote, be sure to prepend only one backslash.
29048         * tests/test-quotearg.c (use_quote_double_quotes): New function.
29049         (main): Test it.
29050
29051 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
29052
29053         quotearg-tests: test escaping of embedded locale quotes
29054         * tests/test-quotearg.c (struct result_strings): Add member for
29055         new input.
29056         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
29057         (inputs): Add new input.
29058         (results_g): Add expected results.
29059         (flag_results): Likewise.
29060         (locale_results): Likewise.
29061         (compare_strings): Check those.
29062
29063 2009-08-23  Bruno Haible  <bruno@clisp.org>
29064
29065         Tests for module 'dup3'.
29066         * modules/dup3-tests: New file.
29067         * tests/test-dup3.c: New file.
29068
29069         New module 'dup3'.
29070         * lib/unistd.in.h (dup3): New declaration.
29071         * lib/dup3.c: New file.
29072         * m4/dup3.m4: New file.
29073         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
29074         HAVE_DUP3.
29075         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
29076         * modules/dup3: New file.
29077         * doc/glibc-functions/dup3.texi: Mention the new module.
29078
29079 2009-08-23  Bruno Haible  <bruno@clisp.org>
29080
29081         Tweak the dup2 test.
29082         * tests/test-dup2.c (main): Create the test file empty. Verify that an
29083         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
29084         the test file is still empty. Fix argument order of lseek.
29085
29086 2009-08-23  Bruno Haible  <bruno@clisp.org>
29087
29088         Avoid test link errors when the modules getopt-gnu, gettext are used.
29089         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
29090         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
29091
29092 2009-08-23  Bruno Haible  <bruno@clisp.org>
29093
29094         Fix getdtablesize() on mingw.
29095         * lib/getdtablesize.c (getdtablesize): Implement differently.
29096         * lib/unistd.in.h (getdtablesize): Improve comment.
29097
29098 2009-08-23  Bruno Haible  <bruno@clisp.org>
29099
29100         New module 'mkostemp'.
29101         Based on Ulrich Drepper's 2007-08-10 change in glibc.
29102         * lib/stdlib.in.h (mksotemp): New declaration.
29103         * lib/mkostemp.c: New file, from glibc with modifications.
29104         * lib/tempname.h (GT_FILE): Remove outdated comment.
29105         (gen_tempname): Add flags argument.
29106         * lib/tempname.c (__GT_BIGFILE): Remove macro.
29107         (__GT_FILE): Map to 1.
29108         (small_open, large_open): Remove macros.
29109         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
29110         * lib/mkstemp.c (mkstemp): Update.
29111         * lib/mkdtemp.c (mkdtemp): Likewise.
29112         * m4/mkostemp.m4: New file.
29113         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
29114         HAVE_MKOSTEMP.
29115         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
29116         HAVE_MKOSTEMP.
29117         * modules/mkostemp: New file, based on modules/mkstemp.
29118         * doc/glibc-functions/mkostemp.texi: Mention the new module.
29119         * NEWS: Mention the change.
29120
29121 2009-08-23  Bruno Haible  <bruno@clisp.org>
29122
29123         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
29124         Reported by Eric Blake.
29125
29126 2009-08-23  Bruno Haible  <bruno@clisp.org>
29127
29128         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
29129         Reported by Eric Blake.
29130
29131 2009-08-23  Bruno Haible  <bruno@clisp.org>
29132
29133         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
29134         * modules/pipe2 (Depends-on): Likewise.
29135
29136 2009-08-23  Eric Blake  <ebb9@byu.net>
29137
29138         fcntl-h: add O_TTY_INIT support
29139         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
29140         * tests/test-fcntl-h.c (o): Test it.
29141         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
29142
29143         fcntl-h: rename from fcntl, in preparation for fcntl(2)
29144         * modules/fcntl: Move <fcntl.h> header replacement...
29145         * modules/fcntl-h: ...to new name, so as not to collide with
29146         like-named function.
29147         * tests/test-fcntl.c: Rename...
29148         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
29149         * modules/fcntl-tests: Rename...
29150         * modules/fcntl-h-tests: ...to this.  Update test file name.
29151         * modules/chdir-long (Depends-on): Update clients.
29152         * modules/chdir-safer (Depends-on): Likewise.
29153         * modules/fcntl-safer (Depends-on): Likewise.
29154         * modules/fts (Depends-on): Likewise.
29155         * modules/mkancesdirs (Depends-on): Likewise.
29156         * modules/mkdir-p (Depends-on): Likewise.
29157         * modules/open (Depends-on): Likewise.
29158         * modules/savewd (Depends-on): Likewise.
29159         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
29160         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
29161
29162 2009-08-22  Bruno Haible  <bruno@clisp.org>
29163
29164         * modules/binary-io (License): Relicense under LGPL.
29165         * modules/pipe2 (License): Likewise.
29166
29167 2009-08-22  Bruno Haible  <bruno@clisp.org>
29168
29169         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
29170         return value.
29171         * lib/pipe-filter-gi.c (filter_init): Likewise.
29172         Reported by Eric Blake.
29173
29174 2009-08-22  Bruno Haible  <bruno@clisp.org>
29175
29176         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
29177         * modules/pipe (Depends-on): Add pipe2.
29178
29179 2009-08-22  Bruno Haible  <bruno@clisp.org>
29180
29181         Tests for module 'pipe2'.
29182         * modules/pipe2-tests: New file.
29183         * tests/test-pipe2.c: New file.
29184
29185         New module 'pipe2'.
29186         * lib/unistd.in.h (pipe2): New declaration.
29187         * lib/pipe2.c: New file.
29188         * m4/pipe2.m4: New file.
29189         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
29190         HAVE_PIPE2.
29191         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
29192         * modules/pipe2: New file.
29193         * doc/glibc-functions/pipe2.texi: Mention the new module.
29194
29195 2009-08-22  Bruno Haible  <bruno@clisp.org>
29196
29197         Reference some new glibc functions.
29198         * doc/glibc-functions/accept4.texi: New file.
29199         * doc/glibc-functions/dup3.texi: New file.
29200         * doc/glibc-functions/mkostemp.texi: New file.
29201         * doc/glibc-functions/pipe2.texi: New file.
29202         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
29203         (Glibc sys/socket.h): Refer to accept4.
29204         (Glibc unistd.h): Refer to dup3, pipe2.
29205         Reported by Eric Blake.
29206
29207 2009-08-22  Jim Meyering  <meyering@redhat.com>
29208             Bruno Haible  <bruno@clisp.org>
29209
29210         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
29211         This makes it so packages using automake-1.11's silent-rules option
29212         can print e.g., a single "GEN    configmake.h" line, rather than
29213         the 30+ statements that perform the job.  If you want to see the
29214         actual commands, you can still run "make V=1".
29215         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
29216         so that make output is abbreviated when those variables are defined
29217         appropriately.
29218         * modules/argz: Likewise.
29219         * modules/arpa_inet: Likewise.
29220         * modules/byteswap: Likewise.
29221         * modules/configmake: Likewise.
29222         * modules/dirent: Likewise.
29223         * modules/errno: Likewise.
29224         * modules/fcntl: Likewise.
29225         * modules/float: Likewise.
29226         * modules/fnmatch: Likewise.
29227         * modules/getopt-posix: Likewise.
29228         * modules/glob: Likewise.
29229         * modules/iconv_open: Likewise.
29230         * modules/inttypes: Likewise.
29231         * modules/localcharset: Likewise.
29232         * modules/locale: Likewise.
29233         * modules/math: Likewise.
29234         * modules/netdb: Likewise.
29235         * modules/netinet_in: Likewise.
29236         * modules/poll: Likewise.
29237         * modules/posix_spawnp-tests: Likewise.
29238         * modules/sched: Likewise.
29239         * modules/search: Likewise.
29240         * modules/selinux-h: Likewise.
29241         * modules/signal: Likewise.
29242         * modules/spawn: Likewise.
29243         * modules/stdarg: Likewise.
29244         * modules/stdbool: Likewise.
29245         * modules/stddef: Likewise.
29246         * modules/stdint: Likewise.
29247         * modules/stdio: Likewise.
29248         * modules/stdlib: Likewise.
29249         * modules/string: Likewise.
29250         * modules/strings: Likewise.
29251         * modules/sys_file: Likewise.
29252         * modules/sys_ioctl: Likewise.
29253         * modules/sys_select: Likewise.
29254         * modules/sys_socket: Likewise.
29255         * modules/sys_stat: Likewise.
29256         * modules/sys_time: Likewise.
29257         * modules/sys_times: Likewise.
29258         * modules/sys_utsname: Likewise.
29259         * modules/sys_wait: Likewise.
29260         * modules/sysexits: Likewise.
29261         * modules/time: Likewise.
29262         * modules/unistd: Likewise.
29263         * modules/wchar: Likewise.
29264         * modules/wctype: Likewise.
29265
29266 2009-08-22  Jim Meyering  <meyering@redhat.com>
29267
29268         announce-gen: detect write failure
29269         * build-aux/announce-gen: Add Coda at end.
29270         Remove equivalent-but-more-verbose block at top.
29271
29272 2009-08-19  Akim Demaille  <demaille@gostai.com>
29273
29274         bootstrap: --help to stdout.
29275         * bootstrap (usage): Don't send --help to stderr.
29276         Use a here doc instead of a long string.
29277
29278 2009-08-21  Eric Blake  <ebb9@byu.net>
29279
29280         test-popen-safer: split from test-popen
29281         * tests/test-popen.c (main): Move...
29282         * tests/test-popen.h: ...into new file.
29283         * tests/test-popen-safer2.c: New file.
29284         * modules/popen-tests (Files): Add test-popen.h.
29285         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
29286         Suggested by Bruno Haible.
29287
29288         test-fcntl-safer: split from test-open
29289         * tests/test-open.c (main): Move...
29290         * tests/test-open.h: ...into new file.
29291         * tests/test-fcntl-safer.c: New file.
29292         * modules/open-tests (Files): Add test-open.h.
29293         * modules/fcntl-safer-tests: New file.
29294         Suggested by Bruno Haible.
29295
29296         test-fopen-safer: split from test-fopen
29297         * tests/test-fopen.c (main): Move...
29298         * tests/test-fopen.h: ...into new file.
29299         * tests/test-fopen-safer.c: New file.
29300         * modules/fopen-tests (Files): Add test-fopen.h.
29301         * modules/fopen-safer-tests: New file.
29302         Suggested by Bruno Haible.
29303
29304 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
29305
29306         popen-safer: test O_CLOEXEC at run-time.
29307         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
29308
29309 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
29310
29311         fcntl: move more flags to the header
29312         * lib/cloexec.c: Do not define FD_CLOEXEC here.
29313         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
29314         * lib/fcntl.in.h: Do both things here.
29315
29316 2009-08-21  Jim Meyering  <meyering@redhat.com>
29317
29318         consistently remove $@-t before redirecting to it
29319         * modules/argz: Remove $@-t and $@ before redirecting to the former.
29320         * modules/alloca-opt: Likewise.
29321         * modules/byteswap: Likewise.
29322         * modules/fnmatch: Likewise.
29323         * modules/getopt-posix: Likewise.
29324         * modules/glob: Likewise.
29325         * modules/poll: Likewise.
29326         * modules/posix_spawnp-tests: Likewise.
29327         * modules/sys_socket: Likewise.
29328         * modules/sysexits: Likewise.
29329
29330 2009-08-21  Eric Blake  <ebb9@byu.net>
29331
29332         popen: simplify access to original popen
29333         * lib/popen.c (rpl_popen): No need to worry about popen being a
29334         macro.
29335         Reported by Bruno Haible.
29336
29337 2009-08-20  Eric Blake  <ebb9@byu.net>
29338
29339         build: avoid some compiler warnings
29340         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
29341         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
29342         type.
29343         (new_exclude_segment, excluded_file_pattern_p)
29344         (excluded_file_name_p): Reduce scope.
29345         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
29346         old-style declaration.
29347
29348 2009-08-20  Simon Josefsson  <simon@josefsson.org>
29349
29350         * tests/test-exclude1.sh: Handle Windows EOL.
29351         * tests/test-exclude2.sh: Likewise.
29352         * tests/test-exclude3.sh: Likewise.
29353         * tests/test-exclude4.sh: Likewise.
29354         * tests/test-exclude5.sh: Likewise.
29355         * tests/test-exclude6.sh: Likewise.
29356         * tests/test-exclude7.sh: Likewise.
29357
29358 2009-08-19  Akim Demaille  <demaille@gostai.com>
29359
29360         bootstrap: find sha1sum when named gsha1sum.
29361         * bootstrap (find_tool): New.
29362         ($SHA1SUM): New.
29363         Use it.
29364
29365 2009-08-20  Jim Meyering  <meyering@redhat.com>
29366
29367         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
29368         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
29369         expression that converts "." in a file name to "\." in the resulting
29370         regexp.  Start with a dummy statement, so that prior shell variable
29371         definitions are expanded portably.  Reported by Simon Josefsson.
29372
29373 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
29374
29375         Fix polling for writeability of a screen buffer.
29376         * lib/poll.c: Distinguish input and screen buffers for the
29377         Win32 implementation.
29378         * lib/select.c: Likewise.
29379
29380 2009-08-19  Eric Blake  <ebb9@byu.net>
29381
29382         popen-safer: prevent popen from clobbering std descriptors
29383         * modules/popen-safer: New file.
29384         * lib/popen-safer.c: Likewise.
29385         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
29386         * lib/stdio--.h (popen): Provide override.
29387         * lib/stdio-safer.h (popen_safer): Provide declaration.
29388         * tests/test-popen.c (includes): Partially test this.
29389         * modules/popen-safer-tests: New file, for more tests.
29390         * tests/test-popen-safer.c: Likewise.
29391         * MODULES.html.sh (file stream based Input/Output): Mention it.
29392
29393         tests: test some of the *-safer modules
29394         * modules/fopen-safer (Depends-on): Add fopen.
29395         * modules/fcntl-safer (Depends-on): Add fcntl.
29396         * modules/stdlib-safer (Depends-on): Add stdlib.
29397         (configure.ac): Set indicator.
29398         * modules/unistd-safer (configure.ac): Likewise.
29399         * modules/tmpfile-safer (configure.ac): Likewise.
29400         (Depends-on): Add tmpfile.
29401         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
29402         active.
29403         * tests/test-fopen.c (includes): Test safer versions when they are
29404         in use.
29405         * tests/test-open.c (includes): Likewise.
29406
29407         popen: fix cygwin 1.5 bug when stdin closed
29408         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
29409         * modules/popen: New file.
29410         * modules/popen-tests: Likewise.
29411         * tests/test-popen.c: Likewise.
29412         * m4/popen.m4: Likewise.
29413         * lib/popen.c: Likewise.
29414         * lib/stdio.in.h (popen): New declaration.
29415         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
29416         * modules/stdio (Makefile.am): Likewise.
29417         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
29418
29419 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
29420
29421         maint.mk: give full control over update-copyright exclusions
29422         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
29423         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
29424         (update-copyright): Don't force inclusion of top-level
29425         ChangeLog.  Don't force exclusion of all COPYING files, but make
29426         them the default exclusion instead.
29427
29428 2009-08-16  Bruno Haible  <bruno@clisp.org>
29429
29430         Fix test failures on Solaris 10.
29431         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
29432         tests when Solaris iconv() is used.
29433         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
29434         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
29435         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
29436         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
29437         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
29438
29439 2009-08-16  Bruno Haible  <bruno@clisp.org>
29440
29441         Fix test failures on Solaris 10.
29442         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
29443         'tr' program and pass it as first argument.
29444         * tests/test-pipe-filter-gi1.sh: Likewise.
29445         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
29446         program as first argument.
29447         * tests/test-pipe-filter-gi1.c (main): Likewise.
29448
29449 2009-08-16  Eric Blake  <ebb9@byu.net>
29450
29451         fpurge: fix previous commits
29452         * modules/fpurge (Makefile.am): Make replacement conditional,
29453         partially reverting 2007-04-29 change; missed in previous
29454         attempt.
29455         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
29456         is missing.
29457
29458 2009-08-16  Bruno Haible  <bruno@clisp.org>
29459
29460         Clarify fpurge's effect on the file position.
29461         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
29462         * tests/test-fpurge.c (main): Make a second pass for checking the file
29463         position.
29464
29465 2009-08-16  Bruno Haible  <bruno@clisp.org>
29466
29467         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
29468         declaration of fpurge is missing.
29469         * tests/test-fpurge.c (main): Check that the file has not more contents
29470         than expected. Close the file before removing it.
29471
29472 2009-08-15  Eric Blake  <ebb9@byu.net>
29473
29474         fpurge: don't wrap working cygwin implementation
29475         * lib/fpurge.c (fpurge): Fix comment typo.
29476         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
29477         1.7 to avoid replacement.
29478         * tests/test-fpurge.c (main): Enhance test.
29479
29480 2009-08-15  Eric Blake  <ebb9@byu.net>
29481         and Jim Meyering  <meyering@redhat.com>
29482
29483         test-update-copyright: skip if perl is insufficient
29484         * tests/test-update-copyright.sh: Failure to run maintainer tool
29485         should not cause testsuite failure on cygwin 1.5.
29486
29487 2009-08-14  Eric Blake  <ebb9@byu.net>
29488
29489         doc: mention more functions added in cygwin 1.7.0
29490         * doc/posix-headers/limits.texi (limits.h): Update for recent
29491         cygwin additions.
29492         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
29493         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
29494         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
29495         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
29496         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
29497
29498 2009-08-14  Eric Blake  <ebb9@byu.net>
29499
29500         maint.mk: simplify update-copyright rule
29501         * top/maint.mk (update-copyright-local): Delete, and document how
29502         to do it in cfg.mk instead.
29503         (update-copyright-exclude-regexp): Delete, and document how to do
29504         it in .x-update-copyright instead.
29505         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
29506         exclude ChangeLog.
29507
29508 2009-08-14  Bruno Haible  <bruno@clisp.org>
29509
29510         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
29511
29512 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
29513
29514         maint.mk: support update-copyright-env
29515         * top/maint.mk (update-copyright-env): Define place-holder.
29516         (update-copyright): Expand $(update-copyright-env) before
29517         invoking update-copyright.
29518
29519 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
29520
29521         update-copyright: implement forced reformatting
29522         * build-aux/update-copyright: Implement and document
29523         UPDATE_COPYRIGHT_FORCE.
29524         * tests/test-update-copyright.sh: Test it.
29525
29526 2009-08-14  Eric Blake  <ebb9@byu.net>
29527         and Bruno Haible  <bruno@clisp.org>
29528
29529         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
29530         * tests/test-locale.c: Revert previous patch related to NULL.
29531         * tests/test-stdio.c: Likewise.
29532         * tests/test-stdlib.c: Likewise.
29533         * tests/test-string.c: Likewise.
29534         * tests/test-unistd.c: Likewise.
29535         * modules/time-tests (Depends-on): Add verify.
29536         * modules/wchar-tests (Depends-on): Likewise.
29537         * tests/test-time.c: Test for NULL compliance.
29538         * tests/test-wchar.c: Likewise.
29539         * modules/locale (Depends-on): Add stddef.
29540         * modules/stdio (Depends-on): Likewise.
29541         * modules/stdlib (Depends-on): Likewise.
29542         * modules/string (Depends-on): Likewise.
29543         * modules/time (Depends-on): Likewise.
29544         * modules/unistd (Depends-on): Likewise.
29545         * modules/wchar (Depends-on): Likewise.
29546         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
29547         * lib/stdlib.in.h (includes): Likewise.
29548         * lib/string.in.h (includes): Likewise.
29549         * lib/time.in.h (includes): Likewise.
29550         * lib/unistd.in.h (includes): Likewise.
29551         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
29552         replaced.
29553         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
29554         * m4/stddef_h.m4: New file.
29555         * modules/stddef: Likewise.
29556         * lib/stddef.in.h: Likewise.
29557         * modules/stddef-tests: Likewise.
29558         * tests/test-stddef.c: Likewise.
29559         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
29560         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
29561         * doc/posix-headers/locale.texi (locale.h): Likewise.
29562         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
29563         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
29564         * doc/posix-headers/string.texi (string.h): Likewise.
29565         * doc/posix-headers/time.texi (time.h): Likewise.
29566         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
29567         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
29568
29569 2009-08-14  Eric Blake  <ebb9@byu.net>
29570
29571         doc: improve git diff of texinfo files
29572         * .gitattributes: Add rule for *.texi files, with hint on how to
29573         use it.
29574         Copied from m4, and based on a report by Bruno Haible.
29575
29576 2009-08-14  Bruno Haible  <bruno@clisp.org>
29577
29578         Disable multithread support by default on Cygwin 1.5.x for real.
29579         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
29580
29581 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
29582
29583         update-copyright: much ado about intervals
29584         * build-aux/update-copyright: Implement and document
29585         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
29586         of copyright year intervals.
29587         Also, document UPDATE_COPYRIGHT_YEAR.
29588         * tests/test-update-copyright.sh: Test it.
29589
29590         update-copyright: convert 2-digit to 4-digit years
29591         * build-aux/update-copyright: Implement and document.
29592         * tests/test-update-copyright.sh: Update.
29593
29594 2009-08-14  Jim Meyering  <meyering@redhat.com>
29595
29596         test-exclude: avoid coreutils "make check" failure
29597         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
29598         just as in test-argmatch.c.
29599
29600 2009-08-13  Eric Blake  <ebb9@byu.net>
29601
29602         test-dup2: fix bad assumption
29603         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
29604         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
29605
29606         test-version-etc: fix CRLF portability issue
29607         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
29608         recognize \r.
29609         * tests/test-argp-version-etc-1.sh: Likewise.
29610
29611         getopt: update client modules
29612         * modules/argp (Depends-on): Use getopt-gnu.
29613         * modules/git-merge-changelog (Depends-on): Likewise.
29614         * modules/long-options (Depends-on): Likewise.
29615         * modules/xstrtol (Depends-on): Likewise.
29616
29617 2009-08-13  Simon Josefsson  <simon@josefsson.org>
29618
29619         * tests/test-version-etc.sh: Don't fail on different
29620         project/version.  Don't fail on CRLF differences.  Rewrite to use
29621         multiple -e instead of multiple sed forks, suggested by Eric Blake
29622         <ebb9@byu.net>.
29623         * tests/test-argp-version-etc-1.sh: Likewise.
29624
29625 2009-08-13  Simon Josefsson  <simon@josefsson.org>
29626
29627         * tests/test-version-etc.sh: Don't fail on different
29628         project/version.
29629
29630 2009-08-12  Bruno Haible  <bruno@clisp.org>
29631
29632         Tests for modules 'getopt-posix', 'getopt-gnu'.
29633         * modules/getopt-posix-tests: New file.
29634         * tests/test-getopt.c: New file.
29635         * tests/test-getopt.h: New file.
29636         * tests/test-getopt_long.h: New file.
29637
29638         New modules 'getopt-posix', 'getopt-gnu'.
29639         * modules/getopt-gnu: New file, renamed from modules/getopt.
29640         * modules/getopt-posix: New file.
29641         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
29642         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
29643         (gl_GETOPT): Remove macro.
29644         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
29645         Disable the test against BSD systems that declare optreset. Test
29646         against mingw bug. Test against lack of support of optional arguments
29647         on many platforms.
29648         * doc/glibc-headers/getopt.texi: Update module name and list of
29649         relevant platforms.
29650         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
29651         'getopt-gnu' and more portability problems.
29652         * NEWS: Mention the changes.
29653
29654 2009-08-12  Bruno Haible  <bruno@clisp.org>
29655
29656         Ensure that optarg etc. get declared by <unistd.h>.
29657         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
29658         AC_USE_SYSTEM_EXTENSIONS.
29659         * modules/getopt (Depends-on): Add 'extensions'.
29660
29661 2009-08-12  Bruno Haible  <bruno@clisp.org>
29662
29663         Avoid test link errors.
29664         * modules/pipe-filter-ii-tests (Makefile.am): Define
29665         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
29666         * modules/pipe-filter-gi-tests (Makefile.am): Define
29667         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
29668         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
29669
29670 2009-08-12  Bruno Haible  <bruno@clisp.org>
29671
29672         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
29673         gl_GETOPT_SUBSTITUTE before.
29674         (gl_GETOPT): Use it.
29675         * m4/argp.m4 (gl_ARGP): Update.
29676         Reported by Sergey Poznyakoff.
29677
29678         * m4/getopt.m4: Reorder macros.
29679         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
29680         (gl_GETOPT_SUBSTITUTE): Remove macro.
29681
29682 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
29683
29684         Minor improvement in gitlog-to-changelog
29685
29686         * build-aux/gitlog-to-changelog: New option `--format' makes
29687         output format string configurable.
29688
29689 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
29690
29691         Optimize exclude: use hash tables for non-wildcard patterns.
29692
29693         * lib/exclude.c: Include hash.h and mbuiter.h
29694         (struct exclude_pattern, exclude_segment): New data types.
29695         (struct exclude): Rewrite.
29696         (fnmatch_pattern_has_wildcards): New function.
29697         (new_exclude_segment, free_exclude_segment): New functions.
29698         (excluded_file_pattern_p, excluded_file_name_p): New functions.
29699         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
29700         * lib/exclude.h (is_fnmatch_pattern): New prototype.
29701         * modules/exclude: Depend on hash and mbuiter.
29702
29703         * modules/exclude-tests: New file.
29704         * tests/test-exclude.c: New file.
29705         * tests/test-exclude1.sh: New file.
29706         * tests/test-exclude2.sh: New file.
29707         * tests/test-exclude3.sh: New file.
29708         * tests/test-exclude4.sh: New file.
29709         * tests/test-exclude5.sh: New file.
29710         * tests/test-exclude6.sh: New file.
29711         * tests/test-exclude7.sh: New file.
29712
29713 2009-08-12  Bruno Haible  <bruno@clisp.org>
29714
29715         Ensure that getopt() gets declared by <unistd.h>.
29716         * lib/unistd.in.h: Conditionally include getopt.h.
29717         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
29718         Set GNULIB_UNISTD_H_GETOPT.
29719         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
29720         GNULIB_UNISTD_H_GETOPT.
29721         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
29722
29723 2009-08-12  Bruno Haible  <bruno@clisp.org>
29724
29725         Clarify logic.
29726         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
29727         gl_replace_getopt instead of GETOPT_H.
29728
29729 2009-08-12  Bruno Haible  <bruno@clisp.org>
29730
29731         * m4/getopt.m4: Add comments.
29732
29733 2009-08-12  Bruno Haible  <bruno@clisp.org>
29734
29735         Disable multithread support by default on Cygwin 1.5.x.
29736         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
29737         set gl_use_threads=no if not specified otherwise.
29738
29739 2009-08-11  Bruno Haible  <bruno@clisp.org>
29740
29741         Avoid compilation error on NetBSD 5.0.
29742         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
29743         * tests/test-stdio.c: Likewise.
29744         * tests/test-stdlib.c: Likewise.
29745         * tests/test-string.c: Likewise.
29746         * tests/test-unistd.c: Likewise.
29747         Reported by Greg Troxel <gdt@ir.bbn.com>
29748         at <https://savannah.gnu.org/support/?106973>.
29749
29750 2009-08-11  Bruno Haible  <bruno@clisp.org>
29751
29752         * modules/dup2-tests (Depends-on): Remove close.
29753
29754         Undo 2009-07-19 commit.
29755         * modules/acl-tests (Depends-on): Remove close.
29756         * modules/binary-io-tests (Depends-on): Likewise.
29757         * modules/closein-tests (Depends-on): Likewise.
29758         * modules/flock-tests (Depends-on): Likewise.
29759         * modules/fsync-tests (Depends-on): Likewise.
29760         * modules/lseek-tests (Depends-on): Likewise.
29761         * modules/pipe-tests (Depends-on): Likewise.
29762         * modules/posix_spawn-tests (Depends-on): Likewise.
29763         * modules/posix_spawnp-tests (Depends-on): Likewise.
29764         * modules/stat-time-tests (Depends-on): Likewise.
29765         * modules/yesno-tests (Depends-on): Likewise.
29766
29767 2009-08-10  Bruno Haible  <bruno@clisp.org>
29768
29769         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
29770
29771 2009-08-10  Bruno Haible  <bruno@clisp.org>
29772
29773         Fix a gcc warning.
29774         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
29775
29776 2009-08-10  Bruno Haible  <bruno@clisp.org>
29777
29778         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
29779         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
29780         not only the first time.
29781         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
29782         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
29783         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
29784         is 1, not only the the first time.
29785
29786 2009-08-10  Bruno Haible  <bruno@clisp.org>
29787
29788         Make it possible to use module 'gethostname' without module 'close'.
29789         * lib/unistd.in.h (close): Evoke a link error only if
29790         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
29791         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
29792         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
29793         * modules/unistd (Makefile.am): Substitute
29794         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
29795         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
29796         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
29797         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
29798         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
29799         * modules/sys_ioctl (Makefile.am): Substitute
29800         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
29801         * modules/socket (configure.ac): On native Windows, set
29802         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
29803         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
29804         Reported by Sam Steingold <sds@gnu.org>.
29805
29806 2009-08-10  Bruno Haible  <bruno@clisp.org>
29807
29808         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
29809         * modules/ioctl (configure.ac): Likewise.
29810
29811 2009-08-10  Bruno Haible  <bruno@clisp.org>
29812
29813         Avoid collision between gnulib wrapper and libintl wrapper.
29814         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
29815         already defined in intl/printf.c.
29816         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
29817         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
29818
29819 2009-08-09  Bruno Haible  <bruno@clisp.org>
29820
29821         Make <sys/select.h> really self-contained, also on Solaris 10.
29822         * lib/sys_select.in.h: Include <string.h>.
29823         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
29824         Solaris 10 problem.
29825         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
29826         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
29827         Reported by Jim Meyering.
29828
29829 2009-08-09  Bruno Haible  <bruno@clisp.org>
29830
29831         Avoid warnings from 'aclocal' that are due to a use of macro name
29832         AM_XGETTEXT_OPTION that is not defined in automake.
29833         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
29834         automake.
29835         * modules/error (configure.ac): Likewise.
29836         * modules/propername (configure.ac): Likewise.
29837         * modules/vasprintf (configure.ac): Likewise.
29838         * modules/verror (configure.ac): Likewise.
29839         * modules/xprintf (configure.ac): Likewise.
29840         * modules/xvasprintf (configure.ac): Likewise.
29841
29842 2009-08-08  Bruno Haible  <bruno@clisp.org>
29843
29844         Avoid compilation error in C++ mode.
29845         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
29846         Reported by Sam Steingold <sds@gnu.org>.
29847
29848 2009-08-08  Bruno Haible  <bruno@clisp.org>
29849
29850         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
29851         for the various Unix platforms.
29852         * doc/posix-headers/limits.texi: Update platforms list regarding
29853         HOST_NAME_MAX.
29854         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
29855
29856 2009-08-07  Jim Meyering  <meyering@redhat.com>
29857
29858         selinux-at: fix typo in a comment
29859         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
29860         Spotted by Paolo Bonzini.
29861
29862         selinux-at: remove redundant m4 code, add documentation
29863         * modules/selinux-at (configure.ac): Remove redundant code.
29864         LIB_SELINUX is already set via the dependent module, selinux-h.
29865         (Include): Add quotes around selinux-at.h.
29866         * lib/selinux-at.h: Add documentation.
29867         Reported by Bruno Haible in
29868         http://marc.info/?l=gnulib-bug&m=124958988300749
29869
29870 2009-08-07  Bruno Haible  <bruno@clisp.org>
29871
29872         Avoid link error on MacOS X 10.3 and 10.4.
29873         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
29874         on non-ELF systems.
29875         * lib/argp-pv.c (argp_program_version): Likewise.
29876         Reported by Simon Josefsson.
29877
29878 2009-08-07  Simon Josefsson  <simon@josefsson.org>
29879
29880         * tests/test-version-etc.sh: Use $EXEEXT.
29881
29882 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
29883
29884         update-copyright: update documentation to point to maint.mk
29885         * build-aux/update-copyright: Here.
29886
29887 2009-08-06  Jim Meyering  <meyering@redhat.com>
29888
29889         maint.mk: support update-copyright-local
29890         * top/maint.mk (update-copyright-local): Define place-holder.
29891         (update-copyright): Depend on $(update-copyright-local).
29892
29893 2009-08-06  Jim Meyering  <meyering@redhat.com>
29894
29895         selinux-at: new module
29896         Initially written for coreutils, this module will soon be
29897         used by findutils, too.
29898         * MODULES.html.sh [Misc]: Add selinux-at.
29899         * lib/selinux-at.h: New file, from coreutils.
29900         * lib/selinux-at.c: Likewise.
29901         * modules/selinux-at: Likewise.
29902         (License): Change from LGPL to GPL, since it depends
29903         on the GPL'd openat module.
29904
29905         doc: update README
29906         * README: Remove references to cogito.
29907         Remove cvs-repo-updating instructions from 2007.
29908         Don't imply that CVS is better if you have limited disk space.
29909
29910 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
29911
29912         update-copyright: support C-style comments
29913         * build-aux/update-copyright: Implement and document.
29914         * tests/test-update-copyright.sh: Test.
29915
29916 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
29917
29918         update-copyright: support omitted "(C)"
29919         * build-aux/update-copyright: Implement and document.  Also,
29920         allow variable whitespace before "(C)".
29921         * tests/test-update-copyright.sh: Test.
29922
29923 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
29924
29925         update-copyright: don't trip on non-FSF copyright statements
29926         * build-aux/update-copyright: Fix so that the first correctly
29927         formatted FSF copyright statement is recognized no matter what
29928         appears before it.  Update documentation.
29929         * tests/test-update-copyright.sh: Test that.
29930
29931 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
29932
29933         update-copyright: clean up code a little
29934         * build-aux/update-copyright: Append "_re" to the name of any
29935         variable holding a regular expression.
29936         Replace "old" and "new" with "stmt" in variable names.
29937         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
29938         handled correctly.
29939         Format code more consistently.
29940
29941 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
29942
29943         update-copyright-tests: improve portability
29944         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
29945         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
29946
29947 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
29948
29949         update-copyright: support @copyright{} and &copy;
29950         * build-aux/update-copyright: Implement and document.
29951         * tests/test-update-copyright.sh: Test.
29952
29953 2009-08-04  Jim Meyering  <meyering@redhat.com>
29954
29955         update-copyright-tests: correctly test EOL=\r\n handling
29956         * tests/test-update-copyright.sh: Put \r at the end of some lines
29957         for the dos-eol tests.  Based on a patch by Joel E. Denny.
29958
29959         maint.mk: make update-copyright exclusion list more configurable
29960         * top/maint.mk (update-copyright): Default to excluding COPYING,
29961         but allow an override, in case someone does want to update that file.
29962
29963         maint.mk: don't update copyright date in COPYING
29964         * top/maint.mk (update-copyright): Exclude COPYING.
29965
29966         maint.mk: add a copyright-updating rule
29967         * top/maint.mk (update-copyright): New rule.
29968         Derived from coreutils/Makefile.am.
29969
29970         update-copyright: rename some variables
29971         * build-aux/update-copyright: Rename a few variables for clarity.
29972         Tweak syntax.  List Joel E. Denny as coauthor.
29973
29974 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
29975
29976         update-copyright: fix bug for 2-digit last year and add tests
29977         * build-aux/update-copyright: Fix bug.
29978         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
29979         specified.
29980         * modules/update-copyright-tests: New
29981         * tests/test-update-copyright.sh: New.
29982
29983 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
29984
29985         update-copyright: handle leading tabs in line prefix
29986         * build-aux/update-copyright: Count leading tabs as 8 spaces
29987         when computing margin.  This helps with the formatting of
29988         ChangeLogs, for example.
29989         Fix documentation a little.
29990
29991 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
29992
29993         update-copyright: support EOL=\r\n
29994         * build-aux/update-copyright: Implement that.
29995
29996 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
29997
29998         update-copyright: automatically format copyright statements
29999         * build-aux/update-copyright: Implement that.
30000         Also, be a little more predictable and safer by always failing
30001         when the full copyright format is not perfectly recognized as an
30002         unbroken whole.  Discussed at
30003         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
30004         Rewrite documentation.
30005
30006 2009-08-03  Bruno Haible  <bruno@clisp.org>
30007
30008         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
30009
30010 2009-08-02  Bruno Haible  <bruno@clisp.org>
30011
30012         Tests for module 'uname'.
30013         * modules/uname-tests: New file.
30014         * tests/test-uname.c: New file.
30015
30016         New module 'uname'.
30017         * lib/uname.c: New file.
30018         * m4/uname.m4: New file.
30019         * modules/uname: New file.
30020         * doc/posix-functions/uname.texi: Mention the new module.
30021
30022 2009-08-02  Bruno Haible  <bruno@clisp.org>
30023
30024         Tests for module 'sys_utsname'.
30025         * modules/sys_utsname-tests: New file.
30026         * tests/test-sys_utsname.c: New file.
30027
30028         New module 'sys_utsname'.
30029         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
30030         * m4/sys_utsname_h.m4: New file.
30031         * modules/sys_utsname: New file.
30032         * doc/posix-headers/sys_utsname.texi: Mention the new module.
30033
30034 2009-08-02  Bruno Haible  <bruno@clisp.org>
30035
30036         Implicitly initialize the sockets library.
30037         * lib/gethostname.c: Include sockets.h.
30038         (rpl_gethostname): Invoke gl_sockets_startup.
30039         * lib/socket.c: Include sockets.h.
30040         (rpl_socket): Invoke gl_sockets_startup.
30041         * modules/gethostname (Depends-on): Add sockets.
30042         * modules/socket (Depends-on): Likewise.
30043         * tests/test-poll.c: Don't include sockets.h.
30044         (main): Don't invoke gl_sockets_startup.
30045         * tests/test-select.c: Don't include sockets.h.
30046         (main): Don't invoke gl_sockets_startup.
30047
30048 2009-08-02  Bruno Haible  <bruno@clisp.org>
30049
30050         Allow multiple calls to gl_sockets_startup.
30051         * lib/sockets.c (initialized_sockets_version): New variable.
30052         (gl_sockets_startup): Do nothing if already called for this or a higher
30053         version.
30054         (gl_sockets_cleanup): Reset initialized_sockets_version.
30055
30056 2009-08-03  Simon Josefsson  <simon@josefsson.org>
30057
30058         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
30059         different project/version.
30060
30061 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
30062             Bruno Haible  <bruno@clisp.org>
30063
30064         Tests for module 'pipe-filter-gi'.
30065         * modules/pipe-filter-gi-tests: New file.
30066         * tests/test-pipe-filter-gi1.sh: New file.
30067         * tests/test-pipe-filter-gi1.c: New file.
30068         * tests/test-pipe-filter-gi2.sh: New file.
30069         * tests/test-pipe-filter-gi2-main.c: New file.
30070         * tests/test-pipe-filter-gi2-child.c: New file.
30071
30072         New module 'pipe-filter-gi'.
30073         * lib/pipe-filter-gi.c: New file.
30074         * modules/pipe-filter-gi: New file.
30075
30076 2009-08-02  Bruno Haible  <bruno@clisp.org>
30077             Paolo Bonzini  <bonzini@gnu.org>
30078
30079         Tests for module 'pipe-filter-ii'.
30080         * modules/pipe-filter-ii-tests: New file.
30081         * tests/test-pipe-filter-ii1.sh: New file.
30082         * tests/test-pipe-filter-ii1.c: New file.
30083         * tests/test-pipe-filter-ii2.sh: New file.
30084         * tests/test-pipe-filter-ii2-main.c: New file.
30085         * tests/test-pipe-filter-ii2-child.c: New file.
30086
30087         New module 'pipe-filter-ii'.
30088         * lib/pipe-filter.h: New file.
30089         * lib/pipe-filter-ii.c: New file.
30090         * lib/pipe-filter-aux.h: New file.
30091         * modules/pipe-filter-ii: New file.
30092
30093 2009-08-02  Simon Josefsson  <simon@josefsson.org>
30094
30095         * lib/gc-libgcrypt.c: Change copyright to FSF.
30096         * lib/gc-gnulib.c: Likewise.
30097
30098 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
30099
30100         * lib/gethostname.c: Include limits.h.
30101
30102 2009-08-02  Simon Josefsson  <simon@josefsson.org>
30103             Bruno Haible  <bruno@clisp.org>
30104
30105         Ensure HOST_NAME_MAX as part of the gethostname module.
30106         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
30107         define also HOST_NAME_MAX.
30108         * tests/test-gethostname.c: Include <limits.h>.
30109         (main): Check also HOST_NAME_MAX.
30110         * doc/posix-headers/limits.texi: Document the mingw problem.
30111
30112 2009-08-02  Bruno Haible  <bruno@clisp.org>
30113
30114         * lib/gethostname.c (gethostname): Fix handling of large len argument.
30115         Add comments.
30116
30117 2009-03-31  Simon Josefsson  <simon@josefsson.org>
30118
30119         * lib/gethostname.c: Add Windows wrapper.
30120         * m4/gethostname.m4: Look for gethostname in -lws2_32.
30121         * modules/gethostname: Depend on sys_socket & errno, for also
30122         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
30123         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
30124
30125 2009-07-31  Jim Meyering  <meyering@redhat.com>
30126
30127         getloadavg: fix symbol name in comment
30128         * lib/getloadavg.c: Correct a typo I introduced when adding
30129         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
30130         Matt Kraai spotted the problem.
30131
30132 2009-07-29  Matt Kraai  <mkraai@beckman.com>
30133
30134         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
30135         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
30136         code also if ! defined N_NAME_POINTER.
30137         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
30138         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
30139         but the n_name member is a 12-byte array.
30140
30141 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
30142
30143         update-copyright: generalize comment handling
30144         * build-aux/update-copyright: Handle copyright statements
30145         within more comment styles.
30146         Document usage.
30147         Report any file with an external copyright holder or parse failure.
30148
30149 2009-07-29  Jim Meyering  <meyering@redhat.com>
30150
30151         mktime: correct setting of REPLACE_MKTIME
30152         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
30153
30154         update-copyright: new module
30155         * modules/update-copyright: New file.
30156         * build-aux/update-copyright: New file.
30157         * MODULES.html.sh (maint+release support): Add update-copyright.
30158
30159 2009-07-27  Bruno Haible  <bruno@clisp.org>
30160
30161         Fix compilation error when <ctime> is used and mktime is replaced.
30162         * lib/time.in.h (mktime): New declaration.
30163         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
30164         REPLACE_MKTIME instead of defining mktime in config.h.
30165         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
30166         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
30167         Reported by Ross McFarland <rwmcfa1@neces.com>.
30168
30169 2009-07-27  Bruno Haible  <bruno@clisp.org>
30170
30171         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
30172         Reported by Matt Kraai <mkraai@beckman.com>.
30173
30174 2009-07-25  Jim Meyering  <meyering@redhat.com>
30175
30176         maint.mk: avoid warnings about missing files
30177         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
30178         diagnostic when .prev-version does not exist.
30179         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
30180         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
30181         nonexistent cfg.mk.
30182         Suggestions from Simon Josefsson.
30183
30184 2009-07-25  Bruno Haible  <bruno@clisp.org>
30185
30186         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
30187         defined as macros. Needed on QNX 6.4.1.
30188         Reported by Matt Kraai <mkraai@beckman.com>.
30189
30190 2009-07-23  Jim Meyering  <meyering@redhat.com>
30191
30192         maint.mk: invoke "make dist" with a working value of XZ_OPT
30193         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
30194
30195 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
30196
30197         Make fseeko.c compile on QNX.
30198         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
30199
30200 2009-07-22  Peter Simons  <simons@cryp.to>
30201
30202         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
30203         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
30204         * lib/md4.h: Likewise.
30205         * lib/md5.h: Likewise.
30206         * lib/sha1.h: Likewise.
30207         * lib/sha256.h: Likewise.
30208         * lib/sha512.h: Likewise.
30209
30210         tests-sha1: don't assign literal string to 'char *' variable
30211         * tests/test-sha1.c (main): Declare locals with "const" to match
30212         attributes of the right hand side.
30213
30214 2009-07-21  Eric Blake  <ebb9@byu.net>
30215
30216         dup2: fix more mingw problems
30217         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
30218         fd to itself.
30219         * doc/posix-functions/dup2.texi (dup2): Document the bug.
30220         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
30221         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
30222         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
30223         care of mingw bugs.
30224
30225 2009-07-21  Jim Meyering  <meyering@redhat.com>
30226
30227         vc-list-files: avoid failure when /bin/sh is dash
30228         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
30229         On some Debian based systems, /bin/sh is a symlink to dash, and running
30230         this command would omit the "/" following each 'tests' prefix:
30231           dash -x build-aux/vc-list-files -C . tests
30232         That is because bash and dash work differently:
30233           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
30234           bash ok
30235           dash odd
30236
30237 2009-07-21  Eric Blake  <ebb9@byu.net>
30238
30239         dup2-tests: test previous patch
30240         * modules/dup2-tests: New file.
30241         * tests/test-dup2.c: Likewise.
30242         * tests/test-open.c (main): Avoid unspecified behavior.
30243         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
30244         test.
30245
30246         dup2: work around mingw and cygwin 1.5 bug
30247         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
30248         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
30249         * modules/unistd (Makefile.am): Substitute it.
30250         * lib/unistd.in.h (dup2): Declare the replacement.
30251         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
30252         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
30253         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
30254         * modules/execute (Depends-on): Add dup2.
30255         * modules/fseterr (Depends-on): Likewise.
30256         * modules/pipe (Depends-on): Likewise.
30257         * modules/posix_spawn-internal (Depends-on): Likewise.
30258
30259 2009-07-21  Bruno Haible  <bruno@clisp.org>
30260
30261         * modules/.gitattributes: New file.
30262
30263 2009-07-20  Bruno Haible  <bruno@clisp.org>
30264
30265         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
30266         (main): Use it.
30267
30268 2009-07-20  Eric Blake  <ebb9@byu.net>
30269
30270         test-pipe: make a bit more robust.
30271         * tests/test-pipe.c (myerr): Allow error messages regardless of
30272         what we do to stderr.
30273         (test_pipe): Rearrange to avoid deadlock.
30274         (child_main): Try a larger read, to ensure we avoided deadlock.
30275         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
30276         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
30277         if misused.
30278
30279 2009-07-19  Jim Meyering  <meyering@redhat.com>
30280
30281         fts: avoid false-positive cycle-detection
30282         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
30283         for each new command line argument.
30284
30285 2009-07-19  Bruno Haible  <bruno@clisp.org>
30286
30287         Fix build error on mingw with the modules sys_select and unistd.
30288         * modules/acl-tests (Depends-on): Add close.
30289         * modules/binary-io-tests (Depends-on): Likewise.
30290         * modules/closein-tests (Depends-on): Likewise.
30291         * modules/flock-tests (Depends-on): Likewise.
30292         * modules/fsync-tests (Depends-on): Likewise.
30293         * modules/lseek-tests (Depends-on): Likewise.
30294         * modules/pipe-tests (Depends-on): Likewise.
30295         * modules/posix_spawn-tests (Depends-on): Likewise.
30296         * modules/posix_spawnp-tests (Depends-on): Likewise.
30297         * modules/stat-time-tests (Depends-on): Likewise.
30298         * modules/yesno-tests (Depends-on): Likewise.
30299
30300 2009-07-19  Bruno Haible  <bruno@clisp.org>
30301
30302         Unify conditionals.
30303         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
30304         macros, not at the compiler macros.
30305         * lib/pipe.c: Likewise.
30306         * lib/execute.c: Likewise.
30307         * lib/spawni.c: Likewise.
30308
30309 2009-07-19  Bruno Haible  <bruno@clisp.org>
30310
30311         Fix handling of closed stdin/stdout/stderr on mingw.
30312         * lib/w32spawn.h: Include unistd.h.
30313         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
30314         file descriptor with O_NOINHERIT flag.
30315         (fd_safer_noinherit): New function, based on fd-safer.c.
30316         (dup_safer_noinherit): New function, based on dup-safer.c.
30317         (undup_safer_noinherit): New function.
30318         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
30319         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
30320         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
30321         instead of fd_safer.
30322         * tests/test-pipe.c: Include <windows.h>.
30323         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
30324         result.
30325
30326         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
30327         from main.
30328         (test_pipe): Pass an extra argument for disambiguation.
30329         (main): Invoke parent_main or child_main.
30330
30331         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
30332         consistently.
30333
30334 2009-07-18  Eric Blake  <ebb9@byu.net>
30335
30336         test-pipe: fix mingw build
30337         * tests/test-pipe.c (main): Avoid fcntl on mingw.
30338
30339 2009-07-18  Bruno Haible  <bruno@clisp.org>
30340
30341         * modules/pipe-tests (Makefile.am): Fix typo.
30342
30343 2009-07-18  Eric Blake  <ebb9@byu.net>
30344
30345         error: fix mingw build
30346         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
30347         Reported by Bruno Haible.
30348
30349         error: avoid undefined use of stdout
30350         * lib/error.c (error, error_at_line): Check that fd 1 is open
30351         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
30352         is handling faults and the close_stdout module wants to report the
30353         detection of closed stdout as an error.
30354
30355 2009-07-17  Eric Blake  <ebb9@byu.net>
30356
30357         pipe: be robust in face of closed fds
30358         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
30359         should cause child to misbehave.
30360         * modules/pipe-tests: New module.
30361         * tests/test-pipe.c: New file.
30362         * tests/test-pipe.sh: New file.
30363         Reported by Akim Demaille.
30364
30365 2009-07-14  Bruno Haible  <bruno@clisp.org>
30366
30367         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
30368         Reported by anonymous kc.
30369
30370 2009-07-07  Jim Meyering  <meyering@redhat.com>
30371
30372         maint.mk: don't look for translatable strings in *.m4 or *.mk
30373         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
30374         when searching for translatable strings.
30375
30376 2009-07-05  Jim Meyering  <meyering@redhat.com>
30377
30378         remove superfluous parentheses in STREQ definition
30379         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
30380         * lib/getugroups.c (STREQ): Likewise.
30381         * lib/fnmatch.c (STREQ): Likewise.
30382         Spotted by Bruno Haible.
30383
30384 2009-07-04  Jim Meyering  <meyering@redhat.com>
30385
30386         argv-iter: new module
30387         * MODULES.html.sh: Add argv-iter.
30388         * lib/argv-iter.c, lib/argv-iter.h: New files.
30389         * modules/argv-iter: New file.
30390         * modules/argv-iter-tests: New file.
30391         * tests/test-argv-iter.c: Test it.
30392
30393 2009-07-04  Bruno Haible  <bruno@clisp.org>
30394
30395         Fix assertion.
30396         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
30397         contains more exact copies of a given entry than file2, leave the extra
30398         copies unpaired rather than aborting.
30399         Reported by Eric Blake.
30400
30401 2009-07-02  Bruno Haible  <bruno@clisp.org>
30402
30403         Speedup git-merge-changelog for git cherry-pick.
30404         * lib/git-merge-changelog.c (struct entries_mapping): New type.
30405         (entries_mapping_get): New function, extracted from compute_mapping.
30406         (entries_mapping_reverse_get): New function.
30407         (compute_mapping): Add a 'full' argument. Return the result in a
30408         'struct entries_mapping'.
30409         (main): Update. Access the mappings through entries_mapping_get.
30410         Reported by Eric Blake.
30411
30412 2009-07-02  Bruno Haible  <bruno@clisp.org>
30413
30414         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
30415         best_i.
30416
30417 2009-07-02  Bruno Haible  <bruno@clisp.org>
30418
30419         Speed up approximate search for matching ChangeLog entries.
30420         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
30421         argument. Call fstrcmp_bounded instead of fstrcmp.
30422         (compute_mapping, try_split_merged_entry, main): Update callers.
30423
30424 2009-07-02  Bruno Haible  <bruno@clisp.org>
30425
30426         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
30427
30428 2009-06-30  Bruno Haible  <bruno@clisp.org>
30429
30430         Reduce the number of uc_is_cased calls.
30431         * lib/unicase.h (casing_suffix_context_t): Add
30432         'first_char_except_ignorable' field.
30433         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
30434         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
30435         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
30436         Update initializer.
30437         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
30438         case-ignorable characters.
30439         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
30440         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
30441         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
30442         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
30443         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
30444
30445 2009-06-30  Bruno Haible  <bruno@clisp.org>
30446
30447         Tests for module 'unicase/ignorable'.
30448         * modules/unicase/ignorable-tests: New file.
30449         * tests/unicase/test-ignorable.c: New file, generated by
30450         gen-uni-tables.
30451
30452         Tests for module 'unicase/cased'.
30453         * modules/unicase/cased-tests: New file.
30454         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
30455         * tests/unicase/test-predicate-part1.h: New file, derived from
30456         tests/unictype/test-predicate-part1.h.
30457         * tests/unicase/test-predicate-part2.h: New file, same as
30458         tests/unictype/test-predicate-part2.h.
30459
30460         Fix evaluation of "Before C" condition of FINAL_SIGMA.
30461         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
30462         (output_casing_properties): New function.
30463         (main): Call it.
30464         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
30465         * lib/unicase/cased.c: Include unictype/bitmap.h.
30466         (uc_is_cased): Define through a bitmap lookup.
30467         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
30468         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
30469         (uc_is_case_ignorable): Define through a bitmap lookup.
30470         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
30471         lib/unictype/bitmap.h.
30472         (Depends-on): Add inline. Clean up.
30473         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
30474         lib/unictype/bitmap.h.
30475         (Depends-on): Add inline. Clean up.
30476         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
30477         recognition.
30478         * tests/unicase/test-u16-tolower.c (main): Likewise.
30479         * tests/unicase/test-u32-tolower.c (main): Likewise.
30480
30481 2009-06-30  Bruno Haible  <bruno@clisp.org>
30482
30483         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
30484         * lib/unicase/u16-casemap.c: Likewise.
30485         * lib/unicase/u32-casemap.c: Likewise.
30486
30487 2009-06-29  Bruno Haible  <bruno@clisp.org>
30488
30489         Define u32_casefold as a wrapper around u32_ct_casefold.
30490         * lib/unicase/u32-casefold.c: Update.
30491         * modules/unicase/u32-casefold (Depends-on): Add
30492         unicase/u32-ct-casefold, unicase/empty-prefix-context,
30493         unicase/empty-suffix-context. Clean up.
30494
30495         Define u16_casefold as a wrapper around u16_ct_casefold.
30496         * lib/unicase/u16-casefold.c: Update.
30497         * modules/unicase/u16-casefold (Depends-on): Add
30498         unicase/u16-ct-casefold, unicase/empty-prefix-context,
30499         unicase/empty-suffix-context. Clean up.
30500
30501         Define u8_casefold as a wrapper around u8_ct_casefold.
30502         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
30503         * lib/unicase/u8-casefold.c: Update.
30504         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
30505         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
30506
30507         Define u32_totitle as a wrapper around u32_ct_totitle.
30508         * lib/unicase/u32-totitle.c: Update.
30509         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
30510         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
30511
30512         Define u16_totitle as a wrapper around u16_ct_totitle.
30513         * lib/unicase/u16-totitle.c: Update.
30514         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
30515         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
30516
30517         Define u8_totitle as a wrapper around u8_ct_totitle.
30518         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
30519         functions.
30520         (FUNC): Delegate to U_CT_TOTITLE.
30521         * lib/unicase/u8-totitle.c: Update.
30522         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
30523         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
30524
30525         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
30526         invocation.
30527         * modules/unicase/u32-tolower (Depends-on): Add
30528         unicase/empty-prefix-context, unicase/empty-suffix-context.
30529
30530         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
30531         invocation.
30532         * modules/unicase/u16-tolower (Depends-on): Add
30533         unicase/empty-prefix-context, unicase/empty-suffix-context.
30534
30535         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
30536         * modules/unicase/u8-tolower (Depends-on): Add
30537         unicase/empty-prefix-context, unicase/empty-suffix-context.
30538
30539         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
30540         invocation.
30541         * modules/unicase/u32-toupper (Depends-on): Add
30542         unicase/empty-prefix-context, unicase/empty-suffix-context.
30543
30544         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
30545         invocation.
30546         * modules/unicase/u16-toupper (Depends-on): Add
30547         unicase/empty-prefix-context, unicase/empty-suffix-context.
30548
30549         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
30550         * modules/unicase/u8-toupper (Depends-on): Add
30551         unicase/empty-prefix-context, unicase/empty-suffix-context.
30552
30553         New module 'unicase/u32-ct-casefold'.
30554         * lib/unicase/u32-ct-casefold.c: New file.
30555         * modules/unicase/u32-ct-casefold: New file.
30556
30557         New module 'unicase/u16-ct-casefold'.
30558         * lib/unicase/u16-ct-casefold.c: New file.
30559         * modules/unicase/u16-ct-casefold: New file.
30560
30561         New module 'unicase/u8-ct-casefold'.
30562         * lib/unicase/u8-ct-casefold.c: New file.
30563         * lib/unicase/u-ct-casefold.h: New file, derived from
30564         lib/unicase/u-casefold.h.
30565         * modules/unicase/u8-ct-casefold: New file.
30566
30567         New module 'unicase/u32-ct-totitle'.
30568         * lib/unicase/u32-ct-totitle.c: New file.
30569         * modules/unicase/u32-ct-totitle: New file.
30570
30571         New module 'unicase/u16-ct-totitle'.
30572         * lib/unicase/u16-ct-totitle.c: New file.
30573         * modules/unicase/u16-ct-totitle: New file.
30574
30575         New module 'unicase/u8-ct-totitle'.
30576         * lib/unicase/u8-ct-totitle.c: New file.
30577         * lib/unicase/u-ct-totitle.h: New file, derived from
30578         lib/unicase/u-totitle.h.
30579         * modules/unicase/u8-ct-totitle: New file.
30580
30581         New module 'unicase/u32-ct-tolower'.
30582         * lib/unicase/u32-ct-tolower.c: New file.
30583         * modules/unicase/u32-ct-tolower: New file.
30584
30585         New module 'unicase/u16-ct-tolower'.
30586         * lib/unicase/u16-ct-tolower.c: New file.
30587         * modules/unicase/u16-ct-tolower: New file.
30588
30589         New module 'unicase/u8-ct-tolower'.
30590         * lib/unicase/u8-ct-tolower.c: New file.
30591         * modules/unicase/u8-ct-tolower: New file.
30592
30593         New module 'unicase/u32-ct-toupper'.
30594         * lib/unicase/u32-ct-toupper.c: New file.
30595         * modules/unicase/u32-ct-toupper: New file.
30596
30597         New module 'unicase/u16-ct-toupper'.
30598         * lib/unicase/u16-ct-toupper.c: New file.
30599         * modules/unicase/u16-ct-toupper: New file.
30600
30601         New module 'unicase/u8-ct-toupper'.
30602         * lib/unicase/u8-ct-toupper.c: New file.
30603         * modules/unicase/u8-ct-toupper: New file.
30604
30605         Add context arguments to u*_casemap functions.
30606         * lib/unicase/unicasemap.h: Include unicase.h.
30607         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
30608         suffix_context arguments.
30609         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
30610         functions.
30611         (FUNC): Add prefix_context and suffix_context arguments. Use
30612         uc_is_cased and uc_is_case_ignorable.
30613         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
30614         * lib/unicase/u16-casemap.c: Likewise.
30615         * lib/unicase/u32-casemap.c: Likewise.
30616         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
30617         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
30618         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
30619         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
30620         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
30621         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
30622
30623         New module 'unicase/u32-suffix-context'.
30624         * lib/unicase/u32-suffix-context.c: New file.
30625         * modules/unicase/u32-suffix-context: New file.
30626
30627         New module 'unicase/u16-suffix-context'.
30628         * lib/unicase/u16-suffix-context.c: New file.
30629         * modules/unicase/u16-suffix-context: New file.
30630
30631         New module 'unicase/u8-suffix-context'.
30632         * lib/unicase/u8-suffix-context.c: New file.
30633         * lib/unicase/u-suffix-context.h: New file.
30634         * modules/unicase/u8-suffix-context: New file.
30635
30636         New module 'unicase/empty-suffix-context'.
30637         * lib/unicase/empty-suffix-context.c: New file.
30638         * modules/unicase/empty-suffix-context: New file.
30639
30640         New module 'unicase/u32-prefix-context'.
30641         * lib/unicase/u32-prefix-context.c: New file.
30642         * modules/unicase/u32-prefix-context: New file.
30643
30644         New module 'unicase/u16-prefix-context'.
30645         * lib/unicase/u16-prefix-context.c: New file.
30646         * modules/unicase/u16-prefix-context: New file.
30647
30648         New module 'unicase/u8-prefix-context'.
30649         * lib/unicase/u8-prefix-context.c: New file.
30650         * lib/unicase/u-prefix-context.h: New file.
30651         * lib/unicase/context.h: New file.
30652         * modules/unicase/u8-prefix-context: New file.
30653
30654         New module 'unicase/empty-prefix-context'.
30655         * lib/unicase/empty-prefix-context.c: New file.
30656         * modules/unicase/empty-prefix-context: New file.
30657
30658         New module 'unicase/ignorable'.
30659         * lib/unicase/ignorable.c: New file.
30660         * modules/unicase/ignorable: New file.
30661
30662         New module 'unicase/cased'.
30663         * lib/unicase/caseprop.h: New file.
30664         * lib/unicase/cased.c: New file.
30665         * modules/unicase/cased: New file.
30666
30667         New functions for case mapping of substrings.
30668         * lib/unicase.h (casing_prefix_context_t): New type.
30669         (unicase_empty_prefix_context): New variable.
30670         (u8_casing_prefix_context, u16_casing_prefix_context,
30671         u32_casing_prefix_context, u8_casing_prefixes_context,
30672         u16_casing_prefixes_context, u32_casing_prefixes_context): New
30673         declarations.
30674         (casing_suffix_context_t): New type.
30675         (unicase_empty_suffix_context): New variable.
30676         (u8_casing_suffix_context, u16_casing_suffix_context,
30677         u32_casing_suffix_context, u8_casing_suffixes_context,
30678         u16_casing_suffixes_context, u32_casing_suffixes_context,
30679         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
30680         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
30681         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
30682         declarations.
30683
30684 2009-06-28  Jim Meyering  <meyering@redhat.com>
30685
30686         boostrap: indent only with spaces
30687         * build-aux/bootstrap: Indent only with spaces, never TABs.
30688
30689         bootstrap: split long lines
30690         * build-aux/bootstrap: Keep line length < 80.
30691
30692         bootstrap: sync from coreutils
30693         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
30694         just as autoreconf does.  Verify a list of prerequisite
30695         package-name,version-number pairs if defined in bootstrap.conf.
30696         Refer to README-prereq, if prerequisites are not satisfied.
30697
30698 2009-06-27  Eric Blake  <ebb9@byu.net>
30699
30700         tests: add test for bogus NULL definition
30701         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
30702         * tests/test-stdlib.c: Likewise.
30703         * tests/test-string.c: Likewise.
30704         * tests/test-locale.c: Likewise.
30705         * tests/test-unistd.c: Likewise.
30706         * modules/stdio-tests (Depends-on): Add verify.
30707         * modules/stdlib-tests (Depends-on): Likewise.
30708         * modules/string-tests (Depends-on): Likewise.
30709         * modules/locale-tests (Depends-on): Likewise.
30710         * modules/unistd-tests (Depends-on): Likewise.
30711
30712 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
30713
30714         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
30715         self-explaining comment.
30716         * m4/selinux-selinux-h: Update serial.
30717         (gl_LIBSELINUX): New macro, adding a warning for missing development
30718         packages to code extracted from...
30719         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
30720         Add warning for missing development packages here, too.
30721
30722 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
30723
30724         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
30725
30726 2009-06-25  Eric Blake  <ebb9@byu.net>
30727
30728         version-etc: fix regression
30729         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
30730         gcc.
30731         (version_etc): Use it, to catch bugs with trailing NULL.
30732         * lib/version-etc.c (version_etc_arn): Delete unused argument.
30733         (version_etc_va): Fix logic bug.
30734         * modules/version-etc-tests: Add test.
30735         * tests/test-version-etc.c: New file.
30736         * tests/test-version-etc.sh: Likewise.
30737
30738 2009-06-25  Sam Steingold  <sds@gnu.org>
30739
30740         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
30741         mbtowc declaration.
30742
30743 2009-06-25  Eric Blake  <ebb9@byu.net>
30744
30745         fpurge: migrate into <stdio.h>
30746         * lib/fpurge.h: Delete...
30747         * lib/stdio.in.h (fpurge): ...and declare here, instead.
30748         * lib/fpurge.c (fpurge): Change declaring header.
30749         * modules/fpurge (Files): Drop deleted file.
30750         (Depends-on): Add stdio.
30751         (configure.ac): Set witness.
30752         * modules/stdio (Makefile.am): Support fpurge macros.
30753         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
30754         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
30755         * lib/fflush.c: Update client.
30756         * tests/test-fpurge.c: Likewise.
30757         * NEWS: Mention the change.
30758
30759 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
30760
30761         * lib/argp-version-etc.c (program_authors): Add const
30762         qualifier.
30763         * lib/version-etc.c: Fix typos in the comments.
30764         * modules/argp-version-etc: Depends on version-etc.
30765
30766 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
30767
30768         argp-version-etc: new module.
30769
30770         * lib/argp-version-etc.c: New file.
30771         * lib/argp-version-etc.h: New file.
30772         * modules/argp-version-etc: New file.
30773         * modules/argp-version-etc-tests: New file.
30774         * tests/test-argp-version-etc.c: New test.
30775         * tests/test-argp-version-etc-1.sh: New test.
30776
30777 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
30778
30779         Provide additional interfaces and documentation for version-etc
30780         module.
30781
30782         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
30783         interfaces.
30784         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
30785         prototypes.
30786
30787 2009-06-24  Bruno Haible  <bruno@clisp.org>
30788
30789         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
30790         HAVE_LIB${NAME} macro.
30791         Reported by Sam Steingold <sds@gnu.org>.
30792
30793 2009-06-23  Simon Josefsson  <simon@josefsson.org>
30794
30795         * modules/hash-tests (test_hash_LDADD): Link to libintl when
30796         needed.
30797
30798 2009-06-21  Bruno Haible  <bruno@clisp.org>
30799
30800         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
30801         work.
30802         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
30803         together with LIB${NAME}, LTLIB${NAME}.
30804         Reported by Sam Steingold <sds@gnu.org>.
30805
30806 2009-06-20  Jim Meyering  <meyering@redhat.com>
30807
30808         tests: make sc_require_test_exit_idiom more generic
30809         * top/maint.mk (Exit_witness_file): New overridable variable.
30810         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
30811         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
30812
30813 2009-06-19  Jim Meyering  <meyering@redhat.com>
30814
30815         hash: reverse order of src/dst parameters in an internal interface
30816         * lib/hash.c (transfer_entries): Reverse order of parameters to
30817         put DST before SRC.  Adjust callers.
30818
30819         tests: test-hash: avoid wholesale duplication
30820         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
30821         Instead, use a loop and add a single conditional.
30822
30823         tests: test-hash: allow seed selection via a command line argument
30824         * tests/test-hash.c (get_seed): New function.
30825         (main): Use it.
30826
30827 2009-06-19  Eric Blake  <ebb9@byu.net>
30828
30829         hash: avoid memory leak on allocation failure
30830         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
30831         failure.  Factor repeated algorithm...
30832         (transfer_entries): ...into new helper routine.
30833         (hash_delete): React to hash_rehash return value.
30834
30835         hash: reduce memory pressure in hash_rehash no-op case
30836         * lib/hash.c (next_prime): Avoid overflow.
30837         (hash_initialize): Factor bucket size computation...
30838         (compute_bucket_size): ...into new helper function.
30839         (hash_rehash): Use new function and open coding to reduce memory
30840         pressure, and avoid a memory leak in USE_OBSTACK code.
30841         Reported by Jim Meyering.
30842
30843 2009-06-18  Eric Blake  <ebb9@byu.net>
30844
30845         hash: make rotation more obvious
30846         * modules/hash (Depends-on): Add bitrotate and stdint.
30847         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
30848         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
30849         (SIZE_MAX): Rely on headers for definition.
30850         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
30851         (raw_hasher): Use rotr_sz.
30852         Suggested by Jim Meyering.
30853
30854         hash: fix memory leak in last patch
30855         * lib/hash.c (hash_rehash): Avoid memory leak.
30856
30857         hash: avoid no-op rehashing
30858         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
30859
30860         hash: provide default callback functions
30861         * lib/hash.c (raw_hasher, raw_comparator): New functions.
30862         (hash_initialize): Use them as defaults.
30863         * tests/test-hash.c (main): Test this.
30864
30865         hash: minor optimization
30866         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
30867         when possible.
30868         (hash_initialize): Document this promise.
30869         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
30870         * tests/test-hash.c (hash_compare_strings): Test this.
30871
30872 2009-06-18  Bruno Haible  <bruno@clisp.org>
30873
30874         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
30875         going to be replaced anyway.
30876
30877 2009-06-18  Bruno Haible  <bruno@clisp.org>
30878
30879         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
30880         in one place.
30881         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
30882         be replaced anyway.
30883
30884 2009-06-18  Eric Blake  <ebb9@byu.net>
30885
30886         hash: check for resize before insertion
30887         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
30888         threshold before insertion, so that a pathological hash_rehash
30889         that fills every bucket can still trigger another rehash.
30890
30891 2009-06-18  Jim Meyering  <meyering@redhat.com>
30892
30893         hash-tests: add a loop around the small tests
30894         * tests/test-hash.c (main): Repeat small tests with selected
30895         small initial table sizes.
30896
30897 2009-06-17  Eric Blake  <ebb9@byu.net>
30898
30899         hash: minor cleanups
30900         * lib/hash.h (hash_entry): Make opaque, by moving...
30901         * lib/hash.c (hash_entry): ...here.
30902         (hash_insert): Clarify restrictions on what can be inserted.
30903         (hash_get_next): Clarify when it is safe to remove an element
30904         during traversal.
30905         (check_tuning): Skip verification when tuning is known safe.
30906         (hash_initialize): Clarify restrictions on tuning.
30907
30908 2009-06-17  Jim Meyering  <jim@meyering.net>
30909         and Eric Blake  <ebb9@byu.net>
30910
30911         hash-tests: new module
30912         * modules/hash-tests: New file.
30913         * tests/test-hash.c: New file.
30914
30915 2009-06-17  Eric Blake  <ebb9@byu.net>
30916
30917         strstr-simple: document new module
30918         * MODULES.html.sh: Document new module.
30919
30920         strstr, strcasestr: replace on platforms with broken memchr
30921         * modules/strstr: Split into...
30922         * modules/strstr-simple: ...new module that does not care about
30923         performance, but does care about glibc bug.
30924         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
30925         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
30926         if platform memchr is broken, per Debian bug 521737.
30927         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
30928         memchr.
30929         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
30930         * doc/posix-functions/strstr.texi (strstr): Document the fix.
30931         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
30932         * modules/mountlist (Depends-on): Add strstr-simple.
30933         * modules/gen-uni-tables (Depends-on): Likewise.
30934         * modules/argz (Depends-on): Add strstr.
30935
30936 2009-06-17  Bruno Haible  <bruno@clisp.org>
30937
30938         * modules/posix_spawn-internal (Depends-on): Add errno.
30939
30940 2009-06-17  Bruno Haible  <bruno@clisp.org>
30941
30942         Define missing ESTALE on Interix 3.5.
30943         * lib/errno.in.h (ESTALE): Assign a value if missing.
30944         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
30945         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
30946         missing.
30947         * doc/posix-headers/errno.texi: Mention the Interix bug.
30948         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
30949
30950 2009-06-15  Eric Blake  <ebb9@byu.net>
30951
30952         memchr, memchr2: add valgrind exception
30953         * lib/memchr.valgrind: New file.
30954         * lib/memchr2.valgrind: New file.
30955         * modules/memchr (Files): Distribute valgrind file.
30956         * modules/memchr2 (Files): Likewise.
30957
30958         docs: memchr is no longer obsolete
30959         * MODULES.html.sh: Move memchr from obsolete to string.h section.
30960         * lib/string.in.h (memchr): Simplify logic.
30961
30962 2009-06-14  Jim Meyering  <meyering@redhat.com>
30963
30964         link-follow: fix the "checking..." message to not mention trailing slash
30965         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
30966         never considered trailing slashes.
30967
30968 2009-06-14  Bruno Haible  <bruno@clisp.org>
30969
30970         * m4/memchr.m4: Mention also the bug on IA-64.
30971         * doc/posix-functions/memchr.texi: Likewise.
30972
30973 2009-06-12  Eric Blake  <ebb9@byu.net>
30974
30975         memchr: detect broken x86_64 and alpha implementations
30976         * modules/memchr-tests (Depends-on): Move mmap detection...
30977         * modules/memchr (Depends-on): ...here.
30978         (configure.ac): Set indicator.
30979         * lib/string.in.h (memchr): Declare replacement.
30980         * modules/string (Makefile.am): Trigger replacement.
30981         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
30982         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
30983         bugs.
30984         * doc/posix-functions/memchr.texi (memchr): Document the bug.
30985         * modules/getpagesize (License): Relax license.
30986
30987 2009-06-11  Bruno Haible  <bruno@clisp.org>
30988
30989         * lib/idpriv.h: Add more references.
30990
30991 2009-06-08  Bruno Haible  <bruno@clisp.org>
30992
30993         Tests for module 'idpriv-droptemp'.
30994         * modules/idpriv-droptemp-tests: New file.
30995         * tests/test-idpriv-droptemp.sh: New file.
30996         * tests/test-idpriv-droptemp.su.sh: New file.
30997         * tests/test-idpriv-droptemp.c: New file.
30998
30999         New module 'idpriv-droptemp'.
31000         * lib/idpriv-droptemp.c: New file.
31001         * modules/idpriv-droptemp: New file.
31002
31003 2009-06-08  Bruno Haible  <bruno@clisp.org>
31004
31005         Tests for module 'idpriv-drop'.
31006         * modules/idpriv-drop-tests: New file.
31007         * tests/test-idpriv-drop.sh: New file.
31008         * tests/test-idpriv-drop.su.sh: New file.
31009         * tests/test-idpriv-drop.c: New file.
31010
31011         New module 'idpriv-drop'.
31012         * lib/idpriv.h: New file.
31013         * lib-idpriv-drop.c: New file.
31014         * m4/idpriv.m4: New file.
31015         * modules/idpriv-drop: New file.
31016
31017 2009-06-08  Bruno Haible  <bruno@clisp.org>
31018
31019         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
31020         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
31021         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
31022         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
31023         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
31024         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
31025         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
31026
31027 2009-06-08  Eric Blake  <ebb9@byu.net>
31028
31029         test-strstr: use memory fence, when possible
31030         * tests/test-strstr.c (main): Use memory fence, in order to be
31031         more likely to trigger Debian bug 521737.
31032         * modules/strstr-tests (Files): Pull in additional files.
31033
31034         memchr: no longer obsolete, for wider field testing
31035         * modules/memchr (Status, Notice): Delete, this module is no
31036         longer obsolete.
31037         * modules/vasnprintf (Depends-on): Add memchr.
31038
31039 2009-06-07  Jim Meyering  <meyering@redhat.com>
31040
31041         hash: declare some functions with the warn_unused_result attribute
31042         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
31043
31044 2009-06-07  Bruno Haible  <bruno@clisp.org>
31045
31046         * tests/test-alignof.c: Don't test int64_t if it does not exist.
31047         Reported by Eric Blake.
31048
31049 2009-06-06  Eric Blake  <ebb9@byu.net>
31050
31051         test-alignof: fix typo with long double
31052         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
31053         compiler error.
31054
31055 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
31056
31057         Escape non-texinfo { and }s.
31058         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
31059         markup error.
31060
31061 2009-06-04  Jim Meyering  <meyering@redhat.com>
31062
31063         gitlog-to-changelog: don't infloop on an empty commit log
31064         * build-aux/gitlog-to-changelog: Warn about an empty log message.
31065         Reported by Boris Petersen <transacid@centerim.org>.
31066
31067 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
31068
31069         version-etc: extend for packagers
31070         Add three new configure options, intended for packagers:
31071           --with-packager="packager name"
31072           --with-packager-version="packager-specific version"
31073           --with-packager-bug-reports="packager bug reporting"
31074         An example with coreutils:
31075           $ ./configure \
31076             --with-packager=Gentoo \
31077             --with-packager-bug-report=http://bugs.gentoo.org/ \
31078             --with-packager-version="patchset 1.6"
31079           $ ./src/ls --version | head -n2
31080           ls (GNU coreutils) 7.1-dirty
31081           Packaged by Gentoo (patchset 1.6)
31082         Note that the bug reporting info via --help doesn't show up because
31083         coreutils uses its own custom emit_bug_reporting_address() implementation
31084         in src/system.h.  If it didn't, it'd look like:
31085           $ ./src/ls --help | tail -n4
31086           Report bugs to <bug-coreutils@gnu.org>.
31087           Report Gentoo bugs to <http://bugs.gentoo.org/>.
31088           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
31089           General help using GNU software: <http://www.gnu.org/gethelp/>.
31090         * lib/version-etc.c: Print new information, if provided.
31091         * m4/version-etc.m4: New file.
31092         * modules/version-etc (Files): Add m4/version-etc.m4.
31093         (configure.ac): Add gl_VERSION_ETC.
31094
31095 2009-05-31  Bruno Haible  <bruno@clisp.org>
31096
31097         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
31098         and 'int64_t'.
31099         * modules/alignof-tests (Dependencies): Add stdint.
31100         Reported by Eric Blake.
31101
31102 2009-05-31  Bruno Haible  <bruno@clisp.org>
31103
31104         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
31105         restriction due to compiler bugs.
31106         Reported by Eric Blake.
31107
31108 2009-05-31  Simon Josefsson  <simon@josefsson.org>
31109             Bruno Haible  <bruno@clisp.org>
31110
31111         Fix test-alignof failure.
31112         * lib/alignof.h (alignof_slot): New macro.
31113         (alignof_type): New macro, with the same semantics as the previous
31114         'alignof'.
31115         (alignof): Alias to alignof_slot.
31116         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
31117         check that the results are usable as constant expressions.
31118
31119 2009-05-31  Bruno Haible  <bruno@clisp.org>
31120
31121         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
31122         * tests/test-memchr.c (main): Check that memchr does not read past the
31123         first occurrence of the byte.
31124         * tests/test-strstr.c (main): Update comment.
31125         Suggested by Eric Blake.
31126
31127 2009-05-30  Bruno Haible  <bruno@clisp.org>
31128
31129         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
31130         detail how to use dumpbin.
31131         Reported by David Byron <dbyron@dbyron.com>.
31132
31133 2009-06-02  Simon Josefsson  <simon@josefsson.org>
31134
31135         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
31136
31137 2009-06-02  Simon Josefsson  <simon@josefsson.org>
31138
31139         * m4/manywarnings.m4: Add GCC 4.4 warnings.
31140
31141 2009-05-28  Bruno Haible  <bruno@clisp.org>
31142
31143         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
31144         build-aux/ files.
31145
31146 2009-05-28  Simon Josefsson  <simon@josefsson.org>
31147
31148         * gnulib-tool (func_import): Transform license on build-aux/ files too.
31149
31150 2009-05-27  Simon Josefsson  <simon@josefsson.org>
31151
31152         * gnulib-tool (sed_transform_main_lib_file)
31153         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
31154         regexps.
31155
31156 2009-05-26  Simon Josefsson  <simon@josefsson.org>
31157
31158         * tests/test-strstr.c: Add another self-test.
31159         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
31160         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
31161
31162 2009-05-23  Bruno Haible  <bruno@clisp.org>
31163
31164         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
31165         change.
31166
31167 2009-05-21  Bruno Haible  <bruno@clisp.org>
31168
31169         Simplify use of mode_t varargs.
31170         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
31171         uses 'mode_t' or 'int'.
31172         * lib/openat.c (openat): Likewise.
31173         * lib/open-safer.c (open_safer): Likewise.
31174         * m4/mode_t.m4: New file.
31175         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
31176         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
31177         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
31178         * modules/open (Files): Add m4/mode_t.m4.
31179         * modules/openat (Files): Likewise.
31180         * modules/fcntl-safer (Files): Likewise.
31181         Suggested by Eric Blake.
31182
31183 2009-05-21  Pádraig Brady  <P@draigbrady.com>
31184
31185         * doc/glibc-functions/fallocate.texi: New file.
31186         * doc/gnulib.texi: Include it.
31187
31188 2009-05-21  Eric Blake  <ebb9@byu.net>
31189             Bruno Haible  <bruno@clisp.org>
31190
31191         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
31192         invocations.
31193         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
31194
31195 2009-05-21  Eric Blake  <ebb9@byu.net>
31196             Bruno Haible  <bruno@clisp.org>
31197
31198         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
31199         include_next. Fix of 2008-11-20 commit.
31200         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
31201         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
31202         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
31203         NEXT_MATH_H.
31204         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
31205         instead of NEXT_MATH_H.
31206
31207 2009-05-21  Bruno Haible  <bruno@clisp.org>
31208
31209         Avoid redefinition warnings for SIZE_MAX.
31210         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
31211         Reported by Simon Josefsson.
31212
31213 2009-05-21  Bruno Haible  <bruno@clisp.org>
31214
31215         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
31216         AC_CACHE_VAL.
31217
31218 2009-05-20  Bruno Haible  <bruno@clisp.org>
31219
31220         Make zeroptr.h work on mingw.
31221         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
31222         mprotect.
31223         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
31224         * modules/memchr2-tests (configure.ac): Likewise.
31225         * modules/memcmp-tests (configure.ac): Likewise.
31226         * modules/memmem-tests (configure.ac): Likewise.
31227         * modules/memrchr-tests (configure.ac): Likewise.
31228         Reported by Simon Josefsson.
31229
31230 2009-05-20  Simon Josefsson  <simon@josefsson.org>
31231
31232         * tests/test-glob.c: Include string.h for strcmp prototype.
31233
31234 2009-05-20  Simon Josefsson  <simon@josefsson.org>
31235
31236         * modules/getdelim (Depends-on): Add explicit stdint, although it
31237         was implicitly already pulled in via realloc-posix.
31238         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
31239
31240 2009-05-20  Simon Josefsson  <simon@josefsson.org>
31241
31242         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
31243         G. Christensen" <tgc@jupiterrise.com>.
31244         * m4/sys_socket_h.m4: Check for sa_family_t.
31245         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
31246         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
31247         * tests/test-sys_socket.c: Check that sa_family_t works.
31248
31249 2009-05-18  Eric Blake  <ebb9@byu.net>
31250
31251         maint.mk: allow gnulib_dir in VPATH build
31252         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
31253
31254 2009-05-15  Jim Meyering  <meyering@redhat.com>
31255
31256         maint.mk: Give gnulib_dir a default definition.
31257         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
31258         Thus, most packages no longer need to specify this variable in cfg.mk
31259
31260 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
31261
31262         rename.m4: fix typos that would make non-mingw cross-configure fail
31263         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
31264
31265 2009-05-13  Eric Blake  <ebb9@byu.net>
31266
31267         mmap-anon: avoid out-of-order autoconf expansion
31268         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
31269         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
31270         * modules/memchr-tests (Depends-on): Add extensions.
31271         * modules/memchr2-tests (Depends-on): Add extensions.
31272         * modules/memcmp-tests (Depends-on): Add extensions.
31273         * modules/memmem-tests (Depends-on): Add extensions.
31274         * modules/memrchr-tests (Depends-on): Add extensions.
31275
31276 2009-05-13  Bruno Haible  <bruno@clisp.org>
31277
31278         Make some tests ISO C 99 compliant.
31279         * tests/zerosize-ptr.h: New file.
31280         * tests/test-memchr.c: Include zerosize-ptr.h.
31281         (main): Use a zero-size object pointer instead of NULL.
31282         * tests/test-memchr2.c: Include zerosize-ptr.h.
31283         (main): Use a zero-size object pointer instead of NULL.
31284         * tests/test-memcmp.c: Include zerosize-ptr.h.
31285         (main): Use a zero-size object pointer instead of NULL.
31286         * tests/test-memmem.c: Include zerosize-ptr.h.
31287         (main): Use a zero-size object pointer instead of NULL.
31288         * tests/test-memrchr.c: Include zerosize-ptr.h.
31289         (main): Use a zero-size object pointer instead of NULL.
31290         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
31291         m4/mmap-anon.m4.
31292         (Depends-on): Add getpagesize.
31293         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
31294         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
31295         m4/mmap-anon.m4.
31296         (Depends-on): Add getpagesize.
31297         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
31298         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
31299         m4/mmap-anon.m4.
31300         (Depends-on): Add getpagesize.
31301         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
31302         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
31303         m4/mmap-anon.m4.
31304         (Depends-on): Add getpagesize.
31305         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
31306         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
31307         m4/mmap-anon.m4.
31308         (Depends-on): Add getpagesize.
31309         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
31310
31311 2009-05-12  Bruno Haible  <bruno@clisp.org>
31312
31313         Tests for module 'alignof'.
31314         * modules/alignof-tests: New file.
31315         * tests/test-alignof.c: New file.
31316
31317 2009-05-12  Bruno Haible  <bruno@clisp.org>
31318
31319         Fix alignof macro.
31320         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
31321         vendor compilers that are always correct.
31322
31323 2009-05-12  Bruno Haible  <bruno@clisp.org>
31324
31325         Make the MAP_ANONYMOUS detection work on HP-UX 11.
31326         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
31327         not whether its fully works.
31328
31329 2009-05-12  Bruno Haible  <bruno@clisp.org>
31330
31331         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
31332
31333 2009-05-12  Jim Meyering  <meyering@redhat.com>
31334
31335         * top/maint.mk: Adjust backslash alignment.
31336
31337 2009-05-11  Simon Josefsson  <simon@josefsson.org>
31338
31339         * top/maint.mk: Make $(srcdir)/build-aux configurable.
31340
31341 2009-05-11  Eric Blake  <ebb9@byu.net>
31342
31343         argp: avoid undefined behavior
31344         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
31345         macros.
31346
31347 2009-05-08  Simon Josefsson  <simon@josefsson.org>
31348
31349         * tests/test-vc-list-files-git.sh: Do git config of user.email and
31350         user.name to prevent git commit from complaining.
31351
31352 2009-05-10  Bruno Haible  <bruno@clisp.org>
31353
31354         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
31355         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
31356         it rewrites every file name only once.
31357         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
31358
31359 2009-05-08  Bruno Haible  <bruno@clisp.org>
31360
31361         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
31362         instead of 'max'.
31363
31364 2009-05-08  Simon Josefsson  <simon@josefsson.org>
31365
31366         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
31367         sockaddr_storage test.
31368
31369 2009-05-07  Simon Josefsson  <simon@josefsson.org>
31370
31371         * modules/sys_socket (Makefile.am): Substitute
31372         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
31373         * m4/sys_socket_h.m4: Check for sockaddr_storage.
31374         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
31375         * tests/test-sys_socket.c: Check sockaddr_storage.
31376
31377 2009-05-08  Bruno Haible  <bruno@clisp.org>
31378
31379         New module 'alignof'.
31380         * lib/alignof.h: New file.
31381         * modules/alignof: New file.
31382
31383 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
31384             Bruno Haible  <bruno@clisp.org>
31385
31386         Fix test-file-has-acl on FreeBSD.
31387         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
31388         mask is implicitly added.
31389         * tests/test-file-has-acl.c: Include <signal.h>.
31390         (main): Terminate the test after 5 seconds.
31391         * modules/acl-tests (configure.ac): Check for alarm function.
31392
31393 2009-05-04  Bruno Haible  <bruno@clisp.org>
31394
31395         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
31396         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
31397         * modules/errno (configure.ac): Drop AC_REQUIRE.
31398         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
31399         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
31400
31401 2009-05-04  Simon Josefsson  <simon@josefsson.org>
31402
31403         * modules/glob-tests: New module.
31404         * tests/test-glob.c: Add.
31405
31406 2009-05-04  Simon Josefsson  <simon@josefsson.org>
31407
31408         * modules/fnmatch-tests: New module.
31409         * tests/test-fnmatch.c: Add.
31410
31411 2009-05-04  Eric Blake  <ebb9@byu.net>
31412
31413         maint: make the new no-submodule-changes rule VPATH-safe
31414         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
31415
31416 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
31417             Bruno Haible  <bruno@clisp.org>
31418
31419         acl: Fix infinite loop on FreeBSD.
31420         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
31421         of return value from acl_get_entry.
31422         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
31423         Likewise.
31424
31425 2009-05-03  Bruno Haible  <bruno@clisp.org>
31426
31427         * lib/acl-internal.h (acl_entries): Clarify return value.
31428         * lib/acl_entries.c (acl_entries): Likewise.
31429
31430 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
31431
31432         Bug fix in acl module.
31433         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
31434
31435 2009-05-03  Bruno Haible  <bruno@clisp.org>
31436
31437         Create gperf-generated file in the source dir, not in the build dir.
31438         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
31439         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
31440         * modules/unicase/locale-language (unicase/locale-languages.h):
31441         Likewise.
31442         * modules/unicase/special-casing (unicase/special-casing-table.h):
31443         Likewise.
31444         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
31445         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
31446         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
31447         Reported by Ralf Wildenhues.
31448
31449 2009-05-03  Bruno Haible  <bruno@clisp.org>
31450
31451         * modules/fnmatch (Description, configure.ac): Taken from
31452         fnmatch-posix.
31453         * modules/fnmatch-posix: Turn into a symbolic reference to the
31454         'fnmatch' module, and deprecate.
31455         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
31456
31457 2009-05-03  Bruno Haible  <bruno@clisp.org>
31458
31459         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
31460         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
31461         Reported by Ralf Wildenhues.
31462
31463 2009-05-04  Simon Josefsson  <simon@josefsson.org>
31464
31465         * m4/fnmatch.m4: Fix fnmatch re-define.
31466
31467 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
31468
31469         priv-set: new module and tests; adapt write-any-file
31470         * lib/priv-set.c: New file.
31471         * lib/priv-set.h: New file.
31472         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
31473         * lib/write-any-file.c: Simplify by using priv-set module.
31474         * m4/priv-set.m4: New file.
31475         * modules/priv-set: New file.
31476         * modules/unlinkdir: Add dependency on priv-set module.
31477         * modules/write-any-file: Likewise.
31478
31479         Tests for module 'priv-set'.
31480         * modules/priv-set-tests: New file.
31481         * tests/test-priv-set.c: New file.
31482
31483 2009-05-03  Jim Meyering  <meyering@redhat.com>
31484             Bruno Haible  <bruno@clisp.org>
31485
31486         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
31487         use the converted UTF-8 variant of the name instead.
31488
31489 2009-05-03  Jim Meyering  <meyering@redhat.com>
31490
31491         tests: tighten some getdate tests
31492         * tests/test-getdate.c (main): Tighten tests: require equality,
31493         not just greater than.  Set TZ envvar to UTC0.
31494
31495 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
31496
31497         getdate: correctly interpret "next monday" when run on a Monday
31498         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
31499         that e.g., "next tues" (when run on a tuesday) results in a date
31500         that is one week in the future, and not today's date.
31501         I.e., add a week when the wday is the same as the current one.
31502         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
31503         and earlier by Martin Bernreuther and Jan Minář.
31504         * tests/test-getdate.c (main): Check that "next DAY" is always in
31505         the future and that "last DAY" is always in the past.
31506
31507 2009-05-02  Jim Meyering  <meyering@redhat.com>
31508
31509         build: ensure that a release build fails when a submodule is unclean
31510         * top/maint.mk (no-submodule-changes): New rule.
31511         (alpha beta major): Depend on it.
31512
31513 2009-05-02  Bruno Haible  <bruno@clisp.org>
31514
31515         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
31516         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
31517         shell variable gl_fnmatch_required to detect which variant is
31518         requested.
31519         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
31520         gl_FUNC_FNMATCH_POSIX.
31521         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
31522         exclude fnmatch-posix.
31523
31524 2009-05-02  Bruno Haible  <bruno@clisp.org>
31525
31526         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
31527         * modules/mbsrtowcs (License): Change to LGPLv2+.
31528         * modules/strnlen1 (License): Likewise.
31529         Reported by Simon Josefsson.
31530
31531 2009-05-02  Bruno Haible  <bruno@clisp.org>
31532
31533         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
31534         "cross".
31535         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
31536         gnulib-tool was called with option --source-base=lib.
31537
31538 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31539
31540         Use automake *-local hooks without commands, for extensibility.
31541         * modules/localcharset (Makefile.am): Rename install-exec-local
31542         rule to install-exec-localcharset, and make it a prerequisite of
31543         install-exec-local.  Likewise, rename the uninstall-local rule to
31544         uninstall-localcharset, and make it a prerequisite of the former.
31545
31546 2009-05-01  Bruno Haible  <bruno@clisp.org>
31547
31548         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
31549         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
31550         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
31551         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
31552         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
31553         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
31554         m4/locale-zh.m4, m4/codeset.m4.
31555
31556         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
31557         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
31558         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
31559         m4/locale-zh.m4.
31560
31561         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
31562         REPLACE_WCRTOMB if mbstate_t must be replaced.
31563         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
31564         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
31565
31566 2009-05-01  Bruno Haible  <bruno@clisp.org>
31567
31568         Avoid compiler warnings when redefining macros defined by <libintl.h>.
31569         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
31570         dngettext, dcngettext, textdomain, bindtextdomain,
31571         bind_textdomain_codeset): Undefine before redefining.
31572
31573 2009-04-30  Bruno Haible  <bruno@clisp.org>
31574
31575         Fix bug introduced on 2009-04-25.
31576         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
31577         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
31578         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
31579         is defined.
31580         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
31581         is defined.
31582         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
31583         is defined.
31584         Reported by Elbert_Pol <elbert.pol@gmail.com>.
31585
31586 2009-04-28  Bruno Haible  <bruno@clisp.org>
31587
31588         Comment tweaks.
31589         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
31590         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
31591         * lib/unicase.h (u*_casexfrm): Likewise.
31592         Reported by Paolo Bonzini.
31593
31594 2009-04-28  Bruno Haible  <bruno@clisp.org>
31595
31596         Fix a compilation error.
31597         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
31598         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
31599         Reported by Jim Meyering.
31600
31601 2009-04-27  Bruno Haible  <bruno@clisp.org>
31602
31603         New module 'libunistring'.
31604         * modules/libunistring: New file.
31605         * m4/libunistring.m4: New file.
31606         * MODULES.html.sh (Unicode string functions): Add it.
31607
31608 2009-04-27  Eric Blake  <ebb9@byu.net>
31609
31610         maint.mk: allow package-specific header to provide <config.h>
31611         * top/maint.mk (sc_require_config_h): New variable.
31612         (sc_require_config_h, sc_require_config_h_first): Use it.
31613
31614 2009-04-27  Simon Josefsson  <simon@josefsson.org>
31615
31616         * top/maint.mk (sc_avoid_if_before_free): Except
31617         useless-if-before-free script.
31618
31619 2009-04-27  Eric Blake  <ebb9@byu.net>
31620
31621         maintainer-makefile: depend on all required helper scripts
31622         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
31623         useless-if-before-free.
31624         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
31625         version, rather than assuming gnulib checkout is available.
31626         Reported by Simen Josefsson.
31627
31628 2009-04-26  Bruno Haible  <bruno@clisp.org>
31629
31630         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
31631         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
31632         "../" or "..".
31633
31634 2009-04-26  Bruno Haible  <bruno@clisp.org>
31635
31636         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
31637         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
31638         AC_LIB_HAVE_LINKFLAGS.
31639
31640 2009-04-26  Bruno Haible  <bruno@clisp.org>
31641
31642         Simplify calling convention of u*_conv_from_encoding.
31643         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
31644         u32_conv_from_encoding): Expect a resultbuf argument and return the
31645         result directly as a pointer.
31646         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
31647         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
31648         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
31649         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
31650         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
31651         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
31652         Update.
31653         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
31654         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
31655         * lib/vasnprintf.c (VASNPRINTF): Update.
31656         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
31657         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
31658         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
31659         * NEWS: Mention the change.
31660
31661 2009-04-26  Bruno Haible  <bruno@clisp.org>
31662
31663         Simplify calling convention of u*_conv_to_encoding.
31664         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
31665         u32_conv_to_encoding): Expect a resultbuf argument and return the
31666         result directly as a pointer.
31667         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
31668         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
31669         freeing scaled_offsets if mem_iconveha failed.
31670         * lib/unicase/u-casexfrm.h (FUNC): Update.
31671         * lib/uninorm/u-normxfrm.h (FUNC): Update.
31672         * lib/vasnprintf.c (VASNPRINTF): Update.
31673         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
31674         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
31675         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
31676         * NEWS: Mention the change.
31677
31678 2009-04-26  Bruno Haible  <bruno@clisp.org>
31679
31680         Avoid test failures on AIX and OSF/1.
31681         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
31682         malloc(0).
31683         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
31684         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
31685         Likewise.
31686         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
31687         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
31688         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
31689         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
31690         * doc/posix-functions/malloc.texi: Document the portability problem
31691         related to malloc(0).
31692
31693 2009-04-26  Bruno Haible  <bruno@clisp.org>
31694
31695         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
31696         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
31697         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
31698
31699 2009-04-25  Bruno Haible  <bruno@clisp.org>
31700
31701         Avoid link error when creating a namespace clean library.
31702         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
31703         as macro with arguments if already defined as an alias.
31704         * lib/signbitf.c (gl_signbitf): Don't undefine.
31705         * lib/signbitd.c (gl_signbitd): Don't undefine.
31706         * lib/signbitl.c (gl_signbitl): Don't undefine.
31707
31708 2009-04-25  Jim Meyering  <meyering@redhat.com>
31709
31710         vc-list-files: fix another quoting bug
31711         * build-aux/vc-list-files: Avoid sed backslash expansion
31712         of pathological directory names.
31713
31714 2009-04-25  Eric Blake  <ebb9@byu.net>
31715
31716         vc-list-files: fix shell quoting error
31717         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
31718         timestamp.
31719
31720 2009-04-25  Jim Meyering  <meyering@redhat.com>
31721
31722         vc-list-files: restore lost functionality with subdir argument
31723         * build-aux/vc-list-files: When given a non-"." sub-directory
31724         argument, substitute the $dir/ prefix back onto each resulting name.
31725         Otherwise, coreutils' root_tests check would fail.
31726
31727 2009-04-24  Eric Blake  <ebb9@byu.net>
31728
31729         vc-list-files: ignore git symlinks
31730         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
31731         than ls-files, to ignore git symlinks.
31732
31733         maint.mk: import improvements from m4
31734         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
31735         (move_if_change): Delete unused macro.
31736         (news-date-check, vc-diff-check): Support VPATH builds.
31737         (announcement): Likewise.  Split --bootstrap-tools list...
31738         (boostrap-tools): ...into separate list, which can be overridden
31739         in cfg.mk.
31740         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
31741         requiring dependency on useless-if-before-free module.
31742         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
31743         Support VPATH builds.
31744
31745 2009-04-24  Jim Meyering  <meyering@redhat.com>
31746
31747         maint.mk: remove coreutils-specific rules and variables
31748         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
31749         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
31750         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
31751
31752         maint.mk: remove obsolete rule
31753         * top/maint.mk (rel-check): Remove rule.
31754         (WGET, WGETFLAGS): Remove now-unused variables.
31755
31756 2009-04-24  Simon Josefsson  <simon@josefsson.org>
31757
31758         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
31759         consistency.
31760
31761         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
31762         '$(PATH_SEPARATOR)' instead of ':'.
31763
31764 2009-04-24  Simon Josefsson  <simon@josefsson.org>
31765
31766         * lib/getopt1.c (main): Use 'const' for static array.
31767
31768 2009-04-24  Simon Josefsson  <simon@josefsson.org>
31769
31770         * top/maint.mk: Sync with coreutils.
31771         * NEWS: Explain incompatibilities.
31772
31773 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
31774             Bruno Haible  <bruno@clisp.org>
31775
31776         Fix cross-compilation results.
31777         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
31778         statement, as third argument of AC_TRY_RUN.
31779         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
31780         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
31781         Likewise.
31782         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
31783         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
31784         Likewise.
31785         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
31786         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
31787         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
31788
31789 2009-04-20  Bruno Haible  <bruno@clisp.org>
31790
31791         Avoid test failure on mingw.
31792         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
31793
31794 2009-04-20  Bruno Haible  <bruno@clisp.org>
31795
31796         Avoid compilation error on mingw.
31797         * modules/localename-tests (Depends-on): Add locale.
31798
31799 2009-04-19  Bruno Haible  <bruno@clisp.org>
31800
31801         Support for building a shared library on Windows platforms.
31802         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
31803         (main): Test the presence of UNINORM_NFC here.
31804         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
31805         (main): Test the presence of UNINORM_NFD here.
31806         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
31807         (main): Test the presence of UNINORM_NFKC here.
31808         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
31809         (main): Test the presence of UNINORM_NFKD here.
31810
31811 2009-04-19  Bruno Haible  <bruno@clisp.org>
31812
31813         Avoid a compiler warning.
31814         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
31815         Change type of variable 'sequence'.
31816
31817 2009-04-19  Bruno Haible  <bruno@clisp.org>
31818
31819         * modules/configmake (Makefile.am): When the contents of configmake.h
31820         does not change, arrange to preserve its modification time.
31821
31822 2009-04-17  Simon Josefsson  <simon@josefsson.org>
31823
31824         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
31825         gettext domain.
31826
31827 2009-04-16  Jim Meyering  <meyering@redhat.com>
31828
31829         useless-if-before-free: improve conversion code
31830         * build-aux/useless-if-before-free: Adjust code-in-comment to match
31831         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
31832
31833 2009-04-14  Bruno Haible  <bruno@clisp.org>
31834
31835         * modules/fcntl (Depends-on): Add extensions.
31836         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
31837
31838 2009-04-12  Ben Pfaff  <blp@gnu.org>
31839
31840         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
31841         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
31842
31843 2009-03-20  Ben Pfaff  <blp@gnu.org>
31844
31845         Make rename replace existing destinations on Windows.
31846         * m4/rename.m4: Add test for Mingw.
31847         * lib/rename.c: Add rename replacement that uses MoveFileEx with
31848         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
31849         * doc/posix-functions/rename.texi: Document.
31850
31851 2009-04-10  Bruno Haible  <bruno@clisp.org>
31852
31853         New include file "iconveh.h".
31854         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
31855         * lib/striconveh.h: Include it.
31856         (enum iconv_ilseq_handler): Remove definition.
31857         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
31858         striconveh.h.
31859         * lib/striconveha.c: Include striconveh.h.
31860         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
31861         * modules/striconveh (Files): Add lib/iconveh.h.
31862         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
31863         lib/striconveh.h.
31864
31865 2009-04-10  Bruno Haible  <bruno@clisp.org>
31866
31867         * lib/uniconv.h: Update comment.
31868
31869 2009-04-10  Bruno Haible  <bruno@clisp.org>
31870
31871         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
31872         always.
31873         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
31874         * lib/unistr/u16-mbtouc-aux.c: Likewise.
31875         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
31876         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
31877         "unistring-notinline.h", so that the function gets defined always.
31878         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
31879         * lib/unistr/u8-uctomb.c: Likewise.
31880         * lib/unistr/u16-mbtouc.c: Likewise.
31881         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
31882         * lib/unistr/u16-uctomb.c: Likewise.
31883         * lib/unistr/u32-mbtouc.c: Likewise.
31884         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
31885         * lib/unistr/u32-uctomb.c: Likewise.
31886
31887 2009-04-10  Bruno Haible  <bruno@clisp.org>
31888
31889         Mark 'utime' obsolete.
31890         * modules/utime (Status, Notice): New sections.
31891         Suggested by Jim Meyering.
31892
31893         Fix cross-compile guess for utime test.
31894         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
31895         autoconf.
31896         * doc/posix-functions/utime.texi: Give more precisions.
31897         Reported by Jan <ipif@ymail.com>.
31898
31899 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
31900
31901         filevercmp: correct today's change
31902         * lib/filevercmp.c: Also handle coreutils' test inputs.
31903         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
31904
31905         Fix regression in 'filevercmp' module. Thanks Sven Joachim
31906         for reporting it.
31907         * lib/filevercmp.c: Special handle for "", "." and "..".
31908         * tests/test-filevercmp.c: Enlarge the set suite.
31909
31910 2009-04-07  Jim Meyering  <meyering@redhat.com>
31911
31912         useless-if-before-free: show how to remove braced useless free, too
31913         * build-aux/useless-if-before-free: still only in a comment, though.
31914
31915 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
31916
31917         maint.mk: import changes to syntax-check macros from coreutils
31918         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
31919         Use them in the relevant macros.
31920
31921 2009-04-06  Bruno Haible  <bruno@clisp.org>
31922
31923         Fix unportable use of bit-fields.
31924         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
31925         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
31926         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
31927
31928 2009-04-06  Bruno Haible  <bruno@clisp.org>
31929
31930         Avoid test failures on AIX and OSF/1.
31931         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
31932         that malloc(0) = NULL.
31933         * tests/unicase/test-u8-tolower.c (check): Likewise.
31934         * tests/unicase/test-u8-totitle.c (check): Likewise.
31935         * tests/unicase/test-u8-toupper.c (check): Likewise.
31936         * tests/unicase/test-u16-casefold.c (check): Likewise.
31937         * tests/unicase/test-u16-tolower.c (check): Likewise.
31938         * tests/unicase/test-u16-totitle.c (check): Likewise.
31939         * tests/unicase/test-u16-toupper.c (check): Likewise.
31940         * tests/unicase/test-u32-casefold.c (check): Likewise.
31941         * tests/unicase/test-u32-tolower.c (check): Likewise.
31942         * tests/unicase/test-u32-totitle.c (check): Likewise.
31943         * tests/unicase/test-u32-toupper.c (check): Likewise.
31944         * tests/uninorm/test-u8-nfc.c (check): Likewise.
31945         * tests/uninorm/test-u8-nfd.c (check): Likewise.
31946         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
31947         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
31948         * tests/uninorm/test-u16-nfc.c (check): Likewise.
31949         * tests/uninorm/test-u16-nfd.c (check): Likewise.
31950         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
31951         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
31952         * tests/uninorm/test-u32-nfc.c (check): Likewise.
31953         * tests/uninorm/test-u32-nfd.c (check): Likewise.
31954         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
31955         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
31956
31957 2009-04-05  Bruno Haible  <bruno@clisp.org>
31958
31959         Work around an autoconf limitation.
31960         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
31961         comment line if it would be longer than 3 KB.
31962
31963 2009-04-05  Bruno Haible  <bruno@clisp.org>
31964
31965         Avoid test failure with libiconv-1.13.
31966         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
31967         of the expected test results.
31968
31969 2009-04-05  Bruno Haible  <bruno@clisp.org>
31970
31971         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
31972         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
31973         that it should be installed.
31974
31975 2009-04-05  Bruno Haible  <bruno@clisp.org>
31976
31977         * gnulib-tool: New option --copy-file.
31978         (func_usage): Document it.
31979         (func_dest_tmpfilename): Moved out of func_import.
31980         (func_add_file, func_update_file): New functions, extracted from
31981         func_import.
31982         (func_import): Update.
31983
31984 2009-04-05  Karl Berry  <karl@gnu.org>
31985
31986         * README: prominently mention gnulib-tool.
31987         Rearrange sections so getting the code is near the top.
31988
31989 2009-04-05  Bruno Haible  <bruno@clisp.org>
31990
31991         * lib/unicase.h: Mention u*_cmp2.
31992         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
31993         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
31994         * lib/unicase/ulc-casecmp.c: Likewise.
31995         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
31996         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
31997         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
31998         unistr/u8-cmp.
31999         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
32000         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
32001         unistr/u16-cmp.
32002         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
32003         unistr/u32-cmp.
32004
32005         * lib/uninorm.h: Mention u*_cmp2.
32006         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
32007         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
32008         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
32009         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
32010         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
32011         unistr/u8-cmp.
32012         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
32013         unistr/u16-cmp.
32014         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
32015         unistr/u32-cmp.
32016
32017         New module 'unistr/u32-cmp2'.
32018         * lib/unistr/u32-cmp2.c: New file.
32019         * modules/unistr/u32-cmp2: New file.
32020
32021         New module 'unistr/u16-cmp2'.
32022         * lib/unistr/u16-cmp2.c: New file.
32023         * modules/unistr/u16-cmp2: New file.
32024
32025         New module 'unistr/u8-cmp2'.
32026         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
32027         * lib/unistr/u8-cmp2.c: New file.
32028         * lib/unistr/u-cmp2.h: New file.
32029         * modules/unistr/u8-cmp2: New file.
32030
32031 2009-04-05  Bruno Haible  <bruno@clisp.org>
32032
32033         * lib/unictype.h (uc_property_is_valid): New macro.
32034         * tests/unictype/test-pr_byname.c (main): Use it.
32035
32036         * lib/unistr.h: Doc fixes.
32037         * lib/uniconv.h: Doc fixes.
32038         * lib/unictype.h: Doc fixes.
32039
32040 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
32041
32042         Port coreutils 7.2 to Solaris 8.
32043
32044         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
32045         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
32046         for Solaris 8.  This is a bit of a hack, as it means it's the
32047         caller's responsibility to add -lnsl if needed, but most likely it
32048         won't be needed since only getaddrinfo uses this and getaddrinfo
32049         isn't needed on Solaris 8.
32050
32051         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
32052         problem to Solaris 8 encountered with coreutils 7.2, which
32053         resulted in a message "fnmatch.c:292: warning: passing argument 4
32054         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
32055         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
32056
32057 2009-04-03  Simon Josefsson  <simon@josefsson.org>
32058
32059         * m4/ld-version-script.m4: Add FIXME comment.
32060
32061 2009-04-02  Simon Josefsson  <simon@josefsson.org>
32062
32063         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
32064         SOVERSION variable.
32065
32066 2009-04-02  Bruno Haible  <bruno@clisp.org>
32067
32068         * Makefile (info, html, dvi, pdf): Combine the rules.
32069         Suggested by Jim Meyering.
32070
32071 2009-04-01  Bruno Haible  <bruno@clisp.org>
32072
32073         * Makefile (info, html, dvi, pdf): New targets.
32074         Reported by Reuben Thomas <rrt@sc3d.org>.
32075
32076 2009-04-01  Bruno Haible  <bruno@clisp.org>
32077
32078         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
32079         can be put into PATH.
32080         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
32081
32082 2009-04-01  Bruno Haible  <bruno@clisp.org>
32083
32084         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
32085
32086 2009-04-01  Bruno Haible  <bruno@clisp.org>
32087
32088         Rename module 'visibility'.
32089         * modules/lib-symbol-visibility: Renamed from modules/visibility.
32090         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
32091         * doc/gnulib.texi: Update.
32092         * MODULES.html.sh (Misc): Update.
32093         * NEWS: Mention the change.
32094
32095 2009-04-01  Simon Josefsson  <simon@josefsson.org>
32096
32097         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
32098         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
32099         Eric Blake <ebb9@byu.net> for review.
32100         * MODULES.html.sh: Add lib-msvc-compat.
32101         * doc/gnulib.texi: Link to new section.
32102         * m4/ld-output-def.m4: New file.
32103         * doc/ld-output-def.texi: New file.
32104
32105 2009-04-01  Simon Josefsson  <simon@josefsson.org>
32106
32107         Rename ld-version-script to lib-symbol-versions.  Suggested by
32108         Bruno Haible <bruno@clisp.org>.
32109         * modules/ld-version-script: Renamed to lib-symbol-versions.
32110         * doc/ld-version-script.texi: Fix module name.
32111         * MODULES.html.sh: Add lib-symbol-versions.
32112
32113 2009-03-31  Simon Josefsson  <simon@josefsson.org>
32114
32115         * modules/u64-tests: New file.
32116         * tests/test-u64.c: New file.
32117
32118 2009-03-04  Simon Josefsson  <simon@josefsson.org>
32119
32120         * MODULES.html.sh: Mention u64.
32121         * modules/u64: New module.
32122         * modules/crypto/sha512: Depend on u64 module instead of providing
32123         u64.h.
32124
32125 2009-03-27  Eric Blake  <ebb9@byu.net>
32126
32127         test-strerror: make debugging EAI_SYSTEM easier
32128         * modules/getaddrinfo-tests (Depends-on): Add strerror.
32129         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
32130         failure was EAI_SYSTEM.
32131
32132 2009-03-25  Bruno Haible  <bruno@clisp.org>
32133
32134         Fix a problem with --enable-relocatable on Solaris 7.
32135         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
32136         since 2008-02-24.
32137
32138 2009-03-25  Eric Blake  <ebb9@byu.net>
32139
32140         test-sockets: avoid gcc warning
32141         * tests/test-sockets.c (main): Silence compiler warning.
32142
32143 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
32144
32145         New modules nproc, pthread, contributed by Glen Lenker.
32146
32147         * MODULES.html.sh: Add pthread, nproc.
32148         * lib/nproc.c: New file.
32149         * lib/nproc.h: New file.
32150         * lib/pthread.in.h: New file.
32151         * m4/pthread.m4: New file.
32152         * modules/nproc: New file.
32153         * modules/pthread: New file.
32154
32155 2009-03-24  Simon Josefsson  <simon@josefsson.org>
32156
32157         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
32158         New variable.
32159
32160 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
32161
32162         filevercmp: handle simple~ and numbered.~3~ backup suffixes
32163         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
32164         * tests/test-filevercmp.c: Add tests for backup suffixes.
32165
32166 2009-03-24  Simon Josefsson  <simon@josefsson.org>
32167
32168         * modules/stdlib (Depends-on): Add stdint, needed when defining
32169         struct random_data on, for example, HP-UX 10.20.  Reported by
32170         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
32171
32172 2009-03-24  Simon Josefsson  <simon@josefsson.org>
32173
32174         * lib/readline.c (readline): Call fflush on stdout after printing
32175         prompt.
32176
32177 2009-03-20  Bruno Haible  <bruno@clisp.org>
32178
32179         Remove dependency from 'close' module to -lws2_32 on native Windows.
32180         * lib/close-hook.h: New file.
32181         * lib/close-hook.c: New file.
32182         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
32183         w32sock.h.
32184         (_gl_close_fd_maybe_socket): Remove function.
32185         (rpl_close): Invoke execute_all_close_hooks instead of
32186         _gl_close_fd_maybe_socket.
32187         * lib/sockets.c: Include close-hook.h, w32sock.h.
32188         (close_fd_maybe_socket): New function, essentially from lib/close.c.
32189         (close_sockets_hook): New variable.
32190         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
32191         (gl_sockets_cleanup): Unregister it.
32192         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
32193         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
32194         * modules/close-hook: New file.
32195         * modules/close (Files): Remove lib/w32sock.h.
32196         (Depends-on): Add close-hook.
32197         (Link): Remove section.
32198         * modules/sockets (Files): Add lib/w32sock.h.
32199         (Depends-on): Add close-hook.
32200         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
32201         invocation.
32202         * NEWS: Mention that LIB_CLOSE is gone.
32203
32204 2009-03-23  Eric Blake  <ebb9@byu.net>
32205
32206         signal-tests: test previous patch
32207         * tests/test-signal.c: New file.
32208         * modules/signal-tests: Likewise.
32209
32210         signal.h: always support 'volatile sig_atomic_t'
32211         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
32212         (gl_SIGNAL_H_DEFAULTS): Add a default.
32213         * modules/signal (Makefile.am): Substitute if needed.
32214         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
32215         users can blindly add volatile.
32216         * doc/posix-headers/signal.texi (signal.h): Document it.
32217         Reported by Matthew Woehlke.
32218
32219 2009-03-23  Jim Meyering  <meyering@redhat.com>
32220
32221         pathmax: PATH_MAX: use pathconf only when available
32222         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
32223         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
32224         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
32225         This avoids a link failure in a PSP cross-compilation environment
32226         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
32227
32228         * lib/vasnprintf.c (divide): Fix typo in comment.
32229
32230 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32231
32232         * gnulib-tool (func_filter_filelist): Fix comment.
32233
32234 2009-03-20  Bruno Haible  <bruno@clisp.org>
32235
32236         Make sockets.h self-contained.
32237         * lib/sockets.c: Include sockets.h first.
32238         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
32239
32240 2009-03-19  Eric Blake  <ebb9@byu.net>
32241
32242         doc: mention more functions added in cygwin 1.7.0
32243         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
32244         addition.
32245         * doc/posix-functions/log2f.texi: Likewise.
32246
32247 2009-03-19  Jim Meyering  <meyering@redhat.com>
32248
32249         fsusage: avoid syntax error due to statement-before-declaration
32250         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
32251         after all declarations.  Reported by Matthew Woehlke in
32252         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
32253
32254 2009-03-18  Eric Blake  <ebb9@byu.net>
32255
32256         build-aux/compile: sync from automake
32257         * build-aux/compile: New file, from automake.
32258         * config/srclist.txt: Mention build-aux/compile.
32259
32260 2009-03-17  Bruno Haible  <bruno@clisp.org>
32261
32262         * lib/git-merge-changelog.c: Fix typo in comment.
32263         Reported by Reuben Thomas <rrt@sc3d.org>.
32264
32265 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
32266
32267         * m4/regex.m4: update and improve help for
32268         --without-included-regex.
32269
32270 2009-03-17  Simon Josefsson  <simon@josefsson.org>
32271
32272         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
32273         failure on missing include files.
32274
32275 2009-03-17  Eric Blake  <ebb9@byu.net>
32276
32277         doc: mention more functions added in cygwin 1.7.0
32278         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
32279         addition.
32280         * doc/posix-functions/fwscanf.texi: Likewise.
32281         * doc/posix-functions/swprintf.texi: Likewise.
32282         * doc/posix-functions/swscanf.texi: Likewise.
32283         * doc/posix-functions/vfwprintf.texi: Likewise.
32284         * doc/posix-functions/vfwscanf.texi: Likewise.
32285         * doc/posix-functions/vswprintf.texi: Likewise.
32286         * doc/posix-functions/vswscanf.texi: Likewise.
32287         * doc/posix-functions/vwprintf.texi: Likewise.
32288         * doc/posix-functions/vwscanf.texi: Likewise.
32289         * doc/posix-functions/wcscasecmp.texi: Likewise.
32290         * doc/posix-functions/wcsdup.texi: Likewise.
32291         * doc/posix-functions/wcsftime.texi: Likewise.
32292         * doc/posix-functions/wcsncasecmp.texi: Likewise.
32293         * doc/posix-functions/wprintf.texi: Likewise.
32294         * doc/posix-functions/wscanf.texi: Likewise.
32295         * doc/glibc-functions/gethostbyname2.texi: Likewise.
32296
32297 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32298
32299         maint.mk: really add $(AM_MAKEFLAGS)
32300         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
32301         was inadvertently omitted in the last commit.
32302         Spotted by Bruno Haible.
32303
32304         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
32305         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
32306         $(AM_MAKEFLAGS)' rather than plain `make'.
32307
32308         gnulib-tool: execute $MAKE not make
32309         * gnulib-tool: Default $MAKE to 'make'.
32310         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
32311         than make.  Initialize $MAKE in the do-autobuild script.
32312
32313         gnulib-tool: use $MAKE not make in generated files
32314         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
32315         make, in generated files.  Initialize $MAKE in the do-autobuild
32316         script.
32317
32318         * top/GNUmakefile (_have-git-version-gen): Fix typo.
32319
32320         GNUmakefile: disable parallelism only for multiple, recursive targets
32321         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
32322         additions in the Makefile.
32323         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
32324         by Automake.
32325         (.NOTPARALLEL): Only disable parallel builds if multiple targets
32326         are listed on the command line and at least one of them is
32327         listed in $(ALL_RECURSIVE_TARGETS).
32328
32329 2009-03-14  Bruno Haible  <bruno@clisp.org>
32330
32331         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
32332         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
32333         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
32334         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
32335         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
32336         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
32337         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
32338         unistr/u8-uctomb.
32339         * modules/unistr/u8-strchr (Depends-on): Likewise.
32340         * modules/unistr/u8-strrchr (Depends-on): Likewise.
32341         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
32342         unistr/u16-uctomb.
32343         * modules/unistr/u16-strchr (Depends-on): Likewise.
32344         * modules/unistr/u16-strrchr (Depends-on): Likewise.
32345
32346 2009-03-12  Bruno Haible  <bruno@clisp.org>
32347
32348         Work around select() bug on Interix 3.5.
32349         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
32350         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
32351         * m4/select.m4: New file.
32352         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
32353         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
32354         * modules/select (Files): Add m4/select.m4.
32355         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
32356         * modules/nanosleep (Depends-on): Add select.
32357         * modules/poll (Depends-on): Likewise.
32358         * doc/posix-functions/select.texi: Mention the Interix bug.
32359         Reported by Markus Duft <mduft@gentoo.org>.
32360
32361         * lib/select.c: Renamed from lib/winsock-select.c.
32362         * modules/select (Files): Add lib/select.c, remove
32363         lib/winsock-select.c.
32364         (configure.ac): Update.
32365
32366 2009-03-12  Jim Meyering  <meyering@redhat.com>
32367
32368         avoid gcc warnings about unused macro definitions
32369         * lib/readtokens.c (STREQ): Remove unused definition.
32370         * lib/xmalloc.c (SIZE_MAX): Likewise.
32371         * lib/openat-die.c (N_): Likewise.
32372         * lib/mountlist.c (SIZE_MAX): Remove definition.
32373         Instead, include <stdint.h>.
32374         * lib/readutmp.c: Likewise.
32375         * modules/readutmp (Depends-on): Add stdint.
32376         * modules/mountlist (Depends-on): Add stdint.
32377         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
32378
32379 2009-03-10  Bruno Haible  <bruno@clisp.org>
32380
32381         Tests for module 'mbmemcasecoll'.
32382         * modules/mbmemcasecoll-tests: New file.
32383         * tests/test-mbmemcasecoll1.sh: New file.
32384         * tests/test-mbmemcasecoll2.sh: New file.
32385         * tests/test-mbmemcasecoll3.sh: New file.
32386         * tests/test-mbmemcasecoll.c: New file.
32387
32388         New module 'mbmemcasecoll'.
32389         * lib/mbmemcasecoll.h: New file.
32390         * lib/mbmemcasecoll.c: New file.
32391         * modules/mbmemcasecoll: New file.
32392
32393         * tests/test-mbmemcasecmp.h: New file, extracted from
32394         tests/test-mbmemcasecmp.c.
32395         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
32396         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
32397         (main): Update.
32398         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
32399
32400 2009-03-09  Bruno Haible  <bruno@clisp.org>
32401
32402         Tests for module 'mbmemcasecmp'.
32403         * modules/mbmemcasecmp-tests: New file.
32404         * tests/test-mbmemcasecmp1.sh: New file.
32405         * tests/test-mbmemcasecmp2.sh: New file.
32406         * tests/test-mbmemcasecmp3.sh: New file.
32407         * tests/test-mbmemcasecmp.c: New file.
32408
32409         New module 'mbmemcasecmp'.
32410         * lib/mbmemcasecmp.h: New file.
32411         * lib/mbmemcasecmp.c: New file.
32412         * modules/mbmemcasecmp: New file.
32413
32414 2009-03-09  Bruno Haible  <bruno@clisp.org>
32415
32416         Tests for module 'unicase/ulc-casecoll'.
32417         * modules/unicase/ulc-casecoll-tests: New file.
32418         * tests/unicase/test-ulc-casecoll1.sh: New file.
32419         * tests/unicase/test-ulc-casecoll2.sh: New file.
32420         * tests/unicase/test-ulc-casecoll.c: New file.
32421
32422         New module 'unicase/ulc-casecoll'.
32423         * lib/unicase.h (ulc_casecoll): New declaration.
32424         * lib/unicase/ulc-casecoll.c: New file.
32425         * modules/unicase/ulc-casecoll: New file.
32426
32427         New module 'unicase/ulc-casexfrm'.
32428         * lib/unicase.h (ulc_casexfrm): New declaration.
32429         * lib/unicase/ulc-casexfrm.c: New file.
32430         * modules/unicase/ulc-casexfrm: New file.
32431
32432 2009-03-09  Bruno Haible  <bruno@clisp.org>
32433
32434         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
32435         invocations.
32436
32437         * m4/mbscasecmp.m4: Remove file.
32438         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
32439         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
32440
32441         * m4/mbscasestr.m4: Remove file.
32442         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
32443         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
32444
32445         * m4/mbschr.m4: Remove file.
32446         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
32447         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
32448
32449         * m4/mbscspn.m4: Remove file.
32450         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
32451         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
32452
32453         * m4/mbslen.m4: Remove file.
32454         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
32455         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
32456
32457         * m4/mbsncasecmp.m4: Remove file.
32458         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
32459         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
32460
32461         * m4/mbsnlen.m4: Remove file.
32462         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
32463         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
32464
32465         * m4/mbspbrk.m4: Remove file.
32466         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
32467         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
32468
32469         * m4/mbspcasecmp.m4: Remove file.
32470         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
32471         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
32472
32473         * m4/mbsrchr.m4: Remove file.
32474         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
32475         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
32476
32477         * m4/mbssep.m4: Remove file.
32478         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
32479         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
32480
32481         * m4/mbsspn.m4: Remove file.
32482         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
32483         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
32484
32485         * m4/mbsstr.m4: Remove file.
32486         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
32487         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
32488
32489         * m4/mbstok_r.m4: Remove file.
32490         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
32491         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
32492
32493         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
32494
32495         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
32496         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
32497
32498         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
32499
32500 2009-03-08  Bruno Haible  <bruno@clisp.org>
32501
32502         Tests for module 'unicase/ulc-casecmp'.
32503         * modules/unicase/ulc-casecmp-tests: New file.
32504         * tests/unicase/test-ulc-casecmp1.sh: New file.
32505         * tests/unicase/test-ulc-casecmp2.sh: New file.
32506         * tests/unicase/test-ulc-casecmp.c: New file.
32507
32508         New module 'unicase/ulc-casecmp'.
32509         * lib/unicase.h (ulc_casecmp): New declaration.
32510         * lib/unicase/ulc-casecmp.c: New file.
32511         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
32512         'const SRC_UNIT *'.
32513         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
32514         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
32515         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
32516         * modules/unicase/ulc-casecmp: New file.
32517
32518         Tests for module 'unicase/u32-is-cased'.
32519         * modules/unicase/u32-is-cased-tests: New file.
32520         * tests/unicase/test-u32-is-cased.c: New file.
32521
32522         Tests for module 'unicase/u16-is-cased'.
32523         * modules/unicase/u16-is-cased-tests: New file.
32524         * tests/unicase/test-u16-is-cased.c: New file.
32525
32526         Tests for module 'unicase/u8-is-cased'.
32527         * modules/unicase/u8-is-cased-tests: New file.
32528         * tests/unicase/test-u8-is-cased.c: New file.
32529         * tests/unicase/test-is-cased.h: New file.
32530
32531         New module 'unicase/u32-is-cased'.
32532         * lib/unicase/u32-is-cased.c: New file.
32533         * modules/unicase/u32-is-cased: New file.
32534
32535         New module 'unicase/u16-is-cased'.
32536         * lib/unicase/u16-is-cased.c: New file.
32537         * modules/unicase/u16-is-cased: New file.
32538
32539         New module 'unicase/u8-is-cased'.
32540         * lib/unicase/u8-is-cased.c: New file.
32541         * lib/unicase/u-is-cased.h: New file.
32542         * modules/unicase/u8-is-cased: New file.
32543
32544         Tests for module 'unicase/u32-is-casefolded'.
32545         * modules/unicase/u32-is-casefolded-tests: New file.
32546         * tests/unicase/test-u32-is-casefolded.c: New file.
32547
32548         Tests for module 'unicase/u16-is-casefolded'.
32549         * modules/unicase/u16-is-casefolded-tests: New file.
32550         * tests/unicase/test-u16-is-casefolded.c: New file.
32551
32552         Tests for module 'unicase/u8-is-casefolded'.
32553         * modules/unicase/u8-is-casefolded-tests: New file.
32554         * tests/unicase/test-u8-is-casefolded.c: New file.
32555         * tests/unicase/test-is-casefolded.h: New file.
32556
32557         New module 'unicase/u32-is-casefolded'.
32558         * lib/unicase/u32-is-casefolded.c: New file.
32559         * modules/unicase/u32-is-casefolded: New file.
32560
32561         New module 'unicase/u16-is-casefolded'.
32562         * lib/unicase/u16-is-casefolded.c: New file.
32563         * modules/unicase/u16-is-casefolded: New file.
32564
32565         New module 'unicase/u8-is-casefolded'.
32566         * lib/unicase/u8-is-casefolded.c: New file.
32567         * modules/unicase/u8-is-casefolded: New file.
32568
32569         Tests for module 'unicase/u32-is-titlecase'.
32570         * modules/unicase/u32-is-titlecase-tests: New file.
32571         * tests/unicase/test-u32-is-titlecase.c: New file.
32572
32573         Tests for module 'unicase/u16-is-titlecase'.
32574         * modules/unicase/u16-is-titlecase-tests: New file.
32575         * tests/unicase/test-u16-is-titlecase.c: New file.
32576
32577         Tests for module 'unicase/u8-is-titlecase'.
32578         * modules/unicase/u8-is-titlecase-tests: New file.
32579         * tests/unicase/test-u8-is-titlecase.c: New file.
32580         * tests/unicase/test-is-titlecase.h: New file.
32581
32582         New module 'unicase/u32-is-titlecase'.
32583         * lib/unicase/u32-is-titlecase.c: New file.
32584         * modules/unicase/u32-is-titlecase: New file.
32585
32586         New module 'unicase/u16-is-titlecase'.
32587         * lib/unicase/u16-is-titlecase.c: New file.
32588         * modules/unicase/u16-is-titlecase: New file.
32589
32590         New module 'unicase/u8-is-titlecase'.
32591         * lib/unicase/u8-is-titlecase.c: New file.
32592         * modules/unicase/u8-is-titlecase: New file.
32593
32594         Tests for module 'unicase/u32-is-lowercase'.
32595         * modules/unicase/u32-is-lowercase-tests: New file.
32596         * tests/unicase/test-u32-is-lowercase.c: New file.
32597
32598         Tests for module 'unicase/u16-is-lowercase'.
32599         * modules/unicase/u16-is-lowercase-tests: New file.
32600         * tests/unicase/test-u16-is-lowercase.c: New file.
32601
32602         Tests for module 'unicase/u8-is-lowercase'.
32603         * modules/unicase/u8-is-lowercase-tests: New file.
32604         * tests/unicase/test-u8-is-lowercase.c: New file.
32605         * tests/unicase/test-is-lowercase.h: New file.
32606
32607         New module 'unicase/u32-is-lowercase'.
32608         * lib/unicase/u32-is-lowercase.c: New file.
32609         * modules/unicase/u32-is-lowercase: New file.
32610
32611         New module 'unicase/u16-is-lowercase'.
32612         * lib/unicase/u16-is-lowercase.c: New file.
32613         * modules/unicase/u16-is-lowercase: New file.
32614
32615         New module 'unicase/u8-is-lowercase'.
32616         * lib/unicase/u8-is-lowercase.c: New file.
32617         * modules/unicase/u8-is-lowercase: New file.
32618
32619         Tests for module 'unicase/u32-is-uppercase'.
32620         * modules/unicase/u32-is-uppercase-tests: New file.
32621         * tests/unicase/test-u32-is-uppercase.c: New file.
32622
32623         Tests for module 'unicase/u16-is-uppercase'.
32624         * modules/unicase/u16-is-uppercase-tests: New file.
32625         * tests/unicase/test-u16-is-uppercase.c: New file.
32626
32627         Tests for module 'unicase/u8-is-uppercase'.
32628         * modules/unicase/u8-is-uppercase-tests: New file.
32629         * tests/unicase/test-u8-is-uppercase.c: New file.
32630         * tests/unicase/test-is-uppercase.h: New file.
32631
32632         New module 'unicase/u32-is-uppercase'.
32633         * lib/unicase/u32-is-uppercase.c: New file.
32634         * modules/unicase/u32-is-uppercase: New file.
32635
32636         New module 'unicase/u16-is-uppercase'.
32637         * lib/unicase/u16-is-uppercase.c: New file.
32638         * modules/unicase/u16-is-uppercase: New file.
32639
32640         New module 'unicase/u8-is-uppercase'.
32641         * lib/unicase/u8-is-uppercase.c: New file.
32642         * modules/unicase/u8-is-uppercase: New file.
32643
32644         New module 'unicase/u32-is-invariant'.
32645         * lib/unicase/u32-is-invariant.c: New file.
32646         * modules/unicase/u32-is-invariant: New file.
32647
32648         New module 'unicase/u16-is-invariant'.
32649         * lib/unicase/u16-is-invariant.c: New file.
32650         * modules/unicase/u16-is-invariant: New file.
32651
32652         New module 'unicase/u8-is-invariant'.
32653         * lib/unicase/u8-is-invariant.c: New file.
32654         * lib/unicase/invariant.h: New file.
32655         * lib/unicase/u-is-invariant.h: New file.
32656         * modules/unicase/u8-is-invariant: New file.
32657
32658         Tests for module 'unicase/u32-casecoll'.
32659         * modules/unicase/u32-casecoll-tests: New file.
32660         * tests/unicase/test-u32-casecoll.c: New file.
32661
32662         Tests for module 'unicase/u16-casecoll'.
32663         * modules/unicase/u16-casecoll-tests: New file.
32664         * tests/unicase/test-u16-casecoll.c: New file.
32665
32666         Tests for module 'unicase/u8-casecoll'.
32667         * modules/unicase/u8-casecoll-tests: New file.
32668         * tests/unicase/test-u8-casecoll.c: New file.
32669
32670         New module 'unicase/u32-casecoll'.
32671         * lib/unicase/u32-casecoll.c: New file.
32672         * modules/unicase/u32-casecoll: New file.
32673
32674         New module 'unicase/u16-casecoll'.
32675         * lib/unicase/u16-casecoll.c: New file.
32676         * modules/unicase/u16-casecoll: New file.
32677
32678         New module 'unicase/u8-casecoll'.
32679         * lib/unicase/u8-casecoll.c: New file.
32680         * lib/unicase/u-casecoll.h: New file.
32681         * modules/unicase/u8-casecoll: New file.
32682
32683         New module 'unicase/u32-casexfrm'.
32684         * lib/unicase/u32-casexfrm.c: New file.
32685         * modules/unicase/u32-casexfrm: New file.
32686
32687         New module 'unicase/u16-casexfrm'.
32688         * lib/unicase/u16-casexfrm.c: New file.
32689         * modules/unicase/u16-casexfrm: New file.
32690
32691         New module 'unicase/u8-casexfrm'.
32692         * lib/unicase/u8-casexfrm.c: New file.
32693         * lib/unicase/u-casexfrm.h: New file.
32694         * modules/unicase/u8-casexfrm: New file.
32695
32696         Tests for module 'unicase/u32-casecmp'.
32697         * modules/unicase/u32-casecmp-tests: New file.
32698         * tests/unicase/test-u32-casecmp.c: New file.
32699
32700         Tests for module 'unicase/u16-casecmp'.
32701         * modules/unicase/u16-casecmp-tests: New file.
32702         * tests/unicase/test-u16-casecmp.c: New file.
32703
32704         Tests for module 'unicase/u8-casecmp'.
32705         * modules/unicase/u8-casecmp-tests: New file.
32706         * tests/unicase/test-u8-casecmp.c: New file.
32707         * tests/unicase/test-casecmp.h: New file.
32708
32709         New module 'unicase/u32-casecmp'.
32710         * lib/unicase/u32-casecmp.c: New file.
32711         * modules/unicase/u32-casecmp: New file.
32712
32713         New module 'unicase/u16-casecmp'.
32714         * lib/unicase/u16-casecmp.c: New file.
32715         * modules/unicase/u16-casecmp: New file.
32716
32717         New module 'unicase/u8-casecmp'.
32718         * lib/unicase/u8-casecmp.c: New file.
32719         * lib/unicase/u-casecmp.h: New file.
32720         * modules/unicase/u8-casecmp: New file.
32721
32722         Tests for module 'unicase/u32-casefold'.
32723         * modules/unicase/u32-casefold-tests: New file.
32724         * tests/unicase/test-u32-casefold.c: New file.
32725
32726         Tests for module 'unicase/u16-casefold'.
32727         * modules/unicase/u16-casefold-tests: New file.
32728         * tests/unicase/test-u16-casefold.c: New file.
32729
32730         Tests for module 'unicase/u8-casefold'.
32731         * modules/unicase/u8-casefold-tests: New file.
32732         * tests/unicase/test-u8-casefold.c: New file.
32733
32734         New module 'unicase/u32-casefold'.
32735         * lib/unicase/u32-casefold.c: New file.
32736         * modules/unicase/u32-casefold: New file.
32737
32738         New module 'unicase/u16-casefold'.
32739         * lib/unicase/u16-casefold.c: New file.
32740         * modules/unicase/u16-casefold: New file.
32741
32742         New module 'unicase/u8-casefold'.
32743         * lib/unicase/u8-casefold.c: New file.
32744         * lib/unicase/u-casefold.h: New file.
32745         * modules/unicase/u8-casefold: New file.
32746
32747         New module 'unicase/tocasefold'.
32748         * lib/unicase/casefold.h: New file.
32749         * lib/unicase/tocasefold.c: New file.
32750         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
32751         * modules/unicase/tocasefold: New file.
32752
32753         Tests for module 'unicase/u32-totitle'.
32754         * modules/unicase/u32-totitle-tests: New file.
32755         * tests/unicase/test-u32-totitle.c: New file.
32756
32757         Tests for module 'unicase/u16-totitle'.
32758         * modules/unicase/u16-totitle-tests: New file.
32759         * tests/unicase/test-u16-totitle.c: New file.
32760
32761         Tests for module 'unicase/u8-totitle'.
32762         * modules/unicase/u8-totitle-tests: New file.
32763         * tests/unicase/test-u8-totitle.c: New file.
32764
32765         New module 'unicase/u32-totitle'.
32766         * lib/unicase/u32-totitle.c: New file.
32767         * modules/unicase/u32-totitle: New file.
32768
32769         New module 'unicase/u16-totitle'.
32770         * lib/unicase/u16-totitle.c: New file.
32771         * modules/unicase/u16-totitle: New file.
32772
32773         New module 'unicase/u8-totitle'.
32774         * lib/unicase/u8-totitle.c: New file.
32775         * lib/unicase/u-totitle.h: New file.
32776         * modules/unicase/u8-totitle: New file.
32777
32778         Tests for module 'unicase/u32-tolower'.
32779         * modules/unicase/u32-tolower-tests: New file.
32780         * tests/unicase/test-u32-tolower.c: New file.
32781
32782         Tests for module 'unicase/u16-tolower'.
32783         * modules/unicase/u16-tolower-tests: New file.
32784         * tests/unicase/test-u16-tolower.c: New file.
32785
32786         Tests for module 'unicase/u8-tolower'.
32787         * modules/unicase/u8-tolower-tests: New file.
32788         * tests/unicase/test-u8-tolower.c: New file.
32789
32790         New module 'unicase/u32-tolower'.
32791         * lib/unicase/u32-tolower.c: New file.
32792         * modules/unicase/u32-tolower: New file.
32793
32794         New module 'unicase/u16-tolower'.
32795         * lib/unicase/u16-tolower.c: New file.
32796         * modules/unicase/u16-tolower: New file.
32797
32798         New module 'unicase/u8-tolower'.
32799         * lib/unicase/u8-tolower.c: New file.
32800         * modules/unicase/u8-tolower: New file.
32801
32802         Tests for module 'unicase/u32-toupper'.
32803         * modules/unicase/u32-toupper-tests: New file.
32804         * tests/unicase/test-u32-toupper.c: New file.
32805
32806         Tests for module 'unicase/u16-toupper'.
32807         * modules/unicase/u16-toupper-tests: New file.
32808         * tests/unicase/test-u16-toupper.c: New file.
32809
32810         Tests for module 'unicase/u8-toupper'.
32811         * modules/unicase/u8-toupper-tests: New file.
32812         * tests/unicase/test-u8-toupper.c: New file.
32813
32814         New module 'unicase/u32-toupper'.
32815         * lib/unicase/u32-toupper.c: New file.
32816         * modules/unicase/u32-toupper: New file.
32817
32818         New module 'unicase/u16-toupper'.
32819         * lib/unicase/u16-toupper.c: New file.
32820         * modules/unicase/u16-toupper: New file.
32821
32822         New module 'unicase/u8-toupper'.
32823         * lib/unicase/u8-toupper.c: New file.
32824         * modules/unicase/u8-toupper: New file.
32825
32826         New module 'unicase/u32-casemap'.
32827         * lib/unicase/u32-casemap.c: New file.
32828         * modules/unicase/u32-casemap: New file.
32829
32830         New module 'unicase/u16-casemap'.
32831         * lib/unicase/u16-casemap.c: New file.
32832         * modules/unicase/u16-casemap: New file.
32833
32834         New module 'unicase/u8-casemap'.
32835         * lib/unicase/unicasemap.h: New file.
32836         * lib/unicase/u8-casemap.c: New file.
32837         * lib/unicase/u-casemap.h: New file.
32838         * modules/unicase/u8-casemap: New file.
32839
32840         New module 'unicase/special-casing'.
32841         * lib/unicase/special-casing.h: New file.
32842         * lib/unicase/special-casing.c: New file.
32843         * lib/unicase/special-casing-table.gperf: New file, generated by
32844         gen-uni-tables.c.
32845         * modules/unicase/special-casing: New file.
32846
32847         Tests for module 'unicase/locale-language'.
32848         * modules/unicase/locale-language-tests: New file.
32849         * tests/unicase/test-locale-language.sh: New file.
32850         * tests/unicase/test-locale-language.c: New file.
32851
32852         New module 'unicase/locale-language'.
32853         * lib/unicase/locale-language.c: New file.
32854         * lib/unicase/locale-languages.gperf: New file.
32855         * modules/unicase/locale-language: New file.
32856
32857         Generate more tables for case conversion and case folding.
32858         * lib/gen-uni-tables.c (SCC_*): New enum items.
32859         (struct special_casing_rule): New type.
32860         (casing_rules, num_casing_rules, allocated_casing_rules): New
32861         variables.
32862         (add_casing_rule, fill_casing_rules): New functions.
32863         (struct casefold_rule): New type.
32864         (casefolding_rules, num_casefolding_rules,
32865         allocated_casefolding_rules): New variables.
32866         (fill_casefolding_rules): New function.
32867         (unicode_casefold): New variable.
32868         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
32869         sort_casing_rules, output_casing_rules): New functions.
32870         (main): Accept to more arguments: SpecialCasing.txt and
32871         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
32872         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
32873         Output mapping for casefolding.
32874
32875         * lib/unicase.h: Include stdbool.h, uninorm.h.
32876         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
32877         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
32878         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
32879         arguments.
32880         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
32881         resultp arguments.
32882         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
32883         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
32884         resultp arguments.
32885         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
32886         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
32887         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
32888         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
32889         declarations.
32890         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
32891
32892 2009-03-08  Bruno Haible  <bruno@clisp.org>
32893
32894         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
32895         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
32896         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
32897         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
32898
32899 2009-03-07  Bruno Haible  <bruno@clisp.org>
32900
32901         Adjust u*_normcmp, u*_normcoll API.
32902         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
32903         u16_normcoll, u32_normcoll): Change failure conventions.
32904         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
32905         errno and return -1.
32906         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
32907
32908 2009-03-07  Bruno Haible  <bruno@clisp.org>
32909
32910         Tests for module 'uninorm/u32-normcoll'.
32911         * modules/uninorm/u32-normcoll-tests: New file.
32912         * tests/uninorm/test-u32-normcoll.c: New file.
32913
32914         Tests for module 'uninorm/u16-normcoll'.
32915         * modules/uninorm/u16-normcoll-tests: New file.
32916         * tests/uninorm/test-u16-normcoll.c: New file.
32917
32918         Tests for module 'uninorm/u8-normcoll'.
32919         * modules/uninorm/u8-normcoll-tests: New file.
32920         * tests/uninorm/test-u8-normcoll.c: New file.
32921
32922 2009-03-07  Bruno Haible  <bruno@clisp.org>
32923
32924         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
32925         tests/uninorm/test-u32-normcmp.c.
32926         * tests/uninorm/test-u32-normcmp.c: Include it.
32927         (test_nonascii): New function, extracted from main. Add some more
32928         tests.
32929         (main): Invoke test_ascii and test_nonascii.
32930         * modules/uninorm/u32-normcmp-tests (Files): Add
32931         tests/uninorm/test-u32-normcmp.h.
32932         (Depends-on): Remove uninorm/u32-normcmp.
32933
32934         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
32935         tests/uninorm/test-u16-normcmp.c.
32936         * tests/uninorm/test-u16-normcmp.c: Include it.
32937         (test_nonascii): New function, extracted from main. Add some more
32938         tests.
32939         (main): Invoke test_ascii and test_nonascii.
32940         * modules/uninorm/u16-normcmp-tests (Files): Add
32941         tests/uninorm/test-u16-normcmp.h.
32942         (Depends-on): Remove uninorm/u16-normcmp.
32943
32944         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
32945         tests/uninorm/test-u8-normcmp.c.
32946         * tests/uninorm/test-u8-normcmp.c: Include it.
32947         (test_nonascii): New function, extracted from main. Add some more
32948         tests.
32949         (main): Invoke test_ascii and test_nonascii.
32950         * modules/uninorm/u8-normcmp-tests (Files): Add
32951         tests/uninorm/test-u8-normcmp.h.
32952         (Depends-on): Remove uninorm/u8-normcmp.
32953
32954 2009-03-07  Bruno Haible  <bruno@clisp.org>
32955
32956         New module 'uninorm/u32-normcoll'.
32957         * lib/uninorm/u32-normcoll.c: New file.
32958         * modules/uninorm/u32-normcoll: New file.
32959
32960         New module 'uninorm/u16-normcoll'.
32961         * lib/uninorm/u16-normcoll.c: New file.
32962         * modules/uninorm/u16-normcoll: New file.
32963
32964         New module 'uninorm/u8-normcoll'.
32965         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
32966         declarations.
32967         * lib/uninorm/u8-normcoll.c: New file.
32968         * lib/uninorm/u-normcoll.h: New file.
32969         * modules/uninorm/u8-normcoll: New file.
32970
32971         New module 'uninorm/u32-normxfrm'.
32972         * lib/uninorm/u32-normxfrm.c: New file.
32973         * modules/uninorm/u32-normxfrm: New file.
32974
32975         New module 'uninorm/u16-normxfrm'.
32976         * lib/uninorm/u16-normxfrm.c: New file.
32977         * modules/uninorm/u16-normxfrm: New file.
32978
32979         New module 'uninorm/u8-normxfrm'.
32980         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
32981         declarations.
32982         * lib/uninorm/u8-normxfrm.c: New file.
32983         * lib/uninorm/u-normxfrm.h: New file.
32984         * modules/uninorm/u8-normxfrm: New file.
32985
32986 2009-03-07  Bruno Haible  <bruno@clisp.org>
32987
32988         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
32989         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
32990         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
32991
32992 2009-03-07  Bruno Haible  <bruno@clisp.org>
32993
32994         New module 'memxfrm'.
32995         * lib/memxfrm.h: New file.
32996         * lib/memxfrm.c: New file.
32997         * modules/memxfrm: New file.
32998
32999 2009-03-07  Bruno Haible  <bruno@clisp.org>
33000
33001         New module 'memcmp2'.
33002         * lib/memcmp2.h: New file.
33003         * lib/memcmp2.c: New file.
33004         * modules/memcmp2: New file.
33005
33006 2009-03-07  Bruno Haible  <bruno@clisp.org>
33007
33008         Tests for module 'uninorm/decomposing-form'.
33009         * modules/uninorm/decomposing-form-tests: New file.
33010         * tests/uninorm/test-decomposing-form.c: New file.
33011
33012         New module 'uninorm/decomposing-form'.
33013         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
33014         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
33015         Add 'decomposing_variant' field.
33016         * lib/uninorm/decomposing-form.c: New file.
33017         * lib/uninorm/nfc.c (uninorm_nfc): Update.
33018         * lib/uninorm/nfd.c (uninorm_nfd): Update.
33019         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
33020         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
33021         * modules/uninorm/decomposing-form: New file.
33022         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
33023         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
33024
33025 2009-03-07  Bruno Haible  <bruno@clisp.org>
33026
33027         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
33028         strings.
33029
33030 2009-03-06  Bruno Haible  <bruno@clisp.org>
33031
33032         Tests for module 'uninorm/u32-normcmp'.
33033         * tests/uninorm/test-u32-normcmp.c: New file.
33034         * modules/uninorm/u32-normcmp-tests: New file.
33035
33036         Tests for module 'uninorm/u16-normcmp'.
33037         * tests/uninorm/test-u16-normcmp.c: New file.
33038         * modules/uninorm/u16-normcmp-tests: New file.
33039
33040         Tests for module 'uninorm/u8-normcmp'.
33041         * tests/uninorm/test-u8-normcmp.c: New file.
33042         * modules/uninorm/u8-normcmp-tests: New file.
33043
33044         New module 'uninorm/u32-normcmp'.
33045         * lib/uninorm/u32-normcmp.c: New file.
33046         * modules/uninorm/u32-normcmp: New file.
33047
33048         New module 'uninorm/u16-normcmp'.
33049         * lib/uninorm/u16-normcmp.c: New file.
33050         * modules/uninorm/u16-normcmp: New file.
33051
33052         New module 'uninorm/u8-normcmp'.
33053         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
33054         declarations.
33055         * lib/uninorm/u8-normcmp.c: New file.
33056         * lib/uninorm/u-normcmp.h: New file.
33057         * modules/uninorm/u8-normcmp: New file.
33058
33059 2009-03-06  Bruno Haible  <bruno@clisp.org>
33060
33061         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
33062         Reported by Eric Blake.
33063
33064 2009-03-06  Eric Blake  <ebb9@byu.net>
33065             Bruno Haible  <bruno@clisp.org>
33066
33067         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
33068         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
33069         condition.
33070         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
33071         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
33072         condition.
33073         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
33074
33075 2009-03-06  Eric Blake  <ebb9@byu.net>
33076
33077         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
33078         to avoid compiler warnings.
33079         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
33080
33081 2009-03-05  Bruno Haible  <bruno@clisp.org>
33082
33083         * tests/test-ftell.c (main): Disable test beyond end of file on
33084         FreeMiNT.
33085         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
33086
33087 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
33088
33089         * lib/filevercmp.c: Move hidden files up in ordering.
33090         * tests/test-filevercmp.c: Add tests for hidden files.
33091
33092 2009-03-04  Bruno Haible  <bruno@clisp.org>
33093
33094         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
33095         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
33096         AM_CFLAGS.
33097         Reported by Simon Josefsson.
33098
33099 2009-03-03  Bruno Haible  <bruno@clisp.org>
33100
33101         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
33102         Reported by Simon Josefsson.
33103
33104         * doc/ld-version-script.texi: Update node reference.
33105
33106 2009-03-03  Bruno Haible  <bruno@clisp.org>
33107
33108         * modules/visibility (License): Change to 'unlimited'.
33109         Suggested by Simon Josefsson.
33110
33111 2009-03-03  Jim Meyering  <meyering@redhat.com>
33112
33113         unlinkdir: cannot_unlink_dir may modify process state
33114         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
33115         it's neither thread-safe nor appropriate for use in a library.
33116
33117 2009-03-03  Eric Blake  <ebb9@byu.net>
33118
33119         test-closein: silence test under Darwin
33120         * tests/test-closein.sh: Ignore stderr from cat, since we don't
33121         care if it dies from EPIPE or EBADF.
33122
33123 2009-03-03  Bruno Haible  <bruno@clisp.org>
33124
33125         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
33126         earlier.
33127         * doc/visibility.texi: Fix @node and @section.
33128
33129 2009-03-03  Simon Josefsson  <simon@josefsson.org>
33130
33131         * doc/gnulib.texi: Link to sections for ld version script and
33132         visibility.
33133         * doc/visibility.texi: Add @node and @section.
33134         * modules/ld-version-script: New module.
33135         * m4/ld-version-script.m4: New file.
33136         * doc/ld-version-script.texi: New file.
33137
33138 2009-03-02  David Lutterkort  <lutter@redhat.com>
33139
33140         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
33141         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
33142
33143 2009-03-02  Bruno Haible  <bruno@clisp.org>
33144
33145         * doc/visibility.texi: Mention libtool's -export-symbols option.
33146
33147 2009-03-02  Jim Meyering  <meyering@redhat.com>
33148
33149         announce-gen: new option: --no-print-checksums
33150         * build-aux/announce-gen (usage): Describe it.
33151         (print_checksums): Print a newline here, not in the [*] footnote.
33152         (main): Honor it.
33153
33154 2009-03-01  Bruno Haible  <bruno@clisp.org>
33155
33156         Use socklen_t in the native Windows replacements prototypes.
33157         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
33158         instead of 'int'.
33159         * lib/getsockopt.c (rpl_getsockopt): Likewise.
33160         * lib/setsockopt.c (rpl_setsockopt): Likewise.
33161         * modules/getsockopt (Depends-on): Add socklen.
33162         * modules/setsockopt (Depends-on): Add socklen.
33163
33164 2009-03-01  Bruno Haible  <bruno@clisp.org>
33165
33166         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
33167         least 4.2.
33168
33169 2009-03-01  Eric Blake  <ebb9@byu.net>
33170             Bruno Haible  <bruno@clisp.org>
33171
33172         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
33173         error messages.
33174         * lib/wait-process.c (wait_subprocess): Omit error message about
33175         deadly signal sent to the child of termsigp != NULL.
33176
33177 2009-03-01  Eric Blake  <ebb9@byu.net>
33178
33179         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
33180
33181 2009-03-01  Bruno Haible  <bruno@clisp.org>
33182
33183         Avoid a gcc warning.
33184         * tests/test-sched.c (b): Make global.
33185         Reported by Eric Blake.
33186
33187 2009-01-19  Martin Lambers  <marlam@marlam.de>
33188
33189         Provide POSIX semantics for socket timeout options on W32.
33190         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
33191         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
33192         * modules/setsockopt: Depend on sys_time module for struct timeval.
33193         * modules/getsockopt: Depend on sys_time module for struct timeval.
33194
33195 2009-03-01  Simon Josefsson  <simon@josefsson.org>
33196
33197         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
33198         __USE_GNU, for consistency with netdb.in.h.
33199         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
33200
33201 2009-03-01  Bruno Haible  <bruno@clisp.org>
33202
33203         More support for FreeMiNT.
33204         * lib/fseeko.c (rpl_fseeko): Complete last commit.
33205         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
33206
33207 2009-03-01  Bruno Haible  <bruno@clisp.org>
33208
33209         More support for FreeMiNT.
33210         * lib/fpurge.c (fpurge): Correct last commit.
33211         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
33212
33213 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33214
33215         Fix unportable awk script in vc-list-files.
33216         * build-aux/vc-list-files: In the replacement awk script, use
33217         substr with a second argument of 1, not zero.
33218         Report by Simon Josefsson.
33219
33220 2009-02-28  Bruno Haible  <bruno@clisp.org>
33221
33222         More support for FreeMiNT.
33223         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
33224         to FreeMiNT today.
33225         * lib/fwriting.c (fwriting): Likewise.
33226         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
33227
33228 2009-02-28  Bruno Haible  <bruno@clisp.org>
33229
33230         * tests/test-freadseek.c (main): Disable test beyond end of file on
33231         FreeMiNT.
33232         * tests/test-ftello.c (main): Likewise.
33233         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
33234
33235 2009-02-28  Bruno Haible  <bruno@clisp.org>
33236
33237         Add tentative support for FreeMiNT.
33238         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
33239         * lib/fpurge.c (fpurge): Likewise.
33240         * lib/freadable.c (freadable): Likewise.
33241         * lib/freading.c (freading): Likewise.
33242         * lib/freadptr.c (freadptr): Likewise.
33243         * lib/freadseek.c (freadptrinc): Likewise.
33244         * lib/fseeko.c (rpl_fseeko): Likewise.
33245         * lib/fseterr.c (fseterr): Likewise.
33246         * lib/fwritable.c (fwritable): Likewise.
33247         * lib/fwriting.c (fwriting): Likewise.
33248         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
33249         Hourihane.
33250         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
33251
33252 2009-02-28  Bruno Haible  <bruno@clisp.org>
33253
33254         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
33255         SIGCHLD.
33256         Reported by Jim Meyering.
33257
33258 2009-02-28  Bruno Haible  <bruno@clisp.org>
33259
33260         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
33261         Mention the results of these tests on various platforms.
33262         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
33263         order.
33264         * doc/posix-functions/printf.texi: Likewise.
33265         * doc/posix-functions/snprintf.texi: Likewise.
33266         * doc/posix-functions/sprintf.texi: Likewise.
33267         * doc/posix-functions/vfprintf.texi: Likewise.
33268         * doc/posix-functions/vprintf.texi: Likewise.
33269         * doc/posix-functions/vsnprintf.texi: Likewise.
33270         * doc/posix-functions/vsprintf.texi: Likewise.
33271         * doc/glibc-functions/obstack_printf.texi: Likewise.
33272         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
33273
33274 2009-02-28  Bruno Haible  <bruno@clisp.org>
33275
33276         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
33277         Reported by Loïc Minier <lool@dooz.org>.
33278
33279 2009-02-27  Bruno Haible  <bruno@clisp.org>
33280
33281         * gnulib-tool (func_import): Make the sed expression used to create the
33282         sed script for updating the .gitignore file POSIX compliant.
33283         Reported by Eric Blake.
33284
33285 2009-02-27  Bruno Haible  <bruno@clisp.org>
33286
33287         * gnulib-tool (sed): Don't alias as "sed --posix".
33288         Reported by Eric Blake.
33289
33290 2009-02-27  Bruno Haible  <bruno@clisp.org>
33291
33292         Avoid test link errors.
33293         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
33294         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
33295         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
33296         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
33297         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
33298
33299 2009-02-27  Bruno Haible  <bruno@clisp.org>
33300
33301         Avoid spurious "(cached)" in configure output.
33302         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
33303         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
33304         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
33305         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
33306         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
33307         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
33308         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
33309         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
33310         Reported by Eric Blake.
33311
33312 2009-02-27  Eric Blake  <ebb9@byu.net>
33313
33314         printf: fix regression in previous patch
33315         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
33316
33317 2009-02-27  Bruno Haible  <bruno@clisp.org>
33318
33319         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
33320         value.
33321         * lib/stdint.in.h: Likewise.
33322         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
33323
33324 2009-02-27  Eric Blake  <ebb9@byu.net>
33325
33326         doc: mention more functions added in cygwin 1.7.0
33327         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
33328         addition.
33329         * doc/posix-functions/open_wmemstream.texi: Likewise.
33330         * doc/posix-functions/wcsnlen.texi: Likewise.
33331         * doc/posix-functions/wcsnrtombs.texi: Likewise.
33332         * doc/posix-functions/wcstod.texi: Likewise.
33333         * doc/posix-functions/wcstof.texi: Likewise.
33334         * doc/posix-functions/wcstoimax.texi: Likewise.
33335         * doc/posix-functions/wcstok.texi: Likewise.
33336         * doc/posix-functions/wcstoumax.texi: Likewise.
33337
33338         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
33339         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
33340         * doc/posix-functions/fprintf.texi: Update.
33341         * doc/posix-functions/printf.texi: Update.
33342         * doc/posix-functions/snprintf.texi: Update.
33343         * doc/posix-functions/sprintf.texi: Update.
33344         * doc/posix-functions/vfprintf.texi: Update.
33345         * doc/posix-functions/vprintf.texi: Update.
33346         * doc/posix-functions/vsnprintf.texi: Update.
33347         * doc/posix-functions/vsprintf.texi: Update.
33348         * doc/glibc-functions/obstack_printf.texi: Update.
33349         * doc/glibc-functions/obstack_vprintf.texi: Update.
33350
33351 2009-02-26  Eric Blake  <ebb9@byu.net>
33352
33353         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
33354         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
33355         compilation bug by using runtime conversion.
33356         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
33357         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
33358         * modules/ceill-tests (Files): Use nan.h.
33359         * modules/floorl-tests (Files): Likewise.
33360         * modules/frexpl-tests (Files): Likewise.
33361         * modules/isnanl-tests (Files): Likewise.
33362         * modules/ldexpl-tests (Files): Likewise.
33363         * modules/roundl-tests (Files): Likewise.
33364         * modules/truncl-tests (Files): Likewise.
33365         * tests/test-ceill.c (main): Use a working NaN.
33366         * tests/test-floorl.c (main): Likewise.
33367         * tests/test-frexpl.c (main): Likewise.
33368         * tests/test-isnan.c (test_long_double): Likewise.
33369         * tests/test-isnanl.h (main): Likewise.
33370         * tests/test-ldexpl.h (main): Likewise.
33371         * tests/test-roundl.h (main): Likewise.
33372         * tests/test-truncl.h (main): Likewise.
33373         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
33374
33375 2009-02-26  Eric Blake  <ebb9@byu.net>
33376             Bruno Haible  <bruno@clisp.org>
33377
33378         Work around a *printf bug with %ls on Solaris.
33379         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
33380         precision is specified, sprintf stops converting the wide string
33381         argument when the number of bytes that have been produced by this
33382         conversion equals or exceeds the precision.
33383         * doc/posix-functions/fprintf.texi: Update.
33384         * doc/posix-functions/printf.texi: Update.
33385         * doc/posix-functions/snprintf.texi: Update.
33386         * doc/posix-functions/sprintf.texi: Update.
33387         * doc/posix-functions/vfprintf.texi: Update.
33388         * doc/posix-functions/vprintf.texi: Update.
33389         * doc/posix-functions/vsnprintf.texi: Update.
33390         * doc/posix-functions/vsprintf.texi: Update.
33391         * doc/glibc-functions/obstack_printf.texi: Update.
33392         * doc/glibc-functions/obstack_vprintf.texi: Update.
33393
33394 2009-02-26  Eric Blake  <ebb9@byu.net>
33395
33396         stdlib: favor compiler check of random.h
33397         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
33398         to avoid an ObjC random.h installed by Swarm.
33399
33400 2009-02-26  Bruno Haible  <bruno@clisp.org>
33401
33402         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
33403         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
33404         Reported by Gary V. Vaughan <gary@gnu.org>.
33405
33406 2009-02-26  Bruno Haible  <bruno@clisp.org>
33407
33408         Fix *printf behaviour regarding the %ls directive.
33409         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
33410         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
33411         NEED_PRINTF_DIRECTIVE_LS.
33412         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
33413         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
33414         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
33415         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
33416         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
33417         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
33418         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
33419         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
33420         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
33421         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
33422         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
33423         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
33424         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
33425         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
33426         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
33427         * doc/posix-functions/fprintf.texi: Update.
33428         * doc/posix-functions/printf.texi: Update.
33429         * doc/posix-functions/snprintf.texi: Update.
33430         * doc/posix-functions/sprintf.texi: Update.
33431         * doc/posix-functions/vfprintf.texi: Update.
33432         * doc/posix-functions/vprintf.texi: Update.
33433         * doc/posix-functions/vsnprintf.texi: Update.
33434         * doc/posix-functions/vsprintf.texi: Update.
33435         * doc/glibc-functions/obstack_printf.texi: Update.
33436         * doc/glibc-functions/obstack_vprintf.texi: Update.
33437         Reported by Eric Blake.
33438
33439 2009-02-25  Bruno Haible  <bruno@clisp.org>
33440
33441         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
33442         with known value.
33443         Reported by Gary V. Vaughan <gary@gnu.org>.
33444
33445 2009-02-25  Bruno Haible  <bruno@clisp.org>
33446
33447         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
33448         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
33449         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
33450         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
33451         Reported by Gary V. Vaughan <gary@gnu.org>.
33452
33453 2009-02-25  Bruno Haible  <bruno@clisp.org>
33454
33455         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
33456         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
33457         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
33458         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
33459         Reported by Gary V. Vaughan <gary@gnu.org>.
33460
33461 2009-02-25  Eric Blake  <ebb9@byu.net>
33462
33463         tests: skip fseek/ftell tests if ungetc is broken
33464         * m4/ungetc.m4: New file.
33465         * modules/fseek-tests: Split test, so ungetc dependency is
33466         separate from rest of test.
33467         * modules/fseeko-tests: Likewise.
33468         * modules/ftell-tests: Likewise.
33469         * modules/ftello-tests: Likewise.
33470         * tests/test-fseek.c (main): Isolate ungetc dependency.
33471         * tests/test-fseeko.c (main): Likewise.
33472         * tests/test-ftell.c (main): Likewise.
33473         * tests/test-ftello.c (main): Likewise.
33474         * tests/test-fseek2.sh: New file.
33475         * tests/test-fseeko2.sh: Likewise.
33476         * tests/test-ftell2.sh: Likewise.
33477         * tests/test-ftello2.sh: Likewise.
33478
33479 2009-02-25  OndÅ™ej Vašík  <ovasik@redhat.com>
33480
33481         test-getaddrinfo: fix usage of skip return code 77
33482         * tests/test-gettaddrinfo.c: Return skip code 77 only
33483         for first occurance of skip (4x77 is not 77)
33484
33485 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
33486
33487         strtod: avoid C99 decl-after-statement
33488         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
33489
33490 2009-02-24  Eric Blake  <ebb9@byu.net>
33491
33492         strtod: detect HP-UX 11.31 bug
33493         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
33494         Reported by Gary V. Vaughan.
33495
33496 2009-02-23  Bruno Haible  <bruno@clisp.org>
33497
33498         Fix invalid read past end of memory block.
33499         * lib/vasnprintf.c (DCHAR_SET): Define.
33500         (local_wcslen): Define only when needed.
33501         (local_strnlen, local_wcsnlen): New functions.
33502         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
33503         directives that involve a conversion ourselves.
33504         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
33505         wcsnlen, mbrtowc, wcrtomb.
33506         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
33507         * tests/test-vasprintf-posix.c (test_function): Likewise.
33508         * tests/test-snprintf-posix.h (test_function): Likewise.
33509         * tests/test-sprintf-posix.h (test_function): Likewise.
33510         Reported by Ben Pfaff <blp@cs.stanford.edu>.
33511
33512 2009-02-22  Bruno Haible  <bruno@clisp.org>
33513
33514         Implement new clarified decomposition of Hangul syllables.
33515         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
33516         of type LTV, return only a pairwise decomposition.
33517         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
33518         Likewise.
33519         * tests/uninorm/test-decomposition.c (main): Updated expected result.
33520         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
33521         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
33522
33523 2009-02-22  Bruno Haible  <bruno@clisp.org>
33524
33525         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
33526         zero-length results and shrink excess allocated memory.
33527         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
33528         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
33529         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
33530         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
33531         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
33532         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
33533         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
33534         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
33535         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
33536         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
33537         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
33538         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
33539
33540 2009-02-21  Bruno Haible  <bruno@clisp.org>
33541
33542         * doc/gnulib.texi: Include safe-alloc.texi earlier.
33543         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
33544         spaces after a period. Put a space between a macro name and its
33545         argument list. Trivial rewordings.
33546         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
33547         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
33548         (main): Return 0 explicitly.
33549
33550 2009-02-21  Bruno Haible  <bruno@clisp.org>
33551
33552         Tests for module 'uninorm/filter'.
33553         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
33554         * modules/uninorm/filter-tests: New file.
33555
33556         New module 'uninorm/filter'.
33557         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
33558         uninorm_filter_flush, uninorm_filter_free): New declarations.
33559         * lib/uninorm/uninorm-filter.c: New file.
33560         * modules/uninorm/filter: New file.
33561
33562 2009-02-21  Bruno Haible  <bruno@clisp.org>
33563
33564         Tests for module 'uninorm/nfkc'.
33565         * tests/uninorm/test-nfkc.c: New file.
33566         * tests/uninorm/test-u8-nfkc.c: New file.
33567         * tests/uninorm/test-u16-nfkc.c: New file.
33568         * tests/uninorm/test-u32-nfkc.c: New file.
33569         * tests/uninorm/test-u32-nfkc-big.sh: New file.
33570         * tests/uninorm/test-u32-nfkc-big.c: New file.
33571         * modules/uninorm/nfkc-tests: New file.
33572
33573         New module 'uninorm/nfkc'.
33574         * lib/uninorm/nfkc.c: New file.
33575         * modules/uninorm/nfkc: New file.
33576
33577         Tests for module 'uninorm/nfkd'.
33578         * tests/uninorm/test-nfkd.c: New file.
33579         * tests/uninorm/test-u8-nfkd.c: New file.
33580         * tests/uninorm/test-u16-nfkd.c: New file.
33581         * tests/uninorm/test-u32-nfkd.c: New file.
33582         * tests/uninorm/test-u32-nfkd-big.sh: New file.
33583         * tests/uninorm/test-u32-nfkd-big.c: New file.
33584         * modules/uninorm/nfkd-tests: New file.
33585
33586         New module 'uninorm/nfkd'.
33587         * lib/uninorm/nfkd.c: New file.
33588         * modules/uninorm/nfkd: New file.
33589
33590         Tests for module 'uninorm/nfc'.
33591         * tests/uninorm/test-nfc.c: New file.
33592         * tests/uninorm/test-u8-nfc.c: New file.
33593         * tests/uninorm/test-u16-nfc.c: New file.
33594         * tests/uninorm/test-u32-nfc.c: New file.
33595         * tests/uninorm/test-u32-nfc-big.sh: New file.
33596         * tests/uninorm/test-u32-nfc-big.c: New file.
33597         * modules/uninorm/nfc-tests: New file.
33598
33599         New module 'uninorm/nfc'.
33600         * lib/uninorm/nfc.c: New file.
33601         * modules/uninorm/nfc: New file.
33602
33603         Tests for module 'uninorm/nfd'.
33604         * tests/uninorm/test-nfd.c: New file.
33605         * tests/uninorm/test-u8-nfd.c: New file.
33606         * tests/uninorm/test-u16-nfd.c: New file.
33607         * tests/uninorm/test-u32-nfd.c: New file.
33608         * tests/uninorm/test-u32-nfd-big.sh: New file.
33609         * tests/uninorm/test-u32-nfd-big.c: New file.
33610         * tests/uninorm/test-u32-normalize-big.h: New file.
33611         * tests/uninorm/test-u32-normalize-big.c: New file.
33612         * tests/uninorm/NormalizationTest.txt: New file, created from
33613         Unicode 5.1.0 NormalizationTest.txt.
33614         * modules/uninorm/nfd-tests: New file.
33615
33616         New module 'uninorm/nfd'.
33617         * lib/uninorm/nfd.c: New file.
33618         * modules/uninorm/nfd: New file.
33619
33620         New module 'uninorm/u32-normalize'.
33621         * lib/uninorm/u32-normalize.c: New file.
33622         * modules/uninorm/u32-normalize: New file.
33623
33624         New module 'uninorm/u16-normalize'.
33625         * lib/uninorm/u16-normalize.c: New file.
33626         * modules/uninorm/u16-normalize: New file.
33627
33628         New module 'uninorm/u8-normalize'.
33629         * lib/uninorm/u8-normalize.c: New file.
33630         * lib/uninorm/normalize-internal.h: New file.
33631         * lib/uninorm/u-normalize-internal.h: New file.
33632         * modules/uninorm/u8-normalize: New file.
33633
33634         New module 'uninorm/decompose-internal'.
33635         * lib/uninorm/decompose-internal.c: New file.
33636         * modules/uninorm/decompose-internal: New file.
33637
33638         Tests for module 'uninorm/composition'.
33639         * tests/uninorm/test-composition.c: New file.
33640         * modules/uninorm/composition-tests: New file.
33641
33642         New module 'uninorm/composition'.
33643         * lib/uninorm/composition.c: New file.
33644         * lib/uninorm/composition-table.gperf: New file, generated by
33645         gen-uni-tables.
33646         * modules/uninorm/composition: New file.
33647
33648         Tests for module 'uninorm/compat-decomposition'.
33649         * tests/uninorm/test-compat-decomposition.c: New file.
33650         * modules/uninorm/compat-decomposition-tests: New file.
33651
33652         New module 'uninorm/compat-decomposition'.
33653         * lib/uninorm/decompose-internal.h: New file.
33654         * lib/uninorm/compat-decomposition.c: New file.
33655         * modules/uninorm/compat-decomposition: New file.
33656
33657         Tests for module 'uninorm/canonical-decomposition'.
33658         * tests/uninorm/test-canonical-decomposition.c: New file.
33659         * modules/uninorm/canonical-decomposition-tests: New file.
33660
33661         New module 'uninorm/canonical-decomposition'.
33662         * lib/uninorm/canonical-decomposition.c: New file.
33663         * modules/uninorm/canonical-decomposition: New file.
33664
33665         Tests for module 'uninorm/decomposition'.
33666         * tests/uninorm/test-decomposition.c: New file.
33667         * modules/uninorm/decomposition-tests: New file.
33668
33669         New module 'uninorm/decomposition'.
33670         * lib/uninorm/decomposition.c: New file.
33671         * modules/uninorm/decomposition: New file.
33672
33673         New module 'uninorm/decomposition-table'.
33674         * lib/uninorm/decomposition-table.h: New file.
33675         * lib/uninorm/decomposition-table.c: New file.
33676         * lib/uninorm/decomposition-table1.h: New file, generated by
33677         gen-uni-tables.
33678         * lib/uninorm/decomposition-table2.h: New file, generated by
33679         gen-uni-tables.
33680         * modules/uninorm/decomposition-table: New file.
33681
33682         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
33683         (UC_DECOMP_*): New enumeration items.
33684         (get_decomposition): New function.
33685         (struct decomp_table): New type.
33686         (output_decomposition, output_decomposition_tables): New functions.
33687         (unicode_composition_exclusions): New variable.
33688         (fill_composition_exclusions, debug_output_composition_tables): New
33689         functions.
33690         (main): Accept one more argument. Invoke fill_composition_exclusions.
33691         Output decomposition and composition tables.
33692
33693         New module 'uninorm/base'.
33694         * lib/uninorm.h: New file.
33695         * lib/unictype.h: Update comment.
33696         * modules/uninorm/base: New file.
33697
33698 2009-02-21  David Lutterkort  <lutter@redhat.com>
33699
33700         Tests for module 'safe-alloc'.
33701         * tests/test-safe-alloc.c: New file.
33702         * modules/safe-alloc-tests: New file.
33703
33704         New module 'safe-alloc'.
33705         * lib/safe-alloc.h: New file.
33706         * lib/safe-alloc.c: New file.
33707         * m4/safe-alloc.m4: New file.
33708         * modules/safe-alloc: New file.
33709         * doc/safe-alloc.texi: New file.
33710         * doc/gnulib.texi: Include it.
33711         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
33712         safe-alloc.
33713
33714 2009-02-18  Bruno Haible  <bruno@clisp.org>
33715
33716         Fix link error on non-glibc systems.
33717         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
33718         variable.
33719         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
33720
33721 2009-02-18  Jim Meyering  <meyering@redhat.com>
33722
33723         fts: avoid used-uninitialized error due to recent change
33724         * lib/fts.c (fts_read): Guard uses of the new member,
33725         parent->fts_n_dirs_remaining, since it's not relevant for
33726         the parent of a directory specified on the command-line.
33727
33728 2009-02-17  James Youngman  <jay@gnu.org>
33729             Bruno Haible  <bruno@clisp.org>
33730
33731         * m4/include_next.m4: Reformulate comment.
33732
33733 2009-02-16  Jim Meyering  <meyering@redhat.com>
33734
33735         fts: add #if guards so that the fts_lgpl module still builds
33736         * lib/fts.c: Guard just-added hash-table-using parts with
33737         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
33738         Reported by Simon Josefsson.
33739
33740 2009-02-15  Bruno Haible  <bruno@clisp.org>
33741
33742         * modules/array-mergesort-tests: New file.
33743         * tests/test-array-mergesort.c: New file.
33744
33745         New module 'array-mergesort'.
33746         * modules/array-mergesort: New file.
33747         * lib/array-mergesort.h: New file.
33748
33749 2009-02-15  Bruno Haible  <bruno@clisp.org>
33750
33751         Fix 2009-02-07 commit.
33752         * lib/gen-uni-tables.c (output_predicate, output_category,
33753         output_combclass, output_bidi_category, output_decimal_digit,
33754         output_digit, output_numeric, output_mirror, output_scripts,
33755         output_ident_category, output_simple_mapping): Fix format directives.
33756         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
33757
33758 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
33759
33760         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
33761         fixes are available from IBM.
33762
33763 2009-02-13  Jim Meyering  <meyering@redhat.com>
33764
33765         fts: arrange not to stat non-directories in more cases
33766         This makes GNU find (when it doesn't need to stat each file)
33767         *much* more efficient at traversing reiserfs file systems.
33768         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
33769         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
33770         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
33771         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
33772         (leaf_optimization_applies): New function.
33773         (LCO_hash, LCO_compare): New helper functions.
33774         (link_count_optimize_ok): New function.
33775         (fts_stat): Initialize new member (if dir).
33776         (fts_read): Decrement parent's fts_n_dirs_remaining count if
33777         we've just stat'ed a directory.  Skip the stat call when possible.
33778         ---
33779         Note this AFS-related exchange:
33780         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
33781         and note find's pioctl call in find/fstype.c.
33782         But that is necessary only if you want to enable the
33783         optimization for AFS, and for now, I don't.
33784
33785         fts: move a function definition "up" (no semantic change)
33786         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
33787         "up" to precede upcoming use of a related function.
33788
33789 2009-02-11  Jim Meyering  <meyering@redhat.com>
33790
33791         fts: correct internal computation of nlinks (optimization-related)
33792         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
33793         whether the current entry is a directory, so don't test it.
33794
33795 2009-02-10  Bruno Haible  <bruno@clisp.org>
33796
33797         Tests for module 'uniwbrk/ulc-wordbreaks'.
33798         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
33799         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
33800         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
33801
33802         Tests for module 'uniwbrk/u32-wordbreaks'.
33803         * modules/uniwbrk/u32-wordbreaks-tests: New file.
33804         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
33805
33806         Tests for module 'uniwbrk/u16-wordbreaks'.
33807         * modules/uniwbrk/u16-wordbreaks-tests: New file.
33808         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
33809
33810         Tests for module 'uniwbrk/u8-wordbreaks'.
33811         * modules/uniwbrk/u8-wordbreaks-tests: New file.
33812         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
33813
33814 2009-02-10  Bruno Haible  <bruno@clisp.org>
33815
33816         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
33817         property.
33818         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
33819         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
33820         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
33821
33822 2009-02-10  Simon Josefsson  <simon@josefsson.org>
33823
33824         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
33825         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
33826
33827 2009-02-10  Bruno Haible  <bruno@clisp.org>
33828
33829         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
33830         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
33831         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
33832         * lib/unilbrk/u8-possible-linebreaks.c: Update.
33833         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
33834         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
33835
33836 2009-02-09  Simon Josefsson  <simon@josefsson.org>
33837
33838         * lib/sockets.h (gl_fd_to_handle): New function.
33839
33840         * tests/test-sockets.c: Call gl_fd_to_handle.
33841
33842 2009-02-09  Bruno Haible  <bruno@clisp.org>
33843
33844         * doc/havelib.texi: Document the conventions on bi-arch systems.
33845
33846 2009-02-08  Bruno Haible  <bruno@clisp.org>
33847
33848         Document the AC_LIB_LINKFLAGS macro.
33849         * doc/havelib.texi: New file, mostly written on 2005-05-24.
33850         * doc/gnulib.texi: Include it.
33851
33852 2009-02-08  Bruno Haible  <bruno@clisp.org>
33853
33854         Fix wrong order of sections, compared to TOC.
33855         * doc/gnulib.texi: Include relocatable-maint.texi after the
33856         "Regular expressions" node, not before.
33857
33858 2009-02-08  Bruno Haible  <bruno@clisp.org>
33859
33860         Tests for module 'unicase/totitle'.
33861         * modules/unicase/totitle-tests: New file.
33862
33863         Tests for module 'unicase/tolower'.
33864         * modules/unicase/tolower-tests: New file.
33865
33866         Tests for module 'unicase/toupper'.
33867         * modules/unicase/toupper-tests: New file.
33868         * tests/unicase/test-mapping-part1.h: New file.
33869         * tests/unicase/test-mapping-part2.h: New file.
33870
33871         New module 'unicase/totitle'.
33872         * modules/unicase/totitle: New file.
33873         * lib/unicase/totitle.c: New file.
33874
33875         New module 'unicase/tolower'.
33876         * modules/unicase/tolower: New file.
33877         * lib/unicase/tolower.c: New file.
33878
33879         New module 'unicase/toupper'.
33880         * modules/unicase/toupper: New file.
33881         * lib/unicase/toupper.c: New file.
33882         * lib/unicase/simple-mapping.h: New file.
33883
33884         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
33885         (mapping_table): New structure.
33886         (output_simple_mapping): New function.
33887         (main): Invoke output_simple_mapping_test and output_simple_mapping.
33888         * modules/gen-uni-tables (Description): Update.
33889         * lib/unicase/toupper.h: New file, automatically generated by
33890         gen-uni-tables.
33891         * lib/unicase/tolower.h: New file, automatically generated by
33892         gen-uni-tables.
33893         * lib/unicase/totitle.h: New file, automatically generated by
33894         gen-uni-tables.
33895         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
33896         gen-uni-tables.
33897         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
33898         gen-uni-tables.
33899         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
33900         gen-uni-tables.
33901
33902         New module 'unicase/base'.
33903         * modules/unicase/base: New file.
33904         * lib/unicase.h: New file.
33905
33906 2009-02-08  Bruno Haible  <bruno@clisp.org>
33907
33908         New module 'uniwbrk/ulc-wordbreaks'.
33909         * modules/uniwbrk/ulc-wordbreaks: New file.
33910         * lib/uniwbrk/ulc-wordbreaks.c: New file.
33911
33912         New module 'uniwbrk/u32-wordbreaks'.
33913         * modules/uniwbrk/u32-wordbreaks: New file.
33914         * lib/uniwbrk/u32-wordbreaks.c: New file.
33915
33916         New module 'uniwbrk/u16-wordbreaks'.
33917         * modules/uniwbrk/u16-wordbreaks: New file.
33918         * lib/uniwbrk/u16-wordbreaks.c: New file.
33919
33920         New module 'uniwbrk/u8-wordbreaks'.
33921         * modules/uniwbrk/u8-wordbreaks: New file.
33922         * lib/uniwbrk/u8-wordbreaks.c: New file.
33923         * lib/uniwbrk/u-wordbreaks.h: New file.
33924
33925         New module 'uniwbrk/table'.
33926         * modules/uniwbrk/table: New file.
33927         * lib/uniwbrk/wbrktable.h: New file.
33928         * lib/uniwbrk/wbrktable.c: New file.
33929
33930         New module 'uniwbrk/wordbreak-property'.
33931         * modules/uniwbrk/wordbreak-property: New file.
33932         * lib/uniwbrk/wordbreak-property.c: New file.
33933
33934         * lib/gen-uni-tables.c (WBP_*): New enum items.
33935         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
33936         (unicode_org_wbp): New variable.
33937         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
33938         New functions.
33939         (wbp_table): New structure.
33940         (output_wbp, output_wbrk_tables): New functions.
33941         (main): Accept additional argument. Invoke fill_org_wbp,
33942         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
33943         output_wbrk_tables.
33944         * modules/gen-uni-tables (Description): Update.
33945         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
33946         gen-uni-tables.
33947
33948         New module 'uniwbrk/base'.
33949         * modules/uniwbrk/base: New file.
33950         * lib/uniwbrk.h: New file.
33951
33952 2009-02-08  Bruno Haible  <bruno@clisp.org>
33953
33954         Update to Unicode 5.1.0.
33955         * lib/gen-uni-tables.c (is_property_alphabetic): Include
33956         U+2185..U+2188.
33957         (is_property_default_ignorable_code_point): Don't include characters
33958         of category Cc or Cs and not-a-characters.
33959         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
33960         U+0D79, U+109E, U+109F, U+A60C.
33961         * lib/unictype/bidi_of.h: Regenerated.
33962         * lib/unictype/blocks.h: Regenerated.
33963         * lib/unictype/categ_C.h: Regenerated.
33964         * lib/unictype/categ_Cf.h: Regenerated.
33965         * lib/unictype/categ_Cn.h: Regenerated.
33966         * lib/unictype/categ_L.h: Regenerated.
33967         * lib/unictype/categ_Ll.h: Regenerated.
33968         * lib/unictype/categ_Lm.h: Regenerated.
33969         * lib/unictype/categ_Lo.h: Regenerated.
33970         * lib/unictype/categ_Lu.h: Regenerated.
33971         * lib/unictype/categ_M.h: Regenerated.
33972         * lib/unictype/categ_Mc.h: Regenerated.
33973         * lib/unictype/categ_Me.h: Regenerated.
33974         * lib/unictype/categ_Mn.h: Regenerated.
33975         * lib/unictype/categ_N.h: Regenerated.
33976         * lib/unictype/categ_Nd.h: Regenerated.
33977         * lib/unictype/categ_Nl.h: Regenerated.
33978         * lib/unictype/categ_No.h: Regenerated.
33979         * lib/unictype/categ_P.h: Regenerated.
33980         * lib/unictype/categ_Pd.h: Regenerated.
33981         * lib/unictype/categ_Pe.h: Regenerated.
33982         * lib/unictype/categ_Pf.h: Regenerated.
33983         * lib/unictype/categ_Pi.h: Regenerated.
33984         * lib/unictype/categ_Po.h: Regenerated.
33985         * lib/unictype/categ_Ps.h: Regenerated.
33986         * lib/unictype/categ_S.h: Regenerated.
33987         * lib/unictype/categ_Sk.h: Regenerated.
33988         * lib/unictype/categ_Sm.h: Regenerated.
33989         * lib/unictype/categ_So.h: Regenerated.
33990         * lib/unictype/categ_of.h: Regenerated.
33991         * lib/unictype/combining.h: Regenerated.
33992         * lib/unictype/ctype_alnum.h: Regenerated.
33993         * lib/unictype/ctype_alpha.h: Regenerated.
33994         * lib/unictype/ctype_graph.h: Regenerated.
33995         * lib/unictype/ctype_lower.h: Regenerated.
33996         * lib/unictype/ctype_print.h: Regenerated.
33997         * lib/unictype/ctype_punct.h: Regenerated.
33998         * lib/unictype/ctype_upper.h: Regenerated.
33999         * lib/unictype/decdigit.h: Regenerated.
34000         * lib/unictype/digit.h: Regenerated.
34001         * lib/unictype/mirror.h: Regenerated.
34002         * lib/unictype/numeric.h: Regenerated.
34003         * lib/unictype/pr_alphabetic.h: Regenerated.
34004         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
34005         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
34006         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
34007         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
34008         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
34009         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
34010         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
34011         * lib/unictype/pr_combining.h: Regenerated.
34012         * lib/unictype/pr_dash.h: Regenerated.
34013         * lib/unictype/pr_decimal_digit.h: Regenerated.
34014         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
34015         * lib/unictype/pr_deprecated.h: Regenerated.
34016         * lib/unictype/pr_diacritic.h: Regenerated.
34017         * lib/unictype/pr_extender.h: Regenerated.
34018         * lib/unictype/pr_format_control.h: Regenerated.
34019         * lib/unictype/pr_grapheme_base.h: Regenerated.
34020         * lib/unictype/pr_grapheme_extend.h: Regenerated.
34021         * lib/unictype/pr_grapheme_link.h: Regenerated.
34022         * lib/unictype/pr_id_continue.h: Regenerated.
34023         * lib/unictype/pr_id_start.h: Regenerated.
34024         * lib/unictype/pr_ideographic.h: Regenerated.
34025         * lib/unictype/pr_ignorable_control.h: Regenerated.
34026         * lib/unictype/pr_lowercase.h: Regenerated.
34027         * lib/unictype/pr_math.h: Regenerated.
34028         * lib/unictype/pr_numeric.h: Regenerated.
34029         * lib/unictype/pr_other_alphabetic.h: Regenerated.
34030         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
34031         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
34032         * lib/unictype/pr_other_id_continue.h: Regenerated.
34033         * lib/unictype/pr_other_lowercase.h: Regenerated.
34034         * lib/unictype/pr_other_math.h: Regenerated.
34035         * lib/unictype/pr_punctuation.h: Regenerated.
34036         * lib/unictype/pr_sentence_terminal.h: Regenerated.
34037         * lib/unictype/pr_soft_dotted.h: Regenerated.
34038         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
34039         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
34040         * lib/unictype/pr_unified_ideograph.h: Regenerated.
34041         * lib/unictype/pr_uppercase.h: Regenerated.
34042         * lib/unictype/pr_xid_continue.h: Regenerated.
34043         * lib/unictype/pr_xid_start.h: Regenerated.
34044         * lib/unictype/pr_zero_width.h: Regenerated.
34045         * lib/unictype/scripts.h: Regenerated.
34046         * lib/unictype/scripts_byname.gperf: Regenerated.
34047         * lib/unictype/sy_java_ident.h: Regenerated.
34048         * lib/unilbrk/lbrkprop1.h: Regenerated.
34049         * lib/unilbrk/lbrkprop2.h: Regenerated.
34050         * tests/unictype/test-categ_C.c: Regenerated.
34051         * tests/unictype/test-categ_Cf.c: Regenerated.
34052         * tests/unictype/test-categ_Cn.c: Regenerated.
34053         * tests/unictype/test-categ_L.c: Regenerated.
34054         * tests/unictype/test-categ_Ll.c: Regenerated.
34055         * tests/unictype/test-categ_Lm.c: Regenerated.
34056         * tests/unictype/test-categ_Lo.c: Regenerated.
34057         * tests/unictype/test-categ_Lu.c: Regenerated.
34058         * tests/unictype/test-categ_M.c: Regenerated.
34059         * tests/unictype/test-categ_Mc.c: Regenerated.
34060         * tests/unictype/test-categ_Me.c: Regenerated.
34061         * tests/unictype/test-categ_Mn.c: Regenerated.
34062         * tests/unictype/test-categ_N.c: Regenerated.
34063         * tests/unictype/test-categ_Nd.c: Regenerated.
34064         * tests/unictype/test-categ_Nl.c: Regenerated.
34065         * tests/unictype/test-categ_No.c: Regenerated.
34066         * tests/unictype/test-categ_P.c: Regenerated.
34067         * tests/unictype/test-categ_Pd.c: Regenerated.
34068         * tests/unictype/test-categ_Pe.c: Regenerated.
34069         * tests/unictype/test-categ_Pf.c: Regenerated.
34070         * tests/unictype/test-categ_Pi.c: Regenerated.
34071         * tests/unictype/test-categ_Po.c: Regenerated.
34072         * tests/unictype/test-categ_Ps.c: Regenerated.
34073         * tests/unictype/test-categ_S.c: Regenerated.
34074         * tests/unictype/test-categ_Sk.c: Regenerated.
34075         * tests/unictype/test-categ_Sm.c: Regenerated.
34076         * tests/unictype/test-categ_So.c: Regenerated.
34077         * tests/unictype/test-ctype_alnum.c: Regenerated.
34078         * tests/unictype/test-ctype_alpha.c: Regenerated.
34079         * tests/unictype/test-ctype_graph.c: Regenerated.
34080         * tests/unictype/test-ctype_lower.c: Regenerated.
34081         * tests/unictype/test-ctype_print.c: Regenerated.
34082         * tests/unictype/test-ctype_punct.c: Regenerated.
34083         * tests/unictype/test-ctype_upper.c: Regenerated.
34084         * tests/unictype/test-decdigit.h: Regenerated.
34085         * tests/unictype/test-digit.h: Regenerated.
34086         * tests/unictype/test-numeric.h: Regenerated.
34087         * tests/unictype/test-pr_alphabetic.c: Regenerated.
34088         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
34089         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
34090         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
34091         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
34092         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
34093         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
34094         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
34095         * tests/unictype/test-pr_combining.c: Regenerated.
34096         * tests/unictype/test-pr_dash.c: Regenerated.
34097         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
34098         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
34099         * tests/unictype/test-pr_deprecated.c: Regenerated.
34100         * tests/unictype/test-pr_diacritic.c: Regenerated.
34101         * tests/unictype/test-pr_extender.c: Regenerated.
34102         * tests/unictype/test-pr_format_control.c: Regenerated.
34103         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
34104         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
34105         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
34106         * tests/unictype/test-pr_id_continue.c: Regenerated.
34107         * tests/unictype/test-pr_id_start.c: Regenerated.
34108         * tests/unictype/test-pr_ideographic.c: Regenerated.
34109         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
34110         * tests/unictype/test-pr_lowercase.c: Regenerated.
34111         * tests/unictype/test-pr_math.c: Regenerated.
34112         * tests/unictype/test-pr_numeric.c: Regenerated.
34113         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
34114         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
34115         Regenerated.
34116         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
34117         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
34118         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
34119         * tests/unictype/test-pr_other_math.c: Regenerated.
34120         * tests/unictype/test-pr_punctuation.c: Regenerated.
34121         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
34122         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
34123         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
34124         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
34125         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
34126         * tests/unictype/test-pr_uppercase.c: Regenerated.
34127         * tests/unictype/test-pr_xid_continue.c: Regenerated.
34128         * tests/unictype/test-pr_xid_start.c: Regenerated.
34129         * tests/unictype/test-pr_zero_width.c: Regenerated.
34130
34131         Update to Unicode 5.1.0.
34132         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
34133         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
34134         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
34135         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
34136         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
34137         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
34138         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
34139         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
34140         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
34141         (nonspacing_table_ind): Update.
34142         * tests/uniwidth/test-uc_width2.sh: Update expected result.
34143
34144         Update to Unicode 5.1.0.
34145         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
34146         code transform.
34147         * lib/uniname/uniname.c (unicode_character_name,
34148         unicode_name_character): Add the range 0x1Fxxx to the code transform.
34149         * lib/uniname/uninames.h: Regenerated.
34150         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
34151
34152 2009-02-07  Bruno Haible  <bruno@clisp.org>
34153
34154         Merge gen-ctype and gen-lbrk into a single program.
34155         * lib/gen-uni-tables.c: New file, incorporating
34156         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
34157         Add directory prefixes to the names of the generated files.
34158         * lib/unictype/gen-ctype.c: Remove file.
34159         * lib/unilbrk/gen-lbrk.c: Remove file.
34160         * modules/gen-uni-tables: New file.
34161         * modules/unictype/gen-ctype: Remove file.
34162         * modules/unilbrk/gen-lbrk: Remove file.
34163
34164 2009-02-07  Bruno Haible  <bruno@clisp.org>
34165
34166         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
34167
34168         New module 'unistr/u32-strcoll'.
34169         * modules/unistr/u32-strcoll: New file.
34170         * lib/unistr/u32-strcoll.c: New file.
34171
34172         New module 'unistr/u16-strcoll'.
34173         * modules/unistr/u16-strcoll: New file.
34174         * lib/unistr/u16-strcoll.c: New file.
34175
34176         New module 'unistr/u8-strcoll'.
34177         * modules/unistr/u8-strcoll: New file.
34178         * lib/unistr/u8-strcoll.c: New file.
34179         * lib/unistr/u-strcoll.h: New file.
34180
34181 2009-02-07  Bruno Haible  <bruno@clisp.org>
34182
34183         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
34184         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
34185         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
34186         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
34187         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
34188         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
34189
34190 2009-02-07  Bruno Haible  <bruno@clisp.org>
34191
34192         Make 64-bit clean.
34193         * lib/unictype/gen-ctype.c (output_predicate, output_category,
34194         output_combclass, output_bidi_category, output_decimal_digit,
34195         output_digit, output_numeric, output_mirror, output_scripts,
34196         output_ident_category): Use proper width specifier in format strings.
34197
34198 2009-02-07  Bruno Haible  <bruno@clisp.org>
34199
34200         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
34201         failure behaviour.
34202
34203 2009-02-07  Jim Meyering  <meyering@redhat.com>
34204
34205         regex: avoid compilation failure with upcoming gcc-4.4
34206         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
34207         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
34208         "... error: integer overflow in preprocessor expression".
34209
34210 2009-02-05  Ben Pfaff  <blp@gnu.org>
34211
34212         Fix link errors on Windows when close module is used.
34213         * modules/close: Add $(LIB_CLOSE) to Link section.
34214         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
34215         $(LIB_CLOSE) on Windows.
34216
34217 2009-02-05  Jim Meyering  <meyering@redhat.com>
34218
34219         still avoid unused-parameter warnings, but do it cleanly
34220         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
34221         (get_fs_usage): Cast to void instead.
34222         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
34223         (dev_from_mount_options, read_file_system_list): Cast to void.
34224         Prompted by Bruno Haible.
34225
34226 2009-02-04  Jim Meyering  <meyering@redhat.com>
34227
34228         fsusage.c: correct copyright year
34229         * lib/fsusage.c: Reflect year in which the change is pushed into
34230
34231         avoid misc. warnings
34232         * lib/fsusage.c (UNUSED_PARAM): Define.
34233         (get_fs_usage): Mark parameter "disk" as unused.
34234         * lib/getugroups.c (getgrent): Use "void" in prototype.
34235         * lib/mountlist.c: Mark unused parameters.
34236         (read_file_system_list): Declare a local with "const".
34237         * lib/nanosleep.c (getnow): Declare static.
34238         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
34239
34240         dirfd: set errno upon failure
34241         * lib/dirfd.c: Include <errno.h>.
34242         Set errno to ENOTSUP when returning -1.
34243         * modules/dirfd (Depends-on): Add errno.
34244         Suggested by John Kodis <kodis@comcast.net>.
34245
34246 2009-02-01  Bruno Haible  <bruno@clisp.org>
34247
34248         Don't assume sizeof (long) >= sizeof (void *).
34249         * lib/memcmp.c: Include stdint.h.
34250         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
34251         srcp2 to 'const byte *'.
34252         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
34253         types to uintptr_t.
34254         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
34255         * modules/memcmp (Depends-on): Add stdint.
34256         Reported by Ozkan Sezer <sezeroz@gmail.com>.
34257
34258 2009-01-30  Eric Blake  <ebb9@byu.net>
34259
34260         fix more require-before-expand issues
34261         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
34262         expand, AC_PROG_AWK.
34263         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
34264
34265 2009-01-28  Eric Blake  <ebb9@byu.net>
34266
34267         version-etc: use consistent URL formatting
34268         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
34269         Improve formatting.  Use fputs for string without %.
34270
34271 2009-01-28  Jim Meyering  <meyering@redhat.com>
34272
34273         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
34274         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
34275         "underquoted definition of NAME" from autoconf-2.59.
34276
34277 2009-01-28  Bruno Haible  <bruno@clisp.org>
34278
34279         * doc/gnulib.texi: Add "Obsolete modules" to index.
34280
34281 2009-01-28  Jim Meyering  <meyering@redhat.com>
34282
34283         useless-if-before-free: recognize more variants
34284         * build-aux/useless-if-before-free: Also recognize e.g.,
34285         if (NULL != p) free (p);
34286
34287 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
34288
34289         test-getaddrinfo: skip (don't fail) this test when there's no network
34290         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
34291         on the presumption that it means you lack network access.
34292
34293 2009-01-26  Jim Meyering  <meyering@redhat.com>
34294
34295         fflush: avoid warnings on modern systems
34296         * lib/fflush.c (rpl_fflush): Move declarations of locals,
34297         pos and result, into scopes where they're used.
34298
34299 2009-01-26  Eric Blake  <ebb9@byu.net>
34300
34301         Silence warning reintroduced by recent extensions patch.
34302         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
34303         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
34304         autoconf.
34305
34306         Backport improved autoconf semantics of AC_DEFUN_ONCE.
34307         * m4/00gnulib.m4: New file.
34308         * gnulib-tool (func_get_filelist): Always use it.
34309         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
34310         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
34311
34312 2009-01-25  Bruno Haible  <bruno@clisp.org>
34313
34314         Make test-quotearg work on MacOS X and AIX.
34315         * tests/test-quotearg.sh: New file.
34316         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
34317         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
34318         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
34319         include <libintl.h>.
34320         (fake_locale): Remove variable.
34321         (gettext, dgettext, dcgettext): Remove functions.
34322         (main): Instead of setting a fake locale, set a real locale. Call
34323         textdomain and bindtextdomain.
34324         * modules/quotearg-tests (Files): Add the new files.
34325         (Depends-on): Add gettext, setenv, unsetenv.
34326         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
34327         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
34328         Augment TESTS_ENVIRONMENT.
34329
34330 2009-01-25  Bruno Haible  <bruno@clisp.org>
34331
34332         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
34333         fr_FR.ISO8859-1 locale on MacOS X.
34334         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
34335         ja_JP.eucJP locale on MacOS X.
34336         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
34337         zh_CN.GB18030 locale on MacOS X.
34338
34339 2009-01-25  Bruno Haible  <bruno@clisp.org>
34340
34341         Avoid link errors on MacOS X 10.3.
34342         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
34343         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
34344
34345 2009-01-25  Bruno Haible  <bruno@clisp.org>
34346
34347         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
34348         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
34349         * modules/pipe (Files): Remove m4/posix_spawn.m4.
34350         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
34351         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
34352         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
34353         posix_spawnattr_init, posix_spawnattr_setsigmask,
34354         posix_spawnattr_setflags, posix_spawnattr_destroy.
34355
34356         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
34357         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
34358         * modules/execute (Files): Remove m4/posix_spawn.m4.
34359         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
34360         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
34361         posix_spawnattr_init, posix_spawnattr_setsigmask,
34362         posix_spawnattr_setflags, posix_spawnattr_destroy.
34363
34364 2009-01-25  Bruno Haible  <bruno@clisp.org>
34365
34366         * lib/glthread/threadlib.c: Include <stdlib.h>.
34367
34368 2009-01-25  Bruno Haible  <bruno@clisp.org>
34369
34370         * lib/glthread/threadlib.c (dummy): New declaration.
34371
34372 2009-01-25  Bruno Haible  <bruno@clisp.org>
34373
34374         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
34375         multibyte characters also for the GB18030 encoding. Don't crash when
34376         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
34377
34378 2009-01-25  Bruno Haible  <bruno@clisp.org>
34379
34380         Avoid redefining 'struct random_data' on OSF/1 5.1.
34381         * lib/stdlib.in.h: Include <random.h> if it exists.
34382         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
34383         HAVE_RANDOM_H. Include <random.h> when testing whether
34384         'struct random_data' exists.
34385         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
34386
34387 2009-01-25  Bruno Haible  <bruno@clisp.org>
34388
34389         Don't install charset.alias on MacOS X >= 10.3.
34390         * lib/localcharset.c (DARWIN7): New macro.
34391         (get_charset_aliases): Hardcode the result for Darwin7.
34392         * modules/localcharset (install-exec-local): Don't install
34393         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
34394
34395 2009-01-25  Bruno Haible  <bruno@clisp.org>
34396
34397         Don't install charset.alias on mingw and Cygwin.
34398         * modules/localcharset (install-exec-local): Don't install
34399         charset.alias on mingw and Cygwin, if the file does not yet exist.
34400         The result for these platforms is hardcoded in localcharset.c.
34401
34402 2009-01-25  Bruno Haible  <bruno@clisp.org>
34403
34404         Make it possible again to use AC_GNU_SOURCE together with gnulib.
34405         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
34406         before requiring AC_USE_SYSTEM_EXTENSIONS.
34407
34408 2009-01-25  Jim Meyering  <meyering@redhat.com>
34409
34410         c-strtod: avoid warnings
34411         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
34412         "assignment discards qualifiers from pointer target type" warnings.
34413
34414 2009-01-24  Bruno Haible  <bruno@clisp.org>
34415
34416         Add support for non-UTF-8 locales on MacOS X.
34417         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
34418         canonical encodings. For Darwin 7 and newer, don't map traditional
34419         encodings to UTF-8.
34420         Reported by Vincent Lefevre <vincent@vinc17.org>
34421         at <http://savannah.gnu.org/bugs/?25235>.
34422
34423 2009-01-24  Bruno Haible  <bruno@clisp.org>
34424
34425         * doc/gnulib.texi (Obsolete modules): New section.
34426         Reported by Mike Frysinger <vapier@gentoo.org>.
34427
34428 2009-01-24  Bruno Haible  <bruno@clisp.org>
34429
34430         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
34431         (%.dvi): New rule.
34432
34433 2009-01-24  Bruno Haible  <bruno@clisp.org>
34434
34435         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
34436         Reported by Eric Blake.
34437
34438 2009-01-24  Bruno Haible  <bruno@clisp.org>
34439
34440         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
34441         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
34442         Reported by Gary V. Vaughan <gary@gnu.org>.
34443
34444 2009-01-24  Bruno Haible  <bruno@clisp.org>
34445
34446         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
34447
34448 2009-01-23  Bruno Haible  <bruno@clisp.org>
34449
34450         Make c-strtod, c-strtold usable in libraries.
34451         * lib/c-strtod.c: Include string.h instead of xalloc.h.
34452         (C_STRTOD): Call strdup instead of xstrdup.
34453         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
34454         * modules/c-strtold (Depends-on): Likewise.
34455         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
34456         * NEWS: Mention the change.
34457         Reported by Michael Gold <mgold@ncf.ca>.
34458
34459 2009-01-23  Jim Meyering  <meyering@redhat.com>
34460
34461         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
34462         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
34463         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
34464
34465 2009-01-23  Simon Josefsson  <simon@josefsson.org>
34466
34467         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
34468         GNU CoreUtils.
34469         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
34470         * modules/version-etc (Description): Update.
34471
34472 2009-01-22  Bruno Haible  <bruno@clisp.org>
34473
34474         Cache the C locale object.
34475         * lib/c-strtod.c (c_locale_cache): New variable.
34476         (c_locale): New function.
34477         (C_STRTOD): Use it, and don't call freelocale.
34478         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
34479         Suggested by Paolo Bonzini.
34480
34481 2009-01-21  Bruno Haible  <bruno@clisp.org>
34482
34483         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
34484         conditions other than overflow.
34485
34486 2009-01-21  Bruno Haible  <bruno@clisp.org>
34487
34488         * lib/c-strtod.c: Include errno.h.
34489         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
34490         value from STRTOD_L and STRTOD.
34491
34492 2009-01-21  Bruno Haible  <bruno@clisp.org>
34493         and Jim Meyering  <meyering@redhat.com>
34494
34495         nanosleep: skip configure test (fail it) for apple universal builds
34496         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
34497         universal builds, assume that nanosleep does not work.
34498         * modules/nanosleep (Depends-on): Add multiarch.
34499
34500         mktime: skip configure test (fail it) for apple universal builds
34501         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
34502         universal builds, assume that mktime does not work.
34503         * modules/mktime (Depends-on): Add multiarch.
34504
34505 2009-01-21  Eric Blake  <ebb9@byu.net>
34506
34507         multiarch: avoid expand-before-require warning
34508         * modules/multiarch (configure.ac): Require, rather than expand,
34509         gl_MULTIARCH.
34510         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
34511         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
34512         enforce that all clients require it.  Partial reversion of
34513         2008-12-29 patch.
34514
34515         error: avoid expand-before-require warning
34516         * modules/errno (configure.ac): Require, rather than expand,
34517         gl_HEADER_ERRNO_H.
34518         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
34519         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
34520         enforce that all clients require it.
34521
34522         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
34523         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
34524         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
34525         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
34526
34527 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
34528
34529         Revert:
34530         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
34531
34532         regex: do not depend on obsolete modules.
34533         * modules/regex: Remove memcmp and memmove.
34534
34535 2009-01-20  Bruno Haible  <bruno@clisp.org>
34536
34537         Make the 'link' module link on Windows NT 4.
34538         * lib/link.c (_WIN32_WINNT): Don't define.
34539         (CreateHardLinkFuncType): New type.
34540         (CreateHardLinkFunc, initialized): New variables.
34541         (initialize): New function.
34542         (link): Invoke CreateHardLink indirectly through the function pointer.
34543
34544 2009-01-20  Bruno Haible  <bruno@clisp.org>
34545
34546         Fix compilation failure on mingw.
34547         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
34548
34549 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
34550
34551         * doc/c-strtod.texi: Mention a couple of restrictions.
34552
34553 2009-01-20  Jim Meyering  <meyering@redhat.com>
34554
34555         gettimeofday: move more declarations out of functions
34556         * lib/gettimeofday.c: Move extern declarations of tzset and
34557         gmtime out of containing functions.  Prompted by Bruno Haible.
34558
34559 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
34560
34561         regex: do not depend on obsolete modules.
34562         * modules/regex: Remove memcmp and memmove.
34563
34564 2009-01-19  Bruno Haible  <bruno@clisp.org>
34565
34566         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
34567         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
34568         gl_BIGENDIAN, not AC_C_BIGENDIAN.
34569         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
34570         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
34571
34572 2009-01-19  Bruno Haible  <bruno@clisp.org>
34573
34574         * tests/test-link.c: Include <errno.h>.
34575         (main): Exit with code 77 when a hard link cannot be created due to
34576         the file system.
34577         * tests/test-link.sh: Skip test when a hard link cannot be created due
34578         to the file system.
34579         Suggested by Eric Blake.
34580
34581 2009-01-19  Martin Lambers  <marlam@marlam.de>
34582
34583         * modules/link-tests: New file.
34584         * tests/test-link.sh: New file.
34585         * tests/test-link.c: New file.
34586
34587 2009-01-19  Eric Blake  <ebb9@byu.net>
34588
34589         doc: mention another function added in cygwin 1.7.0
34590         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
34591         Another new function in cygwin 1.7.
34592
34593 2009-01-19  Bruno Haible  <bruno@clisp.org>
34594
34595         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
34596         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
34597         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
34598         gl_BIGENDIAN, not AC_C_BIGENDIAN.
34599         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
34600         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
34601         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
34602         * m4/md4.m4 (gl_MD4): Likewise.
34603         * m4/md5.m4 (gl_MD5): Likewise.
34604         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
34605         * m4/sha1.m4 (gl_SHA1): Likewise.
34606         * m4/sha256.m4 (gl_SHA256): Likewise.
34607         * m4/sha512.m4 (gl_SHA512): Likewise.
34608
34609 2009-01-19  Bruno Haible  <bruno@clisp.org>
34610
34611         * modules/uniname/uniname-tests (Depends-on): Add progname.
34612         * tests/uniname/test-uninames.c: Include progname.h.
34613         (main): Call set_program_name.
34614
34615         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
34616         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
34617         (main): Call set_program_name.
34618
34619         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
34620         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
34621         (main): Call set_program_name.
34622
34623         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
34624         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
34625         (main): Call set_program_name.
34626
34627         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
34628         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
34629         (main): Call set_program_name.
34630
34631         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
34632         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
34633         (main): Call set_program_name.
34634
34635         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
34636         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
34637         (main): Call set_program_name.
34638
34639         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
34640         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
34641         (main): Call set_program_name.
34642
34643         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
34644         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
34645         (main): Call set_program_name.
34646
34647 2009-01-19  Eric Blake  <ebb9@byu.net>
34648
34649         test-unistd: test previous patch
34650         * tests/test-unistd.c: Test *_FILENO macros.
34651
34652         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
34653         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
34654         Guarantee a definition.
34655         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
34656         * modules/unistd-safer (Depends-on): Add dependency on unistd.
34657         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
34658         * lib/dup-safer.c (STDERR_FILENO): Likewise.
34659         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
34660         Likewise.
34661         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
34662         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
34663         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
34664         Likewise.
34665         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
34666         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
34667         (STDERR_FILENO): Likewise.
34668         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
34669         (STDERR_FILENO): Likewise.
34670         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
34671         (STDERR_FILENO): Likewise.
34672         Reported by Elbert Pol.
34673
34674 2009-01-19  Eric Blake  <ebb9@byu.net>
34675
34676         doc: mention more functions added in cygwin 1.7.0
34677         * doc/posix-functions/abort.texi (abort): Update wording related
34678         to cygwin.
34679         * doc/posix-functions/daylight.texi (daylight): Likewise.
34680         * doc/posix-functions/optarg.texi (optarg): Likewise.
34681         * doc/posix-functions/optarg.texi (opterr): Likewise.
34682         * doc/posix-functions/optarg.texi (optind): Likewise.
34683         * doc/posix-functions/optarg.texi (optopt): Likewise.
34684         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
34685         worked in 1.5.x, and was withdrawn in 1.7.
34686         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
34687         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
34688         cygwin versions.
34689         * doc/posix-functions/perror.texi (perror): Likewise.
34690         * doc/posix-functions/printf.texi (printf): Likewise.
34691         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
34692         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
34693         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
34694         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
34695         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
34696         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
34697         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
34698         Likewise.
34699         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
34700         Likewise.
34701         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
34702         this function.
34703         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
34704         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
34705         Likewise.
34706         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
34707         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
34708         * doc/posix-functions/confstr.texi (confstr): Likewise.
34709         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
34710         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
34711         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
34712         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
34713         * doc/posix-functions/fputws.texi (fputws): Likewise.
34714         * doc/posix-functions/fwide.texi (fwide): Likewise.
34715         * doc/posix-functions/getwc.texi (getwc): Likewise.
34716         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
34717         * doc/posix-functions/putwc.texi (putwc): Likewise.
34718         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
34719         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
34720         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
34721         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
34722         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
34723         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
34724         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
34725         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
34726         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
34727         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
34728         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
34729
34730 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
34731
34732         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
34733         * lib/ioctl.c: Include <sys/ioctl.h>.
34734
34735 2009-01-19  Simon Josefsson  <simon@josefsson.org>
34736
34737         * modules/getdate-tests (Depends-on): Add progname.
34738         * tests/test-getdate.c: Use progname module, to avoid link errors
34739         on non-glibc systems.
34740
34741 2009-01-18  Simon Josefsson  <simon@josefsson.org>
34742
34743         * modules/filenamecat-tests (Depends-on): Add progname.
34744         * modules/fstrcmp-tests (Depends-on): Likewise.
34745
34746         * tests/test-filenamecat.c: Use progname module, to avoid link
34747         errors on non-glibc systems.
34748         * tests/test-fstrcmp.c: Likewise.
34749
34750 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
34751
34752         gettimeofday: avoid warning: nested extern declaration of 'localtime'
34753         * lib/gettimeofday.c: Move extern declaration out of function.
34754
34755 2009-01-18  Bruno Haible  <bruno@clisp.org>
34756
34757         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
34758         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
34759         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
34760
34761 2009-01-18  Bruno Haible  <bruno@clisp.org>
34762
34763         * lib/strftime.c (MEMPCPY): Remove unused macro.
34764         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
34765
34766 2009-01-18  Martin Lambers  <marlam@marlam.de>
34767
34768         New module 'link'.
34769         * lib/unistd.in.h (link): New declaration.
34770         * lib/link.c: New file.
34771         * m4/link.m4: New file.
34772         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
34773         HAVE_LINK.
34774         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
34775         * modules/link: New file.
34776         * doc/posix-functions/link.texi: Mention the new module.
34777
34778 2009-01-18  Bruno Haible  <bruno@clisp.org>
34779
34780         * tests/test-avltree_list.c (main): Call set_program_name.
34781         * tests/test-avltree_oset.c (main): Likewise.
34782         * tests/test-obstack-printf.c: Include progname.h.
34783         (main): Call set_program_name.
34784         * tests/test-quotearg.c: Include progname.h.
34785         (main): Call set_program_name.
34786         * tests/test-xmemdup0.c: Include progname.h.
34787         (main): Call set_program_name.
34788
34789 2009-01-18  Bruno Haible  <bruno@clisp.org>
34790
34791         New module 'alphasort'.
34792         * lib/dirent.in.h (alphasort): New declaration.
34793         * lib/alphasort.c: New file, from glibc with modifications.
34794         * m4/alphasort.m4: New file.
34795         * modules/alphasort: New file.
34796         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
34797         HAVE_ALPHASORT.
34798         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
34799         HAVE_ALPHASORT.
34800         * doc/posix-functions/alphasort.texi: Mention the new module and the
34801         portability problems.
34802
34803 2009-01-18  Bruno Haible  <bruno@clisp.org>
34804
34805         New module 'scandir'.
34806         * lib/dirent.in.h (scandir): New declaration.
34807         * lib/scandir.c: New file, from glibc with modifications.
34808         * m4/scandir.m4: New file.
34809         * modules/scandir: New file.
34810         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
34811         HAVE_SCANDIR.
34812         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
34813         HAVE_SCANDIR.
34814         * doc/posix-functions/scandir.texi: Mention the new module and the
34815         portability problems.
34816
34817 2009-01-17  Bruno Haible  <bruno@clisp.org>
34818
34819         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
34820         Update documentation.
34821         (func_remove_suffix): Escape all dots in the suffix. Update
34822         documentation.
34823         (func_filter_filelist): Update documentation.
34824         Reported by Ralf Wildenhues.
34825
34826 2009-01-17  Bruno Haible  <bruno@clisp.org>
34827
34828         * modules/dprintf-posix-tests: New file.
34829         * tests/test-dprintf-posix.sh: New file.
34830         * tests/test-dprintf-posix.c: New file.
34831
34832         New modules 'dprintf', 'dprintf-posix'.
34833         * lib/stdio.in.h (dprintf): New declaration.
34834         * lib/dprintf.c: New file.
34835         * m4/dprintf.m4: New file.
34836         * m4/dprintf-posix.m4: New file.
34837         * modules/dprintf: New file.
34838         * modules/dprintf-posix: New file.
34839         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
34840         HAVE_DPRINTF, REPLACE_DPRINTF.
34841         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
34842         HAVE_DPRINTF, REPLACE_DPRINTF.
34843         * doc/posix-functions/dprintf.texi: Mention the new modules.
34844
34845 2009-01-17  Bruno Haible  <bruno@clisp.org>
34846
34847         * modules/vdprintf-posix-tests: New file.
34848         * tests/test-vdprintf-posix.sh: New file.
34849         * tests/test-vdprintf-posix.c: New file.
34850
34851         New modules 'vdprintf', 'vdprintf-posix'.
34852         * lib/stdio.in.h (vdprintf): New declaration.
34853         * lib/vdprintf.c: New file.
34854         * m4/vdprintf.m4: New file.
34855         * m4/vdprintf-posix.m4: New file.
34856         * modules/vdprintf: New file.
34857         * modules/vdprintf-posix: New file.
34858         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
34859         HAVE_VDPRINTF, REPLACE_VDPRINTF.
34860         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
34861         HAVE_VDPRINTF, REPLACE_VDPRINTF.
34862         * doc/posix-functions/vdprintf.texi: Mention the new modules.
34863
34864 2009-01-17  Bruno Haible  <bruno@clisp.org>
34865
34866         Fix replacement of fopen on mingw.
34867         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
34868         mingw.
34869
34870 2009-01-17  Bruno Haible  <bruno@clisp.org>
34871
34872         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
34873         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
34874
34875 2009-01-17  Bruno Haible  <bruno@clisp.org>
34876
34877         Avoid test-fflush2.sh failure on mingw.
34878         * tests/test-fflush2.c: Include binary-io.h.
34879         (main): Put standard input into binary mode.
34880         * modules/fflush-tests (Depends-on): Add binary-io.
34881
34882 2009-01-17  Bruno Haible  <bruno@clisp.org>
34883
34884         * lib/wchar.in.h: In another particular situation, include only the
34885         system's <wchar.h> file.
34886         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
34887         Reported by Albert Chin-A-Young <china@thewrittenword.com>
34888         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
34889
34890 2009-01-17  Bruno Haible  <bruno@clisp.org>
34891
34892         Support for stripping executables in --enable-relocatable.
34893         * build-aux/install-reloc: Expect one more argument, or an environment
34894         variable RELOC_STRIP_PROG. If set, strip the destination program and
34895         its wrapper.
34896         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
34897         RELOC_STRIP_PROG.
34898         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
34899         to set RELOCATABLE_STRIP.
34900         * NEWS: Mention the new Makefile requirement.
34901
34902 2009-01-17  Bruno Haible  <bruno@clisp.org>
34903
34904         * build-aux/install-reloc: Remove debugging information left over by
34905         C compiler on MacOS X.
34906
34907 2009-01-17  Bruno Haible  <bruno@clisp.org>
34908
34909         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
34910         * lib/progreloc.c (find_executable): Fix type of pointer passed to
34911         _NSGetExecutablePath.
34912
34913 2009-01-16  Jim Meyering  <meyering@redhat.com>
34914
34915         strerror: avoid warnings about discarding "const"
34916         * lib/strerror.c (rpl_strerror): Instead of returning a const
34917         string from each and every "case", use a variable, and add a single
34918         cast after the switch.
34919
34920 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
34921
34922         * lib/arpa_inet.in.h: Add extern "C" block for C++.
34923
34924 2009-01-16  Bruno Haible  <bruno@clisp.org>
34925
34926         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
34927         array initializer syntax that also works in C++ mode.
34928         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
34929
34930 2009-01-16  Jim Meyering  <meyering@redhat.com>
34931
34932         poll: suppress a warning
34933         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
34934         to ignore "...unsigned expression < 0 is always false" warnings.
34935
34936 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
34937
34938         poll: remove declarations of unused variables
34939         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
34940         sockbuf and optlen.
34941
34942 2009-01-15  Bruno Haible  <bruno@clisp.org>
34943
34944         Make fflush-after-ungetc POSIX compliant on BSD systems.
34945         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
34946         (clear_ungetc_buffer): Implement also for other systems.
34947         (rpl_fflush): On glibc systems, invoke
34948         clear_ungetc_buffer_preserving_position. Otherwise, invoke
34949         clear_ungetc_buffer after fetching the stream's position, not before.
34950
34951 2009-01-15  Bruno Haible  <bruno@clisp.org>
34952
34953         Make fflush-after-ungetc POSIX compliant on glibc systems.
34954         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
34955         after ungetc.
34956         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
34957         (rpl_fflush): On glibc systems, simply call the system's fflush
34958         function after clearing the ungetc buffer.
34959         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
34960         Instead, lseek only to the end of file, then use the system's fseeko
34961         for the rest. On glibc systems, reset the EOF indicator bit.
34962
34963 2009-01-15  Jim Meyering  <meyering@redhat.com>
34964
34965         openmp.m4: revert quote-adding change, for portability to older autoconf
34966         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
34967         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
34968         Simon Josefsson noticed the problem when using autoconf-2.61.
34969
34970 2009-01-15  Bruno Haible  <bruno@clisp.org>
34971
34972         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
34973         * tests/test-fflush2.c (ASSERT): Always fail.
34974         (main): Add two tests for fflush() after ungetc(), taking into account
34975         the Austin Group's clarification.
34976         Suggested by Eric Blake.
34977
34978 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
34979
34980         mktime.m4: remove K&R-style function prototypes
34981         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
34982         for the Sun C++ compiler.
34983
34984 2009-01-14  Bruno Haible  <bruno@clisp.org>
34985
34986         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
34987         while including <wchar.h>.
34988         * lib/wchar.in.h: In two particular situations on HP-UX, include only
34989         the system's <wchar.h> file.
34990         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
34991
34992 2009-01-14  Bruno Haible  <bruno@clisp.org>
34993
34994         * m4/csharp.m4: Don't mention gettext on the serial number line.
34995         * m4/csharpexec.m4: Likewise.
34996         * m4/eaccess.m4: Likewise.
34997         * m4/javaexec.m4: Likewise.
34998         * m4/sig_atomic_t.m4: Likewise.
34999         * m4/tmpdir.m4: Likewise.
35000         * m4/intldir.m4: Bump gettext version.
35001         * m4/lib-ld.m4: Likewise.
35002
35003 2009-01-14  Bruno Haible  <bruno@clisp.org>
35004
35005         * lib/progname.c (set_program_name): Add more comments.
35006         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
35007
35008 2009-01-14  Simon Josefsson  <simon@josefsson.org>
35009
35010         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
35011         were sys/stat.h does not define it.
35012
35013 2009-01-14  Jim Meyering  <meyering@redhat.com>
35014
35015         many *.m4 files: improve m4 quoting
35016         99% of this change was performed by running the following commands:
35017         git ls-files | grep '\.m4$' | xargs perl -pi \
35018           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
35019           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
35020           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
35021           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
35022         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
35023         The remainder were to add Copyright dates, increment serial numbers,
35024         undo some changes in comments, exclude m4/intl.m4, and add quotes
35025         around the "1" in ",1" where the unusual spacing prohibited the
35026         above regexps from doing the job.  For more details, see
35027         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
35028         * m4/acl.m4: Modified.
35029         * m4/afs.m4: Likewise.
35030         * m4/alloca.m4: Likewise.
35031         * m4/argp.m4: Likewise.
35032         * m4/argz.m4: Likewise.
35033         * m4/atexit.m4: Likewise.
35034         * m4/bison-i18n.m4: Likewise.
35035         * m4/bison.m4: Likewise.
35036         * m4/byteswap.m4: Likewise.
35037         * m4/c-stack.m4: Likewise.
35038         * m4/c-strtod.m4: Likewise.
35039         * m4/calloc.m4: Likewise.
35040         * m4/canonicalize-lgpl.m4: Likewise.
35041         * m4/chown.m4: Likewise.
35042         * m4/clock_time.m4: Likewise.
35043         * m4/codeset.m4: Likewise.
35044         * m4/copy-file.m4: Likewise.
35045         * m4/csharp.m4: Likewise.
35046         * m4/csharpcomp.m4: Likewise.
35047         * m4/csharpexec.m4: Likewise.
35048         * m4/d-ino.m4: Likewise.
35049         * m4/d-type.m4: Likewise.
35050         * m4/dirfd.m4: Likewise.
35051         * m4/double-slash-root.m4: Likewise.
35052         * m4/eaccess.m4: Likewise.
35053         * m4/eealloc.m4: Likewise.
35054         * m4/environ.m4: Likewise.
35055         * m4/errno_h.m4: Likewise.
35056         * m4/euidaccess.m4: Likewise.
35057         * m4/execute.m4: Likewise.
35058         * m4/fatal-signal.m4: Likewise.
35059         * m4/fchdir.m4: Likewise.
35060         * m4/fcntl_h.m4: Likewise.
35061         * m4/fileblocks.m4: Likewise.
35062         * m4/filenamecat.m4: Likewise.
35063         * m4/findprog.m4: Likewise.
35064         * m4/flexmember.m4: Likewise.
35065         * m4/fnmatch.m4: Likewise.
35066         * m4/fopen.m4: Likewise.
35067         * m4/fpending.m4: Likewise.
35068         * m4/fprintf-posix.m4: Likewise.
35069         * m4/free.m4: Likewise.
35070         * m4/frexp.m4: Likewise.
35071         * m4/frexpl.m4: Likewise.
35072         * m4/fsusage.m4: Likewise.
35073         * m4/ftruncate.m4: Likewise.
35074         * m4/gc-camellia.m4: Likewise.
35075         * m4/gc-random.m4: Likewise.
35076         * m4/gc.m4: Likewise.
35077         * m4/getaddrinfo.m4: Likewise.
35078         * m4/getcwd-abort-bug.m4: Likewise.
35079         * m4/getcwd-path-max.m4: Likewise.
35080         * m4/getdate.m4: Likewise.
35081         * m4/getdomainname.m4: Likewise.
35082         * m4/getgroups.m4: Likewise.
35083         * m4/gethostname.m4: Likewise.
35084         * m4/gethrxtime.m4: Likewise.
35085         * m4/getline.m4: Likewise.
35086         * m4/getloadavg.m4: Likewise.
35087         * m4/getndelim2.m4: Likewise.
35088         * m4/getpass.m4: Likewise.
35089         * m4/gettext.m4: Likewise.
35090         * m4/gettime.m4: Likewise.
35091         * m4/gettimeofday.m4: Likewise.
35092         * m4/gnulib-common.m4: Likewise.
35093         * m4/group-member.m4: Likewise.
35094         * m4/host-os.m4: Likewise.
35095         * m4/iconv.m4: Likewise.
35096         * m4/iconv_open.m4: Likewise.
35097         * m4/inet_ntop.m4: Likewise.
35098         * m4/inet_pton.m4: Likewise.
35099         * m4/inline.m4: Likewise.
35100         * m4/intldir.m4: Likewise.
35101         * m4/intlmacosx.m4: Likewise.
35102         * m4/intmax.m4: Likewise.
35103         * m4/intmax_t.m4: Likewise.
35104         * m4/inttypes.m4: Likewise.
35105         * m4/inttypes_h.m4: Likewise.
35106         * m4/inttypes-pri.m4: Likewise.
35107         * m4/isapipe.m4: Likewise.
35108         * m4/isnand.m4: Likewise.
35109         * m4/isnanf.m4: Likewise.
35110         * m4/isnanl.m4: Likewise.
35111         * m4/javacomp.m4: Likewise.
35112         * m4/javaexec.m4: Likewise.
35113         * m4/jm-winsz1.m4: Likewise.
35114         * m4/jm-winsz2.m4: Likewise.
35115         * m4/lchown.m4: Likewise.
35116         * m4/lcmessage.m4: Likewise.
35117         * m4/ldexpl.m4: Likewise.
35118         * m4/lib-ld.m4: Likewise.
35119         * m4/lib-link.m4: Likewise.
35120         * m4/libsigsegv.m4: Likewise.
35121         * m4/link-follow.m4: Likewise.
35122         * m4/localcharset.m4: Likewise.
35123         * m4/locale-fr.m4: Likewise.
35124         * m4/locale-ja.m4: Likewise.
35125         * m4/locale-tr.m4: Likewise.
35126         * m4/locale-zh.m4: Likewise.
35127         * m4/lock.m4: Likewise.
35128         * m4/longlong.m4: Likewise.
35129         * m4/ls-mntd-fs.m4: Likewise.
35130         * m4/lstat.m4: Likewise.
35131         * m4/malloc.m4: Likewise.
35132         * m4/mathl.m4: Likewise.
35133         * m4/mbrtowc.m4: Likewise.
35134         * m4/mbstate_t.m4: Likewise.
35135         * m4/mbswidth.m4: Likewise.
35136         * m4/memchr.m4: Likewise.
35137         * m4/memcmp.m4: Likewise.
35138         * m4/memcpy.m4: Likewise.
35139         * m4/memmem.m4: Likewise.
35140         * m4/memmove.m4: Likewise.
35141         * m4/mempcpy.m4: Likewise.
35142         * m4/memrchr.m4: Likewise.
35143         * m4/memset.m4: Likewise.
35144         * m4/minmax.m4: Likewise.
35145         * m4/mkdir-slash.m4: Likewise.
35146         * m4/mkdtemp.m4: Likewise.
35147         * m4/mktime.m4: Likewise.
35148         * m4/mmap-anon.m4: Likewise.
35149         * m4/mountlist.m4: Likewise.
35150         * m4/nanosleep.m4: Likewise.
35151         * m4/nls.m4: Likewise.
35152         * m4/nocrash.m4: Likewise.
35153         * m4/open.m4: Likewise.
35154         * m4/openat.m4: Likewise.
35155         * m4/openmp.m4: Likewise.
35156         * m4/pathmax.m4: Likewise.
35157         * m4/perl.m4: Likewise.
35158         * m4/physmem.m4: Likewise.
35159         * m4/pipe.m4: Likewise.
35160         * m4/po.m4: Likewise.
35161         * m4/poll.m4: Likewise.
35162         * m4/posixtm.m4: Likewise.
35163         * m4/posixver.m4: Likewise.
35164         * m4/printf-frexp.m4: Likewise.
35165         * m4/printf-frexpl.m4: Likewise.
35166         * m4/printf-posix.m4: Likewise.
35167         * m4/printf-posix-rpl.m4: Likewise.
35168         * m4/printf.m4: Likewise.
35169         * m4/progtest.m4: Likewise.
35170         * m4/putenv.m4: Likewise.
35171         * m4/readline.m4: Likewise.
35172         * m4/readlink.m4: Likewise.
35173         * m4/readutmp.m4: Likewise.
35174         * m4/realloc.m4: Likewise.
35175         * m4/regex.m4: Likewise.
35176         * m4/relocatable.m4: Likewise.
35177         * m4/relocatable-lib.m4: Likewise.
35178         * m4/rename-dest-slash.m4: Likewise.
35179         * m4/rename.m4: Likewise.
35180         * m4/rmdir-errno.m4: Likewise.
35181         * m4/rmdir.m4: Likewise.
35182         * m4/roundf.m4: Likewise.
35183         * m4/roundl.m4: Likewise.
35184         * m4/rpmatch.m4: Likewise.
35185         * m4/save-cwd.m4: Likewise.
35186         * m4/selinux-selinux-h.m4: Likewise.
35187         * m4/setenv.m4: Likewise.
35188         * m4/settime.m4: Likewise.
35189         * m4/sig2str.m4: Likewise.
35190         * m4/sig_atomic_t.m4: Likewise.
35191         * m4/signalblocking.m4: Likewise.
35192         * m4/signbit.m4: Likewise.
35193         * m4/sigpipe.m4: Likewise.
35194         * m4/sockets.m4: Likewise.
35195         * m4/sockpfaf.m4: Likewise.
35196         * m4/st_dm_mode.m4: Likewise.
35197         * m4/stat-time.m4: Likewise.
35198         * m4/stdbool.m4: Likewise.
35199         * m4/stdint.m4: Likewise.
35200         * m4/stdint_h.m4: Likewise.
35201         * m4/stpcpy.m4: Likewise.
35202         * m4/stpncpy.m4: Likewise.
35203         * m4/strcase.m4: Likewise.
35204         * m4/strchrnul.m4: Likewise.
35205         * m4/strcspn.m4: Likewise.
35206         * m4/strdup.m4: Likewise.
35207         * m4/strftime.m4: Likewise.
35208         * m4/strndup.m4: Likewise.
35209         * m4/strnlen.m4: Likewise.
35210         * m4/strpbrk.m4: Likewise.
35211         * m4/strptime.m4: Likewise.
35212         * m4/strsep.m4: Likewise.
35213         * m4/strtod.m4: Likewise.
35214         * m4/strtoimax.m4: Likewise.
35215         * m4/strtok_r.m4: Likewise.
35216         * m4/strtol.m4: Likewise.
35217         * m4/strtoll.m4: Likewise.
35218         * m4/strtoul.m4: Likewise.
35219         * m4/strtoull.m4: Likewise.
35220         * m4/strtoumax.m4: Likewise.
35221         * m4/strverscmp.m4: Likewise.
35222         * m4/threadlib.m4: Likewise.
35223         * m4/timegm.m4: Likewise.
35224         * m4/tm_gmtoff.m4: Likewise.
35225         * m4/tmpdir.m4: Likewise.
35226         * m4/tmpfile.m4: Likewise.
35227         * m4/tzset.m4: Likewise.
35228         * m4/uintmax_t.m4: Likewise.
35229         * m4/unlinkdir.m4: Likewise.
35230         * m4/unlocked-io.m4: Likewise.
35231         * m4/uptime.m4: Likewise.
35232         * m4/userspec.m4: Likewise.
35233         * m4/utimbuf.m4: Likewise.
35234         * m4/utime.m4: Likewise.
35235         * m4/utimes-null.m4: Likewise.
35236         * m4/utimes.m4: Likewise.
35237         * m4/vararrays.m4: Likewise.
35238         * m4/vasnprintf.m4: Likewise.
35239         * m4/vfprintf-posix.m4: Likewise.
35240         * m4/vprintf-posix.m4: Likewise.
35241         * m4/wait-process.m4: Likewise.
35242         * m4/wchar_t.m4: Likewise.
35243         * m4/wint_t.m4: Likewise.
35244         * m4/write-any-file.m4: Likewise.
35245         * m4/yield.m4: Likewise.
35246
35247 2009-01-13  Bruno Haible  <bruno@clisp.org>
35248
35249         Avoid test-copy-file.sh failures when ACL support insufficient.
35250         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
35251         TESTS_ENVIRONMENT.
35252         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
35253         Reported by Jim Meyering.
35254
35255 2009-01-13  Bruno Haible  <bruno@clisp.org>
35256
35257         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
35258         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
35259         * modules/unistdio/u8-printf-parse (Files): Likewise.
35260         * modules/unistdio/u32-printf-parse (Files): Likewise.
35261         * modules/unistdio/ulc-printf-parse (Files): Likewise.
35262
35263 2009-01-13  Simon Josefsson  <simon@josefsson.org>
35264
35265         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
35266         and m4/inttypes_h.m4 too.
35267
35268 2009-01-12  Eric Blake  <ebb9@byu.net>
35269
35270         tests: IRIX 6.2 cc can't compile -0.0 into .data
35271         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
35272         rather than at compile-time.
35273         * tests/test-floorl.c (minus_zero): Likewise.
35274         * tests/test-frexpl.c (minus_zero): Likewise.
35275         * tests/test-isnan.c (minus_zerol): Likewise.
35276         * tests/test-isnanl.h (minus_zero): Likewise.
35277         * tests/test-ldexpl.c (minus_zero): Likewise.
35278         * tests/test-roundl.c (minus_zero): Likewise.
35279         * tests/test-signbit.c (minus_zerol): Likewise.
35280         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
35281         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
35282         * tests/test-truncl.c (minus_zero): Likewise.
35283         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
35284         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
35285         Reported by Tom G. Christensen and Nelson H. F. Beebe.
35286
35287 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
35288
35289         regex: fix glibc bug 9697
35290         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
35291         handling.
35292
35293 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
35294
35295         regex: fix glibc bug 697
35296         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
35297         being NULL also if there are no backreferences.
35298
35299 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
35300
35301         regex: merge glibc changes
35302         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
35303         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
35304         re_string_skip_chars, re_string_reconstruct): Likewise.
35305         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
35306
35307 2009-01-07  Jim Meyering  <meyering@redhat.com>
35308
35309         poll: filter through cppi
35310         * lib/poll.c: Indent cpp directives to reflect nesting.
35311
35312 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
35313
35314         poll: don't return uninitialized
35315         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
35316
35317 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
35318
35319         avoid compile failure on AIX 6.1
35320         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
35321         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
35322
35323 2009-01-04  Jim Meyering  <meyering@redhat.com>
35324
35325         remove duplicate inclusion of <stdio.h>
35326         * tests/test-fprintf-posix.c: Likewise.
35327         * tests/test-printf-posix.c: Likewise.
35328         * tests/test-snprintf-posix.c: Likewise.
35329         * tests/test-sprintf-posix.c: Likewise.
35330         * tests/test-vasprintf-posix.c: Likewise.
35331         * tests/test-vfprintf-posix.c: Likewise.
35332         * tests/test-vprintf-posix.c: Likewise.
35333         * tests/test-vsnprintf-posix.c: Likewise.
35334         * tests/test-vsprintf-posix.c: Likewise.
35335
35336 2009-01-03  Jim Meyering  <meyering@redhat.com>
35337
35338         gnulib-tool: fix sed-based filtering
35339         * gnulib-tool (func_filter_filelist): Remove extra backslash
35340         in sed_fff_filter definition.
35341
35342 2009-01-02  Jim Meyering  <meyering@redhat.com>
35343
35344         strftime: avoid compilation failure on Solaris 2.6
35345         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
35346         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
35347         Don't #define mbrlen or mbsinit, since now they're guaranteed to
35348         be available.  Reported by Tom G. Christensen.  Details in
35349         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
35350
35351 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35352             Bruno Haible  <bruno@clisp.org>
35353
35354         Speed up gnulib-tool by doing more string processing through shell
35355         built-ins.
35356         * gnulib-tool (fast_func_append): New variable.
35357         (func_remove_prefix, func_remove_suffix): New functions.
35358         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
35359         (func_filter_filelist): New function.
35360         (func_get_dependencies): Use func_remove_suffix instead of sed.
35361         (func_get_automake_snippet): Use func_filter_filelist instead of a
35362         subshell and sed invocation.
35363
35364 2009-01-01  Bruno Haible  <bruno@clisp.org>
35365
35366         Fix a security bug.
35367         * gnulib-tool (func_import, import, update): Don't allow the characters
35368         '"', '$', '`', '\' in macro arguments that become part of commands that
35369         are evaluated.
35370
35371 2009-01-01  Bruno Haible  <bruno@clisp.org>
35372
35373         * gnulib-tool (func_reset_sigpipe): Add more comments.
35374
35375 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35376
35377         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
35378         func_emit_tests_Makefile_am, func_import): Abort loops early if we
35379         already know the answer.
35380
35381 2009-01-01  Jim Meyering  <meyering@redhat.com>
35382
35383         * lib/version-etc.c (version_etc_va): Update copyright year.
35384
35385 2008-12-30  Bruno Haible  <bruno@clisp.org>
35386
35387         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
35388         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
35389         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
35390
35391 2008-12-29  Eric Blake  <ebb9@byu.net>
35392
35393         multiarch: avoid autoconf AC_REQUIRE bug
35394         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
35395         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
35396         2.63 and older.
35397         Reported by Bruno Haible, and analyzed in
35398         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
35399
35400 2008-12-29  Bruno Haible  <bruno@clisp.org>
35401
35402         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
35403         files in subdirectories correctly.
35404         Reported by Ralf Wildenhues.
35405
35406 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35407
35408         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
35409         rather than 'join FILE -', for Solaris join.
35410
35411 2008-12-29  Bruno Haible  <bruno@clisp.org>
35412
35413         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
35414         quoting.
35415         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
35416         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
35417         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
35418         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
35419         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
35420         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
35421         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
35422         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
35423         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
35424         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
35425         * m4/nls.m4 (AM_NLS): Likewise.
35426         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
35427         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
35428         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
35429         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
35430         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
35431         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
35432         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
35433         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
35434         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
35435         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
35436         * m4/xsize.m4 (gl_XSIZE): Likewise.
35437         Suggested by Jim Meyering.
35438
35439 2008-11-17  Bruce Korb  <bkorb@gnu.org>
35440
35441         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
35442         * lib/parse-duration.c: use a switch instead of cascading if's.
35443
35444 2008-12-29  Eric Blake  <ebb9@byu.net>
35445
35446         wchar.h: supply WEOF on Irix 5.3
35447         * lib/wchar.in.h (wint_t): Also supply WEOF.
35448         * lib/wctype.in.h (wint_t): Likewise.
35449         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
35450         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
35451         Reported by Tom G. Christensen.
35452
35453 2008-12-26  Bruno Haible  <bruno@clisp.org>
35454
35455         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
35456         i486, i586, i686.
35457
35458 2008-12-26  Bruno Haible  <bruno@clisp.org>
35459
35460         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
35461
35462 2008-12-26  Bruno Haible  <bruno@clisp.org>
35463
35464         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
35465         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
35466         not __STDC_CONSTANT_MACROS.
35467         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
35468
35469 2008-12-25  Bruno Haible  <bruno@clisp.org>
35470
35471         Add support for universal builds to vasnprintf.
35472         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
35473         universal builds, guess no.
35474         * modules/vasnprintf-posix (Depends-on): Add multiarch.
35475         * modules/vasprintf-posix (Depends-on): Likewise.
35476         * modules/fprintf-posix (Depends-on): Likewise.
35477         * modules/vfprintf-posix (Depends-on): Likewise.
35478         * modules/snprintf-posix (Depends-on): Likewise.
35479         * modules/vsnprintf-posix (Depends-on): Likewise.
35480         * modules/sprintf-posix (Depends-on): Likewise.
35481         * modules/vsprintf-posix (Depends-on): Likewise.
35482         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
35483         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
35484         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
35485         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
35486         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
35487         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
35488         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
35489
35490         Add support for universal builds to <inttypes.h>.
35491         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
35492         _SCNu64_PREFIX): In Apple
35493         universal builds, define directly, using _LP64.
35494         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
35495         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
35496         * modules/inttypes (Depends-on): Add multiarch.
35497         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
35498
35499         Add support for universal builds to <stdint.h>.
35500         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
35501         universal builds, define directly, using _LP64.
35502         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
35503         Apple universal builds, don't test for the size and suffix of ptrdiff_t
35504         and size_t.
35505         * modules/stdint (Depends-on): Add multiarch.
35506         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
35507
35508         New module 'multiarch'.
35509         * modules/multiarch: New file.
35510         * m4/multiarch.m4: New file.
35511
35512 2008-12-25  Bruno Haible  <bruno@clisp.org>
35513
35514         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
35515
35516 2008-12-25  Bruno Haible  <bruno@clisp.org>
35517
35518         * modules/btowc (License): Relicense under LGPLv2+.
35519         * modules/mbsinit (License): Likewise.
35520         * modules/mbrtowc (License): Likewise.
35521         * modules/wcrtomb (License): Likewise.
35522         * modules/streq (License): Likewise.
35523         Reported by David Lutterkort <lutter@redhat.com>.
35524
35525 2008-12-23  Bruno Haible  <bruno@clisp.org>
35526
35527         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
35528
35529 2008-12-23  Bruno Haible  <bruno@clisp.org>
35530
35531         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
35532         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
35533         GETADDRINFO_LIB, not in LIBS.
35534         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
35535         * modules/canon-host (Link): Likewise.
35536         * NEWS: Mention the change.
35537         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
35538         GETADDRINFO_LIB.
35539
35540 2008-12-22  Bruno Haible  <bruno@clisp.org>
35541
35542         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
35543         * doc/posix-functions/iswalpha_l.texi: Likewise.
35544         * doc/posix-functions/iswblank_l.texi: Likewise.
35545         * doc/posix-functions/iswcntrl_l.texi: Likewise.
35546         * doc/posix-functions/iswctype_l.texi: Likewise.
35547         * doc/posix-functions/iswdigit_l.texi: Likewise.
35548         * doc/posix-functions/iswgraph_l.texi: Likewise.
35549         * doc/posix-functions/iswlower_l.texi: Likewise.
35550         * doc/posix-functions/iswprint_l.texi: Likewise.
35551         * doc/posix-functions/iswpunct_l.texi: Likewise.
35552         * doc/posix-functions/iswspace_l.texi: Likewise.
35553         * doc/posix-functions/iswupper_l.texi: Likewise.
35554         * doc/posix-functions/iswxdigit_l.texi: Likewise.
35555         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
35556         * doc/posix-functions/open_wmemstream.texi: Likewise.
35557         * doc/posix-functions/swscanf.texi: Likewise.
35558         * doc/posix-functions/towctrans_l.texi: Likewise.
35559         * doc/posix-functions/towlower.texi: Likewise.
35560         * doc/posix-functions/towlower_l.texi: Likewise.
35561         * doc/posix-functions/towupper.texi: Likewise.
35562         * doc/posix-functions/towupper_l.texi: Likewise.
35563         * doc/posix-functions/vfwprintf.texi: Likewise.
35564         * doc/posix-functions/vfwscanf.texi: Likewise.
35565         * doc/posix-functions/vswscanf.texi: Likewise.
35566         * doc/posix-functions/vwprintf.texi: Likewise.
35567         * doc/posix-functions/vwscanf.texi: Likewise.
35568         * doc/posix-functions/wcpcpy.texi: Likewise.
35569         * doc/posix-functions/wcpncpy.texi: Likewise.
35570         * doc/posix-functions/wcscasecmp.texi: Likewise.
35571         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
35572         * doc/posix-functions/wcscoll_l.texi: Likewise.
35573         * doc/posix-functions/wcsdup.texi: Likewise.
35574         * doc/posix-functions/wcsncasecmp.texi: Likewise.
35575         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
35576         * doc/posix-functions/wcsnlen.texi: Likewise.
35577         * doc/posix-functions/wcsnrtombs.texi: Likewise.
35578         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
35579         * doc/posix-functions/wctrans_l.texi: Likewise.
35580         * doc/posix-functions/wctype_l.texi: Likewise.
35581         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
35582         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
35583         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
35584         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
35585         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
35586         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
35587         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
35588         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
35589         * doc/glibc-functions/wcschrnul.texi: Likewise.
35590         * doc/glibc-functions/wcsftime_l.texi: Likewise.
35591         * doc/glibc-functions/wcstod_l.texi: Likewise.
35592         * doc/glibc-functions/wcstof_l.texi: Likewise.
35593         * doc/glibc-functions/wcstol_l.texi: Likewise.
35594         * doc/glibc-functions/wcstold_l.texi: Likewise.
35595         * doc/glibc-functions/wcstoll_l.texi: Likewise.
35596         * doc/glibc-functions/wcstoq.texi: Likewise.
35597         * doc/glibc-functions/wcstoul_l.texi: Likewise.
35598         * doc/glibc-functions/wcstoull_l.texi: Likewise.
35599         * doc/glibc-functions/wcstouq.texi: Likewise.
35600         * doc/glibc-functions/wmempcpy.texi: Likewise.
35601
35602 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
35603             Eric Blake  <ebb9@byu.net>
35604             Paolo Bonzini  <bonzini@gnu.org>
35605             Bruno Haible  <bruno@clisp.org>
35606
35607         Make c-stack work on Haiku.
35608         * lib/c-stack.c (SA_ONSTACK): Define fallback.
35609         (c_stack_action): Use SA_ONSTACK flag.
35610
35611 2008-12-22  Bruno Haible  <bruno@clisp.org>
35612
35613         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
35614
35615 2008-12-22  Bruno Haible  <bruno@clisp.org>
35616
35617         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
35618         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
35619         being overridden.
35620         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
35621         New macros.
35622         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
35623         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
35624         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
35625         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
35626
35627 2008-12-22  Bruno Haible  <bruno@clisp.org>
35628
35629         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
35630         from test code.
35631
35632 2008-12-22  Eric Blake  <ebb9@byu.net>
35633
35634         Avoid gcc warnings on cygwin.
35635         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
35636         Avoid unused variable.
35637         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
35638         Likewise.
35639
35640 2008-12-22  Bruno Haible  <bruno@clisp.org>
35641
35642         Remove HAVE_MBRTOWC conditionals.
35643         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
35644         (mbscasecmp): Assume mbrtowc function.
35645         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
35646         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
35647         * lib/mbschr.c: Include mbuiter.h unconditionally.
35648         (mbschr): Assume mbrtowc function.
35649         * lib/mbscspn.c: Include mbuiter.h unconditionally.
35650         (mbscspn): Assume mbrtowc function.
35651         * lib/mbslen.c: Include mbuiter.h unconditionally.
35652         (mbslen): Assume mbrtowc function.
35653         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
35654         (mbsncasecmp): Assume mbrtowc function.
35655         * lib/mbsnlen.c: Include mbiter.h unconditionally.
35656         (mbsnlen): Assume mbrtowc function.
35657         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
35658         (mbspbrk): Assume mbrtowc function.
35659         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
35660         (mbspcasecmp): Assume mbrtowc function.
35661         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
35662         (mbsrchr): Assume mbrtowc function.
35663         * lib/mbssep.c: Include mbuiter.h unconditionally.
35664         (mbssep): Assume mbrtowc function.
35665         * lib/mbsspn.c: Include mbuiter.h unconditionally.
35666         (mbsspn): Assume mbrtowc function.
35667         * lib/mbsstr.c: Include mbuiter.h unconditionally.
35668         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
35669         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
35670         (mbstok_r): Assume mbrtowc function.
35671         * lib/propername.c: Include mbuiter.h unconditionally.
35672         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
35673         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
35674         (trim2): Assume mbrtowc function.
35675         * lib/mbswidth.c (mbsinit): Remove fallback definition.
35676         (mbsnwidth): Assume mbrtowc function.
35677         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
35678         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
35679         fallback definitions.
35680         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
35681
35682 2008-12-22  Bruno Haible  <bruno@clisp.org>
35683
35684         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
35685
35686 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
35687
35688         * modules/regex: Request emulations for the mb*/wc* functions we need.
35689         * m4/regex.m4: Don't look for those functions here.
35690         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
35691
35692 2008-12-22  Bruno Haible  <bruno@clisp.org>
35693
35694         * modules/fnmatch (Depends-on): Remove duplicated dependency.
35695
35696 2008-12-21  Bruno Haible  <bruno@clisp.org>
35697
35698         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
35699         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
35700         (Include): Remove conditionalization.
35701         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
35702         (Include): Remove conditionalization.
35703         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
35704         (Include): Remove conditionalization.
35705         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
35706         * m4/mbfile.m4 (gl_MBFILE): Likewise.
35707         * NEWS: Mention the change.
35708         Reported by Alan Hourihane <alanh@fairlite.co.uk>
35709         via Sergey Poznyakoff <gray@gnu.org.ua>.
35710
35711 2008-12-21  Bruno Haible  <bruno@clisp.org>
35712
35713         * MODULES.html.sh (Extended multibyte and wide character utilities
35714         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
35715         wcrtomb, wcsrtombs.
35716         (Support for systems lacking POSIX:2008): Add accept, bind, close,
35717         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
35718         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
35719         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
35720
35721 2008-12-21  Bruno Haible  <bruno@clisp.org>
35722
35723         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
35724
35725 2008-12-21  Bruno Haible  <bruno@clisp.org>
35726
35727         * modules/wcsnrtombs-tests: New file.
35728         * tests/test-wcsnrtombs1.sh: New file.
35729         * tests/test-wcsnrtombs2.sh: New file.
35730         * tests/test-wcsnrtombs3.sh: New file.
35731         * tests/test-wcsnrtombs4.sh: New file.
35732         * tests/test-wcsnrtombs.c: New file.
35733
35734         New module 'wcsnrtombs'.
35735         * lib/wchar.in.h (wcsnrtombs): New declaration.
35736         * lib/wcsnrtombs.c: New file.
35737         * lib/wcsrtombs-state.c: New file.
35738         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
35739         (internal_state): Remove variable.
35740         * m4/wcsnrtombs.m4: New file.
35741         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
35742         compilation units.
35743         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
35744         HAVE_WCSNRTOMBS.
35745         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
35746         HAVE_WCSNRTOMBS.
35747         * modules/wcsnrtombs: New file.
35748         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
35749         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
35750
35751 2008-12-21  Bruno Haible  <bruno@clisp.org>
35752
35753         * modules/wcsrtombs-tests: New file.
35754         * tests/test-wcsrtombs1.sh: New file.
35755         * tests/test-wcsrtombs2.sh: New file.
35756         * tests/test-wcsrtombs3.sh: New file.
35757         * tests/test-wcsrtombs4.sh: New file.
35758         * tests/test-wcsrtombs.c: New file.
35759
35760         New module 'wcsrtombs'.
35761         * lib/wchar.in.h (wcsrtombs): New declaration.
35762         * lib/wcsrtombs.c: New file.
35763         * m4/wcsrtombs.m4: New file.
35764         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
35765         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
35766         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
35767         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
35768         * modules/wcsrtombs: New file.
35769         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
35770         bugs.
35771
35772 2008-12-21  Bruno Haible  <bruno@clisp.org>
35773
35774         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
35775         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
35776         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
35777         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
35778         if not correct.
35779         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
35780         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
35781         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
35782         m4/locale-zh.m4, m4/codeset.m4.
35783         * doc/posix-functions/wcrtomb.texi: Document the bug.
35784
35785 2008-12-21  Bruno Haible  <bruno@clisp.org>
35786
35787         Work around a btowc() bug on IRIX 6.5.
35788         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
35789         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
35790         REPLACE_WTOBC if not.
35791         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
35792         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
35793         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
35794
35795 2008-12-21  Bruno Haible  <bruno@clisp.org>
35796
35797         * modules/wcrtomb-tests: New file.
35798         * tests/test-wcrtomb.sh: New file.
35799         * tests/test-wcrtomb.c: New file.
35800
35801         New module 'wcrtomb'.
35802         * lib/wchar.in.h (wcrtomb): New declaration.
35803         * lib/wcrtomb.c: New file.
35804         * m4/wcrtomb.m4: New file.
35805         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
35806         HAVE_WCRTOMB.
35807         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
35808         HAVE_WCRTOMB.
35809         * modules/wcrtomb: New file.
35810         * doc/posix-functions/wcrtomb.texi: Mention the new module.
35811
35812 2008-12-21  Bruno Haible  <bruno@clisp.org>
35813
35814         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
35815         * modules/mbsrtowcs (Files): Likewise.
35816         * modules/wctob (Files): Likewise.
35817         * modules/c-strcase-tests (Files): Likewise.
35818         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
35819         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
35820         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
35821         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
35822         * modules/vasnprintf-posix-tests (Files): Likewise.
35823
35824 2008-12-21  William Pursell  <bill.pursell@gmail.com>
35825
35826         gitlog-to-changelog: pass all command-line arguments to git-log
35827         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
35828         it is sometimes convenient to filter the commits in various ways.
35829         gitlog-to-changelog only allows --since to specify a start date,
35830         but git-log itself supports many other filtering mechanisms.
35831         At the moment, I want to filter by branch name.  Rather than
35832         adding a --branch option to gitlog-to-changelog, it seems more
35833         flexible to simply pass all options directly to git-log and let
35834         git do the work.  Notice that this effectively makes --since a
35835         redundant option for gitlog-to-changelog, but removing it would
35836         require current usage to change since calls would then require
35837         an additional '--'.
35838
35839 2008-12-21  Bruno Haible  <bruno@clisp.org>
35840
35841         * modules/mbsnrtowcs-tests: New file.
35842         * tests/test-mbsnrtowcs1.sh: New file.
35843         * tests/test-mbsnrtowcs2.sh: New file.
35844         * tests/test-mbsnrtowcs3.sh: New file.
35845         * tests/test-mbsnrtowcs4.sh: New file.
35846         * tests/test-mbsnrtowcs.c: New file.
35847
35848         New module 'mbsnrtowcs'.
35849         * lib/wchar.in.h (mbsnrtowcs): New declaration.
35850         * lib/mbsnrtowcs.c: New file.
35851         * lib/mbsrtowcs-state.c: New file.
35852         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
35853         (internal_state): Remove variable.
35854         * m4/mbsnrtowcs.m4: New file.
35855         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
35856         compilation units.
35857         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
35858         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
35859         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
35860         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
35861         * modules/mbsnrtowcs: New file.
35862         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
35863         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
35864         portability problem.
35865
35866 2008-12-21  Bruno Haible  <bruno@clisp.org>
35867
35868         Work around mbsrtowcs bug.
35869         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
35870         (gl_FUNC_MBSRTOWCS): Invoke it.
35871         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
35872         m4/locale-zh.m4.
35873         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
35874
35875 2008-12-21  Bruno Haible  <bruno@clisp.org>
35876
35877         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
35878
35879 2008-12-21  Bruno Haible  <bruno@clisp.org>
35880
35881         Update doc for AIX.
35882         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
35883         16-bit wchar_t type.
35884         * doc/posix-functions/btowc.texi: Likewise.
35885         * doc/posix-functions/fgetwc.texi: Likewise.
35886         * doc/posix-functions/fgetws.texi: Likewise.
35887         * doc/posix-functions/fputwc.texi: Likewise.
35888         * doc/posix-functions/fputws.texi: Likewise.
35889         * doc/posix-functions/fwide.texi: Likewise.
35890         * doc/posix-functions/fwprintf.texi: Likewise.
35891         * doc/posix-functions/fwscanf.texi: Likewise.
35892         * doc/posix-functions/getwchar.texi: Likewise.
35893         * doc/posix-functions/getwc.texi: Likewise.
35894         * doc/posix-functions/iswalnum.texi: Likewise.
35895         * doc/posix-functions/iswalpha.texi: Likewise.
35896         * doc/posix-functions/iswblank.texi: Likewise.
35897         * doc/posix-functions/iswcntrl.texi: Likewise.
35898         * doc/posix-functions/iswctype.texi: Likewise.
35899         * doc/posix-functions/iswdigit.texi: Likewise.
35900         * doc/posix-functions/iswgraph.texi: Likewise.
35901         * doc/posix-functions/iswlower.texi: Likewise.
35902         * doc/posix-functions/iswprint.texi: Likewise.
35903         * doc/posix-functions/iswpunct.texi: Likewise.
35904         * doc/posix-functions/iswspace.texi: Likewise.
35905         * doc/posix-functions/iswupper.texi: Likewise.
35906         * doc/posix-functions/iswxdigit.texi: Likewise.
35907         * doc/posix-functions/mbrtowc.texi: Likewise.
35908         * doc/posix-functions/mbsrtowcs.texi: Likewise.
35909         * doc/posix-functions/mbstowcs.texi: Likewise.
35910         * doc/posix-functions/mbtowc.texi: Likewise.
35911         * doc/posix-functions/putwchar.texi: Likewise.
35912         * doc/posix-functions/putwc.texi: Likewise.
35913         * doc/posix-functions/swprintf.texi: Likewise.
35914         * doc/posix-functions/tolower.texi: Likewise.
35915         * doc/posix-functions/toupper.texi: Likewise.
35916         * doc/posix-functions/towctrans.texi: Likewise.
35917         * doc/posix-functions/ungetwc.texi: Likewise.
35918         * doc/posix-functions/vswprintf.texi: Likewise.
35919         * doc/posix-functions/wcrtomb.texi: Likewise.
35920         * doc/posix-functions/wcscat.texi: Likewise.
35921         * doc/posix-functions/wcschr.texi: Likewise.
35922         * doc/posix-functions/wcscmp.texi: Likewise.
35923         * doc/posix-functions/wcscoll.texi: Likewise.
35924         * doc/posix-functions/wcscpy.texi: Likewise.
35925         * doc/posix-functions/wcscspn.texi: Likewise.
35926         * doc/posix-functions/wcsftime.texi: Likewise.
35927         * doc/posix-functions/wcslen.texi: Likewise.
35928         * doc/posix-functions/wcsncat.texi: Likewise.
35929         * doc/posix-functions/wcsncmp.texi: Likewise.
35930         * doc/posix-functions/wcsncpy.texi: Likewise.
35931         * doc/posix-functions/wcspbrk.texi: Likewise.
35932         * doc/posix-functions/wcsrchr.texi: Likewise.
35933         * doc/posix-functions/wcsrtombs.texi: Likewise.
35934         * doc/posix-functions/wcsspn.texi: Likewise.
35935         * doc/posix-functions/wcsstr.texi: Likewise.
35936         * doc/posix-functions/wcstod.texi: Likewise.
35937         * doc/posix-functions/wcstof.texi: Likewise.
35938         * doc/posix-functions/wcstoimax.texi: Likewise.
35939         * doc/posix-functions/wcstok.texi: Likewise.
35940         * doc/posix-functions/wcstold.texi: Likewise.
35941         * doc/posix-functions/wcstoll.texi: Likewise.
35942         * doc/posix-functions/wcstol.texi: Likewise.
35943         * doc/posix-functions/wcstombs.texi: Likewise.
35944         * doc/posix-functions/wcstoull.texi: Likewise.
35945         * doc/posix-functions/wcstoul.texi: Likewise.
35946         * doc/posix-functions/wcstoumax.texi: Likewise.
35947         * doc/posix-functions/wcswidth.texi: Likewise.
35948         * doc/posix-functions/wcsxfrm.texi: Likewise.
35949         * doc/posix-functions/wctob.texi: Likewise.
35950         * doc/posix-functions/wctomb.texi: Likewise.
35951         * doc/posix-functions/wctrans.texi: Likewise.
35952         * doc/posix-functions/wctype.texi: Likewise.
35953         * doc/posix-functions/wcwidth.texi: Likewise.
35954         * doc/posix-functions/wmemchr.texi: Likewise.
35955         * doc/posix-functions/wmemcmp.texi: Likewise.
35956         * doc/posix-functions/wmemcpy.texi: Likewise.
35957         * doc/posix-functions/wmemmove.texi: Likewise.
35958         * doc/posix-functions/wmemset.texi: Likewise.
35959         * doc/posix-functions/wprintf.texi: Likewise.
35960         * doc/posix-functions/wscanf.texi: Likewise.
35961
35962 2008-12-21  Bruno Haible  <bruno@clisp.org>
35963
35964         Update doc for HP-UX 11.11.
35965         * doc/posix-functions/btowc.texi: Clarify that the function is missing
35966         in HP-UX version 11.00, not in all versions of HP-UX 11.
35967         * doc/posix-functions/fwide.texi: Likewise.
35968         * doc/posix-functions/fwprintf.texi: Likewise.
35969         * doc/posix-functions/fwscanf.texi: Likewise.
35970         * doc/posix-functions/inet_ntop.texi: Likewise.
35971         * doc/posix-functions/inet_pton.texi: Likewise.
35972         * doc/posix-functions/mbrlen.texi: Likewise.
35973         * doc/posix-functions/mbrtowc.texi: Likewise.
35974         * doc/posix-functions/mbsinit.texi: Likewise.
35975         * doc/posix-functions/mbsrtowcs.texi: Likewise.
35976         * doc/posix-functions/swprintf.texi: Likewise.
35977         * doc/posix-functions/swscanf.texi: Likewise.
35978         * doc/posix-functions/towctrans.texi: Likewise.
35979         * doc/posix-functions/vfwprintf.texi: Likewise.
35980         * doc/posix-functions/vswprintf.texi: Likewise.
35981         * doc/posix-functions/vwprintf.texi: Likewise.
35982         * doc/posix-functions/wcrtomb.texi: Likewise.
35983         * doc/posix-functions/wcsrtombs.texi: Likewise.
35984         * doc/posix-functions/wcsstr.texi: Likewise.
35985         * doc/posix-functions/wctob.texi: Likewise.
35986         * doc/posix-functions/wctrans.texi: Likewise.
35987         * doc/posix-functions/wmemchr.texi: Likewise.
35988         * doc/posix-functions/wmemcmp.texi: Likewise.
35989         * doc/posix-functions/wmemcpy.texi: Likewise.
35990         * doc/posix-functions/wmemmove.texi: Likewise.
35991         * doc/posix-functions/wmemset.texi: Likewise.
35992         * doc/posix-functions/wprintf.texi: Likewise.
35993         * doc/posix-functions/wscanf.texi: Likewise.
35994
35995 2008-12-21  Bruno Haible  <bruno@clisp.org>
35996
35997         Work around a portability problem.
35998         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
35999         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
36000
36001 2008-12-20  Bruno Haible  <bruno@clisp.org>
36002
36003         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
36004         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
36005         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
36006         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
36007         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
36008
36009         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
36010         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
36011         set.
36012         (GNULIB_defined_mbstate_t): New macro.
36013         (mbsinit): Redefine if REPLACE_MBSINIT is set.
36014         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
36015         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
36016         reuses the system's mbrtowc function but works around the bugs.
36017         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
36018         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
36019         macros.
36020         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
36021         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
36022         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
36023         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
36024         REPLACE_MBSINIT if mbsinit needs to be overridden.
36025         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
36026         REPLACE_MBSINIT, REPLACE_MBRTOWC.
36027         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
36028         REPLACE_MBSINIT, REPLACE_MBRTOWC.
36029         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
36030         m4/locale-zh.m4.
36031         (Depends): Add mbsinit.
36032         * modules/mbsinit (Depends): Add mbrtowc.
36033         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
36034
36035 2008-12-20  Bruno Haible  <bruno@clisp.org>
36036
36037         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
36038         so that there are no conversion errors on AIX.
36039         * tests/test-mbsrtowcs.c (main): LIkewise.
36040
36041 2008-12-20  Bruno Haible  <bruno@clisp.org>
36042
36043         Work around wctob bug on Solaris <= 9.
36044         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
36045         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
36046         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
36047         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
36048         * modules/wctob (Files): Add m4/locale-fr.m4.
36049         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
36050
36051 2008-12-20  Bruno Haible  <bruno@clisp.org>
36052
36053         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
36054         /dev/null.
36055         * tests/test-select-in.sh: Likewise.
36056         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
36057
36058 2008-12-20  Bruno Haible  <bruno@clisp.org>
36059
36060         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
36061         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
36062         Cygwin 1.5.x.
36063
36064 2008-12-20  Bruno Haible  <bruno@clisp.org>
36065
36066         Ensure mbstate_t is defined on HP-UX 11.11.
36067         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
36068         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
36069         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
36070         AC_USE_SYSTEM_EXTENSIONS.
36071         * modules/fnmatch (Depends-on): Add extensions.
36072         * modules/mbrlen (Depends-on): Likewise.
36073         * modules/mbrtowc (Depends-on): Likewise.
36074         * modules/mbsinit (Depends-on): Likewise.
36075         * modules/mbsrtowcs (Depends-on): Likewise.
36076         * modules/mbswidth (Depends-on): Likewise.
36077         * modules/quotearg (Depends-on): Likewise.
36078         * modules/strftime (Depends-on): Likewise.
36079
36080 2008-12-20  Bruno Haible  <bruno@clisp.org>
36081
36082         Ensure wctob is declared on IRIX 6.5.
36083         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
36084         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
36085         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
36086         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
36087         of HAVE_WCTOB.
36088         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
36089         HAVE_WCTOB.
36090         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
36091
36092 2008-12-19  Bruno Haible  <bruno@clisp.org>
36093
36094         * modules/mbsrtowcs-tests: New file.
36095         * tests/test-mbsrtowcs1.sh: New file.
36096         * tests/test-mbsrtowcs2.sh: New file.
36097         * tests/test-mbsrtowcs3.sh: New file.
36098         * tests/test-mbsrtowcs4.sh: New file.
36099         * tests/test-mbsrtowcs.c: New file.
36100
36101         New module 'mbsrtowcs'.
36102         * lib/wchar.in.h (mbsrtowcs): New declaration.
36103         * lib/mbsrtowcs.c: New file.
36104         * m4/mbsrtowcs.m4: New file.
36105         * modules/mbsrtowcs: New file.
36106         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
36107         HAVE_MBSRTOWCS.
36108         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
36109         HAVE_MBSRTOWCS.
36110         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
36111
36112 2008-12-19  Bruno Haible  <bruno@clisp.org>
36113
36114         New module 'mbrlen'.
36115         * lib/wchar.in.h (mbrlen): New declaration.
36116         * lib/mbrlen.c: New file.
36117         * m4/mbrlen.m4: New file.
36118         * modules/mbrlen: New file.
36119         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
36120         HAVE_MBRLEN.
36121         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
36122         HAVE_MBRLEN.
36123         * doc/posix-functions/mbrlen.texi: Document the new module.
36124
36125 2008-12-19  Bruno Haible  <bruno@clisp.org>
36126
36127         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
36128         * modules/mbrtowc (Depends-on): Add verify.
36129         Suggested by Paul Eggert.
36130
36131 2008-12-18  Bruno Haible  <bruno@clisp.org>
36132
36133         * modules/mbsinit-tests: New file.
36134         * tests/test-mbsinit.sh: New file.
36135         * tests/test-mbsinit.c: New file.
36136
36137 2008-12-18  Bruno Haible  <bruno@clisp.org>
36138
36139         * modules/mbrtowc-tests: New file.
36140         * tests/test-mbrtowc1.sh: New file.
36141         * tests/test-mbrtowc2.sh: New file.
36142         * tests/test-mbrtowc3.sh: New file.
36143         * tests/test-mbrtowc4.sh: New file.
36144         * tests/test-mbrtowc.c: New file.
36145
36146         New module 'mbrtowc'.
36147         * lib/wchar.in.h (mbstate_t): Override when the system does not have
36148         mbsinit and mbrtowc.
36149         (mbrtowc): New declaration.
36150         * lib/mbrtowc.c: New file.
36151         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
36152         * modules/mbrtowc: New file.
36153         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
36154         HAVE_MBRTOWC.
36155         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
36156         HAVE_MBRTOWC.
36157         * doc/posix-functions/mbrtowc.texi: Document the new module.
36158
36159 2008-12-18  Bruno Haible  <bruno@clisp.org>
36160
36161         New module 'wctob'.
36162         * lib/wchar.in.h (wctob): New declaration.
36163         * lib/wctob.c: New file.
36164         * m4/wctob.m4: New file.
36165         * modules/wctob: New file.
36166         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
36167         HAVE_WCTOB.
36168         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
36169         * doc/posix-functions/wctob.texi: Document the new module.
36170
36171 2008-12-18  Bruno Haible  <bruno@clisp.org>
36172
36173         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
36174         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
36175
36176 2008-12-18  Simon Josefsson  <simon@josefsson.org>
36177
36178         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
36179         G. Christensen" <tgc@jupiterrise.com>.
36180
36181         * lib/flock.c: Need to include errno.h.  Reported by "Tom
36182         G. Christensen" <tgc@jupiterrise.com>.
36183
36184         * lib/flock.c: Need to include string.h.  Reported by "Tom
36185         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
36186         <ebb9@byu.net>.
36187
36188 2008-12-18  Bruno Haible  <bruno@clisp.org>
36189
36190         * m4/locale-ja.m4: New file, from GNU gettext.
36191
36192 2008-12-17  Bruno Haible  <bruno@clisp.org>
36193
36194         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
36195         Suggested by Eric Blake.
36196
36197 2008-12-17  Bruno Haible  <bruno@clisp.org>
36198
36199         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
36200
36201 2008-12-17  Bruno Haible  <bruno@clisp.org>
36202
36203         * lib/mbsinit.c: Include verify.h. Verify an assumption.
36204         * modules/mbsinit (Depends-on): Add verify.
36205         Suggested by Paul Eggert.
36206
36207 2008-12-17  Bruno Haible  <bruno@clisp.org>
36208
36209         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
36210         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
36211         gl_FUNC_MBRTOWC.
36212         * m4/mbiter.m4 (gl_MBITER): LIkewise.
36213         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
36214         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
36215         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
36216         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
36217         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
36218         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
36219         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
36220         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
36221         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
36222         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
36223         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
36224         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
36225         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
36226         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
36227         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
36228         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
36229         * modules/trim (configure.ac): Likewise.
36230
36231 2008-12-17  Bruno Haible  <bruno@clisp.org>
36232
36233         * modules/btowc-tests: New file.
36234         * tests/test-btowc1.sh: New file.
36235         * tests/test-btowc2.sh: New file.
36236         * tests/test-btowc.c: New file.
36237
36238         New module 'btowc'.
36239         * lib/wchar.in.h (btowc): New declaration.
36240         * lib/btowc.c: New file.
36241         * m4/btowc.m4: New file.
36242         * modules/btowc: New file.
36243         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
36244         HAVE_BTOWC.
36245         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
36246         * doc/posix-functions/btowc.texi: Document the new module.
36247
36248 2008-12-17  Bruno Haible  <bruno@clisp.org>
36249
36250         New module 'mbsinit'.
36251         * lib/wchar.in.h (mbsinit): New declaration.
36252         * lib/mbsinit.c: New file.
36253         * m4/mbsinit.m4: New file.
36254         * modules/mbsinit: New file.
36255         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
36256         HAVE_MBSINIT.
36257         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
36258         HAVE_MBSINIT.
36259         * doc/posix-functions/mbsinit.texi: Document the new module.
36260
36261 2008-12-16  Bruno Haible  <bruno@clisp.org>
36262
36263         * lib/unistd.in.h: Add comment.
36264         * tests/test-environ.c: Don't include <stdlib.h>.
36265
36266 2008-12-16  Bruno Haible  <bruno@clisp.org>
36267
36268         * lib/parse-duration.h (parse_duration): Document return value
36269         convention.
36270         * lib/parse-duration.c: Include specification header first. Add
36271         comments.
36272         (_): Remove macro.
36273         (parse_year_month_day, parse_hour_minute_second): Move side effects
36274         outside of strchr call.
36275         (parse_non_iso8601): Move side effects outside of isspace call.
36276         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
36277         call.
36278
36279 2008-12-16  Bruno Haible  <bruno@clisp.org>
36280
36281         * tests/test-parse-duration.sh: Produce no output when the test
36282         succeeds.
36283
36284 2008-12-16  Bruno Haible  <bruno@clisp.org>
36285
36286         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
36287         expressions.
36288
36289 2008-12-15  Bruno Haible  <bruno@clisp.org>
36290
36291         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
36292         * doc/glibc-functions/flistxattr.texi: Likewise.
36293         * doc/glibc-functions/fopencookie.texi: Likewise.
36294         * doc/glibc-functions/fremovexattr.texi: Likewise.
36295         * doc/glibc-functions/fsetxattr.texi: Likewise.
36296         * doc/glibc-functions/getxattr.texi: Likewise.
36297         * doc/glibc-functions/lgetxattr.texi: Likewise.
36298         * doc/glibc-functions/listxattr.texi: Likewise.
36299         * doc/glibc-functions/llistxattr.texi: Likewise.
36300         * doc/glibc-functions/lremovexattr.texi: Likewise.
36301         * doc/glibc-functions/lsetxattr.texi: Likewise.
36302         * doc/glibc-functions/removexattr.texi: Likewise.
36303         * doc/glibc-functions/setxattr.texi: Likewise.
36304         * doc/posix-functions/open_memstream.texi: Likewise.
36305
36306 2008-12-15  Eric Blake  <ebb9@byu.net>
36307
36308         Update doc for cygwin 1.7.
36309         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
36310         functions.
36311         * doc/posix-functions/fchmodat.texi: Likewise.
36312         * doc/posix-functions/fchownat.texi: Likewise.
36313         * doc/posix-functions/fdopendir.texi: Likewise.
36314         * doc/posix-functions/fmemopen.texi: Likewise.
36315         * doc/posix-functions/freeaddrinfo.texi: Likewise.
36316         * doc/posix-functions/fstatat.texi: Likewise.
36317         * doc/posix-functions/futimens.texi: Likewise.
36318         * doc/posix-functions/gai_strerror.texi: Likewise.
36319         * doc/posix-functions/getaddrinfo.texi: Likewise.
36320         * doc/posix-functions/getnameinfo.texi: Likewise.
36321         * doc/posix-functions/if_freenameindex.texi: Likewise.
36322         * doc/posix-functions/if_indextoname.texi: Likewise.
36323         * doc/posix-functions/if_nameindex.texi: Likewise.
36324         * doc/posix-functions/if_nametoindex.texi: Likewise.
36325         * doc/posix-functions/insque.texi: Likewise.
36326         * doc/posix-functions/linkat.texi: Likewise.
36327         * doc/posix-functions/llrint.texi: Likewise.
36328         * doc/posix-functions/llrintf.texi: Likewise.
36329         * doc/posix-functions/llrintl.texi: Likewise.
36330         * doc/posix-functions/lockf.texi: Likewise.
36331         * doc/posix-functions/lrintl.texi: Likewise.
36332         * doc/posix-functions/mkdirat.texi: Likewise.
36333         * doc/posix-functions/mkfifoat.texi: Likewise.
36334         * doc/posix-functions/mknodat.texi: Likewise.
36335         * doc/posix-functions/mq_close.texi: Likewise.
36336         * doc/posix-functions/mq_getattr.texi: Likewise.
36337         * doc/posix-functions/mq_notify.texi: Likewise.
36338         * doc/posix-functions/mq_open.texi: Likewise.
36339         * doc/posix-functions/mq_receive.texi: Likewise.
36340         * doc/posix-functions/mq_send.texi: Likewise.
36341         * doc/posix-functions/mq_setattr.texi: Likewise.
36342         * doc/posix-functions/mq_timedreceive.texi: Likewise.
36343         * doc/posix-functions/mq_timedsend.texi: Likewise.
36344         * doc/posix-functions/mq_unlink.texi: Likewise.
36345         * doc/posix-functions/open_memstream.texi: Likewise.
36346         * doc/posix-functions/openat.texi: Likewise.
36347         * doc/posix-functions/posix_fadvise.texi: Likewise.
36348         * doc/posix-functions/posix_fallocate.texi: Likewise.
36349         * doc/posix-functions/posix_madvise.texi: Likewise.
36350         * doc/posix-functions/posix_memalign.texi: Likewise.
36351         * doc/posix-functions/posix_openpt.texi: Likewise.
36352         * doc/posix-functions/readlinkat.texi: Likewise.
36353         * doc/posix-functions/remque.texi: Likewise.
36354         * doc/posix-functions/renameat.texi: Likewise.
36355         * doc/posix-functions/rintl.texi: Likewise.
36356         * doc/posix-functions/sem_unlink.texi: Likewise.
36357         * doc/posix-functions/shm_open.texi: Likewise.
36358         * doc/posix-functions/shm_unlink.texi: Likewise.
36359         * doc/posix-functions/signgam.texi: Likewise.
36360         * doc/posix-functions/sigset.texi: Likewise.
36361         * doc/posix-functions/stpcpy.texi: Likewise.
36362         * doc/posix-functions/stpncpy.texi: Likewise.
36363         * doc/posix-functions/strerror.texi: Likewise.
36364         * doc/posix-functions/strtod.texi: Likewise.
36365         * doc/posix-functions/symlinkat.texi: Likewise.
36366         * doc/posix-functions/unlinkat.texi: Likewise.
36367         * doc/posix-functions/utimensat.texi: Likewise.
36368         * doc/glibc-functions/bindresvport.texi: Likewise.
36369         * doc/glibc-functions/dn_expand.texi: Likewise.
36370         * doc/glibc-functions/exp10.texi: Likewise.
36371         * doc/glibc-functions/exp10f.texi: Likewise.
36372         * doc/glibc-functions/fgetxattr.texi: Likewise.
36373         * doc/glibc-functions/flistxattr.texi: Likewise.
36374         * doc/glibc-functions/fopencookie.texi: Likewise.
36375         * doc/glibc-functions/freeifaddrs.texi: Likewise.
36376         * doc/glibc-functions/fremovexattr.texi: Likewise.
36377         * doc/glibc-functions/fsetxattr.texi: Likewise.
36378         * doc/glibc-functions/getifaddrs.texi: Likewise.
36379         * doc/glibc-functions/getxattr.texi: Likewise.
36380         * doc/glibc-functions/lgetxattr.texi: Likewise.
36381         * doc/glibc-functions/listxattr.texi: Likewise.
36382         * doc/glibc-functions/llistxattr.texi: Likewise.
36383         * doc/glibc-functions/lremovexattr.texi: Likewise.
36384         * doc/glibc-functions/lsetxattr.texi: Likewise.
36385         * doc/glibc-functions/pow10.texi: Likewise.
36386         * doc/glibc-functions/pow10f.texi: Likewise.
36387         * doc/glibc-functions/rcmd_af.texi: Likewise.
36388         * doc/glibc-functions/removexattr.texi: Likewise.
36389         * doc/glibc-functions/res_init.texi: Likewise.
36390         * doc/glibc-functions/res_mkquery.texi: Likewise.
36391         * doc/glibc-functions/res_query.texi: Likewise.
36392         * doc/glibc-functions/res_querydomain.texi: Likewise.
36393         * doc/glibc-functions/res_send.texi: Likewise.
36394         * doc/glibc-functions/rresvport_af.texi: Likewise.
36395         * doc/glibc-functions/setxattr.texi: Likewise.
36396         * doc/glibc-functions/strcasestr.texi: Likewise.
36397
36398 2008-12-15  Bruno Haible  <bruno@clisp.org>
36399
36400         Fix compilation error on OSF/1 4.0.
36401         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
36402         <sys/time.h>, simply delegate to the system header.
36403         Reported by Daniel Richard G. <oss@teragram.com>.
36404
36405 2008-12-15  Bruno Haible  <bruno@clisp.org>
36406
36407         * doc/posix-functions/openat.texi: Mention the 'openat' module.
36408         * doc/posix-functions/fchmodat.texi: Likewise.
36409         * doc/posix-functions/fchownat.texi: Likewise.
36410         * doc/posix-functions/fdopendir.texi: Likewise.
36411         * doc/posix-functions/fstatat.texi: Likewise.
36412         * doc/posix-functions/mkdirat.texi: Likewise.
36413         * doc/posix-functions/unlinkat.texi: Likewise.
36414
36415 2008-12-14  Bruno Haible  <bruno@clisp.org>
36416
36417         Update doc for POSIX:2008.
36418         * doc/posix-functions/faccessat.texi: New file.
36419         * doc/posix-functions/fchmodat.texi: New file.
36420         * doc/posix-functions/fchownat.texi: New file.
36421         * doc/posix-functions/fdopendir.texi: New file.
36422         * doc/posix-functions/fstatat.texi: New file.
36423         * doc/posix-functions/futimens.texi: New file.
36424         * doc/posix-functions/linkat.texi: New file.
36425         * doc/posix-functions/mkdirat.texi: New file.
36426         * doc/posix-functions/mkfifoat.texi: New file.
36427         * doc/posix-functions/mknodat.texi: New file.
36428         * doc/posix-functions/open_wmemstream.texi: New file.
36429         * doc/posix-functions/openat.texi: New file.
36430         * doc/posix-functions/psiginfo.texi: New file.
36431         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
36432         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
36433         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
36434         * doc/posix-functions/readlinkat.texi: New file.
36435         * doc/posix-functions/renameat.texi: New file.
36436         * doc/posix-functions/strerror_l.texi: New file.
36437         * doc/posix-functions/symlinkat.texi: New file.
36438         * doc/posix-functions/unlinkat.texi: New file.
36439         * doc/posix-functions/utimensat.texi: New file.
36440         * doc/gnulib.texi (Function Substitutes): Add these subsections.
36441
36442 2008-12-14  Bruno Haible  <bruno@clisp.org>
36443
36444         Update doc for POSIX:2008.
36445         * doc/posix-functions/alphasort.texi: Renamed from
36446         doc/glibc-functions/alphasort.texi.
36447         * doc/posix-functions/dirfd.texi: Renamed from
36448         doc/glibc-functions/dirfd.texi.
36449         * doc/posix-functions/dprintf.texi: Renamed from
36450         doc/glibc-functions/dprintf.texi.
36451         * doc/posix-functions/duplocale.texi: Renamed from
36452         doc/glibc-functions/duplocale.texi.
36453         * doc/posix-functions/fexecve.texi: Renamed from
36454         doc/glibc-functions/fexecve.texi.
36455         * doc/posix-functions/fmemopen.texi: Renamed from
36456         doc/glibc-functions/fmemopen.texi.
36457         * doc/posix-functions/freelocale.texi: Renamed from
36458         doc/glibc-functions/freelocale.texi.
36459         * doc/posix-functions/getdate_err.texi: Renamed from
36460         doc/glibc-functions/getdate_err.texi.
36461         * doc/posix-functions/isalnum_l.texi: Renamed from
36462         doc/glibc-functions/isalnum_l.texi.
36463         * doc/posix-functions/isalpha_l.texi: Renamed from
36464         doc/glibc-functions/isalpha_l.texi.
36465         * doc/posix-functions/isblank_l.texi: Renamed from
36466         doc/glibc-functions/isblank_l.texi.
36467         * doc/posix-functions/iscntrl_l.texi: Renamed from
36468         doc/glibc-functions/iscntrl_l.texi.
36469         * doc/posix-functions/isdigit_l.texi: Renamed from
36470         doc/glibc-functions/isdigit_l.texi.
36471         * doc/posix-functions/isgraph_l.texi: Renamed from
36472         doc/glibc-functions/isgraph_l.texi.
36473         * doc/posix-functions/islower_l.texi: Renamed from
36474         doc/glibc-functions/islower_l.texi.
36475         * doc/posix-functions/isprint_l.texi: Renamed from
36476         doc/glibc-functions/isprint_l.texi.
36477         * doc/posix-functions/ispunct_l.texi: Renamed from
36478         doc/glibc-functions/ispunct_l.texi.
36479         * doc/posix-functions/isspace_l.texi: Renamed from
36480         doc/glibc-functions/isspace_l.texi.
36481         * doc/posix-functions/isupper_l.texi: Renamed from
36482         doc/glibc-functions/isupper_l.texi.
36483         * doc/posix-functions/iswalnum_l.texi: Renamed from
36484         doc/glibc-functions/iswalnum_l.texi.
36485         * doc/posix-functions/iswalpha_l.texi: Renamed from
36486         doc/glibc-functions/iswalpha_l.texi.
36487         * doc/posix-functions/iswblank_l.texi: Renamed from
36488         doc/glibc-functions/iswblank_l.texi.
36489         * doc/posix-functions/iswcntrl_l.texi: Renamed from
36490         doc/glibc-functions/iswcntrl_l.texi.
36491         * doc/posix-functions/iswctype_l.texi: Renamed from
36492         doc/glibc-functions/iswctype_l.texi.
36493         * doc/posix-functions/iswdigit_l.texi: Renamed from
36494         doc/glibc-functions/iswdigit_l.texi.
36495         * doc/posix-functions/iswgraph_l.texi: Renamed from
36496         doc/glibc-functions/iswgraph_l.texi.
36497         * doc/posix-functions/iswlower_l.texi: Renamed from
36498         doc/glibc-functions/iswlower_l.texi.
36499         * doc/posix-functions/iswprint_l.texi: Renamed from
36500         doc/glibc-functions/iswprint_l.texi.
36501         * doc/posix-functions/iswpunct_l.texi: Renamed from
36502         doc/glibc-functions/iswpunct_l.texi.
36503         * doc/posix-functions/iswspace_l.texi: Renamed from
36504         doc/glibc-functions/iswspace_l.texi.
36505         * doc/posix-functions/iswupper_l.texi: Renamed from
36506         doc/glibc-functions/iswupper_l.texi.
36507         * doc/posix-functions/iswxdigit_l.texi: Renamed from
36508         doc/glibc-functions/iswxdigit_l.texi.
36509         * doc/posix-functions/isxdigit_l.texi: Renamed from
36510         doc/glibc-functions/isxdigit_l.texi.
36511         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
36512         doc/glibc-functions/mbsnrtowcs.texi.
36513         * doc/posix-functions/mkdtemp.texi: Renamed from
36514         doc/glibc-functions/mkdtemp.texi.
36515         * doc/posix-functions/newlocale.texi: Renamed from
36516         doc/glibc-functions/newlocale.texi.
36517         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
36518         doc/glibc-functions/nl_langinfo_l.texi.
36519         * doc/posix-functions/open_memstream.texi: Renamed from
36520         doc/glibc-functions/open_memstream.texi.
36521         * doc/posix-functions/opterr.texi: Renamed from
36522         doc/glibc-functions/opterr.texi.
36523         * doc/posix-functions/optind.texi: Renamed from
36524         doc/glibc-functions/optind.texi.
36525         * doc/posix-functions/optopt.texi: Renamed from
36526         doc/glibc-functions/optopt.texi.
36527         * doc/posix-functions/psignal.texi: Renamed from
36528         doc/glibc-functions/psignal.texi.
36529         * doc/posix-functions/scandir.texi: Renamed from
36530         doc/glibc-functions/scandir.texi.
36531         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
36532         doc/glibc-functions/sched_get_priority_min.texi.
36533         * doc/posix-functions/signgam.texi: Renamed from
36534         doc/glibc-functions/signgam.texi.
36535         * doc/posix-functions/stpcpy.texi: Renamed from
36536         doc/glibc-functions/stpcpy.texi.
36537         * doc/posix-functions/stpncpy.texi: Renamed from
36538         doc/glibc-functions/stpncpy.texi.
36539         * doc/posix-functions/strcasecmp_l.texi: Renamed from
36540         doc/glibc-functions/strcasecmp_l.texi.
36541         * doc/posix-functions/strcoll_l.texi: Renamed from
36542         doc/glibc-functions/strcoll_l.texi.
36543         * doc/posix-functions/strfmon_l.texi: Renamed from
36544         doc/glibc-functions/strfmon_l.texi.
36545         * doc/posix-functions/strftime_l.texi: Renamed from
36546         doc/glibc-functions/strftime_l.texi.
36547         * doc/posix-functions/strncasecmp_l.texi: Renamed from
36548         doc/glibc-functions/strncasecmp_l.texi.
36549         * doc/posix-functions/strndup.texi: Renamed from
36550         doc/glibc-functions/strndup.texi.
36551         * doc/posix-functions/strnlen.texi: Renamed from
36552         doc/glibc-functions/strnlen.texi.
36553         * doc/posix-functions/strsignal.texi: Renamed from
36554         doc/glibc-functions/strsignal.texi.
36555         * doc/posix-functions/strxfrm_l.texi: Renamed from
36556         doc/glibc-functions/strxfrm_l.texi.
36557         * doc/posix-functions/timer_gettime.texi: Renamed from
36558         doc/glibc-functions/timer_gettime.texi.
36559         * doc/posix-functions/tolower_l.texi: Renamed from
36560         doc/glibc-functions/tolower_l.texi.
36561         * doc/posix-functions/toupper_l.texi: Renamed from
36562         doc/glibc-functions/toupper_l.texi.
36563         * doc/posix-functions/towctrans_l.texi: Renamed from
36564         doc/glibc-functions/towctrans_l.texi.
36565         * doc/posix-functions/towlower_l.texi: Renamed from
36566         doc/glibc-functions/towlower_l.texi.
36567         * doc/posix-functions/towupper_l.texi: Renamed from
36568         doc/glibc-functions/towupper_l.texi.
36569         * doc/posix-functions/uselocale.texi: Renamed from
36570         doc/glibc-functions/uselocale.texi.
36571         * doc/posix-functions/vdprintf.texi: Renamed from
36572         doc/glibc-functions/vdprintf.texi.
36573         * doc/posix-functions/wcpcpy.texi:
36574         Renamed from doc/glibc-functions/wcpcpy.texi.
36575         * doc/posix-functions/wcpncpy.texi: Renamed from
36576         doc/glibc-functions/wcpncpy.texi.
36577         * doc/posix-functions/wcscasecmp.texi: Renamed from
36578         doc/glibc-functions/wcscasecmp.texi.
36579         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
36580         doc/glibc-functions/wcscasecmp_l.texi.
36581         * doc/posix-functions/wcscoll_l.texi: Renamed from
36582         doc/glibc-functions/wcscoll_l.texi.
36583         * doc/posix-functions/wcsdup.texi: Renamed from
36584         doc/glibc-functions/wcsdup.texi.
36585         * doc/posix-functions/wcsncasecmp.texi: Renamed from
36586         doc/glibc-functions/wcsncasecmp.texi.
36587         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
36588         doc/glibc-functions/wcsncasecmp_l.texi.
36589         * doc/posix-functions/wcsnlen.texi: Renamed from
36590         doc/glibc-functions/wcsnlen.texi.
36591         * doc/posix-functions/wcsnrtombs.texi: Renamed from
36592         doc/glibc-functions/wcsnrtombs.texi.
36593         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
36594         doc/glibc-functions/wcsxfrm_l.texi.
36595         * doc/posix-functions/wctrans_l.texi: Renamed from
36596         doc/glibc-functions/wctrans_l.texi.
36597         * doc/posix-functions/wctype_l.texi: Renamed from
36598         doc/glibc-functions/wctype_l.texi.
36599         * doc/gnulib.texi (Function Substitutes): Add these subsections.
36600         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
36601         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
36602         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
36603         these subsections.
36604         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
36605         Remove sections.
36606
36607 2008-12-14  Bruno Haible  <bruno@clisp.org>
36608
36609         Update doc for POSIX:2008.
36610         * doc/posix-functions/*.texi: Update URL of POSIX specification.
36611
36612 2008-12-14  Bruno Haible  <bruno@clisp.org>
36613
36614         Update doc for POSIX:2008.
36615         * doc/pastposix-functions/bcmp.texi: Renamed from
36616         doc/posix-functions/bcmp.texi.
36617         * doc/pastposix-functions/bcopy.texi: Renamed from
36618         doc/posix-functions/bcopy.texi.
36619         * doc/pastposix-functions/bsd_signal.texi: Renamed from
36620         doc/posix-functions/bsd_signal.texi.
36621         * doc/pastposix-functions/bzero.texi: Renamed from
36622         doc/posix-functions/bzero.texi.
36623         * doc/pastposix-functions/ecvt.texi: Renamed from
36624         doc/posix-functions/ecvt.texi.
36625         * doc/pastposix-functions/fcvt.texi: Renamed from
36626         doc/posix-functions/fcvt.texi.
36627         * doc/pastposix-functions/ftime.texi: Renamed from
36628         doc/posix-functions/ftime.texi.
36629         * doc/pastposix-functions/gcvt.texi: Renamed from
36630         doc/posix-functions/gcvt.texi.
36631         * doc/pastposix-functions/getcontext.texi: Renamed from
36632         doc/posix-functions/getcontext.texi.
36633         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
36634         doc/posix-functions/gethostbyaddr.texi.
36635         * doc/pastposix-functions/gethostbyname.texi: Renamed from
36636         doc/posix-functions/gethostbyname.texi.
36637         * doc/pastposix-functions/getwd.texi: Renamed from
36638         doc/posix-functions/getwd.texi.
36639         * doc/pastposix-functions/h_errno.texi: Renamed from
36640         doc/posix-functions/h_errno.texi.
36641         * doc/pastposix-functions/index.texi: Renamed from
36642         doc/posix-functions/index.texi.
36643         * doc/pastposix-functions/makecontext.texi: Renamed from
36644         doc/posix-functions/makecontext.texi.
36645         * doc/pastposix-functions/mktemp.texi: Renamed from
36646         doc/posix-functions/mktemp.texi.
36647         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
36648         doc/posix-functions/pthread_attr_getstackaddr.texi.
36649         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
36650         doc/posix-functions/pthread_attr_setstackaddr.texi.
36651         * doc/pastposix-functions/rindex.texi: Renamed from
36652         doc/posix-functions/rindex.texi.
36653         * doc/pastposix-functions/scalb.texi: Renamed from
36654         doc/posix-functions/scalb.texi.
36655         * doc/pastposix-functions/setcontext.texi: Renamed from
36656         doc/posix-functions/setcontext.texi.
36657         * doc/pastposix-functions/swapcontext.texi: Renamed from
36658         doc/posix-functions/swapcontext.texi.
36659         * doc/pastposix-functions/ualarm.texi: Renamed from
36660         doc/posix-functions/ualarm.texi.
36661         * doc/pastposix-functions/usleep.texi: Renamed from
36662         doc/posix-functions/usleep.texi.
36663         * doc/pastposix-functions/vfork.texi: Renamed from
36664         doc/posix-functions/vfork.texi.
36665         * doc/pastposix-functions/wcswcs.texi: Renamed from
36666         doc/posix-functions/wcswcs.texi.
36667         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
36668         (Function Substitutes): Update.
36669
36670 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36671
36672         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
36673         m4/strerror.m4.
36674
36675 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36676             Bruno Haible  <bruno@clisp.org>
36677
36678         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
36679
36680 2008-12-13  Bruno Haible  <bruno@clisp.org>
36681
36682         * modules/strtoull (Depends-on): Remove unistd.
36683
36684 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36685
36686         * modules/strtoull (Depends-on): Add stdlib.
36687
36688 2008-12-11  Simon Josefsson  <simon@josefsson.org>
36689
36690         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
36691
36692 2008-12-10  Jim Meyering  <meyering@redhat.com>
36693
36694         gl_ASSERT: don't say assertions are disabled when they're not
36695         * m4/assert.m4 (gl_ASSERT): Do not make configure report
36696         "checking whether to enable assertions... no", when they are in
36697         fact enabled.  This is solely a bug in the output of configure.
36698         In spite of saying "no", NDEBUG was not defined in that case.
36699         Also, as noted by Eric Blake, leave assertions enabled upon
36700         --enable-assert=INVALID.
36701
36702 2008-12-10  Bruno Haible  <bruno@clisp.org>
36703
36704         Change MODULES.html to refer to POSIX:2008 where possible.
36705         * MODULES.html.sh (POSIX2008_URL): New variable.
36706         (posix_headers): Remove sys/timeb, ucontext.
36707         (posix2001_headers): New variable.
36708         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
36709         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
36710         index, makecontext, mktemp, pthread_attr_getstackaddr,
36711         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
36712         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
36713         (posix2001_functions): New variable.
36714         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
36715         otherwise.
36716
36717 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36718
36719         add missing include to parse-duration.c
36720         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
36721         * modules/parse-duration (Depends-on): Add xalloc.
36722
36723         fix sed script reading maint.mk
36724         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
36725         (syntax-check-rules): Use it.
36726
36727 2008-12-09  Bruno Haible  <bruno@clisp.org>
36728
36729         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
36730         MacOS X 10.4/PowerPC.
36731         Reported by Simon Josefsson.
36732
36733 2008-12-08  Jim Meyering  <meyering@redhat.com>
36734
36735         work around mingw's lack of some S_IF definitions
36736         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
36737         Reported by Simon Josefsson.
36738
36739 2008-12-08  Bruno Haible  <bruno@clisp.org>
36740
36741         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
36742         applied to variables. Needed on MacOS X 10.4/PowerPC.
36743         Reported by Simon Josefsson.
36744
36745 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
36746         and Eric Blake  <ebb9@byu.net>
36747
36748         assert: honor --enable-assert
36749         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
36750         order to honor --enable-assert, rather than treating it as a
36751         synonym for --disable-assert.
36752
36753 2008-12-08  Jim Meyering  <meyering@redhat.com>
36754
36755         * lib/posixtm.c: Remove now-useless declaration of mktime.
36756
36757         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
36758
36759 2008-12-07  Bruno Haible  <bruno@clisp.org>
36760
36761         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
36762         test_once): Mark functions as static.
36763         * tests/test-tls.c (test_tls): Likewise.
36764
36765 2008-12-07  Bruno Haible  <bruno@clisp.org>
36766
36767         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
36768         iconv_register_autodetect.
36769
36770 2008-12-07  Jim Meyering  <meyering@redhat.com>
36771
36772         posixtm.c: avoid a warning
36773         * lib/posixtm.c (posixtime): Don't initialize tm0.
36774         It's no longer needed to placate gcc4's -Wuninitialized,
36775         and the attempt to placate would elicit a new warning.
36776
36777         unicodeio.c: mark unused parameters
36778         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
36779         (fallback_failure_callback): Likewise.
36780
36781 2008-12-07  Bruno Haible  <bruno@clisp.org>
36782
36783         * gnulib-tool (func_create_testdir): When building the tests
36784         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
36785         Reported by Simon Josefsson.
36786
36787 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36788
36789         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
36790
36791 2008-12-06  Bruno Haible  <bruno@clisp.org>
36792
36793         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
36794         Suggested by Eric Blake.
36795
36796 2008-12-06  Bruno Haible  <bruno@clisp.org>
36797
36798         Fix a c-stack test failure on MacOS X.
36799         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
36800         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
36801         handler for SIGBUS as well.
36802         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
36803         install a signal handler for SIGBUS as well.
36804         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
36805
36806 2008-12-06  Bruno Haible  <bruno@clisp.org>
36807
36808         Advocacy documentation.
36809         * doc/gnulib-intro.texi (Benefits): New section.
36810         * doc/gnulib.texi: Update.
36811
36812 2008-12-06  Bruno Haible  <bruno@clisp.org>
36813
36814         Document the 'manywarnings' module.
36815         * doc/manywarnings.texi: New file.
36816         * doc/gnulib.texi: Include it.
36817
36818 2008-12-05  Eric Blake  <ebb9@byu.net>
36819
36820         tests: silence some gcc warnings
36821         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
36822         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
36823         type mismatches.
36824
36825 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36826             Bruno Haible  <bruno@clisp.org>
36827
36828         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
36829
36830 2008-11-29  Jim Meyering  <meyering@redhat.com>
36831
36832         unicodeio.c: mark unused parameters
36833         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
36834         (fallback_failure_callback): Likewise.
36835
36836         fts: fix a thinko
36837         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
36838         (set_stat_type): Return S_IF*-valued "type" directly.
36839         Prompted by James Youngman's spotting a related bug.
36840         Confirmed by further testing through find.
36841
36842         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
36843         * lib/fts.c (D_TYPE): Define.
36844         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
36845         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
36846         (s_ifmt_shift_bits): New function.
36847         (set_stat_type): New function.
36848         (fts_build): When not calling fts_stat, call set_stat_type
36849         to propagate dirent.d_type info to fts_read caller.
36850         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
36851         fts_statp->st_mode type information may be valid.
36852
36853 2008-11-28  Simon Josefsson  <simon@josefsson.org>
36854
36855         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
36856         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
36857         <sds@gnu.org>.
36858
36859 2008-11-20  Bruno Haible  <bruno@clisp.org>
36860
36861         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
36862         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
36863         INCLUDE_NEXT.
36864         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
36865         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
36866         * modules/math (Makefile.am): Substitute
36867         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
36868         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
36869
36870 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
36871             Bruno Haible  <bruno@clisp.org>
36872
36873         * lib/stdint.in.h: Define all type macros so that their expansion is
36874         a single typedef'ed token. Fixes a compilation failure in Boost which
36875         does "using ::int8_t;".
36876
36877 2008-11-18  Simon Josefsson  <simon@josefsson.org>
36878
36879         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
36880         gl_MANYWARN_ALL_GCC.
36881         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
36882         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
36883         * modules/manywarnings: New file.
36884         * MODULES.html.sh: Mention manywarnings module.
36885
36886 2008-11-18  Bruno Haible  <bruno@clisp.org>
36887
36888         * doc/gnulib-tool.texi (Unit tests): New section.
36889
36890 2008-11-18  Simon Josefsson  <simon@josefsson.org>
36891
36892         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
36893         paths like 'lib/po/foo.po'.
36894
36895 2008-11-17  Simon Josefsson  <simon@josefsson.org>
36896
36897         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
36898         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
36899
36900 2008-11-17  Simon Josefsson  <simon@josefsson.org>
36901
36902         * m4/warnings.m4: Use CPPFLAGS to really check whether the
36903         parameter works.
36904
36905 2008-11-17  Simon Josefsson  <simon@josefsson.org>
36906
36907         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
36908
36909 2008-11-17  Bruce Korb  <bkorb@gnu.org>
36910
36911         * modules/parse-duration-tests: New file.
36912         * tests/test-parse-duration.sh: New file.
36913         * tests/test-parse-duration.c: New file.
36914
36915         New module 'parse-duration'.
36916         * lib/parse-duration.h: New file.
36917         * lib/parse-duration.c: New file.
36918         * modules/parse-duration: New file.
36919
36920 2008-11-17  Bruno Haible  <bruno@clisp.org>
36921
36922         * tests/test-select-out.sh: Comment out the first pipe test.
36923         Reported by Simon Josefsson.
36924
36925 2008-11-17  Bruno Haible  <bruno@clisp.org>
36926
36927         * modules/getaddrinfo (Depends-on): Add servent, hostent.
36928         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
36929         gl_HOSTENT.
36930
36931 2008-11-17  Bruno Haible  <bruno@clisp.org>
36932
36933         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
36934         -lnetwork and -lnet. Needed for Haiku and BeOS.
36935
36936 2008-11-16  Bruno Haible  <bruno@clisp.org>
36937
36938         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
36939
36940 2008-11-16  Bruno Haible  <bruno@clisp.org>
36941
36942         Avoid test failure on Haiku.
36943         * tests/test-fsync.c: Include <errno.h>.
36944         (main): Don't require that fsync (0) fails.
36945
36946 2008-11-15  Bruno Haible  <bruno@clisp.org>
36947
36948         New module 'hostent'.
36949         * modules/hostent: New file.
36950         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
36951
36952 2008-11-15  Bruno Haible  <bruno@clisp.org>
36953
36954         New module 'servent'.
36955         * modules/servent: New file.
36956         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
36957
36958 2008-11-15  Bruno Haible  <bruno@clisp.org>
36959
36960         Avoid generating same test program with two different rules.
36961         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
36962         test-frexp to test-frexp-nolibm.
36963         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
36964         test-frexpl to test-frexpl-nolibm.
36965
36966 2008-11-15  Bruno Haible  <bruno@clisp.org>
36967
36968         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
36969         $(FREXPL_LIBM).
36970
36971 2008-11-15  Bruno Haible  <bruno@clisp.org>
36972
36973         * lib/netdb.in.h: Activate the definitions also when the system's
36974         <netdb.h> has 'struct addrinfo'.
36975         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
36976         EAI_OVERFLOW or AI_NUMERICSERV.
36977         * doc/posix-headers/netdb.texi: Document the problem.
36978
36979 2008-11-15  Bruno Haible  <bruno@clisp.org>
36980
36981         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
36982
36983         Make the 'sched' module work on platforms where <sched.h> exists but
36984         is incomplete (such as Haiku).
36985         * lib/sched.in.h; Include the system's <sched.h> if it exists.
36986         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
36987         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
36988         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
36989         HAVE_STRUCT_SCHED_PARAM.
36990         * modules/sched (Depends-on): Add include_next.
36991         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
36992         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
36993         * doc/posix-headers/sched.texi: Document the issue.
36994
36995 2008-11-13  Jim Meyering  <meyering@redhat.com>
36996
36997         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
36998         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
36999         test would fail due to the difference in the Report bugs to ...
37000         line.  The expected address is empty, "<>", while the actual
37001         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
37002
37003 2008-11-12  Bruno Haible  <bruno@clisp.org>
37004
37005         lstat: don't compile lstat.c on systems lacking lstat
37006         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
37007         which don't have lstat; this is handled by lib/sys_stat.in.h already.
37008         Reported by Daniel P. Berrange via Jim Meyering.
37009
37010 2008-11-12  Jim Meyering  <meyering@redhat.com>
37011
37012         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
37013
37014 2008-11-12  Simon Josefsson  <simon@josefsson.org>
37015
37016         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
37017         instead.
37018
37019 2008-11-12  Bruno Haible  <bruno@clisp.org>
37020
37021         * lib/unicodeio.c: Include unistr.h.
37022         (utf8_wctomb): Remove function.
37023         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
37024
37025 2008-11-12  Simon Josefsson  <simon@josefsson.org>
37026
37027         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
37028         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
37029         <bruno@clisp.org>.
37030         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
37031
37032 2008-11-12  Simon Josefsson  <simon@josefsson.org>
37033
37034         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
37035         * doc/gnulib.texi: Add section for warnings.
37036
37037 2008-11-11  Bruno Haible  <bruno@clisp.org>
37038
37039         * lib/sockets.h: Add a comment.
37040
37041 2008-11-11  Karl Berry  <karl@gnu.org>
37042
37043         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
37044
37045 2008-11-11  Eric Blake  <ebb9@byu.net>
37046
37047         fdl.texi: avoid git symlinks
37048         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
37049
37050 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
37051
37052         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
37053
37054 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
37055
37056         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
37057         (gl_WARN_ADD): Substitute $2 if literal.
37058
37059 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
37060
37061         * m4/warning.m4: Remove.
37062
37063 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
37064
37065         * m4/warnings.m4: Almost complete rewrite. :-)
37066
37067 2008-11-10  Simon Josefsson  <simon@josefsson.org>
37068
37069         * modules/warnings: New module.
37070         * m4/warnings.m4: New file.
37071         * MODULES.html.sh: Mention warnings module.
37072         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
37073         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
37074
37075 2008-11-10  Eric Blake  <ebb9@byu.net>
37076
37077         fdl.texi: make a symlink to the latest version
37078         * doc/standards.texi: Revert today's earlier change.
37079         * doc/fdl-1.2.texi: Rename from old fdl.texi...
37080         * doc/fdl.texi: ...and replace this with a symlink to the newer
37081         fdl-1.3.texi.
37082
37083 2008-11-10  Bruno Haible  <bruno@clisp.org>
37084
37085         * tests/test-select-fd.c (main): Accept the result file name as fourth
37086         argument.
37087         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
37088         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
37089
37090 2008-11-10  Bruno Haible  <bruno@clisp.org>
37091
37092         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
37093         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
37094         as autoconf-substituted macros.
37095         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
37096         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
37097         gl_NETDB_H_DEFAULTS. Set these variables.
37098         * modules/netdb (Makefile.am): Substitute these variables.
37099
37100 2008-11-10  Eric Blake  <ebb9@byu.net>
37101
37102         standards.texi: include correct file for FDL 1.3
37103         * doc/standards.texi (GNU Free Documentation License): Change
37104         include file to pull in FDL 1.3, not 1.2.
37105
37106         fdl.texi: revert accidental change to license
37107         * doc/fdl.texi: This is FDL 1.2, not 1.3.
37108
37109 2008-11-10  Bruno Haible  <bruno@clisp.org>
37110
37111         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
37112         cross-compiling guesses also when the native compile gives no result.
37113
37114 2008-11-10  Bruno Haible  <bruno@clisp.org>
37115
37116         * lib/spawni.c (__spawni): Force variable into the stack.
37117
37118 2008-11-10  Bruno Haible  <bruno@clisp.org>
37119
37120         Add support for Haiku.
37121         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
37122         glibc and BeOS, but also on Haiku.
37123         * lib/fpurge.c (fpurge): Likewise.
37124         * lib/freadable.c (freadable): Likewise.
37125         * lib/freadahead.c (freadahead): Likewise.
37126         * lib/freading.c (freading): Likewise.
37127         * lib/freadptr.c (freadptr): Likewise.
37128         * lib/freadseek.c (freadptrinc): Likewise.
37129         * lib/fseeko.c (rpl_fseeko): Likewise.
37130         * lib/fseterr.c (fseterr): Likewise.
37131         * lib/fwritable.c (fwritable): Likewise.
37132         * lib/fwriting.c (fwriting): Likewise.
37133         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
37134
37135 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
37136
37137         * lib/config.charset: Treat Haiku like BeOS.
37138
37139 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
37140
37141         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
37142         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
37143
37144 2008-11-08  Bruno Haible  <bruno@clisp.org>
37145
37146         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
37147         AC_CACHE_CHECK.
37148
37149 2008-11-08  Bruno Haible  <bruno@clisp.org>
37150
37151         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
37152
37153 2008-11-08  Bruno Haible  <bruno@clisp.org>
37154
37155         * tests/test-select-fd.c: New file.
37156         * tests/test-select-in.sh: New file.
37157         * tests/test-select-out.sh: New file.
37158         * tests/test-select-stdin.c: New file.
37159         * modules/select-tests (Files): Add the new files.
37160         (Depends-on): Add gettimeofday.
37161         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
37162         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
37163         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
37164
37165 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
37166             Bruno Haible  <bruno@clisp.org>
37167
37168         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
37169
37170 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
37171
37172         * build-aux/pmccabe2html: Added support for C++ source files.
37173
37174 2008-11-05  Ben Pfaff  <blp@gnu.org>
37175
37176         Fix lib/close.c build on Windows.
37177         * modules/close (Files): Add lib/w32sock.h.
37178
37179 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
37180
37181         Accept Bison's NEWS format.
37182         * build-aux/announce-gen (print_news_deltas): Tweak
37183         $re_prefix.
37184
37185 2008-11-04  Bruno Haible  <bruno@clisp.org>
37186
37187         * modules/random_r (Maintainer): Add glibc.
37188
37189 2008-11-04  Simon Josefsson  <simon@josefsson.org>
37190
37191         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
37192         by karl@freefriends.org (Karl Berry).
37193         * doc/alloca.texi: Likewise.
37194         * doc/c-ctype.texi: Likewise.
37195         * doc/c-strcase.texi: Likewise.
37196         * doc/c-strcaseeq.texi: Likewise.
37197         * doc/c-strcasestr.texi: Likewise.
37198         * doc/c-strstr.texi: Likewise.
37199         * doc/c-strtod.texi: Likewise.
37200         * doc/c-strtold.texi: Likewise.
37201         * doc/ctime.texi: Likewise.
37202         * doc/error.texi: Likewise.
37203         * doc/fdl.texi: Likewise.
37204         * doc/gcd.texi: Likewise.
37205         * doc/getdate.texi: Likewise.
37206         * doc/gnulib-intro.texi: Likewise.
37207         * doc/gnulib-tool.texi: Likewise.
37208         * doc/gnulib.texi: Likewise.
37209         * doc/inet_ntoa.texi: Likewise.
37210         * doc/maintain.texi: Likewise.
37211         * doc/make-stds.texi: Likewise.
37212         * doc/quote.texi: Likewise.
37213         * doc/regexprops-generic.texi: Likewise.
37214         * doc/standards.texi: Likewise.
37215         * doc/verify.texi: Likewise.
37216         * doc/visibility.texi: Likewise.
37217         * doc/gnulib.texi (GNU Free Documentation License): Include
37218         fdl-1.3.texi instead of fdl.texi.
37219
37220 2008-11-04  Simon Josefsson  <simon@josefsson.org>
37221
37222         * doc/fdl-1.3.texi: New file, from
37223         <http://www.gnu.org/licenses/fdl-1.3.texi>.
37224         * modules/fdl-1.3: Add.
37225         * MODULES.html.sh: Add fdl-1.3.
37226
37227 2008-11-03  Bruno Haible  <bruno@clisp.org>
37228
37229         Make determination of absolute name of header file work with AIX xlc.
37230         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
37231         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
37232         preprocessing.
37233         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
37234         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
37235
37236 2008-11-03  Simon Josefsson  <simon@josefsson.org>
37237
37238         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
37239         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
37240         <ludo@gnu.org>.
37241
37242 2008-11-02  Bruno Haible  <bruno@clisp.org>
37243
37244         Mark 'strpbrk' obsolete.
37245         * modules/strpbrk (Status, Notice): New sections.
37246         * modules/strtok_r (Depends-on): Add strpbrk.
37247
37248 2008-11-02  Bruno Haible  <bruno@clisp.org>
37249
37250         Mark 'strdup' obsolete.
37251         * modules/strdup (Status, Notice): New sections.
37252         * modules/findprog (Depends-on): Add strdup.
37253         * modules/getaddrinfo (Depends-on): Likewise.
37254         * modules/localename (Depends-on): Likewise.
37255         * modules/relocatable-lib (Depends-on): Likewise.
37256         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
37257         * modules/relocatable-prog (Depends-on): Likewise.
37258         * modules/trim (Depends-on): Likewise.
37259         * modules/unictype/gen-ctype (Depends-on): Likewise.
37260         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
37261
37262 2008-11-02  Bruno Haible  <bruno@clisp.org>
37263
37264         Mark 'strcspn' obsolete.
37265         * modules/strcspn (Status, Notice): New sections.
37266
37267 2008-11-02  Bruno Haible  <bruno@clisp.org>
37268
37269         Mark 'rmdir' obsolete.
37270         * modules/rmdir (Status, Notice): New sections.
37271         * modules/clean-temp (Depends-on): Add rmdir.
37272         * modules/openat (Depends-on): Likewise.
37273
37274 2008-11-02  Bruno Haible  <bruno@clisp.org>
37275
37276         Mark 'raise' obsolete.
37277         * modules/raise (Status, Notice): New sections.
37278         (Include): Specify <signal.h>.
37279         * modules/stdio (Depends-on): Add raise.
37280         * modules/write (Depends-on): Likewise.
37281
37282 2008-11-02  Bruno Haible  <bruno@clisp.org>
37283
37284         Mark 'memset' obsolete.
37285         * modules/memset (Status, Notice): New sections.
37286
37287 2008-11-02  Bruno Haible  <bruno@clisp.org>
37288
37289         Mark 'memmove' obsolete.
37290         * modules/memmove (Status, Notice): New sections.
37291         * modules/argp (Depends-on): Add memmove.
37292         * modules/argz (Depends-on): Likewise.
37293         * modules/canonicalize (Depends-on): Likewise.
37294         * modules/canonicalize-lgpl (Depends-on): Likewise.
37295         * modules/fts (Depends-on): Likewise.
37296         * modules/getcwd (Depends-on): Likewise.
37297         * modules/human (Depends-on): Likewise.
37298         * modules/regex (Depends-on): Likewise.
37299         * modules/striconveh (Depends-on): Likewise.
37300         * modules/trim (Depends-on): Likewise.
37301         * modules/unistr/u8-move (Depends-on): Likewise.
37302         * modules/unistr/u16-move (Depends-on): Likewise.
37303         * modules/unistr/u32-move (Depends-on): Likewise.
37304
37305 2008-11-02  Bruno Haible  <bruno@clisp.org>
37306
37307         Mark 'memcpy' obsolete.
37308         * modules/memcpy (Status, Notice): New sections.
37309
37310 2008-11-02  Bruno Haible  <bruno@clisp.org>
37311
37312         Mark 'memcmp' obsolete.
37313         * modules/memcmp (Status, Notice): New sections.
37314         * modules/argmatch (Depends-on): Add memchr.
37315         * modules/backupfile (Depends-on): Likewise.
37316         * modules/c-strcasestr (Depends-on): Likewise.
37317         * modules/crypto/des (Depends-on): Likewise.
37318         * modules/csharpcomp (Depends-on): Likewise.
37319         * modules/fnmatch (Depends-on): Likewise.
37320         * modules/git-merge-changelog (Depends-on): Likewise.
37321         * modules/isnand (Depends-on): Likewise.
37322         * modules/isnand-nolibm (Depends-on): Likewise.
37323         * modules/isnanf (Depends-on): Likewise.
37324         * modules/isnanf-nolibm (Depends-on): Likewise.
37325         * modules/isnanl (Depends-on): Likewise.
37326         * modules/isnanl-nolibm (Depends-on): Likewise.
37327         * modules/mbchar (Depends-on): Likewise.
37328         * modules/memcoll (Depends-on): Likewise.
37329         * modules/quotearg (Depends-on): Likewise.
37330         * modules/regex (Depends-on): Likewise.
37331         * modules/relocatable-prog (Depends-on): Likewise.
37332         * modules/same (Depends-on): Likewise.
37333         * modules/signbit (Depends-on): Likewise.
37334         * modules/strcasestr-simple (Depends-on): Likewise.
37335         * modules/unictype/gen-ctype (Depends-on): Likewise.
37336         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
37337         * modules/uniname/uniname (Depends-on): Likewise.
37338         * modules/unistr/u8-cmp (Depends-on): Likewise.
37339
37340 2008-11-02  Bruno Haible  <bruno@clisp.org>
37341
37342         Mark 'memchr' obsolete.
37343         * modules/memchr (Status, Notice): New sections.
37344         * modules/argp (Depends-on): Add memchr.
37345         * modules/base64 (Depends-on): Likewise.
37346         * modules/c-strcasestr (Depends-on): Likewise.
37347         * modules/chdir-long (Depends-on): Likewise.
37348         * modules/fnmatch (Depends-on): Likewise.
37349         * modules/getsubopt (Depends-on): Likewise.
37350         * modules/git-merge-changelog (Depends-on): Likewise.
37351         * modules/glob (Depends-on): Likewise.
37352         * modules/strcasestr-simple (Depends-on): Likewise.
37353         * modules/strnlen (Depends-on): Likewise.
37354
37355 2008-11-02  Bruno Haible  <bruno@clisp.org>
37356
37357         Mark 'atexit' obsolete.
37358         * modules/atexit (Status, Notice): New sections.
37359         * modules/chdir-long (Depends-on): Add atexit.
37360         * modules/wait-process (Depends-on): Likewise.
37361
37362 2008-11-02  Bruno Haible  <bruno@clisp.org>
37363
37364         * gnulib-tool: New option --with-obsolete.
37365         (func_usage): Document it.
37366         (func_modules_transitive_closure): Drop obsolete dependencies if
37367         incobsolete is not true.
37368         (func_import): Read and save the incobsolete variable to the cache.
37369
37370 2008-11-02  Bruno Haible  <bruno@clisp.org>
37371
37372         * modules/TEMPLATE-EXTENDED: New field 'Status'.
37373         * gnulib-tool: New option --extract-status.
37374         (func_usage): Document it.
37375         (sed_extract_prog): Recognize it.
37376         (func_get_status): New function.
37377
37378 2008-10-30  Simon Josefsson  <simon@josefsson.org>
37379
37380         * modules/sockets (License): Change from LGPL to LGPLv2+.
37381
37382 2008-10-28  Simon Josefsson  <simon@josefsson.org>
37383
37384         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
37385
37386 2008-10-28  Simon Josefsson  <simon@josefsson.org>
37387
37388         * MODULES.html.sh (Support for systems lacking POSIX:2001):
37389         Mention times and sys_times.
37390         * modules/sys_times, modules/sys_times-tests: New modules.
37391         * modules/times, modules/times-tests: Likewise
37392         * m4/sys_times_h.m4: New file.
37393         * lib/sys_times.in.h: Likewise
37394         * lib/times.c: Likewise.
37395         * tests/test-sys_times.c: Likewise.
37396         * tests/test-times.c: Likewise.
37397         * doc/posix-headers/sys_times.texi: Update.
37398         * doc/posix-functions/times.texi: Update.
37399
37400 2008-10-28  Jim Meyering  <meyering@redhat.com>
37401
37402         * modules/tempname (Depends-on): Add lstat.
37403
37404         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
37405
37406 2008-10-28  Simon Josefsson  <simon@josefsson.org>
37407
37408         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
37409         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
37410         using idiom used elsewhere in gnulib.
37411
37412 2008-10-27  Jim Meyering  <meyering@redhat.com>
37413
37414         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
37415
37416 2008-10-27  Simon Josefsson  <simon@josefsson.org>
37417
37418         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
37419         TESTS_ENVIRONMENT, for shell scripts that needs to call built
37420         programs.
37421         * tests/test-argp-2.sh: Use $EXEEXT when needed.
37422
37423 2008-10-27  Simon Josefsson  <simon@josefsson.org>
37424
37425         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
37426
37427 2008-10-27  Bruno Haible  <bruno@clisp.org>
37428
37429         * tests/test-lstat.c: Include <stdio.h>.
37430
37431 2008-10-27  Simon Josefsson  <simon@josefsson.org>
37432
37433         * modules/lstat-tests: New module.
37434         * tests/test-lstat.c: New file.
37435
37436 2008-10-26  Jim Meyering  <meyering@redhat.com>
37437
37438         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
37439
37440 2008-10-26  Simon Josefsson  <simon@josefsson.org>
37441             Bruno Haible  <bruno@clisp.org>
37442
37443         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
37444         * modules/configmake (Include): Add a note that the include must come
37445         after all system headers.
37446         * lib/javaversion.c: Include configmake.h after all other includes.
37447
37448 2008-10-26  Bruno Haible  <bruno@clisp.org>
37449
37450         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
37451         HAVE_STRUCT_RANDOM_DATA to 1.
37452         (gl_STDLIB_H): Simplify.
37453
37454 2008-10-26  Simon Josefsson  <simon@josefsson.org>
37455
37456         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
37457         substitute HAVE_STRUCT_RANDOM_DATA.
37458         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
37459         random_data.
37460         * modules/stdlib (Makefile.am): Substitute
37461         HAVE_STRUCT_RANDOM_DATA.
37462
37463 2008-10-26  Simon Josefsson  <simon@josefsson.org>
37464
37465         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
37466         * doc/gnulib-intro.texi (Copyright): Likewise.
37467
37468 2008-10-26  Simon Josefsson  <simon@josefsson.org>
37469
37470         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
37471         findings.
37472
37473 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
37474             Bruno Haible  <bruno@clisp.org>
37475
37476         * lib/unistd.in.h: Include <winsock2.h>.
37477         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
37478         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
37479         Provide dummy declarations.
37480         (gethostname): Override.
37481         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
37482         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
37483         gl_PREREQ_SYS_H_WINSOCK2.
37484         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
37485         * doc/posix-functions/gethostname.texi: More details.
37486
37487 2008-10-25  Bruno Haible  <bruno@clisp.org>
37488
37489         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
37490         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
37491         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
37492
37493         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
37494         here ...
37495         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
37496         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
37497         gl_UNISTD_H_DEFAULTS.
37498
37499 2008-10-25  Eric Blake  <ebb9@byu.net>
37500
37501         signbit: avoid spurious compiler failure
37502         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
37503         declarations inside function.
37504
37505 2008-10-24  Simon Josefsson  <simon@josefsson.org>
37506             Bruno Haible  <bruno@clisp.org>
37507
37508         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
37509         * modules/random_r (Depends-on): Add stdint.
37510
37511 2008-10-24  Bruno Haible  <bruno@clisp.org>
37512
37513         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
37514         Eggert.
37515         * modules/strerror (License): Likewise.
37516
37517 2008-10-24  Jim Meyering  <meyering@redhat.com>
37518
37519         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
37520         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
37521
37522 2008-10-24  Eric Blake  <ebb9@byu.net>
37523
37524         getgroups: fix compilation when getgroups is available
37525         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
37526         but with <config.h> override of getgroups disabled.
37527
37528 2008-10-24  Simon Josefsson  <simon@josefsson.org>
37529
37530         * doc/gnulib.texi (Header files): Add note about C++ problems.
37531         Explained by Bruno Haible <bruno@clisp.org>.
37532
37533 2008-10-23  Bruno Haible  <bruno@clisp.org>
37534
37535         Define a dummy SA_NODEFER macro on Interix.
37536         * lib/signal.in.h (SA_NODEFER): Define fallback.
37537         Reported by Aleksey Cheusov <cheusov@tut.by> via
37538         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
37539
37540 2008-10-23  Bruno Haible  <bruno@clisp.org>
37541
37542         * modules/freadahead (License): Change to LGPLv2+.
37543         Suggested by Simon Josefsson.
37544
37545 2008-10-23  Jim Meyering  <meyering@redhat.com>
37546
37547         random_r: new module
37548         * modules/random_r: New file.
37549         * m4/random_r.m4: New file.
37550         * lib/random_r.c: New file, from glibc.
37551         * modules/random_r-tests: New file.
37552         * tests/test-random_r.c: New file.
37553         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
37554          Declare.
37555         (RAND_MAX): Define.
37556         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
37557         * modules/stdlib: Substitute them, too.
37558         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
37559         * doc/glibc-functions/initstate_r.texi: Mention the new module.
37560         * doc/glibc-functions/random_r.texi: Likewise.
37561         * doc/glibc-functions/setstate_r.texi: Likewise.
37562         * doc/glibc-functions/srandom_r.texi: Likewise.
37563         * config/srclist.txt: Mention it.
37564
37565 2008-10-23  David Lutterkort  <lutter@redhat.com>
37566
37567         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
37568         link requirement
37569
37570 2008-10-23  Jim Meyering  <meyering@redhat.com>
37571
37572         selinux-h: mark parameters of stub functions as intentionally unused
37573         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
37574         * lib/se-context.in.h: Likewise.
37575
37576 2008-10-22  Simon Josefsson  <simon@josefsson.org>
37577
37578         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
37579
37580 2008-10-22  Simon Josefsson  <simon@josefsson.org>
37581
37582         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
37583
37584 2008-10-22  Eric Blake  <ebb9@byu.net>
37585
37586         glthread/thread: avoid compiler warning
37587         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
37588         Add unreachable abort to silence compiler.
37589
37590 2008-10-22  Eric Blake  <ebb9@byu.net>
37591
37592         netdb: also supply struct addrinfo for cygwin 1.5.x
37593         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
37594         older cygwin.
37595         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
37596         cygwin.
37597         * doc/posix-headers/netdb.texi (netdb.h): Document this.
37598
37599 2008-10-22  Bruno Haible  <bruno@clisp.org>
37600
37601         * users.txt: Update entry about pspp.
37602
37603 2008-10-21  Bruno Haible  <bruno@clisp.org>
37604
37605         Simplification.
37606         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
37607         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
37608
37609         Simplification.
37610         * lib/ioctl.c (ioctl): Don't undefine.
37611         * lib/socket.c (socket): Don't undefine.
37612
37613         Remove unused module indicator macros.
37614         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
37615         GNULIB_$1 as a C macro.
37616
37617         * doc/posix-functions/close.texi: Undo last change.
37618         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
37619         Windows platforms.
37620
37621 2008-10-21  Bruno Haible  <bruno@clisp.org>
37622
37623         Add gethostname() declaration to <unistd.h>.
37624         * lib/unistd.in.h (gethostname): New declaration.
37625         * lib/gethostname.c: Include <unistd.h>.
37626         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
37627         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
37628         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
37629         and HAVE_GETHOSTNAME.
37630         * modules/gethostname (Depends-on): Add unistd.
37631         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
37632         (Include): Specify <unistd.h>.
37633         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
37634         HAVE_GETHOSTNAME.
37635         * tests/test-gethostname.c: Include <unistd.h> first.
37636
37637 2008-10-21  Bruno Haible  <bruno@clisp.org>
37638
37639         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
37640         * modules/select-tests (Depends-on): Likewise.
37641         Reported by Simon Josefsson.
37642
37643 2008-10-21  Simon Josefsson  <simon@josefsson.org>
37644
37645         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
37646         * lib/accept.c: New file, based on winsock.c.
37647         * lib/bind.c: New file, based on winsock.c.
37648         * lib/connect.c: New file, based on winsock.c.
37649         * lib/getpeername.c: New file, based on winsock.c.
37650         * lib/getsockname.c: New file, based on winsock.c.
37651         * lib/getsockopt.c: New file, based on winsock.c.
37652         * lib/ioctl.c: New file, based on winsock.c.
37653         * lib/listen.c: New file, based on winsock.c.
37654         * lib/recv.c: New file, based on winsock.c.
37655         * lib/recvfrom.c: New file, based on winsock.c.
37656         * lib/send.c: New file, based on winsock.c.
37657         * lib/sendto.c: New file, based on winsock.c.
37658         * lib/setsockopt.c: New file, based on winsock.c.
37659         * lib/shutdown.c: New file, based on winsock.c.
37660         * lib/socket.c: New file, based on winsock.c.
37661         * lib/w32sock.h: New file, based on winsock.c.
37662         * lib/winsock.c: Remove file.
37663         * modules/accept: Likewise.
37664         * modules/bind: Likewise.
37665         * modules/connect: Likewise.
37666         * modules/getpeername: Likewise.
37667         * modules/getsockname: Likewise.
37668         * modules/getsockopt: Likewise.
37669         * modules/ioctl: Likewise.
37670         * modules/listen: Likewise.
37671         * modules/recv: Likewise.
37672         * modules/recvfrom: Likewise.
37673         * modules/send: Likewise.
37674         * modules/sendto: Likewise.
37675         * modules/setsockopt: Likewise.
37676         * modules/shutdown: Likewise.
37677         * modules/socket: Use socket.c instead of winsock.c.
37678         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
37679         * doc/posix-functions/accept.texi: Doc fix.
37680         * doc/posix-functions/bind.texi: Doc fix.
37681         * doc/posix-functions/close.texi: Doc fix.
37682         * doc/posix-functions/connect.texi: Doc fix.
37683         * doc/posix-functions/getpeername.texi: Doc fix.
37684         * doc/posix-functions/getsockname.texi: Doc fix.
37685         * doc/posix-functions/getsockopt.texi: Doc fix.
37686         * doc/posix-functions/ioctl.texi: Doc fix.
37687         * doc/posix-functions/listen.texi: Doc fix.
37688         * doc/posix-functions/recv.texi: Doc fix.
37689         * doc/posix-functions/recvfrom.texi: Doc fix.
37690         * doc/posix-functions/send.texi: Doc fix.
37691         * doc/posix-functions/sendto.texi: Doc fix.
37692         * doc/posix-functions/setsockopt.texi: Doc fix.
37693         * doc/posix-functions/shutdown.texi: Doc fix.
37694         * doc/posix-functions/socket.texi: Doc fix.
37695
37696 2008-10-20  Bruno Haible  <bruno@clisp.org>
37697
37698         Take into account the role of SIGABRT_COMPAT on Windows 2008.
37699         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
37700         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
37701         as an alias for SIGABRT.
37702         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
37703         (sigaction): Map it to SIGABRT.
37704         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
37705
37706 2008-10-20  Bruno Haible  <bruno@clisp.org>
37707
37708         * lib/fts.c: Don't include lstat.h.
37709         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
37710
37711         Move the lstat() declaration to <sys/stat.h>.
37712         * lib/lstat.h: Remove file.
37713         * lib/sys_stat.in.h: Add special invocation convention.
37714         (lstat): New declaration.
37715         * lib/lstat.c (orig_lstat): New function.
37716         (rpl_lstat): Use orig_lstat instead of lstat.
37717         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
37718         AC_C_INLINE. Set REPLACE_LSTAT.
37719         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
37720         and REPLACE_LSTAT.
37721         * modules/lstat (Files): Remove lib/lstat.h.
37722         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
37723         (Include): Specify <sys/stat.h> instead of lstat.h.
37724         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
37725         REPLACE_LSTAT.
37726         * NEWS: Mention the change.
37727
37728 2008-10-20  Bruno Haible  <bruno@clisp.org>
37729
37730         * modules/posix_spawn-tests: New file.
37731         * tests/test-posix_spawn3.c: New file.
37732
37733 2008-10-20  Bruno Haible  <bruno@clisp.org>
37734
37735         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
37736         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
37737         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
37738         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
37739         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
37740
37741 2008-10-20  Bruno Haible  <bruno@clisp.org>
37742
37743         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
37744         of posix_spawn on AIX 5.3.
37745
37746 2008-10-20  Bruno Haible  <bruno@clisp.org>
37747
37748         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
37749
37750 2008-10-20  Bruno Haible  <bruno@clisp.org>
37751
37752         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
37753         of AC_LANG_PROGRAM.
37754
37755 2008-10-20  Simon Josefsson  <simon@josefsson.org>
37756
37757         * lib/netdb.in.h: Don't define GNU specific constants until they
37758         are supported or needed.  Reported by Bruno Haible
37759         <bruno@clisp.org>.
37760
37761 2008-10-20  Simon Josefsson  <simon@josefsson.org>
37762
37763         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
37764
37765 2008-10-20  Simon Josefsson  <simon@josefsson.org>
37766
37767         * lib/getaddrinfo.h: Remove file.
37768         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
37769         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
37770         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
37771         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
37772         * modules/netdb: Substitute GNULIB_GETADDRINFO.
37773         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
37774         * tests/test-getaddrinfo.c: Likewise.
37775         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
37776         * NEWS: Mention change.
37777
37778 2008-10-19  Bruno Haible  <bruno@clisp.org>
37779
37780         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
37781
37782 2008-10-19  Bruno Haible  <bruno@clisp.org>
37783
37784         * lib/wait-process.c: Include simply <sys/wait.h>.
37785         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
37786         WIFSTOPPED): Remove fallback definitions.
37787         * modules/wait-process (Depends-on): Add sys_wait.
37788
37789         New module 'sys_wait'.
37790         * modules/sys_wait: New file.
37791         * lib/sys_wait.in.h: New file, partially copied from
37792         lib/wait-process.c.
37793         * m4/sys_wait_h.m4: New file.
37794         * doc/posix-headers/sys_wait.texi: Mention the new module.
37795
37796 2008-10-19  Bruno Haible  <bruno@clisp.org>
37797
37798         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
37799
37800 2008-10-19  Bruno Haible  <bruno@clisp.org>
37801
37802         Assume that waitpid() fills an 'int' status, not a 'union wait'.
37803         * lib/wait-process.c (WAIT_T): Remove type.
37804         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
37805         (wait_subprocess): Update.
37806
37807 2008-10-19  Bruno Haible  <bruno@clisp.org>
37808
37809         New module 'atoll'.
37810         * modules/atoll: New file.
37811         * lib/stdlib.in.h (atoll): New declaration.
37812         * lib/atoll.c: New file, from glibc with modifications.
37813         * m4/atoll.m4: New file.
37814         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
37815         HAVE_ATOLL.
37816         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
37817         * doc/posix-functions/atoll.texi: Mention the new module.
37818
37819 2008-10-19  Bruno Haible  <bruno@clisp.org>
37820
37821         Add strtoull() declaration to <stdlib.h>.
37822         * lib/stdlib.in.h (strtoull): New declaration.
37823         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
37824         Set HAVE_STRTOULL.
37825         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
37826         HAVE_STRTOULL.
37827         * modules/strtoull (Depends-on): Add stdlib.
37828         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
37829         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
37830         HAVE_STRTOULL.
37831
37832 2008-10-19  Bruno Haible  <bruno@clisp.org>
37833
37834         Add strtoll() declaration to <stdlib.h>.
37835         * lib/stdlib.in.h (strtoll): New declaration.
37836         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
37837         Set HAVE_STRTOLL.
37838         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
37839         HAVE_STRTOLL.
37840         * modules/strtoll (Depends-on): Add stdlib.
37841         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
37842         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
37843
37844 2008-10-19  Bruno Haible  <bruno@clisp.org>
37845
37846         * modules/bcopy (Depends-on): Add strings.
37847         (Include): Specify <strings.h>.
37848
37849 2008-10-19  Bruno Haible  <bruno@clisp.org>
37850
37851         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
37852
37853 2008-10-19  Bruno Haible  <bruno@clisp.org>
37854
37855         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
37856         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
37857         mingw.
37858
37859 2008-10-19  Bruno Haible  <bruno@clisp.org>
37860
37861         * lib/atanl.c: Don't include isnanl.h.
37862         * lib/cosl.c: Likewise.
37863         * lib/ldexpl.c: Likewise.
37864         * lib/logl.c: Likewise.
37865         * lib/sinl.c: Likewise.
37866         * lib/sqrtl.c: Likewise.
37867         * lib/tanl.c: Likewise.
37868
37869         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
37870         * lib/isnanf.h: Remove file.
37871         * lib/isnand.h: Remove file.
37872         * lib/isnanl.h: Remove file.
37873         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
37874         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
37875         macros.
37876         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
37877         HAVE_ISNANF, don't define it as a C macro.
37878         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
37879         HAVE_ISNAND, don't define it as a C macro.
37880         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
37881         HAVE_ISNANL, don't define it as a C macro.
37882         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
37883         HAVE_ISNAN[FDL].
37884         * modules/isnanf (Files): Remove lib/isnanf.h.
37885         (Depends-on): Add math.
37886         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
37887         (Include): Specify <math.h> instead of isnanf.h.
37888         * modules/isnand (Files): Remove lib/isnand.h.
37889         (Depends-on): Add math.
37890         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
37891         (Include): Specify <math.h> instead of isnand.h.
37892         * modules/isnanl (Files): Remove lib/isnanl.h.
37893         (Depends-on): Add math.
37894         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
37895         (Include): Specify <math.h> instead of isnanl.h.
37896         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
37897         HAVE_ISNAN[FDL].
37898         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
37899         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
37900         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
37901         * NEWS: Mention the change.
37902
37903 2008-10-18  Bruno Haible  <bruno@clisp.org>
37904
37905         Add getusershell(), setusershell(), endusershell() declarations to
37906         <unistd.h>.
37907         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
37908         declarations.
37909         * lib/getusershell.c: Include unistd.h.
37910         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
37911         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
37912         HAVE_GETUSERSHELL.
37913         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
37914         and HAVE_GETUSERSHELL.
37915         * modules/getusershell (Depends-on): Add unistd, extensions.
37916         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
37917         (Include): Specify <unistd.h>.
37918         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
37919         HAVE_GETUSERSHELL.
37920
37921 2008-10-18  Bruno Haible  <bruno@clisp.org>
37922
37923         Add a getloadavg() declaration to <stdlib.h>.
37924         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
37925         getloadavg declaration.
37926         (getloadavg): New declaration.
37927         * lib/getloadavg.c: Include <stdlib.h> first.
37928         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
37929         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
37930         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
37931         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
37932         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
37933         * modules/getloadavg (Depends-on): Add stdlib, extensions.
37934         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
37935         (Include): Specify <stdlib.h>.
37936         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
37937         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
37938
37939 2008-10-18  Bruno Haible  <bruno@clisp.org>
37940
37941         * lib/dirchownmod.c: Don't include lchmod.h.
37942
37943         Move the lchmod() declaration to <sys/stat.h>.
37944         * lib/lchmod.h: Remove file.
37945         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
37946         (lchmod): New declaration, moved here from lib/lchown.h.
37947         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
37948         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
37949         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
37950         and HAVE_LCHMOD.
37951         * modules/lchmod (Files): Remove lib/lchmod.h.
37952         (Depends-on): Add sys_stat, extensions.
37953         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
37954         (Include): Specify <sys/stat.h> instead of lchmod.h.
37955         * modules/sys_stat (Depends-on): Add link-warning.
37956         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
37957         definition of GL_LINK_WARNING.
37958         * NEWS: Mention the change.
37959
37960 2008-10-18  Bruno Haible  <bruno@clisp.org>
37961
37962         * lib/fchdir.c: Don't include dirfd.h.
37963         * lib/fts.c: Likewise.
37964         * lib/getcwd.c: Likewise.
37965         * lib/glob.c: Likewise.
37966
37967         Move the dirfd() declaration to <dirent.h>.
37968         * lib/dirfd.h: Remove file.
37969         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
37970         (dirfd): New declaration.
37971         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
37972         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
37973         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
37974         HAVE_DECL_DIRFD.
37975         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
37976         HAVE_DECL_DIRFD.
37977         * modules/dirfd (Files): Remove lib/dirfd.h.
37978         (Depends-on): Add dirent, extensions.
37979         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
37980         (Include): Specify <dirent.h> instead of dirfd.h.
37981         * modules/dirent (Depends-on): Add link-warning.
37982         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
37983         definition of GL_LINK_WARNING.
37984         * NEWS: Mention the change.
37985
37986 2008-10-18  Bruno Haible  <bruno@clisp.org>
37987
37988         Move the euidaccess() declaration to <unistd.h>.
37989         * lib/euidaccess.h: Remove file.
37990         * lib/unistd.in.h (euidaccess): New declaration.
37991         * lib/euidaccess.c: Don't include euidaccess.h.
37992         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
37993         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
37994         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
37995         and HAVE_EUIDACCESS.
37996         * modules/euidaccess (Files): Remove lib/euidaccess.h.
37997         (Depends-on): Add unistd.
37998         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
37999         (Include): Specify <unistd.h> instead of euidaccess.h.
38000         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
38001         HAVE_EUIDACCESS.
38002         * NEWS: Mention the change.
38003
38004 2008-10-18  Bruno Haible  <bruno@clisp.org>
38005
38006         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
38007
38008         Move the getdomainname() declaration to <unistd.h>.
38009         * lib/getdomainname.h: Remove file.
38010         * lib/unistd.in.h (getdomainname): New declaration.
38011         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
38012         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
38013         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
38014         HAVE_GETDOMAINNAME.
38015         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
38016         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
38017         * modules/getdomainname (Files): Remove lib/getdomainname.h.
38018         (Depends-on): Add unistd, extensions.
38019         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
38020         (Includes): Specify <unistd.h> instead of getdomainname.h.
38021         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
38022         HAVE_GETDOMAINNAME.
38023         * NEWS: Mention the change.
38024
38025 2008-10-18  Bruno Haible  <bruno@clisp.org>
38026
38027         * modules/dirent: New file.
38028         * m4/dirent_h.m4: New file.
38029         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
38030         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
38031         * modules/fchdir (Files): Remove lib/dirent.in.h.
38032         (Depends-on): Add dirent.
38033         (Makefile.am): Move rules to modules/dirent.
38034         * doc/posix-headers/dirent.texi: Mention the new module.
38035
38036 2008-10-18  Bruno Haible  <bruno@clisp.org>
38037
38038         Avoid -Wunused-parameter warnings in public gnulib header files.
38039         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
38040         macro.
38041         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
38042
38043 2008-10-18  Bruno Haible  <bruno@clisp.org>
38044
38045         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
38046         * doc/glibc-functions/error.texi: Mention the module 'error'.
38047         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
38048         * doc/glibc-functions/getdomainname.texi: Mention the module
38049         'getdomainname'.
38050         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
38051         * doc/glibc-functions/getpagesize.texi: Mention the module
38052         'getpagesize'.
38053         * doc/glibc-functions/getusershell.texi: Mention the module
38054         'getusershell'.
38055         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
38056         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
38057         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
38058         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
38059         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
38060         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
38061         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
38062         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
38063         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
38064         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
38065         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
38066         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
38067         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
38068         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
38069
38070 2008-10-17  Bruno Haible  <bruno@clisp.org>
38071
38072         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
38073         HP-UX and IRIX, use -0.0L.
38074         * tests/test-ceill.c (minus_zero): Likewise.
38075         * tests/test-floorl.c (minus_zero): Likewise.
38076         * tests/test-frexpl.c (minus_zero): Likewise.
38077         * tests/test-isnan.c (minus_zerol): Likewise.
38078         * tests/test-isnanl.h (minus_zero): Likewise.
38079         * tests/test-ldexpl.c (minus_zero): Likewise.
38080         * tests/test-roundl.c (minus_zero): Likewise.
38081         * tests/test-signbit.c (minus_zerol): Likewise.
38082         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
38083         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
38084         * tests/test-truncl.c (minus_zero): Likewise.
38085         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
38086         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
38087         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
38088         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
38089
38090 2008-10-17  Bruno Haible  <bruno@clisp.org>
38091
38092         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
38093         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
38094         that it gets activated only for gcc >= 3.0.
38095         * lib/dirent.in.h: Likewise.
38096         * lib/errno.in.h: Likewise.
38097         * lib/fcntl.in.h: Likewise.
38098         * lib/float.in.h: Likewise.
38099         * lib/iconv.in.h: Likewise.
38100         * lib/inttypes.in.h: Likewise.
38101         * lib/locale.in.h: Likewise.
38102         * lib/math.in.h: Likewise.
38103         * lib/netdb.in.h: Likewise.
38104         * lib/netinet_in.in.h: Likewise.
38105         * lib/search.in.h: Likewise.
38106         * lib/signal.in.h: Likewise.
38107         * lib/spawn.in.h: Likewise.
38108         * lib/stdarg.in.h: Likewise.
38109         * lib/stdint.in.h: Likewise.
38110         * lib/stdio.in.h: Likewise.
38111         * lib/stdlib.in.h: Likewise.
38112         * lib/string.in.h: Likewise.
38113         * lib/strings.in.h: Likewise.
38114         * lib/sys_file.in.h: Likewise.
38115         * lib/sys_ioctl.in.h: Likewise.
38116         * lib/sys_select.in.h: Likewise.
38117         * lib/sys_socket.in.h: Likewise.
38118         * lib/sys_stat.in.h: Likewise.
38119         * lib/sys_time.in.h: Likewise.
38120         * lib/sysexits.in.h: Likewise.
38121         * lib/time.in.h: Likewise.
38122         * lib/unistd.in.h: Likewise.
38123         * lib/wchar.in.h: Likewise.
38124         * lib/wctype.in.h: Likewise.
38125         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
38126
38127 2008-10-17  Jim Meyering  <meyering@redhat.com>
38128
38129         ignore-value: don't depend on inline module
38130         * modules/ignore-value (Depends-on): Remove 'inline'.
38131         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
38132         Suggestion from Bruno Haible.
38133
38134 2008-10-17  Bruno Haible  <bruno@clisp.org>
38135
38136         New implementation of condition variables for Win32.
38137         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
38138         (gl_linked_waitqueue_t): New type.
38139         (gl_cond_t): Use it.
38140         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
38141         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
38142         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
38143         (glthread_cond_init_func, glthread_cond_wait_func,
38144         glthread_cond_timedwait_func, glthread_cond_signal_func,
38145         glthread_cond_broadcast_func, glthread_cond_destroy_func):
38146         Reimplemented on the basis of gl_linked_waitqueue_t.
38147         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
38148         gl_waitqueue_t.
38149         (gl_rwlock_t): Update.
38150         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
38151
38152 2008-10-17  Simon Josefsson  <simon@josefsson.org>
38153
38154         * modules/recvfrom (Depends-on): Add dependency on getpeername.
38155         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
38156
38157 2008-10-17  Jim Meyering  <meyering@redhat.com>
38158
38159         ignore-value: new module
38160         * modules/ignore-value: New file.
38161         * lib/ignore-value.h: New file.
38162         * MODULES.html.sh (Compiler warning management): New section,
38163         just for this module.  More to come.
38164
38165 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
38166
38167         open-safer.c: avoid 'signed and unsigned in conditional...' warning
38168         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
38169         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
38170
38171 2008-10-16  Jim Meyering  <meyering@redhat.com>
38172
38173         openat-die.c: avoid 'no previous prototype' warning
38174         * lib/openat-die.c: Include "openat.h".
38175         Reported by Reuben Thomas <rrt@sc3d.org>.
38176
38177 2008-10-16  Simon Josefsson  <simon@josefsson.org>
38178
38179         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
38180         * lib/netdb.in.h: Fix typo.
38181         Reported by Bruno Haible  <bruno@clisp.org>
38182
38183         * lib/netdb.in.h: Include sys/socket.h for platforms without
38184         netdb.h, to get structures like hostent on MinGW.
38185         * modules/netdb (Depends-on): Add sys_socket.
38186
38187 2008-10-15  Simon Josefsson  <simon@josefsson.org>
38188
38189         * modules/netdb, modules/netdb-tests: New file.
38190         * m4/netdb_h.m4: New file.
38191         * lib/netdb.in.h: Add, currently just an empty file pending
38192         definitions.
38193         * tests/test-netdb.c: New file.
38194         * doc/posix-headers/netdb.texi: Mention that we replace it if
38195         needed.
38196         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
38197         netdb.
38198
38199 2008-10-15  Simon Josefsson  <simon@josefsson.org>
38200
38201         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
38202         with code.
38203
38204 2008-10-13  Bruno Haible  <bruno@clisp.org>
38205
38206         * lib/glthread/cond.c (glthread_cond_wait_func,
38207         glthread_cond_timedwait_func): Add a comment.
38208
38209 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
38210
38211         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
38212         * tests/test-select.c: Likewise,
38213
38214 2008-10-13  Bruno Haible  <bruno@clisp.org>
38215
38216         * lib/glthread/cond.c (glthread_cond_wait_func,
38217         glthread_cond_timedwait_func): Fix variable name.
38218         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
38219
38220 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
38221
38222         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
38223         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
38224         struct sockaddr.sa_len.
38225         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
38226
38227 2008-10-13  Simon Josefsson  <simon@josefsson.org>
38228
38229         * build-aux/pmccabe2html: Add css and css_url parameters.
38230
38231 2008-10-12  Bruno Haible  <bruno@clisp.org>
38232
38233         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
38234         calling aclx_get.
38235         Reported by Rainer Tammer <tammer@tammer.net>.
38236
38237 2008-10-12  Bruno Haible  <bruno@clisp.org>
38238
38239         Use msvcrt aware primitives for creation/termination of Win32 threads.
38240         * lib/glthread/thread.c: Include <process.h>.
38241         (glthread_create_func): Use _beginthreadex instead of CreateThread.
38242         (wrapper_func): Update signature.
38243         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
38244
38245 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
38246             Bruno Haible  <bruno@clisp.org>
38247
38248         Provide a Win32 implementation of the 'cond' module.
38249         * lib/glthread/cond.h [USE_WIN32]: New implementation.
38250         * lib/glthread/cond.c (glthread_cond_init_func,
38251         glthread_cond_wait_func, glthread_cond_timedwait_func,
38252         glthread_cond_signal_func, glthread_cond_broadcast_func,
38253         glthread_cond_destroy_func) [USE_WIN32]: New functions.
38254         * modules/cond (Dependencies): Add gettimeofday.
38255
38256 2008-10-11  Bruno Haible  <bruno@clisp.org>
38257
38258         Make sleep work on older versions of mingw.
38259         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
38260         only whether it exists.
38261         * doc/posix-functions/sleep.texi: Mention the problem with older
38262         versions of mingw.
38263
38264 2008-10-11  Bruno Haible  <bruno@clisp.org>
38265
38266         New module 'shutdown'.
38267         * modules/shutdown: New file.
38268         * lib/sys_socket.in.h (shutdown): New declaration.
38269         * lib/winsock.c (shutdown): New function.
38270         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
38271         GNULIB_SHUTDOWN.
38272         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
38273         * doc/posix-functions/shutdown.texi: Document the new module.
38274
38275 2008-10-11  Jim Meyering  <meyering@redhat.com>
38276
38277         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
38278
38279 2008-10-11  Bruno Haible  <bruno@clisp.org>
38280
38281         New module 'fclose'.
38282         * modules/fclose: New file.
38283         * lib/stdio.in.h (fclose): New declaration.
38284         * lib/fclose.c: New file.
38285         * m4/fclose.m4: New file.
38286         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
38287         REPLACE_FCLOSE.
38288         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
38289         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
38290         REPLACE_FCLOSE.
38291         * modules/close (Depends-on): fclose.
38292         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
38293
38294 2008-10-11  Bruno Haible  <bruno@clisp.org>
38295
38296         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
38297         set errno and don't call _close.
38298
38299 2008-10-10  Bruno Haible  <bruno@clisp.org>
38300
38301         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
38302         ACL, not afterwards. Fixes test failure on Cygwin.
38303
38304 2008-10-09  Ben Pfaff  <blp@gnu.org>
38305
38306         * build-aux/announce-gen: Fix gnulib version related part of usage
38307         message.  Die with a useful error message if no tarballs are
38308         found.
38309
38310 2008-10-10  Jim Meyering  <meyering@redhat.com>
38311
38312         bootstrap: use git's --depth=N option only if it's supported
38313         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
38314         recognize the --depth option.  Reported by Pádraig Brady.
38315
38316 2008-10-09  Bruno Haible  <bruno@clisp.org>
38317
38318         New module 'ioctl'.
38319         * modules/ioctl: New file.
38320         * lib/sys_socket.in.h (ioctl): Remove declaration.
38321         * lib/winsock.c: Include <sys/ioctl.h>.
38322         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
38323         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
38324         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
38325         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
38326         * doc/posix-functions/ioctl.texi: Mention the new module.
38327
38328 2008-10-09  Bruno Haible  <bruno@clisp.org>
38329
38330         New module 'sys_ioctl'.
38331         * lib/sys_ioctl.in.h: New file.
38332         * m4/sys_ioctl_h.m4: New file.
38333         * modules/sys_ioctl: New file.
38334         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
38335
38336 2008-10-09  Bruno Haible  <bruno@clisp.org>
38337
38338         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
38339         * lib/winsock.c: Include <stdarg.h>.
38340         (rpl_ioctl): Change to second argument 'int' and then varargs.
38341
38342 2008-10-09  Bruno Haible  <bruno@clisp.org>
38343
38344         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
38345         when the sys_socket module is present and the system has <winsock2.h>.
38346
38347 2008-10-09  Bruno Haible  <bruno@clisp.org>
38348
38349         * doc/posix-functions/close.texi: Mention module 'close' instead of
38350         module 'sys_socket'.
38351
38352 2008-10-09  Bruno Haible  <bruno@clisp.org>
38353
38354         * doc/glibc-headers/sys_ioctl.texi: New file.
38355         * doc/gnulib.texi: Include it.
38356
38357 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
38358             Bruno Haible  <bruno@clisp.org>
38359
38360         Combine the two replacements of 'close'.
38361         * lib/sys_socket.in.h (close): Define to a reminder to include
38362         <unistd.h>.
38363         (_gl_close_fd_maybe_socket): New declaration.
38364         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
38365         * lib/winsock.c (close): Remove undefinition.
38366         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
38367         needed for the gnulib module 'close'.
38368         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
38369         define to an error symbol or to a warning, if suitable.
38370         * lib/close.c: Include <sys/socket.h>.
38371         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
38372         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
38373         UNISTD_H_HAVE_WINSOCK2_H.
38374         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
38375         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
38376         UNISTD_H_HAVE_WINSOCK2_H.
38377         * modules/sys_socket (Files): Add m4/unistd_h.m4.
38378         (configure.ac): Set a module indicator.
38379         (Makefile.am): Substitute GNULIB_CLOSE.
38380         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
38381         * modules/poll-tests (Depends-on): Add close.
38382         * modules/select-tests (Depends-on): Likewise.
38383
38384 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
38385             Bruno Haible  <bruno@clisp.org>
38386
38387         New module 'close'.
38388         * modules/close: New file.
38389         * lib/unistd.in.h (close): Move declaration out of the
38390         FCHDIR_REPLACEMENT scope.
38391         (_gl_unregister_fd): New declaration.
38392         * lib/close.c: New file.
38393         * lib/fchdir.c (rpl_close): Remove function.
38394         * m4/close.m4: New file.
38395         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
38396         close.
38397         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
38398         REPLACE_CLOSE.
38399         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
38400         REPLACE_CLOSE.
38401         * modules/fchdir (Depends-on): Add close.
38402
38403 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
38404             Bruno Haible  <bruno@clisp.org>
38405
38406         * lib/fcntl.in.h (open): Simplify conditionals.
38407         (_gl_register_fd): New declaration.
38408         * lib/fchdir.c (rpl_open): Remove function.
38409         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
38410         also.
38411         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
38412         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
38413         open.
38414
38415 2008-10-09  Jim Meyering  <meyering@redhat.com>
38416
38417         GNUmakefile: use the more name-space-friendly "_version"
38418         * top/GNUmakefile (_dummy): Update.
38419         (_version): Rename from "version".
38420
38421 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
38422             Bruno Haible  <bruno@clisp.org>
38423
38424         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
38425         rpl_close.
38426         (_gl_register_fd): New function, extracted from rpl_open.
38427         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
38428         (rpl_open, rpl_opendir): Use _gl_register_fd.
38429
38430 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
38431
38432         Fix organization of 'open' replacement.
38433         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
38434         (gl_FUNC_OPEN): Use it.
38435         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
38436
38437 2008-10-08  Bruno Haible  <bruno@clisp.org>
38438
38439         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
38440
38441 2008-10-08  Simon Josefsson  <simon@josefsson.org>
38442
38443         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
38444         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
38445         listen).
38446
38447 2008-10-08  Eric Blake  <ebb9@byu.net>
38448
38449         GNUmakefile: add 'make version' target
38450         * top/GNUmakefile (_curr-ver): Split version update rules...
38451         (version): ...into a target.
38452
38453 2008-10-07  Bruno Haible  <bruno@clisp.org>
38454
38455         Use a more portable replacement expression for -0.0L.
38456         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
38457         instead of -0.0L. Fix m4 quotation.
38458
38459         * tests/test-signbit.c: Include <float.h>.
38460         (minus_zero): New variable.
38461         (test_signbitl): Use minus_zero instead of -zero.
38462         * modules/signbit-tests (Depends-on): Add float.
38463
38464         * tests/test-ceill.c: Include <float.h>.
38465         (zero): Remove variable.
38466         (minus_zero): New variable.
38467         (main): Use minus_zero instead of -zero.
38468         * modules/ceill-tests (Depends-on): Add float.
38469
38470         * tests/test-floorl.c: Include <float.h>.
38471         (zero): Remove variable.
38472         (minus_zero): New variable.
38473         (main): Use minus_zero instead of -zero.
38474         * modules/floorl-tests (Depends-on): Add float.
38475
38476         * tests/test-roundl.c: Include <float.h>.
38477         (zero): Remove variable.
38478         (minus_zero): New variable.
38479         (main): Use minus_zero instead of -zero.
38480         * modules/roundl-tests (Depends-on): Add float.
38481
38482         * tests/test-truncl.c: Include <float.h>.
38483         (zero): Remove variable.
38484         (minus_zero): New variable.
38485         (main): Use minus_zero instead of -zero.
38486         * modules/truncl-tests (Depends-on): Add float.
38487
38488         * tests/test-frexpl.c (zero): Remove variable.
38489         (minus_zero): New variable.
38490         (main): Use minus_zero instead of -zero.
38491         * modules/frexpl-tests (Depends-on): Add float.
38492
38493         * tests/test-isnan.c (zerol): Remove variable.
38494         (minus_zerol): New variable.
38495         (test_long_double): Use minus_zerol instead of -zerol.
38496         * modules/isnan-tests (Depends-on): Add float.
38497
38498         * tests/test-isnanl.h (zero): Remove variable.
38499         (minus_zero): New variable.
38500         (main): Use minus_zero instead of -zero.
38501         * modules/isnanl-nolibm-tests (Depends-on): Add float.
38502         * modules/isnanl-tests (Depends-on): Add float.
38503
38504         * tests/test-ldexpl.c (zero): Remove variable.
38505         (minus_zero): New variable.
38506         (main): Use minus_zero instead of -zero.
38507         * modules/ldexpl-tests (Depends-on): Add float.
38508
38509         * tests/test-snprintf-posix.h (zerol): Remove variable.
38510         (minus_zerol): New variable.
38511         (test_function): Use minus_zerol instead of -zerol.
38512         * modules/snprintf-posix-tests (Depends-on): Add float.
38513         * modules/vsnprintf-posix-tests (Depends-on): Add float.
38514
38515         * tests/test-sprintf-posix.h (zerol): Remove variable.
38516         (minus_zerol): New variable.
38517         (test_function): Use minus_zerol instead of -zerol.
38518         * modules/sprintf-posix-tests (Depends-on): Add float.
38519         * modules/vsprintf-posix-tests (Depends-on): Add float.
38520
38521         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
38522         (minus_zerol): New variable.
38523         (test_function): Use minus_zerol instead of -zerol.
38524         * modules/vasnprintf-posix-tests (Depends-on): Add float.
38525
38526         * tests/test-vasprintf-posix.c (zerol): Remove variable.
38527         (minus_zerol): New variable.
38528         (test_function): Use minus_zerol instead of -zerol.
38529         * modules/vasprintf-posix-tests (Depends-on): Add float.
38530
38531 2008-10-07  Simon Josefsson  <simon@josefsson.org>
38532
38533         * MODULES.html.sh (Support for building documentation): Mention
38534         pmccabe2html.  Sort entries.
38535
38536         Add pmccabe2html module, from gnupdf.
38537         * build-aux/pmccabe.css: New file.
38538         * build-aux/pmccabe2html: New file.
38539         * m4/pmccabe2html.m4: New file.
38540         * modules/pmccabe2html: New file.
38541
38542 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
38543
38544         flock: new module
38545         * MODULES.html.sh: Add to list of modules.
38546         * lib/flock.c: flock implementation for Windows and Unix systems
38547         which have fcntl.
38548         * doc/glibc-functions/flock.texi: Update documentation.
38549         * lib/sys_file.in.h: <sys/file.h> header file.
38550         * m4/flock.m4: M4 macros.
38551         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
38552         * modules/flock: flock module.
38553         * modules/flock-tests: flock tests module.
38554         * modules/sys_file: sys/file.h module.
38555         * tests/test-flock.c: test suite for flock.
38556
38557 2008-10-06  Jim Meyering  <meyering@redhat.com>
38558
38559         bootstrap: check for LT_INIT more portably still ;-)
38560         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
38561         Spotted by Bruno Haible.
38562
38563 2008-10-06  Eric Blake  <ebb9@byu.net>
38564
38565         test-signbit: avoid tripping Irix cc bug on -0.0L
38566         * tests/test-signbit.c (minus_zerol): Delete, and replace with
38567         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
38568         entire testsuite consistent and avoids an Irix 6.2 bug.
38569
38570 2008-10-05  Bruno Haible  <bruno@clisp.org>
38571             Jim Meyering  <jim@meyering.net>
38572
38573         Add an option for ignoring EPIPE during close_stdout.
38574         * lib/closeout.h: Include <stdbool.h>.
38575         (close_stdout_set_ignore_EPIPE): New declaration.
38576         * lib/closeout.c: Include <stdbool.h>.
38577         (ignore_EPIPE): New variable.
38578         (close_stdout_set_ignore_EPIPE): New function.
38579         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
38580         * lib/close-stream.c (close_stream): Mention the possible EPIPE
38581         failure.
38582         * modules/closeout (Depends-on): Add stdbool.
38583
38584 2008-10-05  Bruno Haible  <bruno@clisp.org>
38585
38586         * modules/accept: New file.
38587         * modules/bind: New file.
38588         * modules/connect: New file.
38589         * modules/getpeername: New file.
38590         * modules/getsockname: New file.
38591         * modules/getsockopt: New file.
38592         * modules/listen: New file.
38593         * modules/recv: New file.
38594         * modules/recvfrom: New file.
38595         * modules/send: New file.
38596         * modules/sendto: New file.
38597         * modules/setsockopt: New file.
38598         * modules/socket: New file.
38599         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
38600         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
38601         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
38602         the particular module is requested. Add a link warning when the
38603         particular module is not requested.
38604         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
38605         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
38606         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
38607         the particular module is requested.
38608         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
38609         gl_SYS_SOCKET_H_DEFAULTS): New macros.
38610         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
38611         * modules/sys_socket (Depends-on): Add link-warning.
38612         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
38613         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
38614         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
38615         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
38616         GL_LINK_WARNING.
38617         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
38618         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
38619         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
38620         * doc/posix-functions/getpeername.texi: Mention the new module
38621         'getpeername'.
38622         * doc/posix-functions/getsockname.texi: Mention the new module
38623         'getsockname'.
38624         * doc/posix-functions/getsockopt.texi: Mention the new module
38625         'getsockopt'.
38626         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
38627         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
38628         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
38629         * doc/posix-functions/send.texi: Mention the new module 'send'.
38630         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
38631         * doc/posix-functions/setsockopt.texi: Mention the new module
38632         'setsockopt'.
38633         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
38634         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
38635         listen, connect, accept.
38636         * modules/select-tests (Depends-on): Likewise.
38637
38638 2008-10-05  Bruno Haible  <bruno@clisp.org>
38639
38640         * lib/winsock.c (strerror): Remove unused #undef.
38641         (rpl_close): Remove unused local variable.
38642
38643         * modules/sys_socket (Depends-on); Add errno.
38644
38645 2008-10-05  Bruno Haible  <bruno@clisp.org>
38646
38647         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
38648         (select): Add a link warning when the 'select' module is not used.
38649         * modules/sys_select (Depends-on): Add link-warning.
38650         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
38651         Suggested by Paolo Bonzini.
38652
38653 2008-10-05  Jim Meyering  <meyering@redhat.com>
38654
38655         bootstrap: check for LT_INIT more portably
38656         * build-aux/bootstrap: Avoid using grep -E, since it's not
38657         portable enough.  Suggestion from Bruno Haible.
38658
38659 2008-10-05  Bruno Haible  <bruno@clisp.org>
38660
38661         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
38662         as being fixed by gnulib.
38663
38664 2008-10-05  Bruno Haible  <bruno@clisp.org>
38665
38666         * modules/select-tests: New file, mostly copied from
38667         modules/sys_select-tests.
38668         * tests/test-select.c: New file, mostly copied from
38669         tests/test-sys_select.c.
38670         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
38671         * modules/sys_select-tests (Depends-on): Remove all dependencies.
38672         (Makefile.am): Remove test_sys_select_LDADD.
38673
38674         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
38675         to an undefined symbol, for an error message.
38676         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
38677         (gl_SYS_SELECT_H_DEFAULTS): New macro.
38678         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
38679         winsock-select.c here.
38680         * modules/sys_select (Files): Remove lib/winsock-select.c.
38681         (Depends-on): Remove alloca.
38682         (Makefile.am): Substitute GNULIB_SELECT.
38683         * modules/select: New file.
38684         * doc/posix-functions/select.texi: Update.
38685
38686 2008-10-05  Bruno Haible  <bruno@clisp.org>
38687
38688         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
38689         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
38690         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
38691         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
38692         getdtablesize.
38693         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
38694         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
38695
38696 2008-10-05  Bruno Haible  <bruno@clisp.org>
38697
38698         * modules/getdtablesize-tests: New file.
38699         * tests/test-getdtablesize.c: New file.
38700
38701         New module 'getdtablesize'.
38702         * lib/unistd.in.h (getdtablesize): New declaration.
38703         * lib/getdtablesize.c: New file.
38704         * m4/getdtablesize.m4: New file.
38705         * modules/getdtablesize: New file.
38706         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
38707         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
38708         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
38709         HAVE_GETDTABLESIZE.
38710         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
38711
38712 2008-10-05  Bruno Haible  <bruno@clisp.org>
38713
38714         * modules/sched (Makefile.am): Fix typo.
38715         Reported by Simon Josefsson.
38716
38717 2008-10-05  Jim Meyering  <meyering@redhat.com>
38718
38719         bootstrap: check for LT_INIT, too
38720         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
38721         are deprecated.  Suggestion from Ralf Wildenhues.
38722
38723 2008-10-05  Bruno Haible  <bruno@clisp.org>
38724
38725         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
38726         overriding them by ours.
38727         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
38728
38729 2008-10-05  Jim Meyering  <meyering@redhat.com>
38730
38731         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
38732         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
38733         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
38734
38735 2008-10-04  Bruno Haible  <bruno@clisp.org>
38736
38737         * modules/dup2 (License): Change to LGPLv2+.
38738         * modules/sleep (License): Likewise.
38739         * modules/perror (License): Likewise.
38740         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
38741         Blake.
38742         * modules/signal (License): Likewise.
38743         * modules/sigprocmask (License): Likewise.
38744         * modules/raise (License): Change to LGPLv2+, with approval by Jim
38745         Meyering.
38746
38747 2008-10-04  Bruno Haible  <bruno@clisp.org>
38748
38749         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
38750         Reported by Rainer Tammer <tammer@tammer.net>.
38751
38752 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
38753             Bruno Haible  <bruno@clisp.org>
38754
38755         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
38756         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
38757         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
38758
38759 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
38760
38761         filevercmp: new module
38762         * lib/filevercmp.h: New function filevercmp comparing version strings.
38763         * lib/filevercmp.c: Implementation of filevercmp function.
38764         * modules/filevercmp: Module metadata.
38765         * tests/test-filevercmp.c: Unit test for new module.
38766         * modules/filevercmp-tests: Unit test metadata.
38767         * MODULES.html.sh: Add filevercmp module.
38768
38769 2008-10-03  Bruno Haible  <bruno@clisp.org>
38770
38771         * lib/c-ctype.h: Add comment.
38772         Reported by Jim Meyering.
38773
38774 2008-10-02  Bruno Haible  <bruno@clisp.org>
38775
38776         * modules/posix_spawn-internal (Depends-on): Add 'open'.
38777
38778 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
38779
38780         * build-aux/bootstrap: Allow renaming bootstrap, and change the
38781         name of bootstrap.conf accordingly.
38782
38783 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
38784
38785         * build-aux/bootstrap: Install git-merge-changelog configuration
38786         items into .gitconfig if needed.
38787
38788 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
38789
38790         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
38791         git repository, and initialize/update it accordingly.
38792
38793 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
38794
38795         * modules/fsync-tests: New file.
38796         * tests/test-fsync.c: New file.
38797
38798         New module 'fsync'.
38799         * lib/fsync.c: New file.
38800         * m4/fsync.m4: New file.
38801         * modules/fsync: New file.
38802         * lib/unistd.in.h (fsync): New declaration.
38803         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
38804         GNULIB_FSYNC and HAVE_FSYNC.
38805         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
38806         * MODULES.html.sh (posix_functions): Add fsync.
38807         * doc/posix-functions/fsync.texi: Mention the new module.
38808
38809 2008-10-02  Jim Meyering  <meyering@redhat.com>
38810
38811         fts.c: sync with similar code from coreutils' remove.c
38812         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
38813         Guard also with "#if defined __linux__", since for now at least,
38814         this code is Linux-kernel-specific.
38815
38816 2008-10-02  Jim Meyering  <meyering@redhat.com>
38817
38818         fts: bug fixes
38819         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
38820         Include <sys/vfs.h>, not <sys/statfs.h>.
38821
38822         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
38823         Include <sys/vfs.h>, not <sys/statfs.h>.
38824
38825 2008-10-01  Bruno Haible  <bruno@clisp.org>
38826
38827         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
38828         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
38829         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
38830         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
38831         * doc/posix-functions/posix_spawnp.texi: Likewise.
38832         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
38833         whether posix_spawn actually works.
38834         * m4/pipe.m4 (gl_PIPE): Likewise.
38835         * modules/execute (Files): Add m4/posix_spawn.m4.
38836         * modules/pipe (Files): Add m4/posix_spawn.m4.
38837         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
38838
38839 2008-10-01  Jim Meyering  <meyering@redhat.com>
38840
38841         remove trailing spaces
38842         * NEWS: Likewise.
38843         * lib/poll.c (poll): Likewise.
38844         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
38845         * lib/winsock.c (rpl_close): Likewise.
38846         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
38847         * modules/yield: Likewise.
38848         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
38849         * tests/test-sys_select.c (connect_to_socket): Likewise.
38850
38851         fts.c: adjust a new interface to be more generally useful
38852         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
38853         (fts_build): Adjust caller.
38854
38855 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
38856
38857         * modules/cond-tests: New file.
38858         * tests/test-cond.c: New file.
38859
38860 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
38861             Bruno Haible  <bruno@clisp.org>
38862
38863         * modules/cond (Dependencies): Add errno, time.
38864         * lib/glthread/cond.h: Include <time.h>.
38865         (gl_cond_define, gl_cond_define_initialized): Use the same definition
38866         across platforms.
38867
38868 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
38869             Bruno Haible  <bruno@clisp.org>
38870
38871         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
38872
38873 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
38874             Bruno Haible  <bruno@clisp.org>
38875
38876         * modules/tls-tests (Depends-on): Add thread, yield.
38877         (configure.ac): Remove all checks.
38878         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
38879         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
38880         gl_thread_self): Remove definitions. Include glthread/thread.h and
38881         glthread/yield.h instead.
38882         (test_tls): Pass an additional NULL argument to gl_thread_join.
38883
38884 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
38885             Bruno Haible  <bruno@clisp.org>
38886
38887         * modules/lock-tests (Depends-on): Add thread, yield.
38888         (configure.ac): Remove all checks.
38889         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
38890         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
38891         gl_thread_self): Remove definitions. Include glthread/thread.h and
38892         glthread/yield.h instead.
38893         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
38894         additional NULL argument to gl_thread_join.
38895
38896 2008-09-30  Bruno Haible  <bruno@clisp.org>
38897
38898         Fix the Win32 implementation of the 'thread' module.
38899         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
38900         pointer type.
38901         (gl_thread_self): Invoke gl_thread_self_func.
38902         (gl_thread_self_func): New declaration.
38903         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
38904         (do_init_self_key, init_self_key): New functions.
38905         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
38906         Remove some fields.
38907         (running_threads, running_lock): Remove variables.
38908         (get_current_thread_handle): New function.
38909         (gl_thread_self_func, wrapper_func, glthread_create_func,
38910         glthread_join_func, gl_thread_exit_func): Largely rewritten and
38911         simplified.
38912
38913 2008-09-30  Bruno Haible  <bruno@clisp.org>
38914
38915         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
38916         files.
38917
38918 2008-09-30  Jim Meyering  <meyering@redhat.com>
38919
38920         fts.m4: correct the test for statfs.f_type
38921         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
38922         when checking for statfs.f_type.
38923
38924 2008-09-15  Simon Josefsson  <simon@josefsson.org>
38925
38926         tests: avoid some compiler warnings
38927         * tests/test-memchr.c (main): Pass NULL indirectly.
38928         * tests/test-getdate.c (main): Remove unused variable 'ret'.
38929
38930 2008-09-29  OndÅ™ej Vašík  <ovasik@redhat.com>
38931
38932         getdate.y: disallow countable dayshifts like "4 yesterday ago"
38933         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
38934         exactly specified dayshifts.
38935         (dayshift): New rule.
38936         (rel): Add dayshift.
38937         (relative_time_table) [tomorrow, yesterday, today, now]:
38938         Use tDAY_SHIFT in place of tDAY_UNIT.
38939         * tests/test-getdate.c: Add tests for now-disallowed countable
38940         dayshifts, e.g., "4 yesterday ago".
38941
38942 2008-09-29  Bruno Haible  <bruno@clisp.org>
38943
38944         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
38945         * tests/test-posix_spawn1.in.sh: Renamed from
38946         tests/test-posix_spawn.in.sh.
38947         * tests/test-posix_spawn2.c: New file.
38948         * tests/test-posix_spawn2.in.sh: New file.
38949         * modules/posix_spawnp-tests (Files): Update.
38950         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
38951
38952 2008-09-29  Bruno Haible  <bruno@clisp.org>
38953
38954         Propagate effects of putenv/setenv/unsetenv to child processes.
38955         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
38956         * lib/pipe.c (create_pipe): Likewise.
38957
38958 2008-09-29  Bruno Haible  <bruno@clisp.org>
38959
38960         Enable use of shell scripts as executables in mingw.
38961         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
38962         run the program as a shell script.
38963         * lib/pipe.c (create_pipe): Likewise.
38964         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
38965         resulting array.
38966
38967 2008-09-29  Eric Blake  <ebb9@byu.net>
38968
38969         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
38970
38971 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
38972
38973         * doc/posix-functions/accept.texi: Update mingw problems.
38974         * doc/posix-functions/bind.texi: Update mingw problems.
38975         * doc/posix-functions/close.texi: Update mingw problems.
38976         * doc/posix-functions/connect.texi: Update mingw problems.
38977         * doc/posix-functions/getpeername.texi: Update mingw problems.
38978         * doc/posix-functions/getsockname.texi: Update mingw problems.
38979         * doc/posix-functions/getsockopt.texi: Update mingw problems.
38980         * doc/posix-functions/ioctl.texi: Update mingw problems.
38981         * doc/posix-functions/listen.texi: Update mingw problems.
38982         * doc/posix-functions/recv.texi: Update mingw problems.
38983         * doc/posix-functions/recvfrom.texi: Update mingw problems.
38984         * doc/posix-functions/select.texi: Update mingw problems.
38985         * doc/posix-functions/send.texi: Update mingw problems.
38986         * doc/posix-functions/sendto.texi: Update mingw problems.
38987         * doc/posix-functions/setsockopt.texi: Update mingw problems.
38988         * doc/posix-functions/socket.texi: Update mingw problems.
38989
38990 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
38991             Bruno Haible  <bruno@clisp.org>
38992
38993         * lib/sys_select.in.h: Include sys/time.h.
38994         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
38995         * modules/sys_select: Depend on sys_time.
38996         * tests/test-sys_select.c: Test that sys/select.h defines struct
38997         timeval fully.
38998
38999 2008-09-29  Bruno Haible  <bruno@clisp.org>
39000
39001         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
39002         * lib/sys_select.in.h: Likewise.
39003
39004 2008-09-29  Bruno Haible  <bruno@clisp.org>
39005
39006         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
39007
39008 2008-09-29  Bruno Haible  <bruno@clisp.org>
39009
39010         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
39011         Set LIBSOCKET instead of augmenting LIBS.
39012         * modules/sockets (Link): New section.
39013         * modules/sockets-tests (test_sockets_LDADD): New variable.
39014         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
39015         * modules/poll-tests (test_poll_LDADD): New variable.
39016         * NEWS: Document the change.
39017
39018 2008-09-29  Bruno Haible  <bruno@clisp.org>
39019
39020         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
39021         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
39022         ARPA_INET_H directly.
39023         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
39024
39025 2008-09-28  Bruno Haible  <bruno@clisp.org>
39026
39027         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
39028         from gl_HEADER_SYS_SOCKET.
39029         (gl_HEADER_SYS_SOCKET): Invoke it.
39030         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
39031
39032 2008-09-28  Bruno Haible  <bruno@clisp.org>
39033
39034         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
39035         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
39036         Needed on OSF/1 4.0.
39037
39038 2008-09-28  Bruno Haible  <bruno@clisp.org>
39039
39040         Override open more carefully.
39041         * lib/open.c (orig_open): New function.
39042         (rpl_open): Use orig_open instead of open.
39043         * lib/fcntl.in.h: Add special invocation convention.
39044         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
39045         (gl_FUNC_OPEN): Invoke it.
39046
39047         Override freopen more carefully.
39048         * lib/freopen.c (orig_freopen): New function.
39049         (rpl_freopen): Use orig_freopen instead of freopen.
39050         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
39051         (gl_FUNC_FREOPEN): Invoke it.
39052
39053         Override fopen more carefully.
39054         * lib/fopen.c (orig_fopen): New function.
39055         (rpl_fopen): Use orig_fopen instead of fopen.
39056         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
39057         (gl_FUNC_FOPEN): Invoke it.
39058         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
39059
39060 2008-09-28  Bruno Haible  <bruno@clisp.org>
39061
39062         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
39063         SIGPIPE.
39064
39065 2008-09-28  Bruno Haible  <bruno@clisp.org>
39066
39067         * tests/test-sigaction.c (handler, main): Disable the check whether
39068         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
39069         glibc systems with LinuxThreads.
39070
39071 2008-09-28  Bruno Haible  <bruno@clisp.org>
39072
39073         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
39074
39075         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
39076         with AIX xlc.
39077         * lib/fcntl.in.h (open): Likewise.
39078         Reported by Rainer Tammer <tammer@tammer.net>.
39079
39080 2008-09-28  Bruno Haible  <bruno@clisp.org>
39081
39082         * modules/posix_spawnp-tests: New file.
39083         * tests/test-posix_spawn.c: New file.
39084         * tests/test-posix_spawn.in.sh: New file.
39085
39086         New module 'posix_spawnp'.
39087         * modules/posix_spawnp: New file.
39088         * lib/spawnp.c: New file, from GNU libc with modifications.
39089         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
39090
39091         New module 'posix_spawn'.
39092         * modules/posix_spawn: New file.
39093         * lib/spawn.c: New file, from GNU libc with modifications.
39094         * doc/posix-functions/posix_spawn.texi: Mention the new module.
39095
39096         New module 'posix_spawnattr_destroy'.
39097         * modules/posix_spawnattr_destroy: New file.
39098         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
39099         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
39100         module.
39101
39102         New module 'posix_spawnattr_setsigmask'.
39103         * modules/posix_spawnattr_setsigmask: New file.
39104         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
39105         modifications.
39106         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
39107         new module.
39108
39109         New module 'posix_spawnattr_getsigmask'.
39110         * modules/posix_spawnattr_getsigmask: New file.
39111         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
39112         modifications.
39113         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
39114         new module.
39115
39116         New module 'posix_spawnattr_setsigdefault'.
39117         * modules/posix_spawnattr_setsigdefault: New file.
39118         * lib/spawnattr_setdefault.c: New file, from GNU libc with
39119         modifications.
39120         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
39121         new module.
39122
39123         New module 'posix_spawnattr_getsigdefault'.
39124         * modules/posix_spawnattr_getsigdefault: New file.
39125         * lib/spawnattr_getdefault.c: New file, from GNU libc with
39126         modifications.
39127         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
39128         new module.
39129
39130         New module 'posix_spawnattr_setschedpolicy'.
39131         * modules/posix_spawnattr_setschedpolicy: New file.
39132         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
39133         modifications.
39134         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
39135         new module.
39136
39137         New module 'posix_spawnattr_getschedpolicy'.
39138         * modules/posix_spawnattr_getschedpolicy: New file.
39139         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
39140         modifications.
39141         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
39142         new module.
39143
39144         New module 'posix_spawnattr_setschedparam'.
39145         * modules/posix_spawnattr_setschedparam: New file.
39146         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
39147         modifications.
39148         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
39149         new module.
39150
39151         New module 'posix_spawnattr_getschedparam'.
39152         * modules/posix_spawnattr_getschedparam: New file.
39153         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
39154         modifications.
39155         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
39156         new module.
39157
39158         New module 'posix_spawnattr_setpgroup'.
39159         * modules/posix_spawnattr_setpgroup: New file.
39160         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
39161         modifications.
39162         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
39163         module.
39164
39165         New module 'posix_spawnattr_getpgroup'.
39166         * modules/posix_spawnattr_getpgroup: New file.
39167         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
39168         modifications.
39169         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
39170         module.
39171
39172         New module 'posix_spawnattr_setflags'.
39173         * modules/posix_spawnattr_setflags: New file.
39174         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
39175         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
39176         module.
39177
39178         New module 'posix_spawnattr_getflags'.
39179         * modules/posix_spawnattr_getflags: New file.
39180         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
39181         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
39182         module.
39183
39184         New module 'posix_spawnattr_init'.
39185         * modules/posix_spawnattr_init: New file.
39186         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
39187         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
39188         module.
39189
39190         New module 'posix_spawn_file_actions_destroy'.
39191         * modules/posix_spawn_file_actions_destroy: New file.
39192         * lib/spawn_faction_destroy.c: New file, from GNU libc with
39193         modifications.
39194         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
39195         the new module.
39196
39197         New module 'posix_spawn_file_actions_addopen'.
39198         * modules/posix_spawn_file_actions_addopen: New file.
39199         * lib/spawn_faction_addopen.c: New file, from GNU libc with
39200         modifications.
39201         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
39202         the new module.
39203
39204         New module 'posix_spawn_file_actions_adddup2'.
39205         * modules/posix_spawn_file_actions_adddup2: New file.
39206         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
39207         modifications.
39208         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
39209         the new module.
39210
39211         New module 'posix_spawn_file_actions_addclose'.
39212         * modules/posix_spawn_file_actions_addclose: New file.
39213         * lib/spawn_faction_addclose.c: New file, from GNU libc with
39214         modifications.
39215         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
39216         the new module.
39217
39218         New module 'posix_spawn_file_actions_init'.
39219         * modules/posix_spawn_file_actions_init: New file.
39220         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
39221         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
39222         new module.
39223
39224         New module 'posix_spawn-internal'.
39225         * modules/posix_spawn-internal: New file.
39226         * lib/spawn_int.h: New file, from GNU libc with modifications.
39227         * lib/spawni.c: New file, from GNU libc with modifications.
39228         * m4/posix_spawn.m4: New file.
39229
39230         New module 'spawn'.
39231         * modules/spawn: New file.
39232         * lib/spawn.in.h: New file, from GNU libc with modifications.
39233         * m4/spawn_h.m4: New file.
39234         * doc/posix-headers/spawn.texi: Mention the new module.
39235
39236 2008-09-28  Bruno Haible  <bruno@clisp.org>
39237
39238         * modules/sched-tests: New file.
39239         * tests/test-sched.c: New file.
39240
39241         New module 'sched'.
39242         * modules/sched: New file.
39243         * lib/sched.in.h: New file.
39244         * m4/sched_h.m4: New file.
39245         * doc/posix-headers/sched.texi: Mention the new module.
39246
39247 2008-09-27  Eric Blake  <ebb9@byu.net>
39248
39249         Fix previous patch, and tweak references to $0.
39250         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
39251         (func_version, func_gnulib_dir): Don't call this program
39252         gnulib-tool.
39253         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
39254         with using $0 in function.
39255         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
39256         (func_fatal_error): Reuse the name the user invoked us with.
39257
39258 2008-09-27  Bruno Haible  <bruno@clisp.org>
39259
39260         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
39261         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
39262         (gl_ICONV_H): Not here.
39263         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
39264         instead of assigning ICONV_H directly.
39265
39266         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
39267         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
39268         WCHAR_H directly.
39269
39270 2008-09-27  Bruno Haible  <bruno@clisp.org>
39271
39272         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
39273         * modules/arpa_inet (Depends-on): Add link-warning.
39274         (Makefile.am): Insert the definition of GL_LINK-WARNING.
39275         * modules/unistd (Makefile.am): Likewise.
39276
39277 2008-09-26  Bruno Haible  <bruno@clisp.org>
39278
39279         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
39280         variables.
39281         (func_version): Essentially copied from gnulib-tool.
39282         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
39283         func_readlink): Copied from gnulib-tool.
39284
39285 2008-09-26  Bruno Haible  <bruno@clisp.org>
39286
39287         * gnulib-tool (func_version): Change directory to $gnulib_dir before
39288         invoking git-version-gen.
39289
39290 2008-09-26  Bruno Haible  <bruno@clisp.org>
39291
39292         * posix-modules: Update to directory names changed on 2008-01-19.
39293         Remove commas in output before splitting into words. No more need to
39294         avoid 'ftruncate' since 2007-02-19.
39295
39296 2008-09-26  Bruno Haible  <bruno@clisp.org>
39297
39298         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
39299
39300 2008-09-26  Bruno Haible  <bruno@clisp.org>
39301
39302         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
39303         * modules/fwriteerror (Depends-on): Add errno.
39304
39305 2008-09-26  Bruno Haible  <bruno@clisp.org>
39306
39307         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
39308         * tests/test-vc-list-files-cvs.sh: Likewise.
39309
39310 2008-09-26  Bruno Haible  <bruno@clisp.org>
39311
39312         * doc/posix-headers/sys_resource.texi: Reorder items.
39313
39314 2008-09-26  Jim Meyering  <meyering@redhat.com>
39315
39316         fts: tweak inode comparison function
39317         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
39318         inode numbers, as documented.
39319
39320         fts: sort dirent entries on inode number before traversing
39321         This avoids a quadratic, seek-related performance penalty when
39322         operating on a directory containing many entries (measurable at 10k;
39323         3.5 hours at 2 million entries with a cold cache) on certain types
39324         of file systems, including ext3 and ext4, but not tmpfs.
39325         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
39326         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
39327         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
39328         (fs_handles_readdir_ordered_dirents_efficiently): New function.
39329         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
39330         (fts_build): Set the stat.st_ino member from D_INO.
39331         If it is likely to be useful, sort dirent entries on inode number.
39332
39333         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
39334         and the struct statfs.f_type member.
39335         * modules/fts (Depends-on): Add d-ino.
39336
39337 2008-09-26  Bruno Haible  <bruno@clisp.org>
39338
39339         * modules/sigpipe-die (Depends-on): Add sigpipe.
39340
39341         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
39342         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
39343         and GNULIB_STDIO_H_SIGPIPE are set.
39344         * lib/stdio-write.c: New file.
39345         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
39346         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
39347         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
39348         REPLACE_STDIO_WRITE_FUNCS.
39349         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
39350         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
39351         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
39352         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
39353         * modules/stdio (Files): Add lib/stdio-write.c.
39354         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
39355         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
39356         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
39357         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
39358         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
39359         REPLACE_FPRINTF_POSIX.
39360         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
39361         REPLACE_PRINTF_POSIX.
39362         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
39363         REPLACE_VFPRINTF_POSIX.
39364         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
39365         REPLACE_VPRINTF_POSIX.
39366         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
39367         SIGPIPE issue.
39368         * doc/posix-functions/fputc.texi: Likewise.
39369         * doc/posix-functions/fputs.texi: Likewise.
39370         * doc/posix-functions/fwrite.texi: Likewise.
39371         * doc/posix-functions/printf.texi: Likewise.
39372         * doc/posix-functions/putc.texi: Likewise.
39373         * doc/posix-functions/putchar.texi: Likewise.
39374         * doc/posix-functions/puts.texi: Likewise.
39375         * doc/posix-functions/vfprintf.texi: Likewise.
39376         * doc/posix-functions/vprintf.texi: Likewise.
39377
39378         * modules/safe-write (Depends-on): Add write.
39379
39380         * modules/sigpipe-tests: New file.
39381         * tests/test-sigpipe.c: New file.
39382         * tests/test-sigpipe.sh: New file.
39383
39384         * modules/write: New file.
39385         * lib/unistd.in.h: Include <sys/types.h>.
39386         (write): New declaration.
39387         * lib/write.c: New file.
39388         * m4/write.m4: New file.
39389         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
39390         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
39391         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
39392         GNULIB_WRITE, REPLACE_WRITE.
39393         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
39394         and the SIGPIPE issue.
39395
39396         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
39397         (raise): New declaration.
39398         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
39399         (ext_signal): New function.
39400         (rpl_raise): New function.
39401         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
39402         GNULIB_SIGNAL_H_SIGPIPE.
39403         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
39404         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
39405
39406         * modules/sigpipe: New file.
39407         * m4/sigpipe.m4: New file.
39408
39409 2008-09-25  Derek Price  <derek@ximbiot.com>
39410             Bruno Haible  <bruno@clisp.org>
39411
39412         * gnulib-tool (func_import): Report all license incompatibilities, not
39413         just the first one.
39414
39415 2008-09-25  Bruno Haible  <bruno@clisp.org>
39416
39417         * gnulib-tool (func_import): When computing the edits, consider not
39418         only the Makefile.ams that exist but also those that will be generated.
39419
39420 2008-09-25  Simon Josefsson  <simon@josefsson.org>
39421
39422         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
39423         fixes gnulib-tool --test warning about duplicate dependency.
39424
39425 2008-09-25  Bruno Haible  <bruno@clisp.org>
39426
39427         * gnulib-tool: Don't ask the user to perform edits in the generated
39428         Makefile.ams.
39429         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
39430         apply to the Makefile.am being generated.
39431         (func_emit_tests_Makefile_am): Execute edits that apply to the
39432         Makefile.am being generated.
39433         (func_import): Setup list of Makefile.am edits before emitting the
39434         Makefile.ams, not at the end.
39435         (func_create_testdir): Update.
39436         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
39437
39438 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
39439
39440         * gnulib-tool (func_import): Store the --tests-base option in the
39441         comment in gnulib-cache.m4.
39442
39443 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
39444
39445         * NEWS: Document increased portability that sys_select now provides.
39446
39447         * lib/sys_select.in.h: Install select wrapper.
39448         * lib/sys_socket.in.h: Use more descriptive name when there is no
39449         select wrapper.
39450         * lib/winsock-select.c: New.
39451         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
39452         Require gl_HEADER_SYS_SOCKET.
39453         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
39454         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
39455         * tests/test-sys_select.c: Add functional tests.
39456
39457 2008-09-24  Eric Blake  <ebb9@byu.net>
39458
39459         open, fopen: close fd leak in last patch
39460         * lib/open.c (rpl_open): Close fd before returning error.
39461         * lib/fopen.c (rpl_fopen): Close fd before returning error.
39462         * doc/posix-functions/open.texi (open): Document that Irix also
39463         has the bug.
39464         * doc/posix-functions/fopen.texi (fopen): Likewise.
39465         Reported by Paolo Bonzini.
39466
39467 2008-09-24  Bruno Haible  <bruno@clisp.org>
39468
39469         Ensure that a filename ending in a slash cannot be used to access a
39470         non-directory.
39471         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
39472         to check whether it's really a directory.
39473         * lib/fopen.c: Include fcntl.h, unistd.h.
39474         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
39475         and fdopen().
39476         * modules/fopen (Depends-on): Add unistd.
39477         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
39478         * tests/test-fopen.c (main): Likewise.
39479         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
39480         * doc/posix-functions/fopen.texi: Likewise.
39481         Reported by Eric Blake.
39482
39483 2008-09-23  Eric Blake  <ebb9@byu.net>
39484
39485         c-stack: avoid compiler optimizations when provoking overflow
39486         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
39487         recursion harder to optimize, to ensure a stack overflow occurs.
39488         * tests/test-c-stack.c (recurse): Likewise.
39489         Borrowed from libsigsegv.
39490
39491         c-stack: work around Irix sigaltstack bug
39492         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
39493         whether sigaltstack uses wrong end of stack_t (copied in part from
39494         libsigsegv).
39495         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
39496         Irix bug, without requiring an over-allocation.
39497         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
39498         bug.
39499
39500         fopen: document mingw bug on directories
39501         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
39502         not allowing a stream visiting a directory, even though reading
39503         from such a stream is not portable.
39504
39505 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
39506
39507         * lib/poll.c: Rewrite.
39508         * modules/poll: Depend on alloca.
39509
39510 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
39511
39512         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
39513         instead define prototypes for a full set of wrappers.  Ensure
39514         that Cygwin does not use the compatibility code, which is only
39515         for MinGW.
39516         * lib/winsock.c: New.
39517         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
39518         * modules/sys_socket: Add lib/winsock.c.
39519
39520         * modules/poll-tests: Add errno and perror.
39521         * tests/test-poll.c: Use ioctl, not ioctlsocket.
39522
39523 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
39524
39525         * tests/test-poll.c: Downgrade minimum needed Winsock version.
39526
39527 2008-09-23  Bruno Haible  <bruno@clisp.org>
39528
39529         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
39530         * doc/glibc-functions/*: Likewise.
39531
39532 2008-09-23  Simon Josefsson  <simon@josefsson.org>
39533
39534         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
39535         success.
39536
39537 2008-09-22  Eric Blake  <ebb9@byu.net>
39538             Bruno Haible  <bruno@clisp.org>
39539
39540         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
39541         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
39542         supply %A but mishandle pseudo-NaN.
39543         Reported by Simon Josefsson.
39544
39545 2008-09-21  Bruno Haible  <bruno@clisp.org>
39546
39547         * tests/test-lock.c (main): Tweak skip message.
39548         * tests/test-tls.c (main): Likewise.
39549
39550 2008-09-21  Bruno Haible  <bruno@clisp.org>
39551
39552         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
39553         whether 'struct sigaction' has sa_sigaction here...
39554         (gl_PREREQ_SIG_HANDLER_H): ... not here.
39555         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
39556
39557 2008-09-21  Bruno Haible  <bruno@clisp.org>
39558
39559         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
39560         section.
39561         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
39562         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
39563         the new section.
39564         (Support for obsolete systems lacking POSIX:2001): New section.
39565         (String handling <string.h>): Move strdup to the new section.
39566         Suggested by Simon Josefsson and Paolo Bonzini.
39567
39568 2008-09-21  Bruno Haible  <bruno@clisp.org>
39569
39570         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
39571         exponents in %e and %g results on 'long double'. Needed for mingw's
39572         improved *printf functions.
39573         * tests/test-vasprintf-posix.c (test_function): Likewise.
39574         * tests/test-snprintf-posix.h (test_function): Likewise.
39575         * tests/test-sprintf-posix.h (test_function): Likewise.
39576         Reported by Eric Blake.
39577
39578 2008-09-21  Bruno Haible  <bruno@clisp.org>
39579
39580         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
39581         * tests/test-sprintf-posix.h (test_function): Likewise.
39582
39583 2008-09-21  Bruno Haible  <bruno@clisp.org>
39584
39585         * modules/getpass (Depends-on): Add strdup-posix.
39586
39587         New module 'strdup-posix'.
39588         * modules/strdup-posix: New file.
39589         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
39590         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
39591         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
39592         REPLACE_STRDUP.
39593         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
39594         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
39595         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
39596         strdup-posix.
39597
39598         * modules/strdup (Depends-on): Remove malloc-posix.
39599
39600 2008-09-20  Bruno Haible  <bruno@clisp.org>
39601
39602         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
39603         Wildenhues.
39604
39605 2008-09-20  Bruno Haible  <bruno@clisp.org>
39606
39607         Ensure that wint_t gets defined on IRIX 5.3.
39608         * lib/wchar.in.h (wint_t): Define if not defined by the system.
39609         * lib/wctype.in.h (wint_t): Likewise.
39610         (__wctype_wint_t): Remove type.
39611         (isw*): Use wint_t instead of __wctype_wint_t.
39612         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
39613         * modules/wchar (Files): Add m4/wint_t.m4.
39614         (Makefile.am): Substitute HAVE_WINT_T.
39615         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
39616         * tests/test-wctype.c: Check that wint_t is defined.
39617         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
39618         * doc/posix-headers/wctype.texi: Likewise.
39619         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
39620
39621 2008-09-18  Bruno Haible  <bruno@clisp.org>
39622
39623         * gnulib-tool (func_exit): Update comment.
39624
39625 2008-09-18  Simon Josefsson  <simon@josefsson.org>
39626
39627         * modules/getaddrinfo (Depends-on): Remove strdup, this module
39628         assumes strdup exists and does not depend on strdup to return
39629         ENOMEM on out of memory conditions.
39630
39631 2008-09-18  Bruno Haible  <bruno@clisp.org>
39632
39633         * lib/vasnprintf.c (VASNPRINTF): When printing Â±0.0L in
39634         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
39635         digits for the exponent.
39636
39637 2008-09-18  Jim Meyering  <meyering@redhat.com>
39638             Bruno Haible  <bruno@clisp.org>
39639
39640         * lib/vasnprintf.c (decimal_point_char): Define also if
39641         NEED_PRINTF_INFINITE_LONG_DOUBLE.
39642
39643 2008-09-16  Bruno Haible  <bruno@clisp.org>
39644         and Eric Blake  <ebb9@byu.net>
39645
39646         vasnprintf: support Irix 5.3
39647         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
39648         that mishandle long double infinity.
39649         Reported by Tom G. Christensen.
39650
39651 2008-09-16  Bruno Haible  <bruno@clisp.org>
39652
39653         * doc/glibc-functions/scandir.texi: Mention the function is missing on
39654         Solaris 9.
39655         * doc/glibc-functions/alphasort.texi: Likewise.
39656         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
39657
39658 2008-09-16  Jim Meyering  <meyering@redhat.com>
39659
39660         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
39661         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
39662         a umask modification leak out of a subshell.  Otherwise, the
39663         opensolaris /bin/sh would be accepted and thus cause unwarranted
39664         failures in the coreutils test suite.
39665
39666 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
39667
39668         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
39669         to succeed.
39670
39671 2008-09-16  Jim Meyering  <meyering@redhat.com>
39672
39673         avoid spurious test failure when library is built without ACL support
39674         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
39675         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
39676         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
39677         * tests/test-copy-acl.sh: Likewise.
39678
39679 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39680
39681         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
39682         based on character occurrence counts.
39683
39684 2008-09-15  Eric Blake  <ebb9@byu.net>
39685
39686         tests: avoid some compiler warnings
39687         * tests/test-memchr.c (main): Pass NULL indirectly.
39688         * tests/test-closein.c (main): Avoid unused variable.
39689
39690 2008-09-15  Bruno Haible  <bruno@clisp.org>
39691
39692         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
39693         are missing on OpenBSD 4.0 individually.
39694         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
39695
39696 2008-09-15  Bruno Haible  <bruno@clisp.org>
39697
39698         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
39699         * doc/posix-functions/strerror.texi: Mention also Cygwin.
39700         * doc/posix-functions/perror.texi: Likewise.
39701         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
39702         is missing.
39703         Reported by Eric Blake.
39704
39705         * lib/errno.in.h: Use replacement values >= 2000.
39706         Reported by Eric Blake.
39707
39708 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39709
39710         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
39711         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
39712         limit.
39713         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
39714         compareseq was aborted.
39715
39716 2008-09-14  Bruno Haible  <bruno@clisp.org>
39717
39718         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
39719         yvec_edit_count.
39720         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
39721         (fstrcmp_bounded): Simplify result computation accordingly.
39722
39723 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39724
39725         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
39726         (fstrcmp): Define in terms of fstrcmp_bounded.
39727         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
39728         lower_bound argument.
39729         Return quickly if the result is certainly < lower_bound.
39730         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
39731
39732 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39733
39734         * lib/diffseq.h (EARLY_ABORT): New macro.
39735         (compareseq): Change return type to bool. Return true when EARLY_ABORT
39736         evaluates to true.
39737
39738 2008-09-14  Bruno Haible  <bruno@clisp.org>
39739
39740         * modules/perror-tests: New file.
39741         * tests/test-perror.sh: New file.
39742         * tests/test-perror.c: New file.
39743
39744         New module 'perror'.
39745         * lib/stdio.in.h (perror): New declaration.
39746         * lib/perror.c: New file.
39747         * m4/perror.m4: New file.
39748         * modules/perror: New file.
39749         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
39750         * doc/posix-functions/perror.texi: Mention the perror module.
39751         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
39752         REPLACE_PERROR.
39753         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
39754         REPLACE_PERROR.
39755
39756 2008-09-14  Bruno Haible  <bruno@clisp.org>
39757
39758         * modules/stdio (Makefile.am): Reorder to match the order in
39759         lib/stdio.in.h.
39760         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
39761
39762 2008-09-13  Bruno Haible  <bruno@clisp.org>
39763
39764         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
39765
39766 2008-09-13  Bruno Haible  <bruno@clisp.org>
39767
39768         Extend strerror to cover the added errno values.
39769         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
39770         (rpl_strerror): Provide error messages for the added errno values and
39771         for the WSA* values.
39772         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
39773         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
39774         strerror.
39775         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
39776         * modules/strerror (Depends-on): Add errno.
39777         * doc/posix-functions/strerror.texi: Document the change.
39778         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
39779         and EOVERFLOW.
39780
39781 2008-09-13  Bruno Haible  <bruno@clisp.org>
39782
39783         * modules/EOVERFLOW: Remove file.
39784         * m4/eoverflow.m4: Remove file.
39785         * modules/EOVERFLOW-tests: Remove file.
39786         * tests/test-EOVERFLOW.c: Remove file.
39787         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
39788         * modules/ftell (Depends-on): Likewise.
39789         * modules/getdelim (Depends-on): Likewise.
39790         * modules/getugroups (Depends-on): Likewise.
39791         * modules/poll (Depends-on): Likewise.
39792         * modules/snprintf (Depends-on): Likewise.
39793         * modules/sprintf-posix (Depends-on): Likewise.
39794         * modules/vasnprintf (Depends-on): Likewise.
39795         * modules/vasprintf (Depends-on): Likewise.
39796         * modules/vfprintf-posix (Depends-on): Likewise.
39797         * modules/vsnprintf (Depends-on): Likewise.
39798         * modules/vsprintf-posix (Depends-on): Likewise.
39799         * modules/xvasprintf (Depends-on): Likewise.
39800         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
39801         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
39802         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
39803         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
39804         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
39805         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
39806         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
39807         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
39808         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
39809         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
39810         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
39811         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
39812         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
39813         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
39814         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
39815         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
39816         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
39817         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
39818         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
39819         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
39820         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
39821         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
39822         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
39823         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
39824         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
39825         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
39826         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
39827         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
39828         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
39829         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
39830         * MODULES.html.sh: Remove EOVERFLOW.
39831         * NEWS: Mention the change.
39832
39833 2008-09-13  Bruno Haible  <bruno@clisp.org>
39834
39835         * modules/errno-tests: New file.
39836         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
39837
39838         * lib/errno.in.h: New file.
39839         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
39840         * modules/errno: New file.
39841         * doc/posix-headers/errno.texi: Update documentation.
39842         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
39843
39844 2008-09-13  Bruno Haible  <bruno@clisp.org>
39845
39846         * tests/test-poll.c: Use #if for native Windows, rather than testing
39847         __MSVCRT__.
39848
39849 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
39850             Bruno Haible  <bruno@clisp.org>
39851
39852         * lib/glob.c: Don't include <pwd.h> on native Windows.
39853         (WINDOWS32): New macro.
39854         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
39855
39856 2008-09-13  Bruno Haible  <bruno@clisp.org>
39857
39858         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
39859         (ETIMEDOUT): Remove macro.
39860         (glthread_cond_timedwait_multithreaded): New declaration.
39861         (glthread_cond_timedwait): Use it.
39862         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
39863         (glthread_cond_timedwait_multithreaded): New function.
39864
39865 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
39866
39867         * modules/poll-tests: Do not check for io.h.
39868         * tests/test-poll.c: Check for __MSVCRT__ instead.
39869
39870 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
39871
39872         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
39873         * modules/poll-tests: Add inet_pton, stdbool, sockets.
39874         * tests/test-poll.c: Use them.  Use _pipe on Windows.
39875
39876 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
39877
39878         * modules/poll-tests: New.
39879         * tests/test-poll.c: New.
39880
39881 2008-09-12  Eric Blake  <ebb9@byu.net>
39882
39883         frexp: test for NetBSD failure on -0.0
39884         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
39885         not all, bugs from NetBSD 3.0 have been fixed.
39886         * doc/posix-functions/frexp.texi (frexp): Document bug.
39887         Reported by Thomas Klausner.
39888
39889         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
39890         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
39891         literal -0.0.
39892         Reported by Jonathan C. Patschke <jp@centtech.com>.
39893
39894 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
39895
39896         * lib/glthread/cond.h: Use dummy implementation also if
39897         USE_WIN32_THREADS.
39898
39899 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
39900
39901         * modules/fnmatch-posix (License): Change to LGPLv2+.
39902         * modules/fnmatch-gnu (License): Likewise.
39903
39904 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
39905
39906         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
39907
39908 2008-09-11  Jim Meyering  <meyering@redhat.com>
39909
39910         * users.txt: Add gtk-vnc.
39911
39912 2008-09-08  Simon Josefsson  <simon@josefsson.org>
39913
39914         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
39915         rotate amounts.
39916
39917         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
39918         required for 16-bit and 8-bit rotates.
39919         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
39920         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
39921         UINT8_MAX instead of hard-coded constants.
39922         Suggested by Paul Eggert.
39923
39924 2008-09-07  Bruno Haible  <bruno@clisp.org>
39925
39926         * tests/test-striconveh.c (main): Check behaviour when converting from
39927         UTF-7.
39928
39929         Make striconveh work better with stateful encodings.
39930         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
39931         that iconv does not increment the inptr when returning -1/EINVAL.
39932
39933 2008-09-07  Bruno Haible  <bruno@clisp.org>
39934
39935         * build-aux/config.rpath: Update according to libtool-2.2.6.
39936         * build-aux/config.libpath: Likewise.
39937
39938 2008-09-06  Bruno Haible  <bruno@clisp.org>
39939
39940         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
39941         * lib/freadptr.c (freadptr): Likewise.
39942         * lib/freadseek.c (freadptrinc): Likewise.
39943         Reported by Simon Josefsson.
39944
39945 2008-09-06  Bruno Haible  <bruno@clisp.org>
39946
39947         * modules/freadptr (License): Change to LGPLv2+.
39948         * modules/freadseek (License): Likewise.
39949         Suggested by Eric Blake.
39950
39951         * modules/memchr2 (License): Change to LGPLv2+.
39952         Approved by Eric Blake.
39953
39954 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39955             Bruno Haible  <bruno@clisp.org>
39956
39957         Make gnulib-tool work with native 'sed' on AIX.
39958         * gnulib-tool (sed_noop): New variable.
39959         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
39960         func_add_or_update, func_create_testdir): Use it to initialize sed
39961         script variables.
39962         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
39963
39964 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
39965             Bruno Haible  <bruno@clisp.org>
39966
39967         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
39968         also works after #include directives.
39969
39970 2008-09-04  OndÅ™ej Vašík  <ovasik@redhat.com>
39971
39972         getdate.y: reject an out-of-range timezone value
39973         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
39974         the range [-24...+24].  When specified with only one or two digits,
39975         * tests/test-getdate.c: Tests for the fix.
39976         * doc/getdate.texi: Document this change.
39977
39978 2008-09-03  Bruno Haible  <bruno@clisp.org>
39979
39980         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
39981
39982 2008-09-02  Simon Josefsson  <simon@josefsson.org>
39983
39984         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
39985         <bruce.korb@gmail.com> with ideas from Ben Pfaff
39986         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
39987         Blake <ebb9@byu.net>.
39988
39989         * tests/test-bitrotate.c: Add more test vectors.
39990
39991 2008-09-02  Eric Blake  <ebb9@byu.net>
39992
39993         vasnprintf-posix: handle large precision via %.*d
39994         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
39995         when handling it ourselves.
39996         * tests/test-vasnprintf-posix.c (test_function): Add test.
39997         * tests/test-snprintf-posix.h (test_function): Likewise.
39998         * tests/test-sprintf-posix.h (test_function): Likewise.
39999         * tests/test-vasprintf-posix.c (test_function): Likewise.
40000         Reported by Alain Guibert.
40001
40002 2008-09-01  Eric Blake  <ebb9@byu.net>
40003
40004         c-stack: make configure-time check more robust
40005         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
40006         successful sigaction call.
40007         Reported by Tom G. Christensen.
40008
40009 2008-09-01  Bruno Haible  <bruno@clisp.org>
40010
40011         New module 'findprog-lgpl'.
40012         * modules/findprog-lgpl: New file.
40013         * lib/findprog-lgpl.c: New file.
40014         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
40015         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
40016         to decide whether to use strdup or xstrdup, concatenated_filename or
40017         xconcatenated_filename.
40018
40019 2008-09-01  Bruno Haible  <bruno@clisp.org>
40020
40021         Split module 'concat-filename' into 'concat-filename' (LGPL) and
40022         'xconcat-filename' (GPL).
40023         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
40024         (License): Change to LGPLv2+.
40025         * modules/xconcat-filename: New file.
40026         * lib/concat-filename.h (concatenated_filename): Change specification.
40027         (xconcatenated_filename): New declaration.
40028         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
40029         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
40030         memory situations.
40031         * lib/xconcat-filename.c: New file.
40032         * NEWS: Mention the change.
40033         * lib/findprog.c: Include concat-filename.h, not filename.h.
40034         (find_in_path): Use xconcatenated_filename instead of
40035         concatenated_filename.
40036         * lib/javacomp.c: Include concat-filename.h, not filename.h.
40037         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
40038         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
40039         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
40040         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
40041         instead of concatenated_filename.
40042         * lib/javaexec.c: Include concat-filename.h, not filename.h.
40043         (execute_java_class): Use xconcatenated_filename instead of
40044         concatenated_filename.
40045         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
40046         * modules/javacomp (Depends-on): Likewise.
40047         * modules/javaexec (Depends-on): Likewise.
40048
40049 2008-09-01  Bruno Haible  <bruno@clisp.org>
40050
40051         Split module 'filename' into 'filename' and 'concat-filename'.
40052         * modules/filename: Keep only lib/filename.h.
40053         (License): Change to LGPLv2+.
40054         * modules/concat-filename: New file, extracted from modules/filename.
40055         * lib/filename.h (concatenated_filename): Remove declaration.
40056         * lib/concat-filename.h: New file, extracted from lib/filename.h.
40057         * lib/concat-filename.c: Include concat-filename.h.
40058         * NEWS: Mention the change.
40059
40060 2008-09-01  Simon Josefsson  <simon@josefsson.org>
40061
40062         * lib/bitrotate.h (rotl8, rotr8): Add.
40063
40064         * modules/bitrotate (configure.ac): Need
40065         AC_REQUIRE([AC_C_INLINE]).
40066         (Description): Mention stdint.h.  Reported by Bruno Haible
40067         <bruno@clisp.org>.
40068
40069         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
40070         Paolo Bonzini <bonzini@gnu.org>.
40071
40072 2008-08-31  Bruno Haible  <bruno@clisp.org>
40073
40074         Assume Solaris specific bi-arch conventions on Solaris systems.
40075         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
40076         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
40077         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
40078         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
40079         like acl_libdirstem.
40080         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
40081         acl_libdirstem.
40082         * NEWS: Mention the change.
40083         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
40084
40085 2008-08-31  Jim Meyering  <meyering@redhat.com>
40086
40087         * lib/strftime.h: Add comments describing the two added arguments.
40088
40089         remove duplicate #include directives
40090         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
40091         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
40092
40093 2008-08-31  Bruno Haible  <bruno@clisp.org>
40094
40095         New module 'sigpipe-die'.
40096         * modules/sigpipe-die: New file.
40097         * lib/sigpipe-die.h: New file.
40098         * lib/sigpipe-die.c: New file.
40099         * MODULES.html.sh (Signal handling): Add sigpipe-die.
40100
40101 2008-08-31  Bruno Haible  <bruno@clisp.org>
40102
40103         Don't override previously installed signal handlers.
40104         * lib/fatal-signal.c (saved_sigactions): New variable.
40105         (uninstall_handlers): Reset the signal to the saved handler, not
40106         to SIG_DFL (except when ignored).
40107         (install_handlers): Save the previous handlers.
40108
40109 2008-08-30  Bruno Haible  <bruno@clisp.org>
40110
40111         * gnulib-tool (func_reset_sigpipe): New function.
40112         (func_get_automake_snippet, func_modules_transitive_closure,
40113         func_import): Invoke it before a join command that reads from stdin,
40114         to avoid "echo: write error: Broken pipe" error messages on stderr.
40115         Reported by Sam Steingold <sds@gnu.org>.
40116
40117 2008-08-30  Bruno Haible  <bruno@clisp.org>
40118
40119         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
40120         Code copied from m4/open.m4.
40121         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
40122         access and the filename ends in a slash. Code copied from lib/open.c.
40123         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
40124         * tests/test-fopen.c (main): Check against bug with trailing slash.
40125
40126 2008-08-29  Bruno Haible  <bruno@clisp.org>
40127
40128         Avoid some "gcc -pedantic" warnings.
40129         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
40130         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
40131         * lib/dirent.in.h: Likewise.
40132         * lib/fcntl.in.h: Likewise.
40133         * lib/float.in.h: Likewise.
40134         * lib/iconv.in.h: Likewise.
40135         * lib/inttypes.in.h: Likewise.
40136         * lib/locale.in.h: Likewise.
40137         * lib/math.in.h: Likewise.
40138         * lib/netinet_in.in.h: Likewise.
40139         * lib/search.in.h: Likewise.
40140         * lib/signal.in.h: Likewise.
40141         * lib/stdarg.in.h: Likewise.
40142         * lib/stdint.in.h: Likewise.
40143         * lib/stdio.in.h: Likewise.
40144         * lib/stdlib.in.h: Likewise.
40145         * lib/string.in.h: Likewise.
40146         * lib/strings.in.h: Likewise.
40147         * lib/sys_select.in.h: Likewise.
40148         * lib/sys_socket.in.h: Likewise.
40149         * lib/sys_stat.in.h: Likewise.
40150         * lib/sys_time.in.h: Likewise.
40151         * lib/sysexits.in.h: Likewise.
40152         * lib/time.in.h: Likewise.
40153         * lib/unistd.in.h: Likewise.
40154         * lib/wchar.in.h: Likewise.
40155         * lib/wctype.in.h: Likewise.
40156         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
40157         * modules/fchdir (Makefile.am): Likewise.
40158         * modules/fcntl (Makefile.am): Likewise.
40159         * modules/float (Makefile.am): Likewise.
40160         * modules/iconv_open (Makefile.am): Likewise.
40161         * modules/inttypes (Makefile.am): Likewise.
40162         * modules/locale (Makefile.am): Likewise.
40163         * modules/math (Makefile.am): Likewise.
40164         * modules/netinet_in (Makefile.am): Likewise.
40165         * modules/search (Makefile.am): Likewise.
40166         * modules/signal (Makefile.am): Likewise.
40167         * modules/stdarg (Makefile.am): Likewise.
40168         * modules/stdint (Makefile.am): Likewise.
40169         * modules/stdio (Makefile.am): Likewise.
40170         * modules/stdlib (Makefile.am): Likewise.
40171         * modules/string (Makefile.am): Likewise.
40172         * modules/strings (Makefile.am): Likewise.
40173         * modules/sys_select (Makefile.am): Likewise.
40174         * modules/sys_socket (Makefile.am): Likewise.
40175         * modules/sys_stat (Makefile.am): Likewise.
40176         * modules/sys_time (Makefile.am): Likewise.
40177         * modules/sysexits (Makefile.am): Likewise.
40178         * modules/time (Makefile.am): Likewise.
40179         * modules/unistd (Makefile.am): Likewise.
40180         * modules/wchar (Makefile.am): Likewise.
40181         * modules/wctype (Makefile.am): Likewise.
40182         Reported by Reuben Thomas <rrt@sc3d.org>.
40183
40184 2008-08-29  Bruno Haible  <bruno@clisp.org>
40185
40186         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
40187         any more.
40188
40189 2008-08-29  Simon Josefsson  <simon@josefsson.org>
40190
40191         * MODULES.html.sh (Misc): Add bitrotate.
40192
40193         * modules/bitrotate: New file.
40194
40195         * lib/bitrotate.h: New file.
40196
40197         * modules/bitrotate-tests: New file.
40198
40199         * tests/test-bitrotate.c: New file.
40200
40201         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
40202         on the bitrotate module.
40203
40204         * lib/arctwo.c: Use new bitrotate module.
40205
40206 2008-08-29  Jim Meyering  <meyering@redhat.com>
40207
40208         bootstrap: merge changes from coreutils
40209         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
40210         of copied files.  Remove a kludge, now that this is fixed.
40211         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
40212         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
40213         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
40214
40215 2008-08-29  Bruno Haible  <bruno@clisp.org>
40216
40217         * MODULES.html.sh: Remove --cvs-urls option.
40218
40219 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
40220
40221         maint.mk: adjust to file name change
40222         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
40223
40224 2008-08-28  Jim Meyering  <meyering@redhat.com>
40225
40226         * modules/getndelim2 (License): Relicense to LGPLv2+.
40227         Approved by Richard Stallman for the version of 1995, and by
40228         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
40229
40230 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
40231
40232         * lib/getdelim.c (flockfile, funlockfile): Make all of them
40233         dummy if one is not available.  Do not touch them if
40234         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
40235         (getc_maybe_unlocked): New.
40236         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
40237
40238 2008-08-26  Eric Blake  <ebb9@byu.net>
40239
40240         doc/INSTALL: resync from autoconf
40241         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
40242         (INSTALL_PRELUDE): Delete; this is done more efficiently by
40243         moving...
40244         * install.texi [!autoconf]: ...here.  Resync from autoconf.
40245         * INSTALL: Regenerate.
40246         * INSTALL.ISO: New file.
40247         * INSTALL.UTF-8: Likewise.
40248
40249 2008-08-26  Jim Meyering  <meyering@redhat.com>
40250
40251         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
40252         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
40253         these definitions conditional, so that they may be overridden, too.
40254
40255 2008-08-26  Bruno Haible  <bruno@clisp.org>
40256
40257         Generate INSTALL file variants with prettier quotes.
40258         * doc/Makefile (INSTALL_PRELUDE): New macro.
40259         (INSTALL): Use it.
40260         (INSTALL.ISO, INSTALL.UTF-8): New rules.
40261
40262 2008-08-26  Bruno Haible  <bruno@clisp.org>
40263
40264         Run makeinfo in an English locale.
40265         * doc/Makefile (MAKEINFO): New variable.
40266
40267 2008-08-26  Bruno Haible  <bruno@clisp.org>
40268
40269         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
40270         Suggested by Eric Blake.
40271
40272 2008-08-25  Bruno Haible  <bruno@clisp.org>
40273
40274         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
40275
40276 2008-08-25  Eric Blake  <ebb9@byu.net>
40277
40278         c-stack: test that stack overflow can be caught
40279         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
40280         that platform allows handling stack overflow; at least OS/2 EMX
40281         has sigaltstack, but crashes before transferring control to
40282         handler on stack overflow.
40283         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
40284         check for HAVE_STACK_OVERFLOW_HANDLING.
40285         Reported by Elbert Pol.
40286
40287 2008-08-25  Bruno Haible  <bruno@clisp.org>
40288
40289         * doc/posix-functions/strftime.texi: Fix description of strftime
40290         module.
40291
40292 2008-08-24  Bruno Haible  <bruno@clisp.org>
40293
40294         * tests/uniwidth/test-uc_width2.c: New file.
40295         * tests/uniwidth/test-uc_width2.sh: New file.
40296         * modules/uniwidth/width-tests (Files): Add the new files.
40297         (TESTS): Add uniwidth/test-uc_width2.sh.
40298         (TESTS_ENVIRONMENT): New variable.
40299         (check_PROGRAMS): Add test-uc_width2.
40300         (test_uc_width2_SOURCES): New variable.
40301
40302         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
40303         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
40304         not 0x00AB.
40305         Reported by Alexander V. Lukyanov <lav@netis.ru>.
40306
40307 2008-08-22  Eric Blake  <ebb9@byu.net>
40308
40309         test-lock, test-tls: mention why a test is skipped
40310         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
40311         skipped.
40312         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
40313
40314         count-one-bits: relax license
40315         * modules/count-one-bits (License): Relicense to LGPLv2+.
40316         Suggested by Ludovic Courtès, approved by Ben Pfaff.
40317
40318 2008-08-22  Andreas Schwab  <schwab@suse.de>
40319
40320         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
40321         Remove spurious space in assignment.
40322
40323 2008-08-21  Simon Josefsson  <simon@josefsson.org>
40324
40325         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
40326         Paul Eggert <eggert@CS.UCLA.EDU>.
40327
40328 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
40329
40330         * modules/gettext: Add m4/threadlib.m4.
40331
40332 2008-08-19  Eric Blake  <ebb9@byu.net>
40333
40334         test-c-stack: fix compilation failure on FreeBSD 5.0
40335         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
40336         headers before <sys/resource.h>.
40337         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
40338         the bug.
40339         Reported by Nelson H. F. Beebe.
40340
40341         strverscmp: migrate from "strverscmp.h" to <string.h>
40342         * modules/string (Makefile.am): Add new hooks.
40343         * modules/strverscmp (Files): Remove strverscmp.h.
40344         (Depends-on): Add string.
40345         (configure.ac): Add indicator.
40346         (Include): Mention new header.
40347         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
40348         defaults.
40349         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
40350         results.
40351         * lib/strverscmp.h: Delete.
40352         * lib/string.in.h (strverscmp): Provide declaration, when needed.
40353         * tests/test-strverscmp.c (includes): Adjust client.
40354         * lib/check-version.c (includes): Likewise.
40355         * NEWS: Document the change.
40356
40357         strverscmp: add unit test
40358         * modules/strverscmp-tests: New file.
40359         * tests/test-strverscmp.c: Likewise.
40360
40361 2008-08-19  Simon Josefsson  <simon@josefsson.org>
40362
40363         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
40364         regarding Windows crypto stuff, from Mono.
40365
40366 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
40367
40368         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
40369         if present, for intel RND.  Return error on failures.
40370
40371 2008-08-18  Ben Pfaff  <blp@gnu.org>
40372
40373         gitlog-to-changelog: give better diagnostic for failed pipe-open
40374         * build-aux/gitlog-to-changelog: Improve error message: suggest
40375         that the version of Git may be too old.
40376
40377 2008-08-18  Simon Josefsson  <simon@josefsson.org>
40378
40379         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
40380         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
40381
40382 2008-08-18  Bruno Haible  <bruno@clisp.org>
40383
40384         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
40385         pthread_in_use().
40386
40387 2008-08-18  Bruno Haible  <bruno@clisp.org>
40388
40389         * lib/glthread/threadlib.c: Include <pthread.h>.
40390
40391 2008-08-18  Bruno Haible  <bruno@clisp.org>
40392
40393         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
40394         glthread_recursive_lock_* macros.
40395         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
40396         Fix syntax error.
40397
40398 2008-08-18  Bruno Haible  <bruno@clisp.org>
40399
40400         * lib/glthread/thread.c: Avoid forcing a context switch right after
40401         thread creation.
40402
40403 2008-08-17  Bruno Haible  <bruno@clisp.org>
40404
40405         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
40406         * lib/glthread/thread.h: Provide Win32 specific implementation.
40407         * modules/thread (Files): Add lib/glthread/thread.c.
40408         (Depends-on): Add lock.
40409         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
40410
40411 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
40412
40413         New module 'yield'.
40414         * modules/yield: New file.
40415         * lib/glthread/yield.h: New file.
40416         * m4/yield.m4: New file.
40417         * MODULES.html.sh (Multithreading): Add yield.
40418
40419 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
40420
40421         New module 'thread'.
40422         * modules/thread: New file.
40423         * lib/glthread/thread.h: New file.
40424         * m4/thread.m4: New file.
40425         * MODULES.html.sh (Multithreading): Add thread.
40426
40427 2008-08-17  Bruno Haible  <bruno@clisp.org>
40428
40429         * lib/glthread/lock.h: Include <stdlib.h> always.
40430         * lib/glthread/tls.h: Likewise.
40431         * lib/glthread/cond.h: Likewise.
40432
40433 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
40434
40435         New module 'cond'.
40436         * modules/cond: New file.
40437         * lib/glthread/cond.h: New file.
40438         * lib/glthread/cond.c: New file.
40439         * m4/cond.m4: New file.
40440         * MODULES.html.sh (Multithreading): Add cond.
40441
40442 2008-08-16  Eric Blake  <ebb9@byu.net>
40443
40444         c-stack: fix regression on Irix 5.3 from 2008-06-21
40445         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
40446         sa_sigaction...
40447         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
40448         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
40449         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
40450         * modules/signal (Makefile.am): Use the value.
40451         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
40452         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
40453         * doc/posix-headers/signal.texi (signal.h): Document this
40454         portability issue.
40455         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
40456         Reported by Tom G. Christensen.
40457
40458 2008-08-17  Bruno Haible  <bruno@clisp.org>
40459
40460         New module 'threadlib'.
40461         * modules/threadlib: New file.
40462         * lib/glthread/threadlib.c: New file, extracted from
40463         lib/glthread/lock.c.
40464         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
40465         functions.
40466         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
40467         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
40468         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
40469         macros.
40470         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
40471         (gl_DISABLE_THREADS): Remove macro.
40472         * modules/lock (Files): Remove build-aux/config.rpath.
40473         (Depends-on): Remove havelib. Add threadlib.
40474         (configure.ac-early): Remove section.
40475         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
40476         * modules/tls (Depends-on): Remove lock. Add threadlib.
40477         (Link): New section, copied from threadlib.
40478         * MODULES.html.sh (Multithreading): Add threadlib.
40479
40480 2008-08-14  Bruno Haible  <bruno@clisp.org>
40481
40482         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
40483         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
40484         glthread_rwlock_unlock, glthread_rwlock_destroy,
40485         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
40486         glthread_recursive_lock_destroy): Define as macros always.
40487         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
40488         glthread_lock_lock.
40489         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
40490         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
40491         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
40492         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
40493         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
40494         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
40495         (glthread_recursive_lock_lock_func): Renamed from
40496         glthread_recursive_lock_lock.
40497         (glthread_recursive_lock_unlock_func): Renamed from
40498         glthread_recursive_lock_unlock.
40499         (glthread_recursive_lock_destroy_func): Renamed from
40500         glthread_recursive_lock_destroy.
40501
40502 2008-08-14  Bruno Haible  <bruno@clisp.org>
40503
40504         * lib/glthread/lock.h: Renamed from lib/lock.h.
40505         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
40506         * lib/glthread/tls.h: Renamed from lib/tls.h.
40507         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
40508         * lib/fstrcmp.c: Update includes.
40509         * lib/strsignal.c: Update includes.
40510         * modules/lock (Files, Makefile.am): Update.
40511         (Include): Change to "glthread/lock.h".
40512         * modules/tls (Files, Makefile.am): Update.
40513         (Include): Change to "glthread/tls.h".
40514         * tests/test-lock.c: Update includes.
40515         * tests/test-tls.c: Update includes.
40516         * NEWS: Mention the renamed header files.
40517
40518 2008-08-11  Jim Meyering  <meyering@redhat.com>
40519
40520         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
40521
40522 2008-08-11  Eric Blake  <ebb9@byu.net>
40523
40524         test-c-stack: avoid C99-ism
40525         * tests/test-c-stack.c (main): Fix whitespace, move declaration
40526         before statement.
40527         Reported by Alain Guibert.
40528
40529 2008-08-10  Jim Meyering  <meyering@redhat.com>
40530
40531         ensure that return value of uinttostr et al are not ignored
40532         * lib/inttostr.h (__GNUC_PREREQ): Define.
40533         (__attribute_warn_unused_result__): Define.
40534         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
40535
40536 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
40537
40538         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
40539         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
40540
40541 2008-08-07  Jim Meyering  <meyering@redhat.com>
40542
40543         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
40544
40545         * modules/mkstemp (License): Relicense under LGPLv2+.
40546         * modules/tempname (License): Likewise.
40547
40548 2008-08-06  Bruno Haible  <bruno@clisp.org>
40549
40550         * lib/poll.c (poll): Further micro-optimization.
40551
40552 2008-08-06  Jim Meyering  <meyering@redhat.com>
40553
40554         inet_pton.c: use locale-independent tolower
40555         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
40556         (inet_pton6): Use c_tolower rather than tolower.
40557         * modules/inet_pton (Depends-on): Add c-ctype.
40558
40559 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
40560
40561         * lib/poll.c (poll): Avoid division when timeout is 0, cache
40562         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
40563
40564 2008-08-06  Jim Meyering  <meyering@redhat.com>
40565
40566         * modules/inet_pton (License): Relicense under LGPLv2+.
40567
40568 2008-08-03  Bruno Haible  <bruno@clisp.org>
40569
40570         Additional non-aborting API for lock and tls.
40571         * lib/lock.h: Include <errno.h>.
40572         (glthread_lock_init): New macro/function.
40573         (gl_lock_init): Define as wrapper around glthread_lock_init.
40574         (glthread_lock_lock): New macro/function.
40575         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
40576         (glthread_lock_unlock): New macro/function.
40577         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
40578         (glthread_lock_destroy): New macro/function.
40579         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
40580         (glthread_rwlock_init): New macro/function.
40581         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
40582         (glthread_rwlock_rdlock): New macro/function.
40583         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
40584         (glthread_rwlock_wrlock): New macro/function.
40585         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
40586         (glthread_rwlock_unlock): New macro/function.
40587         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
40588         (glthread_rwlock_destroy): New macro/function.
40589         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
40590         (glthread_recursive_lock_init): New macro/function.
40591         (gl_recursive_lock_init): Define as wrapper around
40592         glthread_recursive_lock_init.
40593         (glthread_recursive_lock_lock): New macro/function.
40594         (gl_recursive_lock_lock): Define as wrapper around
40595         glthread_recursive_lock_lock.
40596         (glthread_recursive_lock_unlock): New macro/function.
40597         (gl_recursive_lock_unlock): Define as wrapper around
40598         glthread_recursive_lock_unlock.
40599         (glthread_recursive_lock_destroy): New macro/function.
40600         (gl_recursive_lock_destroy): Define as wrapper around
40601         glthread_recursive_lock_destroy.
40602         (glthread_once): New macro/function.
40603         (gl_once): Define as wrapper around glthread_once.
40604         Update function declarations.
40605         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
40606         glthread_rwlock_init. Return error code.
40607         (glthread_rwlock_rdlock_multithreaded): Renamed from
40608         glthread_rwlock_rdlock. Return error code.
40609         (glthread_rwlock_wrlock_multithreaded): Renamed from
40610         glthread_rwlock_wrlock. Return error code.
40611         (glthread_rwlock_unlock_multithreaded): Renamed from
40612         glthread_rwlock_unlock. Return error code.
40613         (glthread_rwlock_destroy_multithreaded): Renamed from
40614         glthread_rwlock_destroy. Return error code.
40615         (glthread_recursive_lock_init_multithreaded): Renamed from
40616         glthread_recursive_lock_init. Return error code.
40617         (glthread_recursive_lock_lock_multithreaded): Renamed from
40618         glthread_recursive_lock_lock. Return error code.
40619         (glthread_recursive_lock_unlock_multithreaded): Renamed from
40620         glthread_recursive_lock_unlock. Return error code.
40621         (glthread_recursive_lock_destroy_multithreaded): Renamed from
40622         glthread_recursive_lock_destroy. Return error code.
40623         (glthread_once_call): Make static.
40624         (glthread_once_multithreaded): Renamed from glthread_once.
40625         * lib/tls.h: Include <errno.h>.
40626         (glthread_tls_key_init): New macro/function.
40627         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
40628         (glthread_tls_set): New macro/function.
40629         (gl_tls_set): Define as wrapper around glthread_tls_set.
40630         (glthread_tls_key_destroy): New macro/function.
40631         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
40632         Update function declarations.
40633         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
40634         glthread_tls_get.
40635         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
40636
40637 2008-08-04  Eric Blake  <ebb9@byu.net>
40638
40639         gnumakefile: use space, not TAB, outside of targets
40640         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
40641
40642 2008-08-02  Jim Meyering  <meyering@redhat.com>
40643
40644         getdate.y: avoid locale-dependent date parsing failure
40645         In Turkish locales, getdate would fail to recognize keywords
40646         containing a lowercase "i".  The solution is not to rely on
40647         locale-sensitive case-conversion.
40648         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
40649         (lookup_word): Use c_toupper in place of toupper.
40650         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
40651         Reported by Vefa Bicakci <bicave@superonline.com> in
40652         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
40653         * modules/getdate (Depends-on): Add c-ctype.
40654
40655 2008-08-02  Bruno Haible  <bruno@clisp.org>
40656
40657         * gnulib-tool (func_import): When updating or creating a .gitignore
40658         file, prepend each added line with a slash, and ignore leading slashes
40659         from the existing lines.
40660         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
40661
40662 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40663
40664         Portability fix for GNU make 3.79.1.
40665         * top/GNUmakefile: Avoid 'else COND', which older GNU make
40666         versions do not understand.
40667
40668 2008-08-01  Bruno Haible  <bruno@clisp.org>
40669
40670         Work around bug of HP-UX 10.20 cc with -0.0 literal.
40671         * tests/test-isnanf.h (zero): New variable.
40672         (main): Avoid literal -0.0f.
40673         * tests/test-isnand.h (zero): New variable.
40674         (main): Avoid literal -0.0.
40675         * tests/test-isnanl.h (zero): New variable.
40676         (main): Avoid literal -0.0L.
40677         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
40678         (test_float, test_double, test_long_double): Avoid literals -0.0f,
40679         -0.0, -0.0L.
40680         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
40681         (test_signbitd): Avoid literal -0.0.
40682         (test_signbitl): Avoid literal -0.0L.
40683         * tests/test-ceilf1.c (zero): New variable.
40684         (main): Avoid literal -0.0f.
40685         * tests/test-ceill.c (zero): New variable.
40686         (main): Avoid literal -0.0L.
40687         * tests/test-floorf1.c (zero): New variable.
40688         (main): Avoid literal -0.0f.
40689         * tests/test-floorl.c (zero): New variable.
40690         (main): Avoid literal -0.0L.
40691         * tests/test-roundf1.c (zero): New variable.
40692         (main): Avoid literal -0.0f.
40693         * tests/test-round1.c (zero): New variable.
40694         (main): Avoid literal -0.0.
40695         * tests/test-roundl.c (zero): New variable.
40696         (main): Avoid literal -0.0L.
40697         * tests/test-truncf1.c (zero): New variable.
40698         (main): Avoid literal -0.0f.
40699         * tests/test-trunc1.c (zero): New variable.
40700         (main): Avoid literal -0.0.
40701         * tests/test-truncl.c (zero): New variable.
40702         (main): Avoid literal -0.0L.
40703         * tests/test-frexp.c (zero): New variable.
40704         (main): Avoid literal -0.0.
40705         * tests/test-frexpl.c (zero): New variable.
40706         (main): Avoid literal -0.0L.
40707         * tests/test-ldexpl.c (zero): New variable.
40708         (main): Avoid literal -0.0L.
40709         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
40710         (zerod, zerol): New variables.
40711         (test_function): Avoid literals -0.0, -0.0L.
40712         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
40713         (zerod, zerol): New variables.
40714         (test_function): Avoid literals -0.0, -0.0L.
40715         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
40716         (zerod, zerol): New variables.
40717         (test_function): Avoid literals -0.0, -0.0L.
40718         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
40719         (zerod, zerol): New variables.
40720         (test_function): Avoid literals -0.0, -0.0L.
40721         * tests/test-strtod.c (zero): New variable.
40722         (main): Avoid literal -0.0.
40723         Reported by Jonathan C. Patschke <jp@centtech.com>.
40724
40725 2008-07-31  Jim Meyering  <meyering@redhat.com>
40726
40727         sha256.h: correct definition of SHA224_DIGEST_SIZE
40728         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
40729         Reported by Paulie Pena IV <paulie4@gmail.com>.
40730         Define as 224 / 8, rather than as a literal.
40731         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
40732         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
40733         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
40734
40735 2008-07-31  Bruno Haible  <bruno@clisp.org>
40736
40737         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
40738         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
40739         Reported by Jonathan Patschke <jp@centtech.com>.
40740
40741 2008-07-31  Bruno Haible  <bruno@clisp.org>
40742
40743         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
40744         Reported by Paolo Bonzini <bonzini@gnu.org>.
40745
40746 2008-07-30  Eric Blake  <ebb9@byu.net>
40747
40748         test-strtod: allow compilation without -lm
40749         * tests/test-strtod.c (main): Avoid link dependence on fabs.
40750         Reported by Dennis Clarke <blastwave@gmail.com>.
40751
40752 2008-07-28  Jim Meyering  <meyering@redhat.com>
40753
40754         bootstrap: work also when there are no .po files in po/
40755         * build-aux/bootstrap (update_po_files): Complete the change
40756         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
40757
40758 2008-07-27  Jim Meyering  <meyering@redhat.com>
40759
40760         * users.txt: Add zile.
40761
40762 2008-07-26  Ben Pfaff  <blp@gnu.org>
40763
40764         Add missing dependencies on new m4/exponent[fdl].m4 files.
40765         * modules/isnanf-nolibm: Add m4/exponentf.m4.
40766         * modules/isnand-nolibm: Add m4/exponentd.m4.
40767         * modules/isnanl-nolibm: Add m4/exponentl.m4.
40768         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
40769         m4/isnan[fdl].m4, because the macros actually used moved.
40770         Reported by Jim Meyering.
40771
40772 2008-07-14  Ben Pfaff  <blp@gnu.org>
40773
40774         Add isinf module.
40775         * lib/isinf.c: New file.
40776         * lib/math.in.h: Define isinf macro if we have decided to replace
40777         it.
40778         * m4/isinf.m4: New file.
40779         * m4/math_h.m4: Initialize and substitute variables for isinf
40780         module.
40781         * modules/isinf: New file.
40782         * modules/isinf-tests: New file.
40783         * modules/math: Add substitutions for new module.
40784         * tests/test-isinf.c: New file.
40785         * doc/posix-functions/isinf.texi: Mention new module.
40786         * MODULES.html.sh: Mention new module.
40787
40788 2008-07-14  Ben Pfaff  <blp@gnu.org>
40789
40790         Factor out some macros for use by additional modules.
40791         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
40792         exponentf.m4.
40793         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
40794         exponentd.m4.
40795         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
40796         file exponentl.m4.
40797         * m4/exponentf.m4: New file.
40798         * m4/exponentd.m4: New file.
40799         * m4/exponentl.m4: New file.
40800         * modules/isnanf: Use new file m4/exponentf.m4.
40801         * modules/isnand: Use new file m4/exponentd.m4.
40802         * modules/isnanl: Use new file m4/exponentl.m4.
40803
40804 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
40805
40806         mktime.c: normalize tp->tm_isdst value to -1/0/1.
40807         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
40808         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
40809         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
40810
40811         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
40812         readlink on platforms without PATH_MAX.
40813
40814 2008-07-21  Eric Blake  <ebb9@byu.net>
40815
40816         Warn, not fail, on stale version.
40817         * top/GNUmakefile (_curr-ver): Tone down previous patch.
40818
40819         Don't allow installation with stale devel version number.
40820         * top/GNUmakefile (_is-install-target): New macro.
40821         (_curr-ver): Forbid installation with stale version number.
40822
40823 2008-07-20  Bruno Haible  <bruno@clisp.org>
40824
40825         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
40826         TESTS_ENVIRONMENT.
40827         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
40828
40829 2008-07-20  Bruno Haible  <bruno@clisp.org>
40830
40831         * lib/c-stack.h (c_stack_action): Add documentation.
40832         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
40833
40834 2008-07-20  Bruno Haible  <bruno@clisp.org>
40835
40836         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
40837         * modules/readlink (License): Likewise.
40838
40839 2008-07-17  Eric Blake  <ebb9@byu.net>
40840
40841         * modules/c-stack (Link): Fix typo.
40842
40843         Make c-stack use libsigsegv, when available.
40844         * modules/c-stack (Depends-on): Add libsigsegv.
40845         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
40846         needed.
40847         * lib/c-stack.c (SIGSTKSZ): Define fallback.
40848         (segv_handler, overflow_handler, c_stack_action)
40849         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
40850         implementation when libsigsegv is available, but only when using
40851         the library is necessary.
40852         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
40853         comment, explaining why XSI check fails on Linux.
40854         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
40855         * tests/test-c-stack2.sh: Tweak skip message.
40856         * NEWS: Document new link-time requirements.
40857
40858 2008-07-16  Eric Blake  <ebb9@byu.net>
40859
40860         c-stack: Expose false positives when not using libsigsegv.
40861         * modules/c-stack-tests (Files): Expand test.
40862         * tests/test-c-stack.c (main): Add means to conditionally trigger
40863         non-overflow SIGSEGV.
40864         * tests/test-c-stack2.sh: New file.
40865
40866 2008-07-14  Bruno Haible  <bruno@clisp.org>
40867
40868         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
40869         Reported by Eric Blake.
40870
40871 2008-07-14  Sam Steingold  <sds@gnu.org>
40872             Bruno Haible  <bruno@clisp.org>
40873
40874         New module libsigsegv.
40875         * modules/libsigsegv: New file.
40876         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
40877         modifications.
40878         * MODULES.html.sh (Signal handling): New section.
40879
40880 2008-07-14  Bruno Haible  <bruno@clisp.org>
40881
40882         * modules/unictype/ctype-* (Description): Add the word "function".
40883         Improves the resulting doc in MODULES.html.
40884
40885 2008-07-12  Ben Pfaff  <blp@gnu.org>
40886
40887         Add longlong module.
40888         * modules/longlong: New file.
40889
40890 2008-07-12  Bruno Haible  <bruno@clisp.org>
40891
40892         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
40893         to empty.
40894
40895 2008-07-10  Ben Pfaff  <blp@gnu.org>
40896
40897         Add isnan module.
40898         * doc/posix-functions/isnan.texi: Mention new module.
40899         * lib/math.in.h: Define isnan macro if we have decided to replace
40900         it.
40901         * m4/isnan.m4: New file.
40902         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
40903         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
40904         also.
40905         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
40906         redundancy.
40907         * m4/math_h.m4: Initialize and substitute variables for isnan
40908         module.
40909         * modules/isnan: New file.
40910         * modules/isnan-tests: New file.
40911         * modules/math: Add substitutions for new module.
40912         * tests/test-isnan.c: New file.
40913         * MODULES.html.sh: Mention new module.
40914
40915 2008-07-10  Ben Pfaff  <blp@gnu.org>
40916
40917         Add isnanf module.
40918         * lib/isnanf.m4: New file.
40919         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
40920         (gl_HAVE_ISNANF_IN_LIBM): New macro.
40921         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
40922         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
40923         * modules/isnanf: New file.
40924         * modules/isnanf-tests: New file.
40925         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
40926         files.
40927         * tests/test-isnanf-nolibm.c: factored most of its contents into
40928         new file tests/test-isnanf.h.
40929         * tests/test-isnanf.h: New file.
40930         * tests/test-isnanf.c: New file.
40931         * MODULES.html.sh: Mention new module.
40932         * doc/glibc-functions/isnanf.texi: Mention new module.
40933
40934 2008-07-10  Ben Pfaff  <blp@gnu.org>
40935
40936         Add isnand module.
40937         * lib/isnand.h: New file.
40938         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
40939         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
40940         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
40941         functionality also.
40942         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
40943         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
40944         (gl_HAVE_ISNAND_IN_LIBM): New macro.
40945         * modules/isnand: New file.
40946         * modules/isnand-tests: New file.
40947         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
40948         files.
40949         * tests/test-isnand-nolibm.c: factored most of its contents into
40950         new file tests/test-isnand.h.
40951         * tests/test-isnand.h: New file.
40952         * tests/test-isnand.c: New file.
40953         * MODULES.html.sh: Mention new module.
40954
40955 2008-07-10  Ben Pfaff  <blp@gnu.org>
40956
40957         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
40958         * lib/isnand.h: Rename lib/isnand-nolibm.h.
40959         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
40960         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
40961         * modules/isnanf-nolibm: Update references to renamed files.
40962         * modules/isnand-nolibm: Likewise.
40963         * modules/isnanf-nolibm-tests: Likewise.
40964         * modules/isnand-nolibm-tests: Likewise.
40965         * lib/frexp.c: Likewise.
40966         * lib/isfinite.c: Likewise.
40967         * lib/signbitd.c: Likewise.
40968         * lib/signbitf.c: Likewise.
40969         * lib/vasnprintf.c: Likewise.
40970         * tests/test-ceilf1.c: Likewise.
40971         * tests/test-ceilf2.c: Likewise.
40972         * tests/test-floorf1.c: Likewise.
40973         * tests/test-floorf2.c: Likewise.
40974         * tests/test-frexp.c: Likewise.
40975         * tests/test-round1.c: Likewise.
40976         * tests/test-round2.c: Likewise.
40977         * tests/test-roundf1.c: Likewise.
40978         * tests/test-strtod.c: Likewise.
40979         * tests/test-trunc1.c: Likewise.
40980         * tests/test-trunc2.c: Likewise.
40981         * tests/test-truncf1.c: Likewise.
40982         * tests/test-truncf2.c: Likewise.
40983         * NEWS: Mention the renamed header files.
40984
40985 2008-07-11  Jim Meyering  <meyering@redhat.com>
40986
40987         vc-list-files: make the last-resort awk code more portable
40988         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
40989         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
40990         does not support it.
40991
40992 2008-07-10  Eric Blake  <ebb9@byu.net>
40993
40994         Work with tar's bootstrap.
40995         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
40996         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
40997         an m4 comment.
40998
40999 2008-07-09  Jim Meyering  <meyering@redhat.com>
41000
41001         posix-shell.m4: fix typo that made this test malfunction
41002         * m4/posix-shell.m4: Remove capitalization in variable name.
41003
41004 2008-07-08  Bruno Haible  <bruno@clisp.org>
41005
41006         * m4/onceonly.m4: Update comments.
41007         Reported by Ben Pfaff <blp@cs.stanford.edu>.
41008
41009 2008-07-04  Jim Meyering  <meyering@redhat.com>
41010
41011         * users.txt: Add vc-dwim.
41012         (bison, coreutils): Use the gitweb URL.
41013
41014 2008-07-03  Jim Meyering  <meyering@redhat.com>
41015
41016         * users.txt: Add libffcall.  From Sam Steingold.
41017
41018 2008-07-03  OndÅ™ej Vašík  <ovasik@redhat.com>
41019
41020         getdate.y: do not ignore TZ with relative day, month or year offset
41021         * lib/getdate.y (get_date): Move the tz-handling block to follow the
41022         relative-date-handling, since otherwise, the latter would clobber the
41023         sole output (an updated Start value) of the tz-handling block.
41024         * tests/test-getdate.c: Tests for the fix
41025
41026 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41027
41028         Recognize 'foo_LIBRARIES += libgnu.a'.
41029         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
41030         makefile snippet has already specified an installation location,
41031         also using '+='.
41032
41033 2008-07-02  OndÅ™ej Vašík  <ovasik@redhat.com>
41034
41035         getdate.y: factor out common actions
41036         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
41037         Use them in place of open-coded actions.
41038
41039 2008-07-01  Simon Josefsson  <simon@josefsson.org>
41040
41041         Add self-test for getdate module.
41042         * modules/getdate-tests: New file.
41043         * tests/test-getdate.c: New file.
41044
41045 2008-06-29  Bruno Haible  <bruno@clisp.org>
41046
41047         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
41048         .gitignore.
41049         Reported by Sylvain Beucler <beuc@beuc.net>.
41050
41051 2008-06-29  Bruno Haible  <bruno@clisp.org>
41052
41053         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
41054         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
41055
41056 2008-06-29  Bruno Haible  <bruno@clisp.org>
41057
41058         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
41059         EXTRA_DIST.
41060         Reported by Sylvain Beucler <beuc@beuc.net>.
41061
41062 2008-06-26  Jim Meyering  <meyering@redhat.com>
41063
41064         make several modules depend on the "open" module
41065         This provides slightly increased consistency when opening-for-write
41066         the name of a non-directory spelled with a trailing slash.
41067         * modules/chdir-safer: Likewise.
41068         * modules/chown: Likewise.
41069         * modules/clean-temp: Likewise.
41070         * modules/copy-file: Likewise.
41071         * modules/fchdir: Likewise.
41072         * modules/fcntl-safer: Likewise.
41073         * modules/pipe: Likewise.
41074         * modules/utime: Likewise.
41075         Prompted by Eric Blake and Bruno Haible.
41076
41077 2008-06-24  Andreas Schwab  <schwab@suse.de>
41078
41079         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
41080         literals can be used as initializers for global variables.
41081
41082 2008-06-23  Eric Blake  <ebb9@byu.net>
41083
41084         Make gnulib-cache.m4 easier to diff.
41085         * gnulib-tool (func_import): Allow newlines when reading cached
41086         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
41087
41088 2008-06-23  Bruno Haible  <bruno@clisp.org>
41089
41090         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
41091         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
41092         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
41093         m4/signalblocking.m4.
41094         (gl_PREREQ_SIGACTION): Don't invoke it.
41095         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
41096         gl_PREREQ_SIG_HANDLER_H.
41097         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
41098         Don't check for sigaction here.
41099
41100 2008-06-23  Bruno Haible  <bruno@clisp.org>
41101
41102         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
41103         (install_handlers): Don't set the SA_RESETHAND flag.
41104
41105 2008-06-23  Bruno Haible  <bruno@clisp.org>
41106
41107         * m4/sigaction.m4: Comment fixes.
41108         * lib/signal.in.h: Likewise.
41109
41110 2008-06-23  Eric Blake  <ebb9@byu.net>
41111
41112         Fix typo.
41113         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
41114
41115         Avoid SA_ namespace.
41116         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
41117         Reported by Ralf Wildenhues.
41118
41119         Avoid test failure due to SA_RESTORER.
41120         * tests/test-sigaction.c (SA_MASK): New macro.
41121         (main): Avoid failing due to extension flags being set.
41122         Reported by Jim Meyering.
41123
41124         Revert use of sig-handler.h in sigprocmask.c.
41125         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
41126         it requires the existence of struct sigaction.
41127         * lib/sigprocmask.c (handler_t): Restore typedef.
41128         (rpl_signal, old_handlers): Use local type.
41129
41130 2008-06-22  Bruno Haible  <bruno@clisp.org>
41131
41132         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
41133         conditionally.
41134         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
41135
41136 2008-06-22  Bruno Haible  <bruno@clisp.org>
41137
41138         * doc/posix-functions/siginterrupt.texi: Move note.
41139
41140         * lib/signal.in.h (SA_RESTART): New macro.
41141         * lib/sigaction.c: Update comment.
41142
41143         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
41144
41145         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
41146         (gl_PREREQ_SIGPROCMASK): Invoke it.
41147         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
41148
41149         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
41150
41151         * lib/sigprocmask.c: Update a comment.
41152
41153 2008-06-21  Eric Blake  <ebb9@byu.net>
41154
41155         Use sigaction module rather than signal().
41156         * modules/c-stack (Depends-on): Add sigaction.
41157         * modules/fatal-signal (Depends-on): Likewise.
41158         * modules/nanosleep (Depends-on): Likewise.
41159         * modules/sigprocmask (Files): Add sig-handler.h.
41160         * modules/sigaction (Files): Likewise.
41161         * lib/sig-handler.h (get_handler): New file, suggested by Paul
41162         Eggert.
41163         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
41164         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
41165         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
41166         (init_fatal_signals): Likewise.
41167         * lib/nanosleep.c (rpl_nanosleep): Likewise.
41168         (siginterrupt): Delete fallback.
41169         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
41170         instead.
41171         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
41172         siginterrupt.
41173
41174         New module sigaction, for mingw.
41175         * modules/sigaction: New module...
41176         * modules/sigaction-tests: ...and its test.
41177         * m4/sigaction.m4: New file.
41178         * lib/sigaction.c: Likewise.
41179         * tests/test-sigaction.c: Likewise.
41180         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
41181         * modules/signal (Makefile.am): Likewise.
41182         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
41183         needed.
41184         * doc/posix-headers/signal.texi (signal.h): Mention provided
41185         types.
41186         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
41187         that sigaction is preferable.
41188         * doc/posix-functions/sigaction.texi (sigaction): Mention new
41189         module.
41190         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
41191         sigaction.
41192
41193         Improve robustness of sigprocmask by overriding signal.
41194         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
41195         is in use.
41196         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
41197         (SIGKILL, SIGSTOP): Provide fallbacks.
41198         (rpl_signal): Implement.
41199         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
41200         signal can be called inside handlers.
41201
41202         Fix nanosleep module on mingw.
41203         * modules/nanosleep (Depends-on): Add sys_select.
41204         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
41205
41206         Fix licensing of sigprocmask.
41207         * modules/raise (License): Relicense as LGPL.
41208
41209 2008-06-21  Bruno Haible  <bruno@clisp.org>
41210
41211         * lib/propername.c (proper_name_utf8): Don't use the transliterated
41212         result if it contains question marks.
41213         Reported by Michael Geng <linux@michaelgeng.de>.
41214
41215 2008-06-19  Bruno Haible  <bruno@clisp.org>
41216
41217         Fix CVS-ism.
41218         * doc/gnulib.texi: Include updated-stamp.texi.
41219         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
41220         (updated-stamp.texi): New rule.
41221         (gnulib.info): Depend on it.
41222         * doc/.gitignore: Add updated-stamp.texi.
41223         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
41224
41225 2008-06-19  Bruno Haible  <bruno@clisp.org>
41226
41227         * doc/Makefile (gnulib.info): Update and simplify dependencies.
41228         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
41229
41230 2008-06-19  Eric Blake  <ebb9@byu.net>
41231
41232         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
41233         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
41234         Reported by Stepan Kasal.
41235
41236 2008-06-18  Bruno Haible  <bruno@clisp.org>
41237
41238         * lib/fatal-signal.c (init_fatal_signals): Add comment.
41239         Reported by Eric Blake.
41240
41241 2008-06-18  Eric Blake  <ebb9@byu.net>
41242
41243         Work around cygwin 1.5.25 strsignal bug.
41244         * tests/test-strsignal.c: Allow for const char *.
41245         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
41246
41247 2008-06-18  Simon Josefsson  <simon@josefsson.org>
41248
41249         * users.txt: Update URL to article and add author/date
41250         information.
41251
41252 2008-06-17  Bruno Haible  <bruno@clisp.org>
41253
41254         New macro gl_DISABLE_THREADS.
41255         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
41256         if the user did not pass --enable-threads or --disable-threads option.
41257         (gl_DISABLE_THREADS): New macro.
41258         Reported by Eric Blake <ebb9@byu.net>.
41259
41260 2008-06-17  Bruno Haible  <bruno@clisp.org>
41261
41262         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
41263         when the macro ignores it.
41264         Based on a patch by Eric Blake <ebb9@byu.net>.
41265
41266 2008-06-17  Bruno Haible  <bruno@clisp.org>
41267
41268         * modules/tls (License): Change to LGPLv2+.
41269         Reported by Eric Blake.
41270
41271 2008-06-17  Eric Blake  <ebb9@byu.net>
41272
41273         Simplify c-stack prerequisites.
41274         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
41275         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
41276         no longer requires <ucontext.h> to exist.  Optimize setrlimit
41277         check.
41278         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
41279         <sys/resource.h>.
41280
41281         Move c-stack test into testsuite.
41282         * modules/c-stack-tests: New file.
41283         * lib/c-stack.c [DEBUG]: Move test program...
41284         * tests/test-c-stack.c: ...into this new file.  Skip rather than
41285         fail test if sigaltstack is lacking.
41286         * tests/test-c-stack.sh: New driver file.
41287
41288 2008-06-16  Eric Blake  <ebb9@byu.net>
41289
41290         Use raise module consistently.
41291         * modules/fatal-signal (Depends-on): Add raise.
41292         * modules/sigprocmask (Depends-on): Likewise.
41293         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
41294         * lib/sigprocmask.c (sigprocmask): Likewise.
41295         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
41296         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
41297
41298         Fix compliance bug in sigpending.
41299         * lib/sigprocmask.c (sigpending): Return pending array via
41300         parameter, not return value.
41301
41302 2008-06-14  Eric Blake  <ebb9@byu.net>
41303
41304         Improve obstack-printf test code.
41305         * tests/test-obstack-printf.c (test_function): Fix comment, and
41306         simplify usage of obstack_* in macros.  Add a test for coverage.
41307         Reported by Bruno Haible.
41308
41309 2008-06-14  Bruno Haible  <bruno@clisp.org>
41310
41311         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
41312         array size as a constant, not as a const variable.
41313         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
41314         AC_USE_SYSTEM_EXTENSIONS.
41315         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
41316         Test whether the obstack_printf function actually exists.
41317         * modules/obstack-printf (Depends-on): Add extensions.
41318         (Include): Remove obstack.h.
41319         * modules/obstack-printf-posix (Depends-on): Add extensions.
41320         (Include): Remove obstack.h.
41321
41322 2008-06-13  Eric Blake  <ebb9@byu.net>
41323
41324         Add obstack-printf and obstack-printf-posix modules.
41325         * modules/obstack-printf: New file.
41326         * modules/obstack-printf-posix: Likewise.
41327         * MODULES.html.sh (Misc): Mention them.
41328         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
41329         Likewise.
41330         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
41331         Likewise.
41332         * modules/stdio (Makefile.am): Accomodate new modules.
41333         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
41334         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
41335         Declare.
41336         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
41337         functions.
41338         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
41339         (gl_REPLACE_OBSTACK_PRINTF): New macros
41340         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
41341         * tests/test-obstack-printf.c: New file.
41342         * modules/obstack-printf-tests: Likewise.
41343         * modules/obstack-printf-posix-tests: Likewise.
41344
41345 2008-06-11  Bruno Haible  <bruno@clisp.org>
41346
41347         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
41348         * lib/open.c: Include errno.h.
41349         (open): Fail when attempting to write to a file that has a trailing
41350         slash.
41351         * tests/test-open.c (main): Test against trailing slash bug.
41352         * doc/posix-functions/open.texi: Mention the trailing slash bug.
41353
41354 2008-06-10  Bruno Haible  <bruno@clisp.org>
41355
41356         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
41357         for $? to work inside the trap command, with various /bin/sh-s.
41358         * tests/test-vc-list-files-cvs.sh: Likewise.
41359
41360 2008-06-10  Bruno Haible  <bruno@clisp.org>
41361
41362         * lib/acl-internal.h: Don't include gettext.h here.
41363         * lib/set-mode-acl.c: Include gettext.h here.
41364         * lib/copy-acl.c: Likewise.
41365
41366 2008-06-10  Bruno Haible  <bruno@clisp.org>
41367
41368         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
41369         * lib/wait-process.c (wait_subprocess): Likewise.
41370         * lib/execute.h (execute): Add termsigp argument.
41371         * lib/execute.c (execute): Likewise.
41372         * lib/csharpcomp.c (compile_csharp_using_pnet,
41373         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
41374         * lib/csharpexec.c (execute_csharp_using_pnet,
41375         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
41376         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
41377         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
41378         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
41379         is_jikes_present): Update.
41380         * lib/javaexec.c (execute_java_class): Update.
41381         * lib/javaversion.c (execute_and_read_line): Update.
41382         * NEWS: Document the changes.
41383         Reported by Eric Blake.
41384
41385 2008-06-10  Eric Blake  <ebb9@byu.net>
41386
41387         Add missing include.
41388         * tests/test-strstr.c (includes): Add <signal.h>.
41389         * tests/test-strcasestr.c (includes): Likewise.
41390         * tests/test-memmem.c (includes): Likewise.
41391
41392 2008-06-10  Bruno Haible  <bruno@clisp.org>
41393
41394         * lib/wait-process.c (wait_subprocess): Add an assertion.
41395
41396 2008-06-10  Bruno Haible  <bruno@clisp.org>
41397
41398         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
41399
41400 2008-06-10  Bruno Haible  <bruno@clisp.org>
41401
41402         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
41403         using alarm().
41404         * tests/test-strcasestr.c (main): Likewise.
41405         * tests/test-strstr.c (main): Likewise.
41406
41407 2008-06-09  Bruno Haible  <bruno@clisp.org>
41408
41409         Work around the Solaris 10 ACE ACLs ABI change.
41410         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
41411         declare if ACL_NO_TRIVIAL is present.
41412         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
41413         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
41414         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
41415         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
41416         define if ACL_NO_TRIVIAL is present.
41417         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
41418         and use the current ABI.
41419         (file_has_acl): Use same #if condition as elsewhere.
41420         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
41421         in use, and use the current ABI.
41422         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
41423         Reported by Jim Meyering.
41424
41425 2008-06-09  Eric Blake  <ebb9@byu.net>
41426
41427         Work around environments that (stupidly) ignore SIGALRM.
41428         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
41429         before using alarm().
41430         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
41431         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
41432         Reported by Ian Beckwith <ianb@erislabs.net>.
41433
41434         Produce autobuild blurb earlier in log.
41435         * modules/autobuild (configure.ac-early): Move AB_INIT here.
41436
41437 2008-06-09  Jim Meyering  <meyering@redhat.com>
41438         and OndÅ™ej Vašík  <ovasik@redhat.com>
41439
41440         utimens.c: correct kernel bug work-around
41441         OndÅ™ej Vašík found that the invalid return value of 280 indicates
41442         failure, not success, and the kernel bug we're trying to work
41443         around affects not just the utimensat call, but also the fallback
41444         futimens call.
41445         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
41446         not success.
41447         [HAVE_FUTIMENS]: Use the same work-around, here.
41448
41449 2008-06-09  Jim Meyering  <meyering@redhat.com>
41450
41451         add more guards around definition of ACE_-related code
41452         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
41453         ALLOW and ACE_OWNER are also defined.
41454
41455 2008-06-08  Bruno Haible  <bruno@clisp.org>
41456
41457         * lib/acl-internal.h: Add me as co-author.
41458         * lib/file-has-acl.c: Likewise.
41459         * lib/set-mode-acl.c: Likewise.
41460         * lib/copy-acl.c: Likewise.
41461
41462 2008-06-08  Bruno Haible  <bruno@clisp.org>
41463
41464         Add support for AIX ACLs.
41465         * lib/acl-internal.h (acl_nontrivial): New declaration.
41466         * lib/file-has-acl.c (acl_nontrivial): New function.
41467         (file_has_acl): Add implementation using AIX 4 ACL API.
41468         * lib/set-mode-acl.c (qset_acl): Likewise.
41469         * lib/copy-acl.c (qcopy_acl): Likewise.
41470
41471 2008-06-08  Bruno Haible  <bruno@clisp.org>
41472
41473         Add support for HP-UX ACLs.
41474         * lib/acl-internal.h (acl_nontrivial): New declaration.
41475         * lib/file-has-acl.c (acl_nontrivial): New function.
41476         (file_has_acl): Add implementation using HP-UX 11 ACL API.
41477         * lib/set-mode-acl.c (qset_acl): Likewise.
41478         * lib/copy-acl.c (qcopy_acl): Likewise.
41479
41480 2008-06-08  Bruno Haible  <bruno@clisp.org>
41481
41482         Add support for Cygwin ACLs.
41483         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
41484         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
41485         the chmod_or_fchmod call.
41486         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
41487
41488 2008-06-08  Bruno Haible  <bruno@clisp.org>
41489
41490         Fix bug with setuid modes in Solaris 10+ code.
41491         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
41492         succeeded, when the mode contains some special bits.
41493
41494 2008-06-08  Bruno Haible  <bruno@clisp.org>
41495
41496         Add support for Solaris 7..10 ACLs.
41497         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
41498         declarations.
41499         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
41500         functions.
41501         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
41502         * lib/set-mode-acl.c (qset_acl): Likewise.
41503         * lib/copy-acl.c (qcopy_acl): Likewise.
41504
41505 2008-06-08  Bruno Haible  <bruno@clisp.org>
41506
41507         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
41508         declaration.
41509         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
41510         (acl_access_nontrivial): Remove MacOS X case.
41511         (file_has_acl): Use acl_extended_nontrivial.
41512         * lib/copy-acl.c (qcopy_acl): Likewise.
41513
41514 2008-06-08  Bruno Haible  <bruno@clisp.org>
41515
41516         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
41517
41518 2008-06-08  Jim Meyering  <meyering@redhat.com>
41519
41520         * modules/acl (Maintainer): Add Bruno Haible.
41521
41522 2008-06-07  Bruno Haible  <bruno@clisp.org>
41523
41524         Improve support for Tru64 ACLs.
41525         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
41526         ACL on OSF/1.
41527
41528 2008-06-07  Bruno Haible  <bruno@clisp.org>
41529
41530         Add support for MacOS X ACLs.
41531         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
41532         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
41533         * lib/set-mode-acl.c (qset_acl): Likewise.
41534         * lib/copy-acl.c (qcopy_acl): Likewise.
41535
41536 2008-06-07  Bruno Haible  <bruno@clisp.org>
41537
41538         Fix memory leak introduced on 2008-05-22.
41539         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
41540         use.
41541
41542 2008-06-07  Bruno Haible  <bruno@clisp.org>
41543
41544         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
41545         to construct an empty ACL.
41546
41547 2008-06-07  Bruno Haible  <bruno@clisp.org>
41548
41549         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
41550         precisely.
41551         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
41552
41553 2008-06-07  Bruno Haible  <bruno@clisp.org>
41554
41555         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
41556         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
41557
41558 2008-06-07  Bruno Haible  <bruno@clisp.org>
41559
41560         * doc/posix-functions/_setjmp.texi: Explain the use of this function
41561         regardless of POSIX.
41562         * doc/posix-functions/_longjmp.texi: Likewise.
41563         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
41564         SystemV platform in this case.
41565
41566 2008-06-06  Eric Blake  <ebb9@byu.net>
41567
41568         Document abort() bugs.
41569         * doc/posix-functions/abort.texi (abort): Mention anomalies.
41570
41571         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
41572         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
41573         sigsetjmp.
41574         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
41575         siglongjmp, but only as a macro.
41576         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
41577         is obsolete.
41578         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
41579
41580         Tweak documentation to cover cygwin argz bugs.
41581         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
41582         argz bug fix; no code change needed since no cygwin releases
41583         occurred between the last fix and the bug being tested.
41584         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
41585         module and recently fixed cygwin bugs.
41586         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
41587         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
41588         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
41589         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
41590         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
41591         Likewise.
41592         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
41593         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
41594         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
41595         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
41596         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
41597         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
41598         Likewise.
41599
41600         Avoid gcc warning on cygwin.
41601         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
41602         !ACL_NO_TRIVIAL]: Avoid unused variable.
41603
41604 2008-06-05  Eric Blake  <ebb9@byu.net>
41605
41606         Be tolerant of UNKNOWN version in gnulib-tool test dir.
41607         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
41608         git-version-gen fails to come up with a version.
41609         Reported by Simon Josefsson.
41610
41611 2008-06-05  Jim Meyering  <meyering@redhat.com>
41612             Paul Eggert  <eggert@cs.ucla.edu>
41613
41614         utimens.c: work around a probable Linux kernel bug
41615         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
41616         appears to be a kernel bug that causes utimensat to return 280
41617         instead of 0, indicating success.
41618
41619 2008-06-04  Bruno Haible  <bruno@clisp.org>
41620
41621         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
41622         2008-06-01 commit.
41623
41624 2008-06-04  Bruno Haible  <bruno@clisp.org>
41625
41626         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
41627         * lib/file-has-acl.c (acl_access_nontrivial): New function.
41628         (file_has_acl): Use it. Save errno afterwards.
41629         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
41630
41631 2008-06-03  Bruno Haible  <bruno@clisp.org>
41632
41633         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
41634         draft code. Simplify #ifs.
41635         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
41636         Put Solaris code after POSIX-draft code. Fix comments regarding
41637         Solaris 10, HP-UX. Mention Cygwin.
41638         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
41639
41640 2008-06-03  Eric Blake  <ebb9@byu.net>
41641
41642         Provide fallback for older kernels.
41643         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
41644         Provide runtime fallback if kernel lacks support.
41645         Reported by Mike Frysinger.
41646
41647 2008-06-02  Bruno Haible  <bruno@clisp.org>
41648
41649         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
41650         it exists.
41651
41652 2008-06-02  Bruno Haible  <bruno@clisp.org>
41653
41654         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
41655         * lib/copy-acl.c (qcopy_acl): Update comment.
41656
41657 2008-06-02  Bruno Haible  <bruno@clisp.org>
41658
41659         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
41660         like ACL APIs.
41661
41662 2008-06-02  Bruno Haible  <bruno@clisp.org>
41663
41664         * tests/test-file-has-acl.sh: Use different code for Cygwin.
41665         * tests/test-set-mode-acl.sh: Likewise.
41666         * tests/test-copy-acl.sh: Likewise.
41667         * tests/test-copy-file.sh: Likewise.
41668
41669 2008-06-02  Bruno Haible  <bruno@clisp.org>
41670
41671         * tests/test-file-has-acl.sh: Remove unused code.
41672
41673 2008-06-01  Bruno Haible  <bruno@clisp.org>
41674
41675         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
41676         (copy_acl): Just a wrapper around qcopy_acl that emits the error
41677         messages.
41678         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
41679
41680 2008-06-01  Bruno Haible  <bruno@clisp.org>
41681
41682         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
41683         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
41684         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
41685         APIs.
41686         * modules/acl-tests (configure.ac): Remove tests now contained in
41687         m4/acl.m4.
41688
41689 2008-06-02  Jim Meyering  <meyering@redhat.com>
41690
41691         announce-gen: use a better key-server host name
41692         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
41693         it may be more consistently reliable.  Suggested by Werner Koch
41694         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
41695
41696 2008-06-01  Bruno Haible  <bruno@clisp.org>
41697
41698         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
41699         Reported by Voroskoi Andras <voroskoi@gmail.com>.
41700
41701 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
41702
41703         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
41704
41705 2008-06-01  Bruno Haible  <bruno@clisp.org>
41706
41707         New ACL tests.
41708         * tests/test-file-has-acl.sh: New file.
41709         * tests/test-file-has-acl.c: New file.
41710         * tests/test-set-mode-acl.sh: New file.
41711         * tests/test-set-mode-acl.c: New file.
41712         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
41713         * tests/test-copy-acl.c: New file.
41714         * modules/acl-tests: New file, based on modules/copy-file-tests.
41715         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
41716         (Depends-on): Add acl-tests.
41717         (configure.ac): Remove checks.
41718         (Makefile.am): Don't create test-sameacls program here any more.
41719
41720 2008-06-01  Bruno Haible  <bruno@clisp.org>
41721
41722         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
41723         * tests/test-sameacls.c: Include progname.h.
41724         (main): Invoke set_program_name. Portability fixes for MacOS X,
41725         Solaris, HP-UX.
41726
41727 2008-06-01  Bruno Haible  <bruno@clisp.org>
41728
41729         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
41730         function.
41731         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
41732
41733 2008-06-01  Bruno Haible  <bruno@clisp.org>
41734
41735         * modules/rpmatch (Depends-on): Add strdup.
41736
41737 2008-06-01  Bruno Haible  <bruno@clisp.org>
41738
41739         * lib/pipe.c: Include unistd-safer.h.
41740         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
41741         * modules/pipe (Depends-on): Add unistd-safer.
41742
41743 2008-05-30  Simon Josefsson  <simon@josefsson.org>
41744
41745         * modules/autobuild (configure.ac): Call AB_INIT.
41746
41747 2008-05-30  Simon Josefsson  <simon@josefsson.org>
41748
41749         * tests/test-getaddrinfo.c: Don't print debug messages by default.
41750         Suggested by Bruno Haible <bruno@clisp.org>.
41751
41752 2008-05-30  Simon Josefsson  <simon@josefsson.org>
41753
41754         * tests/test-base64.c: Cast size_t to unsigned long when invoking
41755         printf.  Use %lu instead of %d.  Reported by Bruno Haible
41756         <bruno@clisp.org>.
41757
41758 2008-05-29  Eric Blake  <ebb9@byu.net>
41759
41760         Prefer new POSIX 200x interfaces over futimesat.
41761         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
41762         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
41763         when available.
41764         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
41765
41766 2008-05-28  Bruno Haible  <bruno@clisp.org>
41767
41768         * modules/stpcpy (License): Change to LGPLv2+.
41769         Requested by David Lutterkort <dlutter@redhat.com>.
41770
41771 2008-05-27  Bruno Haible  <bruno@clisp.org>
41772
41773         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
41774         current mingw.
41775         Reported by Jose E. Marchesi <jemarch@gnu.org>.
41776
41777 2008-05-27  Bruno Haible  <bruno@clisp.org>
41778
41779         * modules/iconv_open (Link): New section, from module 'iconv'.
41780         * modules/striconv (Link): Likewise.
41781         * modules/striconveh (Link): Likewise.
41782         * modules/xstriconv (Link): Likewise.
41783         * modules/unicodeio (Link): Likewise.
41784         * modules/propername (Link): Likewise.
41785         Reported by Jim Meyering.
41786
41787 2008-05-26  Jim Meyering  <meyering@redhat.com>
41788
41789         sha256: do not artificially restrict buffer length to be < 2^32
41790         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
41791         uint32_t to size_t.
41792         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
41793         to match.
41794
41795         avoid unaligned access errors, e.g., on sparc
41796         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
41797         direct access through a possibly-unaligned uint64* pointer.
41798         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
41799         direct access through a possibly-unaligned uint32* pointer.
41800         Prompted by this patch from Tom "spot" Callaway:
41801         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
41802
41803         sha512.c: fix typo in comment
41804         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
41805
41806 2008-05-25  Bruno Haible  <bruno@clisp.org>
41807
41808         * lib/set-mode-acl.c: Renamed from lib/acl.c.
41809         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
41810         (Makefile.am): Update lib_SOURCES.
41811
41812 2008-05-25  Bruno Haible  <bruno@clisp.org>
41813
41814         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
41815
41816 2008-05-25  Jim Meyering  <meyering@redhat.com>
41817
41818         useless-if-before-free: freed expr may have white-space differences
41819         * build-aux/useless-if-before-free: Recognize cases in which the
41820         freed expression differs from the tested one in embedded white
41821         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
41822         $1 was used, so we can't make any regexp shy.  Improved tests now
41823         detect this.
41824
41825         useless-if-before-free: accept white space in the expression.
41826         * build-aux/useless-if-before-free: For now, any white space
41827         in the expression must be identical in the free argument.
41828
41829         useless-if-before-free: efficiency tweak
41830         * build-aux/useless-if-before-free: Make the expression-matching
41831         regexp "shy".
41832         Make the *outer* regexp shy, not the expr-matching one.
41833
41834         update code-in-comment to accept cast of free arg
41835         * build-aux/useless-if-before-free: Update regexp.
41836
41837 2008-05-25  Bruno Haible  <bruno@clisp.org>
41838
41839         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
41840         * modules/copy-file-tests (Files, Makefile.am): Update.
41841         * tests/test-copy-file.c (func_test_copy): Update.
41842
41843 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
41844
41845         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
41846
41847 2008-05-23  Bruno Haible  <bruno@clisp.org>
41848
41849         Improve support for ACLs on OSF/1.
41850         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
41851         Remove fallback for unknown flavors of ACLs.
41852
41853 2008-05-22  Bruno Haible  <bruno@clisp.org>
41854
41855         Add support for ACLs on OSF/1.
41856         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
41857         replacements.
41858         (acl_free_text): New macro fallback.
41859         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
41860         acl_free.
41861         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
41862         acl_free_text function. Require AC_C_INLINE.
41863
41864 2008-05-22  Bruno Haible  <bruno@clisp.org>
41865
41866         Make copy_acl work on MacOS X 10.5.
41867         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
41868         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
41869         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
41870         If MODE_INSIDE_ACL, don't assume that every system has the same text
41871         representation for ACLs as FreeBSD.
41872         * lib/copy-acl.c (copy_acl): Add support for platforms with
41873         !MODE_INSIDE_ACL.
41874         * lib/file-has-acl.c (file_has_acl): Likewise.
41875         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
41876         FreeBSD, MacOS X, or IRIX, respectively.
41877
41878 2008-05-22  Bruno Haible  <bruno@clisp.org>
41879
41880         * lib/acl.h: Don't include <sys/acl.h>.
41881         (GETACLCNT): Move fallback to lib/acl-internal.h.
41882         * lib/acl-internal.h: Include <sys/acl.h> here.
41883         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
41884
41885 2008-05-22  Bruno Haible  <bruno@clisp.org>
41886
41887         Split off copy_acl function to separate file.
41888         * lib/copy-acl.c: New file, extracted from lib/acl.c.
41889         * lib/acl.c (copy_acl): Moved function to separate file.
41890         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
41891         * modules/acl (Files): Add lib/copy-acl.c.
41892         (Makefiles.am): Augment lib_SOURCES.
41893
41894 2008-05-22  Bruno Haible  <bruno@clisp.org>
41895
41896         * modules/copy-file-tests: New file.
41897         * tests/test-copy-file.sh: New file.
41898         * tests/test-copy-file.c: New file.
41899         * tests/test-copy-file-sameacls.c: New file.
41900
41901 2008-05-22  Eric Blake  <ebb9@byu.net>
41902
41903         Avoid gcc warning.
41904         * tests/test-memcmp.c (main): Pass NULL indirectly.
41905
41906 2008-05-21  Bruno Haible  <bruno@clisp.org>
41907
41908         Add reference doc about ACLs.
41909         * doc/acl-resources.txt: New file.
41910         * doc/acl-cygwin.txt: New file.
41911
41912 2008-05-21  Bruno Haible  <bruno@clisp.org>
41913
41914         Avoid one more warning from gcc.
41915         * lib/vasnprintf.c (IF_LINT): Update comments.
41916         (VASNPRINTF): Use it also for the 'prefix' array initializer.
41917
41918 2008-05-21  Jim Meyering  <meyering@redhat.com>
41919
41920         avoid a warning from gcc
41921         * lib/vasnprintf.c (IF_LINT): Define.
41922         (scale10_round_decimal_long_double):
41923         Use it to avoid a "may be used uninitialized" warning.
41924         (scale10_round_decimal_double): Likewise.
41925
41926 2008-05-21  Simon Josefsson  <simon@josefsson.org>
41927
41928         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
41929         declared.
41930
41931 2008-05-20  Bruno Haible  <bruno@clisp.org>
41932
41933         * tests/test-memcmp.c (main): Test also the sign of the result. Test
41934         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
41935
41936 2008-05-20  Simon Josefsson  <simon@josefsson.org>
41937
41938         * modules/memcmp-tests: New file.
41939         * tests/test-memcmp.c: New file.
41940
41941 2008-05-19  Bruno Haible  <bruno@clisp.org>
41942
41943         * modules/propername (Notice, configure.ac): Put quoted "..." into
41944         --keyword option.
41945         * lib/propername.h: Update comments accordingly.
41946         Reported by Eric Blake.
41947
41948 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
41949
41950         * modules/getpass-gnu (Depends-on): Add fseeko.
41951
41952 2008-05-19  Simon Josefsson  <simon@josefsson.org>
41953
41954         * modules/base64-tests: New file.
41955
41956 2008-05-19  Bo Borgerson <gigabo@gmail.com>
41957
41958         * lib/base64.c (base64_decode_ctx): If a decode context structure
41959         was passed in use it to ignore newlines.  If a context structure
41960         was _not_ passed in, continue to treat newlines as garbage (this
41961         is the historical behavior).  Formerly base64_decode.
41962         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
41963         takes a decode context structure.
41964         * lib/base64.h (base64_decode): Macro for four-argument calls.
41965         (base64_decode_alloc): Likewise.
41966         * lib/base64.c (base64_decode_ctx): If a decode context structure
41967         was passed in use it to ignore newlines.  If a context structure
41968         was _not_ passed in, continue to treat newlines as garbage (this
41969         is the historical behavior).  Formerly base64_decode.
41970         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
41971         takes a decode context structure.
41972         * lib/base64.h (base64_decode): Macro for four-argument calls.
41973         (base64_decode_alloc): Likewise.
41974
41975 2008-05-19  Jim Meyering  <meyering@redhat.com>
41976
41977         avoid a warning from gcc
41978         * lib/trim.c (IF_LINT): Define.
41979         (trim2): Use it to avoid a "may be used uninitialized" warning.
41980
41981         Fix doc typo.
41982         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
41983
41984 2008-05-19  Bruno Haible  <bruno@clisp.org>
41985
41986         * doc/glibc-functions/getpass.texi: Document limits of other
41987         implementations.
41988
41989 2008-05-19  Simon Josefsson  <simon@josefsson.org>
41990             Bruno Haible <bruno@clisp.org>
41991
41992         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
41993
41994 2008-05-18  Bruno Haible  <bruno@clisp.org>
41995
41996         * modules/propername: New file, from GNU gettext.
41997         * lib/propername.h: New file, from GNU gettext.
41998         * lib/propername.c: New file, from GNU gettext.
41999         * MODULES.html.sh (Internationalization functions): Add propername.
42000
42001 2008-05-16  Jim Meyering  <meyering@redhat.com>
42002             Bruno Haible  <bruno@clisp.org>
42003
42004         Avoid some warnings from "gcc -Wshadow".
42005         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
42006
42007 2008-05-15  Eric Blake  <ebb9@byu.net>
42008
42009         Extend previous patch to cygwin 1.7.0.
42010         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
42011         fast implementation in cygwin >= 1.7.0.
42012         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
42013         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
42014
42015 2008-05-15  Bruno Haible  <bruno@clisp.org>
42016
42017         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
42018         implementation in glibc >= 2.9.
42019         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
42020         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
42021
42022 2008-05-15  Bruno Haible  <bruno@clisp.org>
42023
42024         * MODULES.html.sh (Internationalization functions): Remove linebreak.
42025         (Unicode string functions): Add unilbrk/*.
42026         Reported by Karl Berry.
42027
42028 2008-05-15  Eric Blake  <ebb9@byu.net>
42029
42030         Fix violation of <stdbool.h> replacement in regex.
42031         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
42032         * lib/regexec.c (re_search_internal): Likewise.
42033         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
42034
42035 2008-05-15  Jim Meyering  <meyering@redhat.com>
42036
42037         avoid distracting test output when git or cvs is not found
42038         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
42039         * tests/test-vc-list-files-git.sh: Likewise.
42040
42041 2008-05-15  Eric Blake  <ebb9@byu.net>
42042
42043         Glibc finally accepted the memmem speedup code, bugzilla #5514.
42044         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
42045         glibc version.
42046         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
42047         * doc/posix-functions/strstr.texi (strstr): Likewise.
42048         * lib/str-two-way.h (MAX): Sychronize with glibc.
42049
42050 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
42051
42052         * lib/regcomp.c (optimize_utf8): Add a note on why we test
42053         opr.ctx_type.
42054         (calc_first): Initialize constraint field.
42055         (duplicate_node_closure): Use it instead of special casing ANCHORS.
42056         Fix grammar.
42057         (duplicate_node): Merge constraint field for all node types.
42058         (calc_eclosure_iter): Look at constraint field for all node types.
42059         * lib/regex_internal.c (create_cd_newstate): Don't look at
42060         opr.ctx_type.
42061
42062 2008-05-14  Bruno Haible  <bruno@clisp.org>
42063
42064         Help GCC to do better code generation.
42065         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
42066         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
42067         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
42068         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
42069         Declare with attribute 'malloc' if supported.
42070
42071 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
42072
42073         use "echo STR|wc -c" rather than unportable "expr length STR"
42074         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
42075         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
42076
42077 2008-05-14  Jim Meyering  <meyering@redhat.com>
42078
42079         use dd ibs=$n count=1 ... rather than less-portable head -c$n
42080         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
42081         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
42082         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
42083         via Collin Lasse.
42084
42085 2008-05-14  Eric Blake  <ebb9@byu.net>
42086
42087         Avoid quadratic growth in gl_LIBSOURCES.
42088         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
42089         Suggested by Bruno Haible.
42090
42091         Test xmemdup0.
42092         * modules/xmemdup0-tests: New file.
42093         * tests/test-xmemdup0.c: Likewise.
42094
42095 2008-05-13  Eric Blake  <ebb9@byu.net>
42096
42097         Split xmemdup0 into its own module.
42098         * modules/xmemdup0: New file.
42099         * lib/xmemdup0.h: Likewise.
42100         * lib/xmemdup0.c: Likewise.
42101         * MODULES.html.sh (Memory management functions): Add xmemdup0.
42102         * lib/xalloc.h (xmemdup0): Remove.
42103         * lib/xmalloc.c (xmemdup0): Likewise.
42104
42105 2008-05-13  Eric Blake  <ebb9@byu.net>
42106             Bruno Haible  <bruno@clisp.org>
42107
42108         Reduce number of forks required during autoconf.
42109         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
42110         and gl_LIBSOURCES_DIR.
42111         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
42112         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
42113         m4_syscmd per file.
42114         <m4_foreach_w>: Move...
42115         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
42116
42117 2008-05-13  Eric Blake  <ebb9@byu.net>
42118
42119         * gnulib-tool: Fix various comment typos.
42120
42121 2008-05-12  Bruno Haible  <bruno@clisp.org>
42122
42123         Tailor the linebreaking algorithm.
42124         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
42125
42126 2008-05-12  Bruno Haible  <bruno@clisp.org>
42127
42128         Update to Unicode 5.0.0.
42129         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
42130         LBP_JV, LBP_JT. Redistribute values.
42131         (unilbrk_table): Change size.
42132         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
42133         Unicode TR#14 rev. 22.
42134         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
42135         LBP_JV, LBP_JT. Redistribute values.
42136         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
42137         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
42138         Update.
42139         * lib/unilbrk/lbrkprop1.h: Regenerated.
42140         * lib/unilbrk/lbrkprop2.h: Regenerated.
42141         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
42142         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
42143         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
42144         Likewise.
42145         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
42146         Likewise.
42147         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
42148         result.
42149         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
42150         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
42151         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
42152         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
42153         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
42154         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
42155
42156 2008-05-11  Bruno Haible  <bruno@clisp.org>
42157
42158         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
42159
42160 2008-05-11  Bruno Haible  <bruno@clisp.org>
42161
42162         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
42163         * modules/unilbrk/gen-lbrk: New file.
42164
42165 2008-05-11  Bruno Haible  <bruno@clisp.org>
42166
42167         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
42168         * m4/sha512.m4 (gl_SHA512): Likewise.
42169
42170 2008-05-11  Jim Meyering  <meyering@redhat.com>
42171
42172         New modules: crypto/sha256, crypto/sha512 (from coreutils)
42173         * modules/crypto/sha256: New file.
42174         * modules/crypto/sha512: Likewise.
42175         * lib/sha256.c: Likewise.
42176         * lib/sha256.h: Likewise.
42177         * lib/sha512.c: Likewise.
42178         * lib/sha512.h: Likewise.
42179         * lib/u64.h: Likewise.
42180         * m4/sha256.m4: Likewise.
42181         * m4/sha512.m4: Likewise.
42182         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
42183
42184 2008-05-10  Bruno Haible  <bruno@clisp.org>
42185
42186         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
42187         (Input/Output <stdio.h>): Add xprintf.
42188         (Signal handling <signal.h>): Add strsignal.
42189         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
42190         (Core language properties): Add func.
42191         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
42192         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
42193         strings.
42194         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
42195         (Input/output): New section.
42196         (File system functions): Add openat-die, stat-macros.
42197         (Networking functions): Add sockets.
42198         (Unicode string functions): Add unictype/*.
42199         (Support for building libraries and executables): Add gperf.
42200         (Support for building documentation): Add agpl-3.0.
42201         (Misc): Add nocrash.
42202
42203 2008-05-10  Bruno Haible  <bruno@clisp.org>
42204
42205         * modules/unictype/gen-ctype: New file.
42206
42207 2008-05-10  Jim Meyering  <meyering@redhat.com>
42208
42209         Make chdir-safer.c more efficient on a system with no symlinks.
42210         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
42211         also if ELOOP is zero.  Suggested by Bruno Haible.
42212
42213         Make chdir-safer.c slightly safer.
42214         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
42215         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
42216
42217         Avoid compile failure on systems without ELOOP (like mingw).
42218         * lib/chdir-safer.c (ELOOP): Define if not already defined.
42219         Reported by Bruno Haible.
42220
42221 2008-05-10  Bruno Haible  <bruno@clisp.org>
42222
42223         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
42224         (is_utf8_encoding): Use a case-insensitive comparison.
42225         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
42226         streq.
42227
42228 2008-05-10  Bruno Haible  <bruno@clisp.org>
42229
42230         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
42231         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
42232         * lib/unilbrk/ulc-common.h (iconv_string_length,
42233         iconv_string_keeping_offsets): Remove declarations.
42234         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
42235         Don't include <iconv.h>, streq.h, xsize.h.
42236         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
42237         conversion.
42238         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
42239         <iconv.h>, streq.h, xsize.h.
42240         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
42241         conversion.
42242         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
42243         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
42244         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
42245         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
42246
42247 2008-05-10  Bruno Haible  <bruno@clisp.org>
42248
42249         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
42250         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
42251
42252         * modules/unilbrk/u32-width-linebreaks-tests: New file.
42253         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
42254
42255         * modules/unilbrk/u16-width-linebreaks-tests: New file.
42256         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
42257
42258         * modules/unilbrk/u8-width-linebreaks-tests: New file.
42259         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
42260
42261         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
42262         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
42263
42264         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
42265         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
42266
42267         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
42268         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
42269
42270         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
42271         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
42272
42273 2008-05-10  Bruno Haible  <bruno@clisp.org>
42274
42275         Split up 'linebreak' module.
42276         * lib/unilbrk.h: New file, based on lib/linebreak.h.
42277         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
42278         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
42279         modifications.
42280         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
42281         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
42282         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
42283         lib/linebreak.c.
42284         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
42285         lib/linebreak.c.
42286         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
42287         lib/linebreak.c.
42288         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
42289         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
42290         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
42291         lib/linebreak.c.
42292         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
42293         lib/linebreak.c.
42294         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
42295         lib/linebreak.c.
42296         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
42297         lib/linebreak.c.
42298         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
42299         lib/linebreak.c.
42300         * modules/unilbrk/base: New file.
42301         * modules/unilbrk/tables: New file.
42302         * modules/unilbrk/u8-possible-linebreaks: New file.
42303         * modules/unilbrk/u16-possible-linebreaks: New file.
42304         * modules/unilbrk/u32-possible-linebreaks: New file.
42305         * modules/unilbrk/ulc-common: New file.
42306         * modules/unilbrk/ulc-possible-linebreaks: New file.
42307         * modules/unilbrk/u8-width-linebreaks: New file.
42308         * modules/unilbrk/u16-width-linebreaks: New file.
42309         * modules/unilbrk/u32-width-linebreaks: New file.
42310         * modules/unilbrk/ulc-width-linebreaks: New file.
42311         * lib/linebreak.h: Remove file.
42312         * lib/linebreak.c: Remove file.
42313         * m4/linebreak.m4: Remove file.
42314         * modules/linebreak: Remove file.
42315         * NEWS: Mention the changes.
42316
42317 2008-05-09  Eric Blake  <ebb9@byu.net>
42318
42319         Add xmemdup0.
42320         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
42321         implementation.
42322         * lib/xmalloc.c (xmemdup0): New C implementation.
42323
42324 2008-05-08  Bruno Haible  <bruno@clisp.org>
42325
42326         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
42327
42328 2008-05-07  Eric Blake  <ebb9@byu.net>
42329
42330         Support cross-compilation of <wctype.h>.
42331         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
42332         AC_CACHE_CHECK.
42333
42334 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
42335
42336         * build-aux/vc-list-files: Add support for bzr.
42337
42338 2008-05-03  Jim Meyering  <meyering@redhat.com>
42339
42340         avoid failed assertion with tight malloc
42341         * tests/test-getndelim2.c: Correct an off-by-one assertion.
42342
42343 2008-05-03  Simon Josefsson  <simon@josefsson.org>
42344
42345         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
42346         are needed from arpa/inet.h.
42347         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
42348         Reported by Bruno Haible.
42349
42350 2008-05-02  Jim Meyering  <meyering@redhat.com>
42351
42352         avoid compilation error on FreeBSD 6
42353         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
42354
42355 2008-05-01  Jim Meyering  <meyering@redhat.com>
42356
42357         useless-if-before-free: correct --help's exit status description
42358         * build-aux/useless-if-before-free (usage): Like grep, exit 0
42359         for one or more matches, etc.  Reported by Bruno Haible.
42360
42361         vc-list-files: make the stand-alone gnulib test work
42362         * modules/vc-list-files-tests (configure.ac):
42363         Define and AC_SUBST abs_aux_dir.
42364         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
42365         $(abs_top_srcdir) to each script and having each of them
42366         duplicate the work of setting PATH, set PATH here, using
42367         the new variable, abs_aux_dir instead.
42368         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
42369         * tests/test-vc-list-files-git.sh: Likewise.
42370         Reported by Bruno Haible.
42371
42372 2008-05-01  Bruno Haible  <bruno@clisp.org>
42373
42374         * lib/getndelim2.c (getndelim2): Fix newsize computation during
42375         reallocation. Rename 'done' to 'found_delimiter'.
42376
42377 2008-05-01  Jim Meyering  <meyering@redhat.com>
42378
42379         vc-list-files: accommodate /bin/sh like the one from Solaris 10
42380         * build-aux/vc-list-files: Use `...`, not $(...).
42381
42382 2008-04-30  Jim Meyering  <meyering@redhat.com>
42383
42384         add tests for vc-list-files
42385         * modules/vc-list-files-tests: New module.
42386         * tests/test-vc-list-files-cvs.sh: New file.
42387         * tests/test-vc-list-files-git.sh: New file.
42388
42389         avoid a warning from gcc
42390         * lib/getndelim2.c (IF_LINT): Define.
42391         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
42392
42393         vc-list-files: work properly with build-aux/cvsu, too
42394         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
42395         to all cvs-based clauses.
42396
42397         vc-list-files: work properly in the CVS+awk case, too
42398         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
42399
42400         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
42401         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
42402         take more than one file argument, so .  Add quotes, just in case $dir
42403         ever contains a shell meta-character.  Prompted by Soren Hansen in
42404         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
42405
42406 2008-04-29  Eric Blake  <ebb9@byu.net>
42407
42408         Optimize getndelim2 to use block operations when possible.
42409         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
42410         freadseek, and memchr2.
42411         * lib/getndelim2.c (getndelim2): Use them for block reads.
42412
42413 2008-04-29  Bruno Haible  <bruno@clisp.org>
42414
42415         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
42416         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
42417         * modules/inet_ntop (Depends-on): Add extensions.
42418         * modules/inet_pton (Depends-on): Likewise.
42419         Reported by Simon Josefsson.
42420
42421 2008-04-29  Jim Meyering  <meyering@redhat.com>
42422
42423         When the is more than one match in a block, match all of them.
42424         * build-aux/useless-if-before-free: Iterate through each block
42425         until there are no more matches.
42426
42427         Fix broken useless-if-before-free script.
42428         * build-aux/useless-if-before-free: Fix typo: missing "?" after
42429         the expression to match cast of argument to free-like function.
42430
42431 2008-04-29  Eric Blake  <ebb9@byu.net>
42432
42433         Use new header.
42434         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
42435
42436 2008-04-29  Jim Meyering  <meyering@redhat.com>
42437
42438         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
42439         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
42440         by gnulib to exist and to declare e.g., inet_ntop.
42441         Don't include "inet_ntop.h", now removed.
42442
42443         * m4/arpa_inet_h.m4: Remove trailing blanks.
42444
42445 2008-04-29  Eric Blake  <ebb9@byu.net>
42446
42447         Silence valgrind on safe reads beyond potential array bounds.
42448         * lib/rawmemchr.valgrind: New file.
42449         * lib/strchrnul.valgrind: Likewise.
42450         * modules/rawmemchr (Files): Distribute new file.
42451         * modules/strchrnul (Files): Likewise.
42452         Suggested by Bruno Haible.
42453
42454 2008-04-29  Bruno Haible  <bruno@clisp.org>
42455
42456         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
42457         (inet_ntop, inet_pton): Change portability warning's wording.
42458         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
42459         Invoke gl_CHECK_NEXT_HEADERS.
42460         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
42461         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
42462         set ARPA_INET_H.
42463         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
42464         * modules/arpa_inet (Description): No longer only for systems that
42465         lack it.
42466         (Depends-on): Add include_next.
42467         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
42468         HAVE_ARPA_INET_H.
42469
42470 2008-04-29  Jim Meyering  <meyering@redhat.com>
42471
42472         * modules/mkdir (License): Re-license as LGPLv2+.
42473
42474 2008-04-29  Bruno Haible  <bruno@clisp.org>
42475
42476         * modules/rawmemchr (Maintainer): Set to Eric.
42477         * modules/strchrnul (Maintainer): Likewise.
42478
42479 2008-04-29  Simon Josefsson  <simon@josefsson.org>
42480
42481         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
42482         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
42483
42484         * modules/arpa_inet (arpa/inet.h): Use them.
42485
42486 2008-04-28  Eric Blake  <ebb9@byu.net>
42487
42488         Test getndelim2.
42489         * modules/getndelim2-tests: New file.
42490         * tests/test-getndelim2.c: Likewise.
42491         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
42492         stream.
42493         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
42494
42495         * MODULES.html.sh: Document new module.
42496
42497 2008-04-20  Bruno Haible  <bruno@clisp.org>
42498
42499         * lib/c-stack.c (die): Use raise.
42500         * modules/c-stack (Depends-on): Add raise.
42501
42502 2008-04-28  Bruno Haible  <bruno@clisp.org>
42503
42504         Expect rpmatch to be declared.
42505         * lib/yesno.c (rpmatch): Remove declaration.
42506
42507         Declare rpmatch.
42508         * lib/stdlib.in.h (rpmatch): New declaration.
42509         * lib/rpmatch.c: Include <stdlib.h> first.
42510         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
42511         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
42512         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
42513         HAVE_RPMATCH.
42514         * modules/rpmatch (Depends-on): Add stdlib, extensions.
42515         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
42516         (Include): Set to <stdlib.h>.
42517         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
42518         HAVE_RPMATCH.
42519         * NEWS: Document the change.
42520
42521 2008-04-28  Bruno Haible  <bruno@clisp.org>
42522
42523         Change rpmatch to use nl_langinfo when appropriate.
42524         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
42525         (N_): New macro.
42526         (localized_pattern): New function/macro.
42527         (try): Remove match, nomatch arguments. Copy the pattern into safe
42528         memory before caching it.
42529         (rpmatch): Use localized_pattern. Add translator comments.
42530         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
42531         Suggested by Eric Blake.
42532         * modules/rpmatch (Depends-on): Add stdbool.
42533
42534 2008-04-28  Eric Blake  <ebb9@byu.net>
42535
42536         Add rawmemchr module, matching glibc.
42537         * modules/string (Makefile.am): New indicator.
42538         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
42539         * lib/string.in.h (rawmemchr): Declare when appropriate.
42540         * modules/rawmemchr: New file.
42541         * m4/rawmemchr.m4: Likewise.
42542         * lib/rawmemchr.c: Likewise.
42543         * modules/rawmemchr-tests: Likewise.
42544         * tests/test-rawmemchr.c: Likewise.
42545         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
42546         module.
42547         * modules/strchrnul (Depends-on): Add rawmemchr.
42548         * lib/strchrnul.c (strchrnul): Optimize a corner case.
42549
42550         Whitespace cleanup.
42551         * tests/test-strchrnul.c: Reindent.
42552         * lib/strchrnul.c: Likewise.
42553
42554         Optimize and test strchrnul.
42555         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
42556         * modules/strchrnul-tests: New file.
42557         * tests/test-strchrnul.c: Likewise.
42558
42559         Remove intprops dependency.
42560         * modules/memchr (Depends-on): Remove intprops.
42561         * modules/memrchr (Depends-on): Likewise.
42562         * modules/memchr2 (Depends-on): Likewise.
42563         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
42564         * lib/memrchr.c (__memrchr): Likewise.
42565         * lib/memrchr2.c (memchr2): Likewise.
42566         Reported by Simon Josefsson.
42567
42568 2008-04-28  Simon Josefsson  <simon@josefsson.org>
42569
42570         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
42571         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
42572
42573 2008-04-28  Simon Josefsson  <simon@josefsson.org>
42574
42575         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
42576
42577         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
42578
42579         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
42580
42581         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
42582         declarations.
42583         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
42584
42585         * m4/inet_pton.m4: Don't check for header files.
42586
42587         * m4/inet_ntop.m4: Don't check for header files.
42588
42589 2008-04-28  Simon Josefsson  <simon@josefsson.org>
42590
42591         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
42592         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
42593         trigger for cygwin).
42594         Reported by Bruno Haible  <bruno@clisp.org>.
42595
42596 2008-04-28  Bruno Haible  <bruno@clisp.org>
42597
42598         * doc/posix-functions/strdup.texi: Mention mingw problem.
42599
42600 2008-04-27  Bruno Haible  <bruno@clisp.org>
42601
42602         * modules/stat-time-tests (Depends-on): Add sleep.
42603         * tests/test-stat-time.c (force_unlink): New function.
42604         (cleanup): Use it.
42605         (test_mtime): Remove the ctime related tests.
42606         (test_ctime): New function, containing the ctime related tests.
42607         (main): Call test_ctime, except on native Windows platforms.
42608
42609 2008-04-27  Bruno Haible  <bruno@clisp.org>
42610
42611         * lib/rpmatch.c (rpmatch): Add some comments.
42612         Reported by James Youngman <jay@gnu.org>.
42613
42614 2008-04-27  Bruno Haible  <bruno@clisp.org>
42615
42616         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
42617         quiet NaNs.
42618
42619 2008-04-27  Bruno Haible  <bruno@clisp.org>
42620
42621         Make test-yesno.sh work on mingw.
42622         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
42623         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
42624         (main): Set stdin to binary mode.
42625         * modules/yesno-tests (Depends-on): Add binary-io.
42626
42627 2008-04-27  Bruno Haible  <bruno@clisp.org>
42628
42629         Fix 'isfinite' on x86, x86_64, ia64 platforms.
42630         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
42631         argument that lie outside the IEEE 854 domain.
42632         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
42633         (gl_ISFINITE): Use it.
42634         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
42635
42636 2008-04-27  Bruno Haible  <bruno@clisp.org>
42637
42638         Allow local renaming in config.h.
42639         * lib/memrchr.c (memrchr): Don't undefine outside libc.
42640
42641 2008-04-27  Bruno Haible  <bruno@clisp.org>
42642
42643         * lib/memchr.c (__memchr): Change type of 'i'.
42644         * lib/memchr2.c (memchr2): Likewise.
42645
42646 2008-04-26  Eric Blake  <ebb9@byu.net>
42647         and Bruno Haible  <bruno@clisp.org>
42648
42649         Optimize and test memrchr.
42650         * modules/memrchr (Depends-on): Add intprops.
42651         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
42652         * modules/memrchr-tests: New file.
42653         * tests/test-memrchr.c: New file.
42654
42655 2008-04-26  Bruno Haible  <bruno@clisp.org>
42656
42657         Add tentative support for DragonFly BSD.
42658         * lib/stdio-impl.h: Add macros for DragonFly BSD.
42659         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
42660         fp.
42661         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
42662         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
42663         * lib/fpurge.c (fpurge): Likewise.
42664         * lib/freadable.c (freaadable): Likewise.
42665         * lib/freadahead.c (freadahead): Likewise.
42666         * lib/freading.c (freading): Likewise.
42667         * lib/freadptr.c (freadptr): Likewise.
42668         * lib/freadseek.c (freadptrinc): Likewise.
42669         * lib/fseeko.c (fseeko): Likewise.
42670         * lib/fseterr.c (fseterr): Likewise.
42671         * lib/fwritable.c (fwritable): Likewise.
42672         * lib/fwriting.c (fwriting): Likewise.
42673
42674 2008-04-26  Bruno Haible  <bruno@clisp.org>
42675
42676         * lib/stdio-impl.h: New file.
42677         * lib/fbufmode.c: Include stdio-impl.h.
42678         (fbufmode): Use fp_, remove redundant #defines.
42679         * lib/fflush.c: Include stdio-impl.h.
42680         (clear_ungetc_buffer): Remove redundant #defines.
42681         * lib/fpurge.c: Include stdio-impl.h.
42682         (fpurge): Remove redundant #defines.
42683         * lib/freadable.c: Include stdio-impl.h.
42684         (freadable): Remove redundant #defines.
42685         * lib/freadahead.c: Include stdio-impl.h.
42686         (freadahead): Remove redundant #defines.
42687         * lib/freading.c: Include stdio-impl.h.
42688         (freading): Remove redundant #defines.
42689         * lib/freadptr.c: Include stdio-impl.h.
42690         (freadptr): Remove redundant #defines.
42691         * lib/freadseek.c: Include stdio-impl.h.
42692         (freadptrinc): Remove redundant #defines.
42693         * lib/fseeko.c: Include stdio-impl.h.
42694         (rpl_fseeko): Remove redundant #defines.
42695         * lib/fseterr.c: Include stdio-impl.h.
42696         (fseterr): Remove redundant #defines.
42697         * lib/fwritable.c: Include stdio-impl.h.
42698         (fwritable: Remove redundant #defines.
42699         * lib/fwriting.c: Include stdio-impl.h.
42700         (fwriting): Remove redundant #defines.
42701         * modules/fbufmode (Files): Add lib/stdio-impl.h.
42702         * modules/fflush (Files): Likewise.
42703         * modules/fpurge (Files): Likewise.
42704         * modules/freadable (Files): Likewise.
42705         * modules/freadahead (Files): Likewise.
42706         * modules/freading (Files): Likewise.
42707         * modules/freadptr (Files): Likewise.
42708         * modules/freadseek (Files): Likewise.
42709         * modules/fseeko (Files): Likewise.
42710         * modules/fseterr (Files): Likewise.
42711         * modules/fwritable (Files): Likewise.
42712         * modules/fwriting (Files): Likewise.
42713
42714 2008-04-26  Bruno Haible  <bruno@clisp.org>
42715
42716         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
42717         restore_seek_optimization, update_fpos_cache): New functions, extracted
42718         from rpl_fflush.
42719         (rpl_fflush): Use them.
42720         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
42721         (gl_REPLACE_FFLUSH): Use it.
42722
42723 2008-04-26  Bruno Haible  <bruno@clisp.org>
42724
42725         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
42726         on Solaris.
42727         * tests/test-xstrtoimax.sh: Likewise.
42728         * tests/test-xstrtoumax.sh: Likewise.
42729         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
42730
42731 2008-04-26  Bruno Haible  <bruno@clisp.org>
42732
42733         * modules/memchr-tests: New file.
42734         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
42735
42736 2008-04-26  Eric Blake  <ebb9@byu.net>
42737             Bruno Haible  <bruno@clisp.org>
42738
42739         * lib/memchr.c: Include intprops.h.
42740         (__memchr): Optimize parallel detection of matching bytes. Rename local
42741         variables. Add explanatory comments.
42742
42743 2008-04-26  Bruno Haible  <bruno@clisp.org>
42744
42745         Fix module 'memchr', broken since 2000-10-28.
42746         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
42747
42748 2008-04-26  Bruno Haible  <bruno@clisp.org>
42749
42750         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
42751         comments.
42752
42753 2008-04-25  Eric Blake  <ebb9@byu.net>
42754
42755         Use native fstatat on cygwin 1.7.0.
42756         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
42757         first.
42758
42759 2008-04-23  Eric Blake  <ebb9@byu.net>
42760
42761         Improve memchr2 performance.
42762         * lib/memchr2.c (memchr2): Further optimize parallel detection of
42763         NUL bytes.
42764         * modules/memchr2 (Depends-on): Use intprops.h.
42765
42766 2008-04-23  Simon Josefsson  <simon@josefsson.org>
42767
42768         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
42769         an inline function instead of a CPP macro.  Patch by Ben Pfaff
42770         <blp@cs.stanford.edu>.
42771
42772 2008-04-23  Simon Josefsson  <simon@josefsson.org>
42773
42774         * lib/arpa_inet.in.h: New file.
42775
42776         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
42777         (Makefile.am): Sed in substitute header file.
42778
42779         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
42780         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
42781
42782         * modules/inet_ntop (configure.ac): Use
42783         gl_ARPA_INET_MODULE_INDICATOR.
42784
42785         * modules/inet_pton (configure.ac): Use
42786         gl_ARPA_INET_MODULE_INDICATOR.
42787
42788 2008-04-22  Jim Meyering  <meyering@redhat.com>
42789
42790         * modules/verify (License): Re-license as LGPLv2+.
42791
42792 2008-04-22  Simon Josefsson  <simon@josefsson.org>
42793
42794         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
42795         parameter to void* as per POSIX standard (MinGW uses char*).
42796
42797 2008-04-21  Bruno Haible  <bruno@clisp.org>
42798
42799         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
42800         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
42801         Define to replacements if REPLACE_ISWCNTRL is 1.
42802         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
42803         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
42804         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
42805         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
42806         what it fixes.
42807         * doc/posix-functions/iswalpha.texi: Likewise.
42808         * doc/posix-functions/iswblank.texi: Likewise.
42809         * doc/posix-functions/iswcntrl.texi: Likewise.
42810         * doc/posix-functions/iswdigit.texi: Likewise.
42811         * doc/posix-functions/iswgraph.texi: Likewise.
42812         * doc/posix-functions/iswlower.texi: Likewise.
42813         * doc/posix-functions/iswprint.texi: Likewise.
42814         * doc/posix-functions/iswpunct.texi: Likewise.
42815         * doc/posix-functions/iswspace.texi: Likewise.
42816         * doc/posix-functions/iswupper.texi: Likewise.
42817         * doc/posix-functions/iswxdigit.texi: Likewise.
42818         Reported by Alain Guibert.
42819
42820 2008-04-21  Bruno Haible  <bruno@clisp.org>
42821
42822         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
42823         Patch by Alain Guibert.
42824
42825 2008-04-21  Bruno Haible  <bruno@clisp.org>
42826
42827         Fix test failures on mingw.
42828         * tests/test-xstrtol.c (print_no_progname): New function.
42829         (main): Install it in error_print_progname hook.
42830         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
42831         * tests/test-xstrtoimax.sh: Likewise.
42832         * tests/test-xstrtoumax.sh: Likewise.
42833
42834 2008-04-21  Bruno Haible  <bruno@clisp.org>
42835
42836         Fix test failure on mingw.
42837         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
42838
42839 2008-04-21  Bruno Haible  <bruno@clisp.org>
42840
42841         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
42842         Actually assign a value.
42843
42844 2008-04-20  Bruno Haible  <bruno@clisp.org>
42845
42846         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
42847         take 2.
42848         * lib/canonicalize.c (canonicalize_file_name): Elide if the
42849         'canonicalize-lgpl' module is also used.
42850         * lib/canonicalize-lgpl.c: Undo last change.
42851         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
42852
42853 2008-04-20  Bruno Haible  <bruno@clisp.org>
42854
42855         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
42856         config.h. Provide _mkdir based fallback for mingw.
42857         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
42858         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
42859         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
42860         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
42861         rather than defining mkdir in config.h.
42862         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
42863         (gl_SYS_STAT_H_DEFAULTS): New macro.
42864         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
42865         HAVE_IO_H any more.
42866         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
42867         HAVE_DECL_MKDIR and HAVE_IO_H.
42868
42869 2008-04-20  Bruno Haible  <bruno@clisp.org>
42870
42871         * lib/isapipe.c: Port to native Windows platforms.
42872
42873 2008-04-20  Bruno Haible  <bruno@clisp.org>
42874
42875         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
42876
42877 2008-04-21  Eric Blake  <ebb9@byu.net>
42878
42879         Work around preprocessors that don't handle UINTMAX_MAX.
42880         * lib/memchr2.c (memchr2): Avoid embedded #if.
42881         Reported by Alain Guibert, fix suggested by Bruno Haible.
42882
42883 2008-04-21  Simon Josefsson  <simon@josefsson.org>
42884
42885         * doc/posix-functions/strftime.texi (strftime): Explain better
42886         Windows incompatibility.  Suggested by Micah Cowan
42887         <micah@cowan.name>.
42888
42889 2008-04-20  Bruno Haible  <bruno@clisp.org>
42890
42891         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
42892         unistr/u8-mblen.
42893
42894 2008-04-20  Bruno Haible  <bruno@clisp.org>
42895
42896         Fix test failure on platforms with non-GNU iconv.
42897         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
42898         (U_TO_U8): Use it, rather than u16_to_u8.
42899         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
42900         units at the end of the input string.
42901         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
42902
42903 2008-04-20  Bruno Haible  <bruno@clisp.org>
42904
42905         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
42906         when the resulting length is 0.
42907         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
42908
42909 2008-04-20  Bruno Haible  <bruno@clisp.org>
42910
42911         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
42912         works.
42913         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
42914
42915 2008-04-20  Bruno Haible  <bruno@clisp.org>
42916
42917         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
42918         * modules/tsearch-tests (configure.ac): Test for initstate function.
42919
42920 2008-04-20  Bruno Haible  <bruno@clisp.org>
42921
42922         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
42923         for nlink_t if missing.
42924         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
42925
42926 2008-04-19  Bruno Haible  <bruno@clisp.org>
42927
42928         Work around snprintf bug on Linux libc5.
42929         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
42930         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
42931         gl_SNPRINTF_SIZE1.
42932         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
42933         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
42934         that test failed.
42935         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
42936         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
42937         * modules/snprintf (Files): Add m4/printf.m4.
42938         * modules/vsnprintf (Files): Likewise.
42939         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
42940         * doc/posix-functions/vsnprintf.texi: Likewise.
42941
42942 2008-04-19  Bruno Haible  <bruno@clisp.org>
42943
42944         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
42945         from 0.0058 to less than 10^-7.
42946
42947 2008-04-19  Bruno Haible  <bruno@clisp.org>
42948
42949         Fix rounding when a precision is given.
42950         * lib/vasnprintf.c (is_borderline): New function.
42951         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
42952         9...9x.
42953         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
42954         %e, %g.
42955         * tests/test-vasprintf-posix.c (test_function): Likewise.
42956         * tests/test-snprintf-posix.h (test_function): Likewise.
42957         * tests/test-sprintf-posix.h (test_function): Likewise.
42958         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
42959         * tests/test-printf-posix.h (test_function): Likewise.
42960         * tests/test-printf-posix.output: Update.
42961         Reported by John Darrington <john@darrington.wattle.id.au> via
42962         Ben Pfaff <blp@cs.stanford.edu>.
42963
42964 2008-04-18  Simon Josefsson  <simon@josefsson.org>
42965
42966         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
42967         Suggested by Bruno Haible <bruno@clisp.org>.
42968
42969 2008-04-17  Bruno Haible  <bruno@clisp.org>
42970
42971         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
42972         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
42973         implementation.
42974         Patch by Bruce Merry <bmerry@gmail.com>.
42975
42976 2008-04-17  Simon Josefsson  <simon@josefsson.org>
42977
42978         * doc/posix-functions/strftime.texi (strftime): Mention that %e
42979         doesn't work under Windows.
42980
42981 2008-04-16  Bruno Haible  <bruno@clisp.org>
42982
42983         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
42984         New macros.
42985         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
42986         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
42987         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
42988         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
42989         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
42990         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
42991         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
42992         macros.
42993         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
42994         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
42995         Northern Sotho, Uighur.
42996
42997 2008-04-16  Bruno Haible  <bruno@clisp.org>
42998
42999         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
43000         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
43001         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
43002         Reported by Daniel Bergström <daniel@octocode.com>.
43003
43004 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
43005             Bruno Haible  <bruno@clisp.org>
43006
43007         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
43008         function.
43009         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
43010         New functions, mostly extracted from gl_locale_name_default.
43011         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
43012
43013 2008-04-16  Eric Blake  <ebb9@byu.net>
43014
43015         Adjust strtod detection to catch glibc 2.7 bug.
43016         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
43017         Reported by John Gatewood Ham.
43018
43019 2008-04-16  Bruno Haible  <bruno@clisp.org>
43020
43021         Add tentative support for Linux libc5.
43022         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
43023         * lib/fpurge.c (fpurge): Likewise.
43024         * lib/freadable.c (freadable): Likewise.
43025         * lib/freadahead.c (freadahead): Likewise.
43026         * lib/freading.c (freading): Likewise.
43027         * lib/freadptr.c (freadptr): Likewise.
43028         * lib/freadseek.c (freadptrinc): Likewise.
43029         * lib/fseeko.c (rpl_fseeko): Likewise.
43030         * lib/fseterr.c (fseterr): Likewise.
43031         * lib/fwritable.c (fwritable): Likewise.
43032         * lib/fwriting.c (fwriting): Likewise.
43033         Reported by Alain Guibert <alguibert+bts@free.fr>.
43034
43035 2008-04-15  Bruno Haible  <bruno@clisp.org>
43036
43037         * modules/mathl (configure.ac): Define module indicator.
43038
43039 2008-04-15  Bruno Haible  <bruno@clisp.org>
43040
43041         * lib/logl.c (logl): Remove unused variables.
43042
43043 2008-04-15  Bruno Haible  <bruno@clisp.org>
43044
43045         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
43046         fails.
43047
43048 2008-04-15  Bruno Haible  <bruno@clisp.org>
43049
43050         * lib/trim.c (trim2): Fix argument of isspace() macro.
43051
43052 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
43053
43054         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
43055         to 0.
43056         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
43057
43058 2008-04-14  Bruno Haible  <bruno@clisp.org>
43059
43060         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
43061         AC_LANG_PROGRAM argument.
43062         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
43063         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
43064         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
43065         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
43066         * m4/math_h.m4 (gl_MATH_H): Likewise.
43067         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
43068         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
43069         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
43070         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
43071         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
43072         * m4/regex.m4 (gl_REGEX): Likewise.
43073         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
43074         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
43075         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
43076         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
43077         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
43078         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
43079         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
43080         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
43081
43082 2008-04-14  Jim Meyering  <meyering@redhat.com>
43083
43084         test-strtod: fix typos: s/abs/fabs/
43085         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
43086
43087 2008-04-13  Bruno Haible  <bruno@clisp.org>
43088
43089         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
43090         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
43091         module is also used and while not building the reloc-wrapper.
43092
43093 2008-04-13  Bruno Haible  <bruno@clisp.org>
43094
43095         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
43096
43097 2008-04-13  Bruno Haible  <bruno@clisp.org>
43098
43099         Fix AIX compilation failure introduced on 2008-04-02.
43100         * tests/test-frexp.c (exp): Undefine before redefining.
43101         * tests/test-frexpl.c (exp): Likewise.
43102
43103 2008-04-13  Bruno Haible  <bruno@clisp.org>
43104
43105         Work around a HP-UX stdio bug.
43106         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
43107         * tests/test-ftello.c (main): Likewise.
43108         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
43109         * doc/posix-functions/ftello.texi: Likewise.
43110
43111 2008-04-13  Bruno Haible  <bruno@clisp.org>
43112
43113         Make test-signbit pass on HP-UX/hppa.
43114         * tests/test-signbit.c (minus_zerol): New variable.
43115         (test_signbitl): Use it.
43116
43117 2008-04-13  Bruno Haible  <bruno@clisp.org>
43118
43119         Make truncl work on OSF/1 4.0.
43120         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
43121         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
43122         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
43123         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
43124         HAVE_DECL_TRUNCL.
43125         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
43126         HAVE_DECL_TRUNCL.
43127         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
43128
43129 2008-04-13  Bruno Haible  <bruno@clisp.org>
43130
43131         * lib/unictype.h: Remove trailing comma from enumeration definitions.
43132
43133 2008-04-13  Bruno Haible  <bruno@clisp.org>
43134
43135         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
43136         expression, so as to avoid HP-UX 11 cc compiler bug.
43137
43138 2008-04-13  Bruno Haible  <bruno@clisp.org>
43139
43140         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
43141
43142 2008-04-13  Bruno Haible  <bruno@clisp.org>
43143
43144         * lib/git-merge-changelog.c: Remove empty declaration outside of
43145         functions.
43146
43147 2008-04-13  Bruno Haible  <bruno@clisp.org>
43148
43149         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
43150
43151 2008-04-13  Bruno Haible  <bruno@clisp.org>
43152
43153         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
43154         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
43155         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
43156         also if it exists but lacks definitions of the SHUT_* macros.
43157         * modules/sys_socket (Description): Update.
43158         Reported by Elbert Pol <e.pol@chello.nl>.
43159
43160 2008-04-13  Bruno Haible  <bruno@clisp.org>
43161
43162         * lib/localcharset.c (OS2): Don't redefine if already defined.
43163         Reported by Elbert Pol <e.pol@chello.nl>.
43164
43165 2008-04-13  Bruno Haible  <bruno@clisp.org>
43166
43167         * lib/binary-io.h [__EMX__]: Include <io.h>.
43168         Reported by Elbert Pol <e.pol@chello.nl>.
43169
43170 2008-04-12  Bruno Haible  <bruno@clisp.org>
43171
43172         * lib/fpucw.h: Enable the definitions also for x86_64.
43173         Needed for NetBSD/x86_64.
43174         Reported by Thomas Klausner <tk@giga.or.at>.
43175
43176 2008-04-12  Bruno Haible  <bruno@clisp.org>
43177
43178         * tests/test-strtod.c: Include isnand.h.
43179         (main): Use isnand instead of isnan.
43180         Reported by Jim Meyering.
43181
43182 2008-04-12  Bruno Haible  <bruno@clisp.org>
43183
43184         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
43185         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
43186
43187 2008-04-12  Jim Meyering  <meyering@redhat.com>
43188
43189         * m4/math_h.m4 (gl_MATH_H): Fix typos.
43190
43191 2008-04-12  Bruno Haible  <bruno@clisp.org>
43192
43193         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
43194         Reported by Elbert Pol <e.pol@chello.nl>.
43195
43196 2008-04-12  Eric Blake  <ebb9@byu.net>
43197
43198         Work around Solaris 10 math.h bug.
43199         * m4/math_h.m4 (gl_MATH_H): Check for bug.
43200         (gl_MATH_H_DEFAULTS): Set up default.
43201         * modules/math (Makefile.am): Replace new indicators.
43202         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
43203         * tests/test-math.c (main): Test this.
43204         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
43205         * doc/posix-headers/math.texi (math.h): Mention bug.
43206         Reported by Nelson H. F. Beebe and Jim Meyering.
43207
43208 2008-04-11  Bruno Haible  <bruno@clisp.org>
43209
43210         Adapt to future versions of Apple GCC.
43211         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
43212         Reported by Peter O'Gorman <peter@pogma.com>.
43213
43214 2008-04-11  Bruno Haible  <bruno@clisp.org>
43215
43216         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
43217
43218 2008-04-11  Bruno Haible  <bruno@clisp.org>
43219
43220         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
43221
43222         * modules/getaddrinfo-tests (Makefile.am): Define
43223         test_getaddrinfo_LDADD.
43224
43225 2008-04-11  Bruno Haible  <bruno@clisp.org>
43226
43227         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
43228         (init): Fix syntax error.
43229         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
43230         is declared.
43231
43232 2008-04-11  Bruno Haible  <bruno@clisp.org>
43233
43234         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
43235         * modules/glob (Depends-on): Add stdbool.
43236
43237 2008-04-11  Bruno Haible  <bruno@clisp.org>
43238
43239         * lib/trim.c: Include <string.h>.
43240
43241 2008-04-11  Eric Blake  <ebb9@byu.net>
43242
43243         Avoid compile failure on OS/2.
43244         * lib/regex_internal.h (internal_function): Disable optimization
43245         on OS/2 (__EMX__), where it caused compiler error.
43246         Reported by Elbert Pol.
43247
43248 2008-04-11  Bruno Haible  <bruno@clisp.org>
43249
43250         Flush the standard error stream before aborting. Needed on mingw.
43251         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
43252         * tests/test-array_list.c (ASSERT): Likewise.
43253         * tests/test-array_oset.c (ASSERT): Likewise.
43254         * tests/test-avltree_list.c (ASSERT): Likewise.
43255         * tests/test-avltree_oset.c (ASSERT): Likewise.
43256         * tests/test-avltreehash_list.c (ASSERT): Likewise.
43257         * tests/test-binary-io.c (ASSERT): Likewise.
43258         * tests/test-byteswap.c (ASSERT): Likewise.
43259         * tests/test-c-ctype.c (ASSERT): Likewise.
43260         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
43261         * tests/test-c-strcasestr.c (ASSERT): Likewise.
43262         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
43263         * tests/test-c-strstr.c (ASSERT): Likewise.
43264         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
43265         * tests/test-canonicalize.c (ASSERT): Likewise.
43266         * tests/test-carray_list.c (ASSERT): Likewise.
43267         * tests/test-ceilf1.c (ASSERT): Likewise.
43268         * tests/test-ceilf2.c (ASSERT): Likewise.
43269         * tests/test-ceill.c (ASSERT): Likewise.
43270         * tests/test-count-one-bits.c (ASSERT): Likewise.
43271         * tests/test-fbufmode.c (ASSERT): Likewise.
43272         * tests/test-fflush2.c (ASSERT): Likewise.
43273         * tests/test-floorf1.c (ASSERT): Likewise.
43274         * tests/test-floorf2.c (ASSERT): Likewise.
43275         * tests/test-floorl.c (ASSERT): Likewise.
43276         * tests/test-fopen.c (ASSERT): Likewise.
43277         * tests/test-fpending.c (ASSERT): Likewise.
43278         * tests/test-fprintf-posix.c (ASSERT): Likewise.
43279         * tests/test-fpurge.c (ASSERT): Likewise.
43280         * tests/test-freadable.c (ASSERT): Likewise.
43281         * tests/test-freadahead.c (ASSERT): Likewise.
43282         * tests/test-freading.c (ASSERT): Likewise.
43283         * tests/test-freadptr.c (ASSERT): Likewise.
43284         * tests/test-freadptr2.c (ASSERT): Likewise.
43285         * tests/test-freadseek.c (ASSERT): Likewise.
43286         * tests/test-freopen.c (ASSERT): Likewise.
43287         * tests/test-frexp.c (ASSERT): Likewise.
43288         * tests/test-frexpl.c (ASSERT): Likewise.
43289         * tests/test-fseek.c (ASSERT): Likewise.
43290         * tests/test-fseeko.c (ASSERT): Likewise.
43291         * tests/test-fstrcmp.c (ASSERT): Likewise.
43292         * tests/test-ftell.c (ASSERT): Likewise.
43293         * tests/test-ftello.c (ASSERT): Likewise.
43294         * tests/test-func.c (ASSERT): Likewise.
43295         * tests/test-fwritable.c (ASSERT): Likewise.
43296         * tests/test-fwriting.c (ASSERT): Likewise.
43297         * tests/test-getdelim.c (ASSERT): Likewise.
43298         * tests/test-getline.c (ASSERT): Likewise.
43299         * tests/test-i-ring.c (ASSERT): Likewise.
43300         * tests/test-iconv-utf.c (ASSERT): Likewise.
43301         * tests/test-iconv.c (ASSERT): Likewise.
43302         * tests/test-isfinite.c (ASSERT): Likewise.
43303         * tests/test-isnand.c (ASSERT): Likewise.
43304         * tests/test-isnanf.c (ASSERT): Likewise.
43305         * tests/test-isnanl.h (ASSERT): Likewise.
43306         * tests/test-ldexpl.c (ASSERT): Likewise.
43307         * tests/test-linked_list.c (ASSERT): Likewise.
43308         * tests/test-linkedhash_list.c (ASSERT): Likewise.
43309         * tests/test-localename.c (ASSERT): Likewise.
43310         * tests/test-lseek.c (ASSERT): Likewise.
43311         * tests/test-mbscasecmp.c (ASSERT): Likewise.
43312         * tests/test-mbscasestr1.c (ASSERT): Likewise.
43313         * tests/test-mbscasestr2.c (ASSERT): Likewise.
43314         * tests/test-mbscasestr3.c (ASSERT): Likewise.
43315         * tests/test-mbscasestr4.c (ASSERT): Likewise.
43316         * tests/test-mbschr.c (ASSERT): Likewise.
43317         * tests/test-mbscspn.c (ASSERT): Likewise.
43318         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
43319         * tests/test-mbspbrk.c (ASSERT): Likewise.
43320         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
43321         * tests/test-mbsrchr.c (ASSERT): Likewise.
43322         * tests/test-mbsspn.c (ASSERT): Likewise.
43323         * tests/test-mbsstr1.c (ASSERT): Likewise.
43324         * tests/test-mbsstr2.c (ASSERT): Likewise.
43325         * tests/test-mbsstr3.c (ASSERT): Likewise.
43326         * tests/test-memchr2.c (ASSERT): Likewise.
43327         * tests/test-memmem.c (ASSERT): Likewise.
43328         * tests/test-open.c (ASSERT): Likewise.
43329         * tests/test-printf-frexp.c (ASSERT): Likewise.
43330         * tests/test-printf-frexpl.c (ASSERT): Likewise.
43331         * tests/test-printf-posix.c (ASSERT): Likewise.
43332         * tests/test-quotearg.c (ASSERT): Likewise.
43333         * tests/test-rbtree_list.c (ASSERT): Likewise.
43334         * tests/test-rbtree_oset.c (ASSERT): Likewise.
43335         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
43336         * tests/test-round1.c (ASSERT): Likewise.
43337         * tests/test-roundf1.c (ASSERT): Likewise.
43338         * tests/test-roundl.c (ASSERT): Likewise.
43339         * tests/test-signbit.c (ASSERT): Likewise.
43340         * tests/test-sleep.c (ASSERT): Likewise.
43341         * tests/test-snprintf-posix.c (ASSERT): Likewise.
43342         * tests/test-snprintf.c (ASSERT): Likewise.
43343         * tests/test-sprintf-posix.c (ASSERT): Likewise.
43344         * tests/test-stat-time.c (ASSERT): Likewise.
43345         * tests/test-strcasestr.c (ASSERT): Likewise.
43346         * tests/test-strerror.c (ASSERT): Likewise.
43347         * tests/test-striconv.c (ASSERT): Likewise.
43348         * tests/test-striconveh.c (ASSERT): Likewise.
43349         * tests/test-striconveha.c (ASSERT): Likewise.
43350         * tests/test-strsignal.c (ASSERT): Likewise.
43351         * tests/test-strstr.c (ASSERT): Likewise.
43352         * tests/test-strtod.c (ASSERT): Likewise.
43353         * tests/test-trunc1.c (ASSERT): Likewise.
43354         * tests/test-trunc2.c (ASSERT): Likewise.
43355         * tests/test-truncf1.c (ASSERT): Likewise.
43356         * tests/test-truncf2.c (ASSERT): Likewise.
43357         * tests/test-truncl.c (ASSERT): Likewise.
43358         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
43359         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
43360         * tests/test-vasnprintf.c (ASSERT): Likewise.
43361         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
43362         * tests/test-vasprintf.c (ASSERT): Likewise.
43363         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
43364         * tests/test-vprintf-posix.c (ASSERT): Likewise.
43365         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
43366         * tests/test-vsnprintf.c (ASSERT): Likewise.
43367         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
43368         * tests/test-wcwidth.c (ASSERT): Likewise.
43369         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
43370         * tests/test-xprintf-posix.c (ASSERT): Likewise.
43371         * tests/test-xvasprintf.c (ASSERT): Likewise.
43372         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
43373         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
43374         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
43375         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
43376         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
43377         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
43378         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
43379         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
43380         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
43381         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
43382         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
43383         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
43384         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
43385         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
43386         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
43387         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
43388         * tests/unictype/test-block_list.c (ASSERT): Likewise.
43389         * tests/unictype/test-block_of.c (ASSERT): Likewise.
43390         * tests/unictype/test-block_test.c (ASSERT): Likewise.
43391         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
43392         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
43393         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
43394         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
43395         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
43396         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
43397         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
43398         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
43399         * tests/unictype/test-combining.c (ASSERT): Likewise.
43400         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
43401         * tests/unictype/test-digit.c (ASSERT): Likewise.
43402         * tests/unictype/test-mirror.c (ASSERT): Likewise.
43403         * tests/unictype/test-numeric.c (ASSERT): Likewise.
43404         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
43405         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
43406         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
43407         * tests/unictype/test-scripts.c (ASSERT): Likewise.
43408         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
43409         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
43410         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
43411         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
43412         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
43413         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
43414         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
43415         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
43416         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
43417         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
43418         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
43419         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
43420         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
43421         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
43422         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
43423         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
43424         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
43425         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
43426         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
43427         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
43428         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
43429         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
43430         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
43431         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
43432         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
43433         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
43434         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
43435         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
43436         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
43437         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
43438         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
43439         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
43440         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
43441         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
43442         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
43443         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
43444         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
43445         Reported by Eric Blake.
43446
43447 2008-04-11  Bruno Haible  <bruno@clisp.org>
43448
43449         * lib/wchar.in.h: Tweak comment.
43450
43451 2008-04-11  Bruno Haible  <bruno@clisp.org>
43452
43453         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
43454         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
43455         gl_COMMON.
43456         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
43457
43458 2008-04-11  Bruno Haible  <bruno@clisp.org>
43459
43460         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
43461
43462 2008-04-11  Simon Josefsson  <simon@josefsson.org>
43463
43464         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
43465         of attempting to use non-existing /dev/*random.  Based on patch
43466         from Adam Strzelecki <ono@java.pl> in
43467         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
43468
43469 2008-04-08  Bruno Haible  <bruno@clisp.org>
43470
43471         Add tentative support for emx+gcc.
43472         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
43473         * lib/fpurge.c (fpurge): Likewise.
43474         * lib/freadable.c (freadable): Likewise.
43475         * lib/freadahead.c (freadahead): Likewise.
43476         * lib/freading.c (freading): Likewise.
43477         * lib/freadptr.c (freadptr): Likewise.
43478         * lib/freadseek.c (freadptrinc): Likewise.
43479         * lib/fseeko.c (rpl_fseeko): Likewise.
43480         * lib/fseterr.c (fseterr): Likewise.
43481         * lib/fwritable.c (fwritable): Likewise.
43482         * lib/fwriting.c (fwriting): Likewise.
43483         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
43484
43485 2008-04-09  Eric Blake  <ebb9@byu.net>
43486
43487         Avoid some autoconf warnings.
43488         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
43489         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
43490         * m4/afs.m4 (gl_AFS): Likewise.
43491         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
43492         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
43493         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
43494         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
43495         (gl_INTEGER_TYPE_SUFFIX): Likewise.
43496         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
43497         (AC_CHECK_DECLS_ONCE): Likewise.
43498         Rename file...
43499         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
43500         gnulib-tool requires autoconf 2.59 or better.
43501         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
43502
43503 2008-04-08  Eric Blake  <ebb9@byu.net>
43504
43505         Use 'git describe --match' if present (added in git 1.5.5).
43506         * build-aux/git-version-gen: Limit result to tags that match 'v*'
43507         if possible.
43508
43509 2008-04-08  Bruno Haible  <bruno@clisp.org>
43510
43511         Add tentative support for OpenServer.
43512         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
43513         _ptr, _cnt.
43514         * lib/fpurge.c (fpurge): Likewise.
43515         * lib/freadable.c (freadable): Likewise.
43516         * lib/freadahead.c (freadahead): Likewise.
43517         * lib/freading.c (freading): Likewise.
43518         * lib/freadptr.c (freadptr): Likewise.
43519         * lib/freadseek.c (freadptrinc): Likewise.
43520         * lib/fseeko.c (rpl_fseeko): Likewise.
43521         * lib/fseterr.c (fseterr): Likewise.
43522         * lib/fwritable.c (fwritable): Likewise.
43523         * lib/fwriting.c (fwriting): Likewise.
43524         Reported by Roger Cornelius <rac@tenzing.org> and
43525         Brian K. White <brian@aljex.com>.
43526
43527 2008-04-06  Jim Meyering  <meyering@redhat.com>
43528
43529         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
43530
43531 2008-04-06  Bruno Haible  <bruno@clisp.org>
43532
43533         Avoid possible error with non-ASCII bytes in UTF-8 locales.
43534         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
43535         * tests/test-printf-posix.sh: Likewise.
43536         * tests/test-vfprintf-posix.sh: Likewise.
43537         * tests/test-vprintf-posix.sh: Likewise.
43538         * tests/test-xprintf-posix.sh: Likewise.
43539
43540 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43541
43542         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
43543         hide error from 'ls', needed on OS/2.
43544         Report by Elbert Pol <elbert.pol@gmail.com>.
43545
43546 2008-04-04  Eric Blake  <ebb9@byu.net>
43547
43548         Make test-fseeko.c failures meaningful.
43549         * tests/test-fseeko.c: Print line number on failure.
43550         * tests/test-fseek.c: Likewise.
43551         Reported by Nelson H. F. Beebe.
43552
43553         Improve strtod bug detection check.
43554         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
43555         required for Solaris 10.
43556         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
43557
43558 2008-04-04  Bruno Haible  <bruno@clisp.org>
43559
43560         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
43561         by m4/setenv.m4.
43562
43563 2008-04-03  Eric Blake  <ebb9@byu.net>
43564
43565         Ensure sane .version contents.
43566         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
43567         version string.
43568         * build-aux/git-version-gen: Improve documentation.
43569
43570         Make GNU make output nicer.
43571         * top/GNUmakefile [!_have-Makefile]: Add dependency on
43572         MAKECMDGOALS to enforce message for all command line targets.  Set
43573         srcdir for use in maint.mk.
43574
43575         Another maintainer tweak.
43576         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
43577         a target that regenerates version.
43578
43579 2008-04-03  Jim Meyering  <meyering@redhat.com>
43580
43581         vc-list-files: don't cause coreutils "make po-check" failure
43582         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
43583
43584 2008-04-03  Eric Blake  <ebb9@byu.net>
43585
43586         Allow VPATH usage of vc-list-files.
43587         * build-aux/vc-list-files (scriptversion): Add timestamp.
43588         (options): Add --help, --version, -C.
43589         (CVS): Support installed cvsu.
43590
43591 2008-04-02  Bruno Haible  <bruno@clisp.org>
43592
43593         Avoid some "statement with no effect" warnings from gcc.
43594         * tests/test-wctype.c (main): Explicitly ignore unused values.
43595         Reported by Jim Meyering.
43596
43597 2008-04-02  Jim Meyering  <meyering@redhat.com>
43598
43599         Avoid some warnings from "gcc -Wshadow".
43600         * tests/test-frexp.c (exp): Define to a different identifier.
43601         * tests/test-frexpl.c (exp): Likewise.
43602
43603 2008-04-03  Jim Meyering  <meyering@redhat.com>
43604
43605         bootstrap: remove dangling *.[ch] symlinks from lib
43606         * build-aux/bootstrap [dangling symlink removal]: Move find's
43607         -depth option to precede all others, to avoid a warning.
43608         Remove *.[ch] files too, and from "$source_base" (usually lib/).
43609
43610 2008-04-02  Bruno Haible  <bruno@clisp.org>
43611
43612         Avoid some warnings from "gcc -Wshadow".
43613         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
43614         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
43615         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
43616         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
43617         Reported by Jim Meyering.
43618
43619 2008-04-01  Bruno Haible  <bruno@clisp.org>
43620
43621         Fix test to work on IRIX 6.5 with cc.
43622         * tests/test-math.c (numeric_equal): New function.
43623         (main): Use it.
43624
43625 2008-04-01  Bruno Haible  <bruno@clisp.org>
43626
43627         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
43628
43629 2008-04-01  Bruno Haible  <bruno@clisp.org>
43630
43631         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
43632         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
43633         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
43634         (Depends-on): Remove math.
43635
43636         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
43637         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
43638         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
43639         (Depends-on): Remove math.
43640
43641         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
43642         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
43643         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
43644         (Depends-on): Remove math.
43645         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
43646         (Depends-on): Remove math.
43647
43648         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
43649         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
43650         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
43651         (Depends-on): Remove math.
43652         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
43653         (Depends-on): Remove math.
43654
43655         * tests/test-round1.c: Include nan.h.
43656         (main): Use NaNd instead of NAN.
43657         * modules/round-tests (Files): Add tests/nan.h.
43658
43659         * tests/test-trunc1.c: Include nan.h.
43660         (main): Use NaNd instead of NAN.
43661         * modules/trunc-tests (Files): Add tests/nan.h.
43662
43663         * tests/test-roundf1.c: Include nan.h.
43664         (main): Use NaNf instead of NAN.
43665         * modules/roundf-tests (Files): Add tests/nan.h.
43666
43667         * tests/test-truncf1.c: Include nan.h.
43668         (main): Use NaNf instead of NAN.
43669         * modules/truncf-tests (Files): Add tests/nan.h.
43670
43671         * tests/test-ceilf1.c: Include nan.h.
43672         (main): Use NaNf instead of NAN.
43673         * modules/ceilf-tests (Files): Add tests/nan.h.
43674
43675         * tests/test-floorf1.c: Include nan.h.
43676         (main): Use NaNf instead of NAN.
43677         * modules/floorf-tests (Files): Add tests/nan.h.
43678
43679         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
43680         (main): Use NaNf instead of NAN.
43681         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
43682
43683         * tests/test-isnand.c: Include nan.h instead of <math.h>.
43684         (main): Use NaNd instead of NAN.
43685         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
43686
43687         * tests/test-frexp.c: Include nan.h.
43688         (main): Use NaNd instead of NAN.
43689         * modules/frexp-tests (Files): Add tests/nan.h.
43690
43691         * lib/isnan.c: Don't include <math.h>.
43692         (FUNC): Don't use NAN macro.
43693         * modules/isnand-nolibm (Depends-on): Remove math.
43694         * modules/isnanf-nolibm (Depends-on): Remove math.
43695         * modules/isnanl (Depends-on): Remove math.
43696         * modules/isnanl-nolibm (Depends-on): Remove math.
43697
43698         * tests/nan.h: New file.
43699
43700 2008-04-01  Eric Blake  <ebb9@byu.net>
43701
43702         Fix typos.
43703         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
43704         values to be the right type.
43705
43706         For now, cater to gnulib strtod inaccuracies.
43707         * tests/test-strtod.c (main): Allow 1-ulp error on expected
43708         fractional results.  While not as nice from a QoI perspective, it
43709         is a quicker patch than correctly implementing decimal to binary
43710         rounding.
43711
43712 2008-03-31  Eric Blake  <ebb9@byu.net>
43713
43714         Guarantee a definition of NAN.
43715         * lib/math.in.h (NAN): Define if missing.
43716         * tests/test-math.c (main): Test it.
43717         * doc/posix-headers/math.texi (math.h): Document this.
43718         * lib/isnan.c (rpl_isnand): Use it.
43719         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
43720         * tests/test-floorf1.c (NaN): Likewise.
43721         * tests/test-frexp.c (NaN): Likewise.
43722         * tests/test-isnand.c (NaN): Likewise.
43723         * tests/test-isnanf.c (NaN): Likewise.
43724         * tests/test-round1.c (NaN): Likewise.
43725         * tests/test-roundf1.c (NaN): Likewise.
43726         * tests/test-snprintf-posix.h (NaN): Likewise.
43727         * tests/test-sprintf-posix.h (NaN): Likewise.
43728         * tests/test-trunc1.c (NaN): Likewise.
43729         * tests/test-truncf1.c (NaN): Likewise.
43730         * tests/test-vasnprintf-posix.c (NaN): Likewise.
43731         * tests/test-vasprintf-posix.c (NaN): Likewise.
43732         * modules/isnand-nolibm (Depends-on): Add math.
43733         * modules/isnanf-nolibm (Depends-on): Likewise.
43734         * modules/isnanl (Depends-on): Likewise.
43735         * modules/isnanl-nolibm (Depends-on): Likewise.
43736         * modules/snprintf-posix-tests (Depends-on): Likewise.
43737         * modules/sprintf-posix-tests (Depends-on): Likewise.
43738         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
43739         * modules/vsprintf-posix-tests (Depends-on): Likewise.
43740         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
43741         * modules/vasprintf-posix-tests (Depends-on): Likewise.
43742
43743 2008-03-31  Bruno Haible  <bruno@clisp.org>
43744
43745         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
43746         * doc/posix-functions/strtod.texi: Likewise.
43747
43748 2008-03-31  Bruno Haible  <bruno@clisp.org>
43749
43750         * tests/test-strtod.c (main): Don't use C99 syntax.
43751
43752 2008-03-31  Bruno Haible  <bruno@clisp.org>
43753
43754         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
43755         Reported by Eric Blake.
43756
43757 2008-03-31  Jim Meyering  <meyering@redhat.com>
43758
43759         Don't compare actual signbit return values.
43760         * tests/test-strtod.c (main): Rather, compare only their
43761         zero/non-zero nature.
43762
43763 2008-03-31  Eric Blake  <ebb9@byu.net>
43764
43765         More strtod documentation.
43766         * doc/posix-functions/strtod.texi (strtod): Interpret more test
43767         failures as distinct bugs.
43768
43769 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
43770
43771         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
43772         Problem reported by Erik Benada in
43773         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
43774
43775 2008-03-30  Bruno Haible  <bruno@clisp.org>
43776
43777         * tests/test-strtod.c: Add comments about which assertion fails on which
43778         platform.
43779         * doc/posix-functions/strtod.texi: Add info about many more platforms.
43780
43781 2008-03-30  Eric Blake  <ebb9@byu.net>
43782
43783         Test signbit behavior on zeros.
43784         * tests/test-signbit.c (test_signbitf): Add tests for zero.
43785         (test_signbitd, test_signbitl): Likewise.
43786
43787         More strtod touchups.
43788         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
43789         sign of negative underflow, for now.  Use .5, not .1.
43790         * doc/posix-functions/strtod.texi (strtod): Mention these
43791         limitations.
43792         Reported by Jim Meyering.
43793
43794 2008-03-30  Bruno Haible  <bruno@clisp.org>
43795
43796         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
43797         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
43798
43799 2008-03-30  Bruno Haible  <bruno@clisp.org>
43800
43801         Avoid failure when attempting to return empty iconv results on some
43802         platforms.
43803         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
43804         allocation, don't report ENOMEM when the resulting string is empty.
43805
43806 2008-03-30  Bruno Haible  <bruno@clisp.org>
43807
43808         Fix buffer overrun.
43809         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
43810         Don't consider the width for tmp_length. Check count against tmp_length
43811         before doing the padding. Ensure enough allocation during padding.
43812
43813 2008-03-30  Eric Blake  <ebb9@byu.net>
43814
43815         strtod touchups.
43816         * lib/strtod.c (strtod): Avoid compiler warnings.
43817         Reported by Jim Meyering.
43818
43819 2008-03-30  Bruno Haible  <bruno@clisp.org>
43820
43821         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
43822         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
43823         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
43824         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
43825         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
43826         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
43827         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
43828         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
43829
43830         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
43831         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
43832         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
43833         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
43834         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
43835         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
43836         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
43837         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
43838
43839         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
43840         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
43841         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
43842         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
43843         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
43844         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
43845         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
43846         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
43847
43848         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
43849         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
43850
43851         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
43852         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
43853
43854         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
43855         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
43856
43857         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
43858         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
43859         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
43860
43861         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
43862         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
43863         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
43864
43865         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
43866         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
43867         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
43868
43869         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
43870         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
43871         * modules/vasprintf (Depends-on): Add EOVERFLOW.
43872
43873         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
43874         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
43875         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
43876         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
43877         (Depends-on): Add EOVERFLOW.
43878         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
43879         (Depends-on): Add EOVERFLOW.
43880         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
43881         (Depends-on): Add EOVERFLOW.
43882         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
43883         (Depends-on): Add EOVERFLOW.
43884         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
43885         (Depends-on): Add EOVERFLOW.
43886         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
43887         (Depends-on): Add EOVERFLOW.
43888         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
43889         (Depends-on): Add EOVERFLOW.
43890         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
43891         (Depends-on): Add EOVERFLOW.
43892
43893         * lib/sprintf.c (EOVERFLOW): Remove fallback.
43894         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
43895         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
43896
43897         * lib/snprintf.c (EOVERFLOW): Remove fallback.
43898         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
43899         * modules/snprintf (Depends-on): Add EOVERFLOW.
43900
43901         * lib/poll.c (EOVERFLOW): Remove fallback.
43902         * modules/poll (Depends-on): Add EOVERFLOW.
43903
43904         * lib/getugroups.c (EOVERFLOW): Remove fallback.
43905         * modules/getugroups (Depends-on): Add EOVERFLOW.
43906
43907         * lib/getdelim.c (EOVERFLOW): Remove fallback.
43908         * modules/getdelim (Depends-on): Add EOVERFLOW.
43909
43910         * lib/ftell.c (EOVERFLOW): Remove fallback.
43911         * modules/ftell (Depends-on): Add EOVERFLOW.
43912
43913         * lib/fprintf.c (EOVERFLOW): Remove fallback.
43914         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
43915         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
43916
43917         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
43918
43919         * modules/EOVERFLOW-tests: New file.
43920         * tests/test-EOVERFLOW.c: New file.
43921
43922         * modules/EOVERFLOW: New file.
43923         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
43924
43925 2008-03-30  Bruno Haible  <bruno@clisp.org>
43926
43927         Fix bug introduced on 2007-06-10.
43928         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
43929         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
43930
43931 2008-03-30  Bruno Haible  <bruno@clisp.org>
43932
43933         Improve freadseek's efficiency after ungetc.
43934         * lib/freadseek.c: Include freadahead.h.
43935         (freadptrinc): New function, extracted from freadseek.
43936         (freadseek): Use it in a loop. Use freadahead to determine the number
43937         of loop iterations.
43938         * modules/freadseek (Depends-on): Add freadahead.
43939         (configure.ac): Require AC_C_INLINE.
43940
43941 2008-03-30  Bruno Haible  <bruno@clisp.org>
43942
43943         * lib/freadseek.c (freadseek): Don't ignore the return value of
43944         freadptr.
43945
43946 2008-03-29  Eric Blake  <ebb9@byu.net>
43947
43948         Add hex float support.
43949         * modules/strtod (Depends-on): Add c-ctype.
43950         (Link): Mention POW_LIB.
43951         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
43952         whitespace between 'e' and exponent.
43953         * tests/test-strtod.c (main): Enable hex float tests.
43954         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
43955         now provides.
43956
43957         Document various strtod bugs, with some fixes.
43958         * doc/posix-functions/strtod.texi (strtod): Document bugs with
43959         "-0x", "inf", "nan", and hex constants.
43960         * doc/posix-functions/atof.texi (atof): Likewise.
43961         * modules/stdlib (Makefile.am): Support strtod.
43962         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
43963         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
43964         detect additional strtod bugs.
43965         * lib/stdlib.in.h (rpl_strtod): Add declarations.
43966         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
43967         bool where appropriate.  Parse 'inf' and 'nan'.
43968         * tests/test-strtod.c: New file.
43969         * modules/strtod (Depends-on): Add stdbool, stdlib.
43970         (configure.ac): Turn on module indicator.
43971         * modules/strtod-tests: New module.
43972
43973 2008-03-29  Eric Blake  <ebb9@byu.net>
43974
43975         Fix ftell on mingw.
43976         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
43977         * modules/ftell-tests (Depends-on): Add binary-io.
43978         * modules/ftello-tests (Depends-on): Likewise.
43979         * tests/test-ftell.c (main): Enhance test to cover behavior after
43980         ungetc.  Enforce binary mode.
43981         * tests/test-ftello.c (main): Likewise.
43982
43983         Pass test-freadseek on cygwin.
43984         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
43985         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
43986         ungetc buffer.
43987
43988         * tests/test-fflush2.c (main): Fix typo.
43989
43990 2008-03-29  Bruno Haible  <bruno@clisp.org>
43991
43992         * tests/test-fflush2.c (main): Temporarily disable the contents of
43993         this test.
43994         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
43995         Reported by Eric Blake.
43996
43997 2008-03-28  Simon Josefsson  <simon@josefsson.org>
43998
43999         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
44000         (GC_SHA224_DIGEST_SIZE): Add.
44001
44002         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
44003         (gc_hash_digest_length): Likewise.
44004         (gc_hash_buffer): Likewise.
44005
44006 2008-03-25  Bruno Haible  <bruno@clisp.org>
44007
44008         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
44009         detail which gettext release to use.
44010         Reported by Simon Josefsson.
44011
44012 2008-03-26  Jim Meyering  <meyering@redhat.com>
44013
44014         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
44015         * modules/gnumakefile (clean-GNUmakefile): Also, use
44016         test ... && ... || : syntax rather than if-then ... fi.
44017
44018         gnumakefile: Don't double-quote-expand $(VPATH) value.
44019         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
44020
44021 2008-03-24  Eric Blake  <ebb9@byu.net>
44022
44023         Alter GNUmakefile to install into top directory.
44024         * modules/maintainer-makefile: Split, and add dependency...
44025         * modules/gnumakefile: to this new module.
44026         * build-aux/GNUmakefile: Move...
44027         * top/GNUmakefile: ...here.
44028         * build-aux/maint.mk: Move...
44029         * top/maint.mk: ...here.
44030         * MODULES.html.sh (Support for maintaining...): Document new
44031         module.
44032
44033 2008-03-23  Bruno Haible  <bruno@clisp.org>
44034
44035         * gnulib-tool: New options --vc-files, --no-vc-files.
44036         (func_usage): Document them.
44037         (vc_files): New variable.
44038         (func_import): Consider vc_files.
44039         (func_create_testdir): Set vc_files to empty.
44040         Suggested by Jim Meyering and Karl Berry.
44041
44042 2008-03-23  Bruno Haible  <bruno@clisp.org>
44043
44044         Fix regex compilation error on HP-UX 11.
44045         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
44046         * modules/regex (Files): Add m4/mbstate_t.m4.
44047         Reported by Ton Voon <ton.voon@altinity.com>.
44048
44049 2008-03-23  Bruno Haible  <bruno@clisp.org>
44050
44051         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
44052
44053 2008-03-23  Eric Blake  <ebb9@byu.net>
44054             Bruno Haible  <bruno@clisp.org>
44055
44056         Install files from top/ in the destination directory.
44057         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
44058         augmentation also for the files from top/.
44059         (func_import, func_create_testdir): Rewrite file names:
44060         top/filename -> filename.
44061
44062 2008-03-23  Bruno Haible  <bruno@clisp.org>
44063
44064         Tweak "gnulib --version" output.
44065         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
44066
44067 2008-03-23  Bruno Haible  <bruno@clisp.org>
44068
44069         Tweak "gnulib --version" output.
44070         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
44071         rather than contents of ChangeLog, when possible.
44072
44073 2008-03-21  Eric Blake  <ebb9@byu.net>
44074
44075         More --version tweaks.
44076         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
44077         date of last ChangeLog entry.
44078
44079 2008-03-21  Jim Meyering  <meyering@redhat.com>
44080
44081         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
44082
44083 2008-03-20  Eric Blake  <ebb9@byu.net>
44084
44085         VPATH fix.
44086         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
44087
44088 2008-03-20  Simon Josefsson  <simon@josefsson.org>
44089
44090         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
44091         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
44092
44093 2008-03-20  Eric Blake  <ebb9@byu.net>
44094
44095         Sync GNUmakefile with coreutils.
44096         * build-aux/GNUmakefile (have-Makefile): Rename...
44097         (_have-Makefile): ...to this, for namespace consideration.
44098         (GNUmakefile.cfg): Include, if present.
44099         (_autoreconf): Define a default.
44100         (_is-dist-target): New rule for rebuilds to pick up intra-release
44101         version.
44102         (maint-cfg.mk): Rename...
44103         (cfg.mk): ...to this.
44104
44105 2008-03-18  Jim Meyering  <meyering@redhat.com>
44106
44107         New script and module: mktempd
44108         * MODULES.html.sh (maint+release support): Add mktempd.
44109         * build-aux/mktempd: New file.
44110         * modules/mktempd: New file.
44111
44112 2008-03-15  Jim Meyering  <meyering@redhat.com>
44113
44114         Undo last change.
44115         * lib/sha1.c, lib/md5.c: 63 != ~63.
44116         Reported by Andreas Schwab.
44117
44118         sha1.c, md5.c: Hoist a redundant expression.
44119         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
44120         "ctx->buflen" only once, before calling *_process_block.
44121         * lib/md5.c (md5_process_bytes): Likewise.
44122
44123 2008-03-14  Eric Blake  <ebb9@byu.net>
44124
44125         Bump copyright year in files generated by gnulib-tool.
44126         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
44127         gnulib-tool, rather than hard-coding it.
44128
44129         Fix 'gnulib-tool --version' output to work with git.
44130         * gnulib-tool (func_gnulib_dir): New function, extracted from...
44131         (startup): ...here.
44132         (func_version): Use it to invoke git-version-gen, rather than
44133         relying on CVS keyword expansion.  Modernize wording.
44134         (cvsdatestamp, last_checkin_date, version): Kill unused
44135         variables.
44136
44137 2008-03-12  Jim Meyering  <meyering@redhat.com>
44138
44139         Recognize optional cast of the argument to free.
44140         * build-aux/useless-if-before-free: Update regexps.
44141
44142         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
44143
44144 2008-03-11  Bruno Haible  <bruno@clisp.org>
44145
44146         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
44147         by a single package.
44148         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
44149         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
44150         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
44151         Reported by Sam Steingold <sds@gnu.org>.
44152
44153 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
44154
44155         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
44156         repositories.
44157
44158 2008-03-11  Bruno Haible  <bruno@clisp.org>
44159
44160         Avoid conflicts between local macro definitions.
44161         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
44162         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
44163
44164 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
44165             Bruno Haible  <bruno@clisp.org>
44166
44167         Make va_copy work with some version of xlc on AIX 5.1.
44168         * lib/stdarg.in.h: New file.
44169         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
44170         On AIX, use a <stdarg.h> file substitute.
44171         * modules/stdarg (Files): Add lib/stdarg.in.h.
44172         (Depends-on): Add include_next.
44173         (Makefile.am): Build a stdarg.h substitute if requested.
44174         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
44175
44176 2008-03-10  Bruno Haible  <bruno@clisp.org>
44177
44178         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
44179         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
44180         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
44181
44182 2008-03-10  Bruno Haible  <bruno@clisp.org>
44183
44184         * modules/stdlib (Depends-on): Add include_next, remove
44185         absolute-header.
44186
44187 2008-03-09  Bruno Haible  <bruno@clisp.org>
44188
44189         * lib/freadahead.h (freadahead): Document more precisely.
44190         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
44191         the sum of both buffer sizes.
44192         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
44193         * NEWS: Document the change.
44194
44195 2008-03-09  Bruno Haible  <bruno@clisp.org>
44196
44197         Extend freadptr to return also the buffer size.
44198         * lib/freadptr.h (freadptr): Add sizep argument.
44199         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
44200         (freadptr): Add sizep argument. Determine buffer size like freadahead
44201         does.
44202         * tests/test-freadptr.c: Don't include freadahead.h.
44203         (main): Adapt for new calling convention of freadptr.
44204         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
44205         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
44206         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
44207         tests/test-freadptr2.sh.
44208         (Depends): Remove freadahead.
44209         (TESTS): Add test-freadptr2.sh.
44210         (check_PROGRAMS): Add test-freadptr2.
44211
44212 2008-03-09  Bruno Haible  <bruno@clisp.org>
44213
44214         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
44215         Report and solution by Simon Josefsson.
44216
44217 2008-03-06  Bruno Haible  <bruno@clisp.org>
44218
44219         Make fflush after ungetc work on BSD platforms.
44220         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
44221         * tests/test-fflush2.c: New file.
44222         * tests/test-fflush2.sh: New file.
44223         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
44224         tests/test-fflush2.c.
44225         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
44226         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
44227
44228 2008-03-06  Eric Blake  <ebb9@byu.net>
44229
44230         Likewise for ftello.
44231         * modules/ftello (Dependencies): Add extensions.
44232         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
44233
44234 2008-03-06  Bruno Haible  <bruno@clisp.org>
44235
44236         * modules/fseeko (Dependencies): Add extensions.
44237         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
44238         Needed on glibc systems.
44239
44240 2008-03-06  Bruno Haible  <bruno@clisp.org>
44241
44242         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
44243         email address.
44244         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
44245
44246 2008-03-06  Bruno Haible  <bruno@clisp.org>
44247
44248         * users.txt: Add libgnupdf.
44249
44250 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
44251
44252         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
44253         (Header File Substitutes, Function Substitutes,
44254         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
44255         (Build robot for gnulib): Fix typo.
44256
44257 2008-03-06  Bruno Haible  <bruno@clisp.org>
44258
44259         * doc/gnulib-tool.texi (VCS Issues): Small updates.
44260         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
44261
44262 2008-03-06  Bruno Haible  <bruno@clisp.org>
44263
44264         * doc/func.texi: New file, extracted from doc/gnulib.texi.
44265         * doc/gnulib.texi: Include it.
44266
44267 2008-03-06  Simon Josefsson  <simon@josefsson.org>
44268
44269         * modules/func (License): Change license to unlimited; there was
44270         no LGPL parts in the module anyway.
44271
44272 2008-03-06  Simon Josefsson  <simon@josefsson.org>
44273
44274         * modules/__func__: Renamed to modules/func.
44275         * modules/__func__-tests: Renamed to modules/func-tests.
44276         * tests/test-__func__.c: Renamed to tests/test-func.c.
44277         * m4/__func__.m4: Renamed to m4/func.m4.
44278         * doc/gnulib.texi (__func__): Section renamed to func.
44279         Suggested by Eric Blake <ebb9@byu.net>.
44280
44281 2008-03-06  Simon Josefsson  <simon@josefsson.org>
44282
44283         * doc/gnulib.texi (__func__): Use C99 terminology when talking
44284         about __func__.  Make example self-contained.  Suggested by Eric
44285         Blake <ebb9@byu.net>.
44286
44287         * tests/test-__func__.c (main): Avoid extraneous () around __func.
44288         Suggested by Eric Blake <ebb9@byu.net>.
44289
44290 2008-03-06  Simon Josefsson  <simon@josefsson.org>
44291
44292         * modules/__func__: New file.
44293         * modules/__func__-tests: New file.
44294         * tests/test-__func__.c: New file.
44295         * m4/__func__.m4: New file.
44296         * doc/gnulib.texi (__func__): Document __func__ module.
44297
44298 2008-03-05  Simon Josefsson  <simon@josefsson.org>
44299
44300         * modules/byteswap (License): Re-license as LGPLv2+.
44301
44302 2008-03-05  Simon Josefsson  <simon@josefsson.org>
44303
44304         * doc/Makefile: Add pdf target.
44305
44306 2008-03-05  Simon Josefsson  <simon@josefsson.org>
44307
44308         * modules/inline (License): Use 'unlimited', since there are only
44309         *.m4 files in this module.
44310
44311 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
44312             Bruno Haible  <bruno@clisp.org>
44313
44314         Add support for HP C 7.1 on OpenVMS 8.3.
44315         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
44316
44317 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
44318
44319         Update VMS specifics.
44320         * lib/getopt.c [VMS]: Remove include of unixlib.h.
44321
44322 2008-03-02  Jim Meyering  <meyering@redhat.com>
44323
44324         Remove the last dependency on the "free" module.
44325         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
44326         Reported by Bob Proulx.
44327
44328         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
44329
44330         Remove useless "if" tests before free.  Deprecate "free" module.
44331         * doc/posix-functions/free.texi: Mention that this
44332         module is no longer useful.
44333         * modules/free (Notice): Say this module is obsolete.
44334         * modules/readutmp (Depends-on): Remove free.
44335         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
44336         * lib/putenv.c (putenv): Likewise.
44337         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
44338         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
44339         * tests/test-c-strcasestr.c (main): Likewise.
44340         * tests/test-c-strstr.c (main): Likewise.
44341         * tests/test-mbscasestr1.c (main): Likewise.
44342         * tests/test-mbscasestr2.c (main): Likewise.
44343         * tests/test-mbsstr1.c (main): Likewise.
44344         * tests/test-mbsstr2.c (main): Likewise.
44345         * tests/test-memmem.c (main): Likewise.
44346         * tests/test-strcasestr.c (main): Likewise.
44347         * tests/test-striconv.c (main): Likewise.
44348         * tests/test-striconveh.c (main): Likewise.
44349         * tests/test-striconveha.c (main): Likewise.
44350         * tests/test-strstr.c (main): Likewise.
44351
44352         * build-aux/git-version-gen: Adjust a comment and the Usage string.
44353
44354         bootstrap: sync from coreutils again
44355         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
44356
44357 2008-03-01  Jim Meyering  <meyering@redhat.com>
44358
44359         bootstrap: sync from coreutils
44360         * build-aux/bootstrap (update_po_files): Copy a .po file into place
44361         also when the target doesn't exist.
44362
44363 2008-03-01  Eric Blake  <ebb9@byu.net>
44364
44365         Fix bugs in last patch.
44366         * lib/memchr2.c (memchr2): Fix typo.
44367         * tests/test-memchr2.c: Test previous bug, and don't use GNU
44368         extension.
44369         Reported by Bruce Korb.
44370
44371         New module 'memchr2'.
44372         * modules/memchr2: New file.
44373         * modules/memchr2-tests: Likewise.
44374         * lib/memchr2.h: Likewise.
44375         * lib/memchr2.c: Likewise, based on memchr.c.
44376         * tests/test-memchr2.c: New test.
44377         * MODULES.html.sh (String handling): Add memchr2.
44378
44379 2008-02-29  Bruno Haible  <bruno@clisp.org>
44380
44381         * modules/freadseek-tests: New file.
44382         * tests/test-freadseek.sh: New file.
44383         * tests/test-freadseek.c: New file.
44384
44385         New module 'freadseek'.
44386         * modules/freadseek: New file.
44387         * lib/freadseek.h: New file.
44388         * lib/freadseek.c: New file.
44389         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
44390
44391 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
44392
44393         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
44394         wydawca.
44395
44396         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
44397         program_invocation_name and program_invocation_short_name are
44398         present.
44399
44400 2008-02-28  Bruno Haible  <bruno@clisp.org>
44401
44402         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
44403         * tests/test-freadptr.sh: Also test non-seekable stdin.
44404
44405 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
44406
44407         * build-aux/bootstrap (source_base, m4_base)
44408         (doc_base, tests_base): New variables.
44409         (gnulib_tool_options): Do not hardcode base directories, use
44410         the above variables instead.
44411
44412 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
44413
44414         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
44415
44416 2008-02-28  Bruno Haible  <bruno@clisp.org>
44417
44418         * modules/freadptr-tests: New file.
44419         * tests/test-freadptr.sh: New file.
44420         * tests/test-freadptr.c: New file.
44421
44422         New module 'freadptr'.
44423         * modules/freadptr: New file.
44424         * lib/freadptr.h: New file.
44425         * lib/freadptr.c: New file.
44426         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
44427
44428 2008-02-26  Karl Berry  <karl@freefriends.org>
44429
44430         Sync from Libtool:
44431         * libltdl/argz.c (argz_add, argz_count): New functions.
44432         * libltdl/argz.in.h: Declare them.
44433         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
44434
44435 2008-02-22  Bruno Haible  <bruno@clisp.org>
44436
44437         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
44438         is a pointer type.  Needed for HP-UX 10.
44439         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
44440         * doc/posix-functions/gmtime_r.texi: Likewise.
44441         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
44442
44443 2008-02-24  Bruno Haible  <bruno@clisp.org>
44444
44445         * modules/environ-tests: New file.
44446         * tests/test-environ.c: New file.
44447
44448         New module 'environ'.
44449         * modules/environ: New file.
44450         * lib/unistd.in.h (environ): New declaration.
44451         * m4/environ.m4: New file.
44452         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
44453         after use.
44454         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
44455         HAVE_DECL_ENVIRON.
44456         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
44457         HAVE_DECL_ENVIRON.
44458         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
44459         wrong claim that 'environ' is missing on some systems.
44460         * modules/execute (Depends-on): Add environ.
44461         * lib/execute.c (environ): Remove fallback declaration.
44462         * modules/pipe (Depends-on): Add environ.
44463         * lib/pipe.c (environ): Remove fallback declaration.
44464         * modules/setenv (Depends-on): Add environ.
44465         * lib/setenv.c (environ): Remove fallback declaration.
44466         * modules/unsetenv (Depends-on): Add environ.
44467         * lib/unsetenv.c (environ): Remove fallback declaration.
44468         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
44469         m4/environ.m4.
44470         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
44471         (gl_PREREQ_UNSETENV): Likewise.
44472
44473 2008-02-24  Bruno Haible  <bruno@clisp.org>
44474
44475         * doc/posix-functions/environ.texi: Document the MacOS X problem.
44476
44477 2008-02-20  Bob Proulx  <bob@proulx.com>
44478
44479         Enable use of older two part flavor 'git describe'.
44480         * build-aux/git-version-gen: If using the older two part flavor of
44481         git version then recreate the third part now present in the
44482         newer three part flavor of git describe.
44483
44484 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
44485
44486         * lib/fts.c (fts_build): Typo correction to comment.
44487
44488 2008-02-17  Bruno Haible  <bruno@clisp.org>
44489
44490         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
44491         generating no-op conflicts.
44492
44493 2008-02-17  Bruno Haible  <bruno@clisp.org>
44494
44495         Speed up by 10%.
44496         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
44497         result_entries, rather than an index-based loop.
44498
44499 2008-02-17  Bruno Haible  <bruno@clisp.org>
44500
44501         Speed up by 25%.
44502         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
44503         'hashcode_cached'.
44504         (entry_create): New function.
44505         (entry_hashcode): Use the cached hashcode if possible.
44506         (read_changelog_file, try_split_merged_entry): Use entry_create.
44507
44508 2008-02-17  Bruno Haible  <bruno@clisp.org>
44509
44510         Speed up from O(n^2) to O(n) for long ChangeLog files.
44511         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
44512         (read_changelog_file): Change implementation of entries_reversed list
44513         to rbtreehash.
44514         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
44515
44516 2008-02-17  Bruno Haible  <bruno@clisp.org>
44517
44518         New option --split-merged-entry.
44519         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
44520         (find_paragraph_end, try_split_merged_entry): New functions.
44521         (long_options): Add option --split-merged-entry.
44522         (usage): Document option --split-merged-entry.
44523         (main): Implement option --split-merged-entry.
44524         Reported by Eric Blake.
44525
44526 2008-02-17  Bruno Haible  <bruno@clisp.org>
44527
44528         * lib/git-merge-changelog.c: Include c-strstr.h.
44529         (main): Support the "git pull --rebase" situation.
44530         * modules/git-merge-changelog (Depends-on): Add c-strstr.
44531         Reported by Eric Blake.
44532
44533 2008-02-16  Eric Blake  <ebb9@byu.net>
44534
44535         Avoid doubling \ in common case of "c-maybe" quoting style.
44536         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
44537         eliding outer quotes.
44538         * lib/quotearg.h: Document this.
44539         * tests/test-quotearg.c (result_strings, inputs, results_g)
44540         (flag_results, locale_results): Test it by adding a new string to
44541         each test group.
44542         (compare_strings): Test new string.
44543
44544 2008-02-13  Eric Blake  <ebb9@byu.net>
44545
44546         Avoid trigraph quoting in default output.
44547         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
44548         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
44549         unless explicitly requested.
44550         * tests/test-quotearg.c (flag_results, main): Add additional tests.
44551
44552 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
44553
44554         Don't rely on signed integer overflowing to negative value.
44555         * lib/getugroups.c (getugroups): Include <limits.h>.
44556         Instead, compare against INT_MAX, and increment only if the test passes.
44557
44558 2008-02-13  Jim Meyering  <meyering@redhat.com>
44559         and Eric Blake  <ebb9@byu.net>
44560
44561         Avoid shadowing warning and compile errors on Linux.
44562         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
44563         forwarding macros on Linux.
44564         (dcgettext): Define a stub, for Linux.
44565         (results_g, main): Avoid warnings.
44566
44567 2008-02-12  Eric Blake  <ebb9@byu.net>
44568
44569         Silence warning in last patch.
44570         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
44571
44572         Quotearg part 4: add tests, fix c-maybe colon quoting.
44573         * lib/quotearg.h: Improve documentation.
44574         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
44575         escapes when adding outer quotes.  When quoting trigraphs, use
44576         valid C notation.  When quoting NUL, omit extra characters if next
44577         character is not digit.  Alter prototype.
44578         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
44579         callers.
44580         * modules/quotearg-tests: New module.
44581         * tests/test-quotearg.c: New test.
44582
44583 2008-02-07  Eric Blake  <ebb9@byu.net>
44584
44585         Quotearg part 3: add flag to control outer quote elision.
44586         * lib/quotearg.h (c_maybe_quoting_style): New style.
44587         (enum quoting_flags): Better documentation of flags.
44588         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
44589         c-maybe style.
44590         (quotearg_buffer_restyled): Handle new flag to elide outer
44591         quotes.
44592
44593         Quotearg part 2: add flag that can control NUL elision.
44594         * lib/quotearg.h (set_quoting_flags): New prototype.
44595         * lib/quotearg.c (struct quoting_options): Add flag field.
44596         (set_quoting_flags): New function.
44597         (quotearg_buffer_restyled): Add flags parameter.
44598         (quotearg_alloc_mem): Set the flag if length cannot be returned.
44599         (quotearg_n_options): Set the flag, since length cannot be
44600         returned.
44601         (quoting_options_from_style): Default flags correctly.
44602
44603         Quotearg part 1: more wrappers, restore quotearg_char state.
44604         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
44605         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
44606         (quotearg_colon_mem): New wrappers.
44607         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
44608         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
44609         functions.
44610         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
44611         (quotearg_colon_mem): New functions.
44612
44613 2008-02-11  Bruno Haible  <bruno@clisp.org>
44614
44615         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
44616         library in the current directory: it does not work with parallel make.
44617         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
44618
44619 2008-02-11  Bruno Haible  <bruno@clisp.org>
44620
44621         * .gitattributes: New file.
44622
44623 2008-02-11  Jim Meyering  <meyering@redhat.com>
44624
44625         useless-if-before-free: Fix reversed exit values.
44626         * build-aux/useless-if-before-free: Use correct values
44627         for EXIT_MATCH and EXIT_NO_MATCH.
44628
44629         * build-aux/useless-if-before-free: Close stdout carefully.
44630
44631 2008-02-10  Bruno Haible  <bruno@clisp.org>
44632
44633         New module 'git-merge-changelog'.
44634         * modules/git-merge-changelog: New file.
44635         * lib/git-merge-changelog.c: New file.
44636
44637 2008-02-10  Jim Meyering  <meyering@redhat.com>
44638
44639         useless-if-before-free: New option: --list (-l).
44640
44641         useless-if-before-free: Don't exit immediately upon open failure.
44642         * build-aux/useless-if-before-free: Exit 2 for errors.
44643         Upon failure to open a file, don't exit immediately.
44644         Rather, just warn and continue with any remaining files.
44645
44646 2008-02-10  Bruno Haible  <bruno@clisp.org>
44647
44648         New abstract list operation 'node_set_value'.
44649         * lib/gl_list.h (gl_list_node_set_value): New function.
44650         (struct gl_list_implementation): New field node_set_value.
44651         * lib/gl_list.c (gl_list_node_set_value): New function.
44652         * lib/gl_array_list.c (gl_array_node_set_value): New function.
44653         (gl_array_list_implementation): Update.
44654         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
44655         (gl_carray_list_implementation): Update.
44656         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
44657         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
44658         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
44659         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
44660         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
44661         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
44662         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
44663         Update.
44664         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
44665         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
44666         (gl_sublist_list_implementation): Update.
44667
44668 2008-02-10  Bruno Haible  <bruno@clisp.org>
44669
44670         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
44671         Needed when ELEMENT is #defined to 'some_type *'.
44672
44673 2008-02-10  Jim Meyering  <meyering@redhat.com>
44674
44675         New script and module: useless-if-before-free
44676         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
44677         * build-aux/useless-if-before-free: New file.
44678         * modules/useless-if-before-free: New file.
44679
44680         * build-aux/gitlog-to-changelog: Use committer date, not author date.
44681
44682         xstrtol_error: Fix typo.
44683         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
44684         s/exit_failure/exit_status/.
44685
44686 2008-02-09  Jim Meyering  <meyering@redhat.com>
44687
44688         New script and module: gitlog-to-changelog
44689         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
44690         * modules/gitlog-to-changelog: New file.
44691         * build-aux/gitlog-to-changelog: New file.
44692
44693 2008-02-08  Jim Meyering  <meyering@redhat.com>
44694
44695         Avoid two "parameter unused" warnings.
44696         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
44697         Mark "st" as used.
44698
44699         Use "git COMMAND", not "git-COMMAND".
44700         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
44701         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
44702         * build-aux/git-version-gen: Use "git status", not "git-status".
44703
44704 2008-02-07  Bruno Haible  <bruno@clisp.org>
44705
44706         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
44707         Avoids a crash on Windows Vista.
44708         Reported by Adam Strzelecki <ono@java.pl> via
44709         Simon Josefsson <simon@josefsson.org>.
44710
44711 2008-02-06  Bruno Haible  <bruno@clisp.org>
44712
44713         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
44714         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
44715         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
44716         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
44717         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
44718         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
44719         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
44720         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
44721         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
44722         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
44723         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
44724         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
44725         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
44726         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
44727         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
44728         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
44729         left-adjust flag.
44730         * tests/test-snprintf-posix.h (test_function): Likewise.
44731         * tests/test-sprintf-posix.h (test_function): Likewise.
44732         * tests/test-vasprintf-posix.c (test_function): Likewise.
44733         * doc/posix-functions/fprintf.texi: Update.
44734         * doc/posix-functions/printf.texi: Update.
44735         * doc/posix-functions/snprintf.texi: Update.
44736         * doc/posix-functions/sprintf.texi: Update.
44737         * doc/posix-functions/vfprintf.texi: Update.
44738         * doc/posix-functions/vprintf.texi: Update.
44739         * doc/posix-functions/vsnprintf.texi: Update.
44740         * doc/posix-functions/vsprintf.texi: Update.
44741         Reported by Peter Fales <psfales@alcatel-lucent.com>.
44742
44743 2008-02-06  Bruno Haible  <bruno@clisp.org>
44744
44745         Fix bug introduced on 2008-01-26.
44746         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
44747
44748 2008-02-06  Bruno Haible  <bruno@clisp.org>
44749
44750         Fix bug introduced on 2007-06-10.
44751         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
44752         !NEED_PRINTF_FLAG_ZERO.
44753
44754 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
44755
44756         getloadavg: use libperfstat on AIX5
44757         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
44758
44759 2008-02-03  Bruno Haible  <bruno@clisp.org>
44760
44761         * lib/diffseq.h: Add comments about required #includes.
44762         Reported by Michael Biggs <gnulib@doubleplum.net>.
44763
44764 2008-02-01  Bruno Haible  <bruno@clisp.org>
44765
44766         * users.txt: Add gnuit.
44767
44768 2008-01-31  Bruno Haible  <bruno@clisp.org>
44769
44770         * lib/md4.c (set_uint32): Mark as inline.
44771         * lib/md5.c (set_uint32): Likewise.
44772         * lib/sha1.c (set_uint32): Likewise.
44773         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
44774         * m4/md5.m4 (gl_MD5): Likewise.
44775         * m4/sha1.m4 (gl_SHA1): Likewise.
44776
44777 2008-01-31  Jim Meyering  <meyering@redhat.com>
44778
44779         Use "sizeof VAR", rather than a literal "4".
44780         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
44781         * lib/md4.c (md4_read_ctx): Likewise.
44782         * lib/sha1.c (sha1_read_ctx): Likewise.
44783
44784 2008-01-31  Simon Josefsson  <simon@josefsson.org>
44785
44786         * tests/test-sha1.c: New file, based on test-md5.c.
44787
44788         * modules/crypto/sha1-tests: New file.
44789
44790 2008-01-31  Simon Josefsson  <simon@josefsson.org>
44791
44792         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
44793
44794 2008-01-31  Jim Meyering  <meyering@redhat.com>
44795
44796         Prefer "sizeof v" over the equivalent "4".
44797         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
44798         * lib/md5.c (set_uint32): Likewise.
44799         * lib/sha1.c (set_uint32): Likewise.
44800
44801 2008-01-31  Simon Josefsson  <simon@josefsson.org>
44802
44803         * lib/sha1.c (set_uint32): Mark function as static.
44804
44805 2008-01-31  Simon Josefsson  <simon@josefsson.org>
44806
44807         md2: clarify comments to say that alignment is not required.
44808         * lib/md2.h: Remove warning about alignment in comment.
44809         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
44810         never been required.
44811
44812 2008-01-31  Simon Josefsson  <simon@josefsson.org>
44813
44814         md4: adapt alignment constraint fix from sha1.
44815         * lib/md4.c (set_uint32): New function, from sha1.c
44816         (md4_read_ctx): Use it.
44817         (md4_finish_ctx): Doc fix.
44818         * lib/md4.h: Doc fix.
44819
44820 2008-01-31  Simon Josefsson  <simon@josefsson.org>
44821
44822         md5: adapt alignment constraint fix from sha1.
44823         * lib/md5.c (set_uint32): New function, from sha1.c
44824         (md5_read_ctx): Use it.
44825         (md5_finish_ctx): Doc fix.
44826         * lib/md5.h: Doc fix.
44827
44828 2008-01-30  Peter Palfrader  <weasel@debian.org>
44829
44830         sha1: remove the result buffer alignment constraint
44831         * lib/sha1.c (set_uint32): New function.
44832         (sha1_read_ctx): Rewrite to remove the result buffer alignment
44833         constraint.
44834         (sha1_finish_ctx): Remove comment warning about alignment constraint.
44835         * lib/sha1.h: Likewise.
44836
44837 2008-01-30  Andreas Schwab  <schwab@suse.de>
44838             Bruno Haible  <bruno@clisp.org>
44839
44840         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
44841         correct definition of LDBL_MIN_EXP.
44842
44843 2008-01-30  Karl Berry  <karl@gnu.org>
44844
44845         * config/srclist-update: try to preserve x bit on updates.
44846         * config/srclistvars.sh: update for karl.
44847
44848 2008-01-29  Jim Meyering  <meyering@redhat.com>
44849
44850         vasnprintf.c: Avoid warning about unused label
44851         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
44852         "overflow" label definition and associated code with the
44853         same cpp condition that guards the sole use of that label.
44854
44855 2008-01-26  Bruno Haible  <bruno@clisp.org>
44856
44857         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
44858         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
44859         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
44860         * lib/isnanl-nolibm.h (isnanl): Likewise.
44861         Reported by Paul Eggert <eggert@cs.ucla.edu>.
44862
44863 2008-01-26  Bruno Haible  <bruno@clisp.org>
44864
44865         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
44866         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
44867
44868 2008-01-26  Bruno Haible  <bruno@clisp.org>
44869
44870         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
44871         GCC >= 4.0 built-in.
44872         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
44873
44874 2008-01-26  Bruno Haible  <bruno@clisp.org>
44875
44876         Rename isnan, applicable to 'double' only, to isnand.
44877         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
44878         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
44879         (configure.ac): Update.
44880         (Include): Replace "isnan.h" with "isnand.h".
44881         * m4/isnand.m4: Renamed from m4/isnan.m4.
44882         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
44883         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
44884         instead of isnan.c.
44885         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
44886         instead of HAVE_ISNAN_IN_LIBC.
44887         (isnand): Renamed from isnan.
44888         * lib/isnand.c: New file.
44889         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
44890         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
44891         (Makefile.am): Update.
44892         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
44893         Include isnand.h instead of isnan.h.
44894         (main): Test isnand instead of isnan.
44895         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
44896         isnan-nolibm.
44897         * modules/frexp (Depends-on): Likewise.
44898         * modules/frexp-tests (Depends-on): Likewise.
44899         * modules/frexp-nolibm (Depends-on): Likewise.
44900         * modules/frexp-nolibm-tests (Depends-on): Likewise.
44901         * modules/isfinite (Depends-on): Likewise.
44902         * modules/round-tests (Depends-on): Likewise.
44903         * modules/signbit (Depends-on): Likewise.
44904         * modules/signbit-tests (Depends-on): Likewise.
44905         * modules/snprintf-posix (Depends-on): Likewise.
44906         * modules/sprintf-posix (Depends-on): Likewise.
44907         * modules/trunc-tests (Depends-on): Likewise.
44908         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
44909         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
44910         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
44911         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
44912         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
44913         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
44914         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
44915         * modules/vasnprintf-posix (Depends-on): Likewise.
44916         * modules/vasprintf-posix (Depends-on): Likewise.
44917         * modules/vfprintf-posix (Depends-on): Likewise.
44918         * modules/vsnprintf-posix (Depends-on): Likewise.
44919         * modules/vsprintf-posix (Depends-on): Likewise.
44920         * lib/frexp.c: Include isnand.h instead of isnan.h.
44921         (ISNAN): Set to isnand instead of isnan.
44922         * lib/isfinite.c: Include isnand.h instead of isnan.h.
44923         (gl_isfinited): Use isnand instead of isnan.
44924         * lib/signbitd.c: Include isnand.h instead of isnan.h.
44925         (gl_signbitd): Use isnand instead of isnan.
44926         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
44927         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
44928         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
44929         (main): Use isnand instead of isnan.
44930         * tests/test-round1.c: Include isnand.h.
44931         (main): Use isnand instead of isnan.
44932         * tests/test-round2.c: Include isnand.h instead of isnan.h.
44933         (ISNAN): Set to isnand instead of isnan.
44934         * tests/test-trunc1.c: Include isnand.h.
44935         (main): Use isnand instead of isnan.
44936         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
44937         (equal): Use isnand instead of isnan.
44938         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
44939         isnand-nolibm.
44940         * NEWS: Mention the change.
44941
44942 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
44943             Bruno Haible  <bruno@clisp.org>
44944
44945         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
44946         the GCC builtins for signbits are present and set
44947         REPLACE_SIGNBIT_USING_GCC if so.
44948         * lib/math.in.h (signbit): Define using GCC builtins if
44949         REPLACE_SIGNBIT_USING_GCC is set.
44950         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
44951         REPLACE_SIGNBIT_USING_GCC.
44952         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
44953
44954 2008-01-25  Jim Meyering  <meyering@redhat.com>
44955
44956         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
44957         * lib/poll.c: Include <config.h>, not "config.h".
44958         * tests/test-getaddrinfo.c: Likewise.
44959
44960 2008-01-25  Simon Josefsson  <simon@josefsson.org>
44961
44962         * modules/sockets-tests: New file.
44963
44964 2008-01-24  Simon Josefsson  <simon@josefsson.org>
44965
44966         * modules/sockets: New module, can be used to call WSA_Startup and
44967         WSA_Cleanup when needed.
44968
44969         * lib/sockets.h, lib/sockets.c: New files.
44970
44971         * m4/sockets.m4: New file.
44972
44973         * tests/test-sockets.c: New file.
44974
44975 2008-01-19  Bruno Haible  <bruno@clisp.org>
44976
44977         * doc/posix-headers: Renamed from doc/headers.
44978         * doc/posix-functions: Renamed from doc/functions.
44979         * doc/gnulib.texi: Update.
44980
44981 2008-01-19  Bruno Haible  <bruno@clisp.org>
44982
44983         * doc/glibc-functions/strcasestr.texi: Include contents of
44984         doc/functions/strcasestr.texi, fixing the list of platforms.
44985         * doc/functions/strcasestr.texi: Remove file.
44986
44987 2008-01-19  Bruno Haible  <bruno@clisp.org>
44988
44989         * doc/glibc-functions/memmem.texi: Include contents of
44990         doc/functions/memmem.texi.
44991         * doc/functions/memmem.texi: Remove file.
44992
44993 2008-01-18  Bruno Haible  <bruno@clisp.org>
44994
44995         * doc/glibc-functions/*.texi: New files.
44996         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
44997         to use the new files.
44998
44999 2008-01-17  Bruno Haible  <bruno@clisp.org>
45000
45001         * tests/test-gethostname.c (main): Fix printf statement.
45002
45003 2008-01-17  Simon Josefsson  <simon@josefsson.org>
45004
45005         * modules/gethostname-tests: New file.
45006
45007         * tests/test-gethostname.c: New file.
45008
45009 2008-01-17  Simon Josefsson  <simon@josefsson.org>
45010
45011         * lib/gethostname.c: Include string.h unconditionally, strncpy is
45012         used by the UNAME case.  Reported by Bruno Haible
45013         <bruno@clisp.org>.
45014
45015 2008-01-17  Eric Blake  <ebb9@byu.net>
45016
45017         Convert c-strcasestr to be more efficient.
45018         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
45019         (Depends-on): Add c-strcase, remove malloca, strnlen.
45020         * tests/test-c-strcasestr.c (main): Enhance test.
45021         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
45022
45023 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
45024
45025         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
45026         Use it in creating po/Makevars.
45027
45028 2008-01-15  Simon Josefsson  <simon@josefsson.org>
45029
45030         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
45031         Applications that requires it should initialize libgcrypt
45032         manually.
45033
45034 2008-01-16  Simon Josefsson  <simon@josefsson.org>
45035
45036         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
45037
45038 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
45039
45040         Fix problem with getdate on mingw32 reported by Simon Josefsson
45041         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
45042         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
45043         tzname", when deciding whether to declare tzname.
45044         * lib/strftime.c (tzname): Likewise.
45045
45046 2008-01-15  Bruno Haible  <bruno@clisp.org>
45047
45048         Work around a MacOS X 10.5 bug in frexpl().
45049         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
45050         * doc/functions/frexpl.texi: Document the bug.
45051         Reported by Elias Pipping <pipping@gentoo.org>.
45052
45053 2008-01-14  Eric Blake  <ebb9@byu.net>
45054
45055         Touch up previous patch.
45056         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
45057         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
45058
45059         Convert strcasestr module to use Two-Way algorithm.
45060         * modules/strcasestr-simple: New module, based on the old
45061         strcasestr, but with Two-Way rather than KMP.
45062         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
45063         * lib/string.in.h (rpl_strcasestr): Declare.
45064         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
45065         performance.
45066         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
45067         * modules/string (Makefile.am): Support strcasestr.
45068         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
45069         * modules/strcasestr-tests (Depends-on): Check for alarm.
45070         * tests/test-strcasestr.c: Augment test.
45071         * lib/str-two-way.h: Clean up stray macro.
45072         * NEWS: Document new module.
45073         * MODULES.html.sh (string handling): Likewise.
45074         * doc/functions/strcasestr.texi: New file.
45075         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
45076         here, since it is not a POSIX function.
45077
45078 2008-01-14  Colin Watson  <cjwatson@debian.org>
45079             Bruno Haible  <bruno@clisp.org>
45080
45081         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
45082         works fine; if not, set REPLACE_STRSIGNAL.
45083         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
45084         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
45085         REPLACE_STRSIGNAL.
45086         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
45087         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
45088         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
45089
45090 2008-01-14  Bruno Haible  <bruno@clisp.org>
45091
45092         * modules/strsignal (Include): Change to <string.h>.
45093
45094 2008-01-14  Colin Watson  <cjwatson@debian.org>
45095
45096         * modules/argp (Notice): Add a notice recommending to change
45097         XGETTEXT_OPTIONS.
45098         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
45099
45100 2008-01-13  Colin Watson  <cjwatson@debian.org>
45101
45102         * modules/strsignal-tests: New file.
45103         * tests/test-strsignal.c: New file.
45104
45105         * lib/strsignal.c: New file, from glibc with modifications.
45106         * lib/siglist.h: New file, from glibc with modifications.
45107         * lib/string.in.h (strsignal): New declaration.
45108         * m4/strsignal.m4: New file.
45109         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
45110         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
45111         * modules/strsignal: New file.
45112         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
45113         HAVE_DECL_STRSIGNAL.
45114
45115 2008-01-13  Bruno Haible  <bruno@clisp.org>
45116
45117         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
45118         locale encoding is not ASCII. Needed for OpenBSD 4.0.
45119         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
45120         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
45121
45122 2008-01-13  Bruno Haible  <bruno@clisp.org>
45123
45124         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
45125         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
45126         * lib/argp.h (__attribute__): Likewise.
45127         * lib/c-stack.c (__attribute__): Likewise.
45128         * lib/error.h (__attribute__): Likewise.
45129         * lib/fts.c (__attribute__): Likewise.
45130         * lib/openat.h (__attribute__): Likewise.
45131         * lib/stdio.in.h (__attribute__): Likewise.
45132         * lib/string.in.h (__attribute__): Likewise.
45133         * lib/utimens.c (__attribute__): Likewise.
45134         * lib/vasnprintf.h (__attribute__): Likewise.
45135         * lib/xalloc.h (__attribute__): Likewise.
45136         * lib/xprintf.h (__attribute__): Likewise.
45137         * lib/xstrtol.h (__attribute__): Likewise.
45138         * lib/xvasprintf.h (__attribute__): Likewise.
45139
45140 2008-01-12  Bruno Haible  <bruno@clisp.org>
45141
45142         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
45143         * doc/glibc-headers/a.out.texi: New file.
45144         * doc/glibc-headers/aliases.texi: New file.
45145         * doc/glibc-headers/alloca.texi: New file.
45146         * doc/glibc-headers/ar.texi: New file.
45147         * doc/glibc-headers/argp.texi: New file.
45148         * doc/glibc-headers/argz.texi: New file.
45149         * doc/glibc-headers/byteswap.texi: New file.
45150         * doc/glibc-headers/crypt.texi: New file.
45151         * doc/glibc-headers/endian.texi: New file.
45152         * doc/glibc-headers/envz.texi: New file.
45153         * doc/glibc-headers/err.texi: New file.
45154         * doc/glibc-headers/error.texi: New file.
45155         * doc/glibc-headers/execinfo.texi: New file.
45156         * doc/glibc-headers/fpu_control.texi: New file.
45157         * doc/glibc-headers/fstab.texi: New file.
45158         * doc/glibc-headers/fts.texi: New file.
45159         * doc/glibc-headers/getopt.texi: New file.
45160         * doc/glibc-headers/ieee754.texi: New file.
45161         * doc/glibc-headers/ifaddrs.texi: New file.
45162         * doc/glibc-headers/libintl.texi: New file.
45163         * doc/glibc-headers/mcheck.texi: New file.
45164         * doc/glibc-headers/mntent.texi: New file.
45165         * doc/glibc-headers/obstack.texi: New file.
45166         * doc/glibc-headers/paths.texi: New file.
45167         * doc/glibc-headers/printf.texi: New file.
45168         * doc/glibc-headers/pty.texi: New file.
45169         * doc/glibc-headers/resolv.texi: New file.
45170         * doc/glibc-headers/shadow.texi: New file.
45171         * doc/glibc-headers/sysexits.texi: New file.
45172         * doc/glibc-headers/ttyent.texi: New file.
45173
45174 2008-01-12  Jim Meyering  <meyering@redhat.com>
45175
45176         announce-gen: emit Gnulib's git-based version string.
45177         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
45178         New option --gnulib-version=V, where V is expected to be
45179         the output of running git describe in the gnulib directory.
45180         (get_tool_versions): Request feedback on xdelta.  I suspect it's
45181         not useful, and plan to stop publishing an xdelta file with each
45182         coreutils release.
45183
45184         * build-aux/announce-gen: Also check for lzma-compressed files.
45185
45186 2008-01-11  Bruno Haible  <bruno@clisp.org>
45187
45188         * tests/test-memmem.c (main): Increase maximum allowed time.
45189         * tests/test-strstr.c (main): Likewise.
45190
45191 2008-01-11  Bruno Haible  <bruno@clisp.org>
45192
45193         * doc/functions/memmem.texi: Add more precisions about platforms.
45194         * doc/functions/strstr.texi: Likewise.
45195
45196 2008-01-10  Eric Blake  <ebb9@byu.net>
45197
45198         * m4/strstr.m4: Delete cruft from copy-n-paste.
45199         Reported by Bruno Haible.
45200
45201 2008-01-10  Bruno Haible  <bruno@clisp.org>
45202
45203         Make c-strstr rely on strstr.
45204         * lib/c-strstr.c: Don't include str-kmp.h.
45205         (c_strstr): Define in terms of strstr.
45206         * modules/c-strstr (Files): Remove lib/str-kmp.h.
45207         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
45208
45209 2008-01-10  Bruno Haible  <bruno@clisp.org>
45210
45211         * doc/gnulib.texi (String Functions in C Locale): New section.
45212         * doc/c-ctype.texi: New file.
45213         * doc/c-strcase.texi: New file.
45214         * doc/c-strcaseeq.texi: New file.
45215         * doc/c-strcasestr.texi: New file.
45216         * doc/c-strstr.texi: New file.
45217         * doc/c-strtod.texi: New file.
45218         * doc/c-strtold.texi: New file.
45219
45220 2008-01-10  Eric Blake  <ebb9@byu.net>
45221
45222         * lib/relocatable.h: Fix a comment.
45223
45224 2008-01-10  Eric Blake  <ebb9@byu.net>
45225
45226         Share two-way algorithm.
45227         * lib/str-two-way.h: New file, merged from...
45228         * lib/memmem.c: ...here...
45229         * lib/strstr.c: ...and here.
45230         * modules/memmem (Files): Use it.
45231         * modules/strstr (Files): Likewise.
45232
45233         Avoid quadratic strstr implementations.
45234         * lib/strstr.c: New file.
45235         * m4/strstr.m4: Likewise.
45236         * modules/strstr: Likewise.
45237         * modules/strstr-tests: Likewise.
45238         * tests/test-strstr.c: Likewise.
45239         * lib/string.in.h (rpl_strstr): Declare.
45240         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
45241         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
45242         * modules/string (Makefile.am): Likewise.
45243         * MODULES.html.sh (string handling): Mention new module.
45244         * doc/functions/strstr.texi (strstr): Document the bug.
45245
45246 2008-01-10  Bruno Haible  <bruno@clisp.org>
45247
45248         * lib/relocatable.h (relocate): State whether result is freshly
45249         allocated or not.
45250         * lib/relocatable.c (relocate): Return a freshly allocated string
45251         instead of a pointer to a privately held string.
45252         Reported by Sylvain Beucler <beuc@gnu.org>.
45253
45254 2008-01-10  Colin Watson  <cjwatson@debian.org>
45255
45256         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
45257         s/S_ISNLK/S_ISLNK/.
45258
45259 2008-01-09  Bruno Haible  <bruno@clisp.org>
45260
45261         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
45262         and other files.
45263         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
45264         if it's only a guess.
45265         * modules/memmem: Simplify by depending on memmem-simple.
45266
45267 2008-01-09  Bruno Haible  <bruno@clisp.org>
45268
45269         Work around OpenBSD 4.0 tdelete() bug.
45270         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
45271         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
45272         macros and don't redefine the enum values.
45273         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
45274         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
45275         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
45276
45277 2008-01-09  Bruno Haible  <bruno@clisp.org>
45278
45279         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
45280         (main): Don't perform the tests if setlocale did not install a UTF-8
45281         locale. Needed on OpenBSD 4.0.
45282         * modules/wcwidth-tests (Depends-on): Add localcharset.
45283
45284 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
45285
45286         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
45287         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
45288         * NEWS: announce this.
45289         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
45290
45291 2008-01-09  Simon Josefsson  <simon@josefsson.org>
45292         and Eric Blake  <ebb9@byu.net>
45293
45294         Add memmem-simple module.
45295         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
45296         (gl_FUNC_MEMMEM): Separate performance from presence checks.
45297         * modules/memmem-simple: New file.
45298         * modules/memmem (Description): Tweak.
45299         * MODULES.html.sh (string handling): Mention new module.
45300         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
45301         addressed by memmem-simple.
45302         * NEWS: Document the difference.
45303
45304 2008-01-09  Eric Blake  <ebb9@byu.net>
45305
45306         Give gcc some memmem optimization hints.
45307         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
45308         (strcasestr): Declare as pure.
45309         * modules/memmem (Maintainer): Claim my implementation.
45310
45311 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45312
45313         Support AIX 6.1 and higher.
45314         * build-aux/config.libpath: Likewise.
45315         * build-aux/config.rpath: Likewise.
45316
45317 2008-01-08  Jim Meyering  <meyering@redhat.com>
45318             Bruno Haible  <bruno@clisp.org>
45319
45320         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
45321         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
45322         Reported by Peter Fales in
45323         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
45324
45325 2008-01-08  Bruno Haible  <bruno@clisp.org>
45326
45327         * modules/unictype/category-of (Depends-on): Add
45328         unictype/category-none.
45329         * modules/unictype/category-and-tests (Depends-on): Add
45330         unictype/category-{L,N,Lu,Nd}.
45331         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
45332         * modules/unictype/category-or-tests (Depends-on): Add
45333         unictype/category-{L,N}.
45334         * modules/unictype/category-name-tests (Depends-on): Add
45335         unictype/category-{Z,Nl}.
45336         Reported by Simon Josefsson.
45337
45338 2008-01-08  Bruno Haible  <bruno@clisp.org>
45339
45340         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
45341         convention better.
45342         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
45343         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
45344         Reported by Peter Miller <millerp@canb.auug.org.au>.
45345
45346 2008-01-08  Eric Blake  <ebb9@byu.net>
45347
45348         Rewrite memmem to guarantee linear complexity without malloc.
45349         * lib/memmem.c (memmem): Use Two-Way rather than
45350         Knuth-Morris-Pratt, to allow O(1) space usage.
45351         (critical_factorization, two_way_short_needle)
45352         (two_way_long_needle): New functions.
45353         (knuth_morris_pratt): Delete.
45354         * modules/memmem (Depends-on): No longer need malloca or stdbool.
45355         Add stdint.
45356         * tests/test-memmem.c (main): Add tests for periodic needle and
45357         sublinear performance.
45358         * doc/functions/memmem.texi (memmem): Document other deficiencies
45359         in cygwin and older glibc.
45360
45361 2008-01-08  Bruno Haible  <bruno@clisp.org>
45362
45363         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
45364         augmentation.
45365
45366 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
45367
45368         Add a configure time option: --disable-acl.
45369         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
45370         AC_ARG_ENABLE(acl).
45371
45372 2008-01-06  Simon Josefsson  <simon@josefsson.org>
45373
45374         * tests/test-localename.c: Don't include obsolete "setenv.h".
45375
45376         * modules/localename-tests (Depends-on): Need unsetenv.
45377
45378 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45379
45380         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
45381
45382 2008-01-06  Colin Watson  <cjwatson@debian.org>
45383
45384         * users.txt: Add man-db.
45385
45386 2008-01-07  Bruno Haible  <bruno@clisp.org>
45387
45388         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
45389         previous section name.
45390
45391 2008-01-07  Bruno Haible  <bruno@clisp.org>
45392
45393         * lib/progname.c (set_program_name): Don't strip off a leading
45394         "lt-" prefix outside a .libs directory.
45395         Suggested by Paul Eggert.
45396
45397 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
45398             Bruno Haible  <bruno@clisp.org>
45399
45400         Improve memory cleanup in 'relocatable' module.
45401         * lib/relocatable.h (compute_curr_prefix): Change return type to
45402         'char *'.
45403         * lib/relocatable.c (compute_curr_prefix): Change return type to
45404         'char *'. Free curr_installdir after use.
45405         (relocate): Free curr_prefix_better after use.
45406         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
45407
45408 2008-01-01  Bruno Haible  <bruno@clisp.org>
45409
45410         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
45411         failure on older glibc systems.
45412         Reported by Peter Fales <psfales@alcatel-lucent.com>.
45413
45414 2008-01-05  Eric Blake  <ebb9@byu.net>
45415
45416         Avoid quadratic system memmem.
45417         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
45418         Reported by Ralf Wildenhues.
45419
45420         Fix memmem test for mingw.
45421         * modules/memmem-tests (configure.ac): Check for alarm.
45422         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
45423         it.
45424         * doc/functions/memmem.texi: New file.
45425         * doc/gnulib.texi (Function Substitutes): Add memmem.
45426         Reported by Bruno Haible.
45427
45428 2008-01-04  Bruno Haible  <bruno@clisp.org>
45429
45430         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
45431         Require gl_HEADER_STRINGS_H_DEFAULTS, not
45432         gl_HEADER_STRING_H_DEFAULTS.
45433
45434 2008-01-04  Eric Blake  <ebb9@byu.net>
45435
45436         Shorten duration of memmem test.
45437         * tests/test-memmem.c (main): Use alarm to declare failure if test
45438         is taking too long.
45439         Reported by Ralf Wildenhues.
45440
45441 2007-12-21  Simon Josefsson  <simon@josefsson.org>
45442
45443         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
45444         string, needed by strerror.
45445
45446 2008-01-03  Colin Watson  <cjwatson@debian.org>
45447             Bruno Haible  <bruno@clisp.org>
45448
45449         * doc/gnulib-tool.texi (Localization): New section.
45450
45451 2008-01-02  Bruno Haible  <bruno@clisp.org>
45452
45453         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
45454         variables to 'unsigned char *' type.
45455         Reported by Paul Eggert.
45456
45457 2008-01-02  Jim Meyering  <jim@meyering.net>
45458
45459         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
45460
45461 2007-12-31  Jim Meyering  <jim@meyering.net>
45462
45463         Avoid use of private FTS type name.
45464         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
45465
45466 2007-12-30  Karl Berry  <karl@gnu.org>
45467
45468         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
45469         work around defect in Texinfo and/or the standalone Info browser.
45470
45471 2007-12-30  Bruno Haible  <bruno@clisp.org>
45472
45473         Unify 5 copies of the KMP code.
45474         * lib/str-kmp.h: New file.
45475         * lib/c-strcasestr.c: Include str-kmp.h.
45476         (knuth_morris_pratt): Remove function.
45477         (c_strcasestr): Update.
45478         * lib/c-strstr.c: Include str-kmp.h.
45479         (knuth_morris_pratt): Remove function.
45480         (c_strcasestr): Update.
45481         * lib/mbscasestr.c: Include str-kmp.h.
45482         (knuth_morris_pratt_unibyte): Remove function.
45483         * lib/mbsstr.c: Include str-kmp.h.
45484         (knuth_morris_pratt_unibyte): Remove function.
45485         * lib/strcasestr.c: Include str-kmp.h.
45486         (knuth_morris_pratt): Remove function.
45487         (strcasestr): Update.
45488         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
45489         * modules/c-strstr (Files): Likewise.
45490         * modules/mbscasestr (Files): Likewise.
45491         * modules/mbsstr (Files): Likewise.
45492         * modules/strcasestr (Files): Likewise.
45493         Suggested by Paul Eggert.
45494
45495 2007-12-30  Bruno Haible  <bruno@clisp.org>
45496
45497         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
45498         defined.
45499
45500 2007-12-30  Bruno Haible  <bruno@clisp.org>
45501
45502         * lib/xmalloca.h: Include xalloc.h.
45503         (xnmalloca): New macro.
45504
45505 2007-12-30  Bruno Haible  <bruno@clisp.org>
45506
45507         * lib/malloca.h (nmalloca): New macro.
45508         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
45509         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
45510         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
45511         knuth_morris_pratt_multibyte): Likewise.
45512         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
45513         knuth_morris_pratt_multibyte): Likewise.
45514         * lib/memmem.c (knuth_morris_pratt): Likewise.
45515         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
45516
45517 2007-12-25  Bruno Haible  <bruno@clisp.org>
45518
45519         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
45520         * lib/glob.c: Don't include openat.h.
45521         (link_exists2_p): Add back the code that deals with the
45522         !GLOB_ALTDIRFUNC case.
45523         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
45524         let it do the filename concatenation.
45525         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
45526         * modules/glob (Depends-on): Remove openat.
45527
45528 2007-12-31  Bruno Haible  <bruno@clisp.org>
45529
45530         * modules/dirfd (License): Change to LGPLv2+.
45531         Approved by Jim Meyering.
45532
45533 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
45534
45535         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
45536         when multiplying M by sizeof (size_t).
45537
45538 2007-12-10  Martin Lambers  <marlam@marlam.de>
45539
45540         Override getpagesize on mingw.
45541         * lib/getpagesize.c: New file.
45542         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
45543         * modules/getpagesize (Files): Add lib/getpagesize.c.
45544         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
45545         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
45546         REPLACE_GETPAGESIZE.
45547         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
45548
45549 2007-12-25  Bruno Haible  <bruno@clisp.org>
45550
45551         * modules/localcharset (Notice): New field.
45552         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
45553         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
45554
45555 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
45556             Bruno Haible  <bruno@clisp.org>
45557
45558         Avoid using the syntax symbol() in formatted documentation.
45559         * MODULES.html.sh (func_module): When replacing symbol() with a
45560         hyperlink, remove the parentheses. Show an error if some remain.
45561         Recognize and render the '...' syntax.
45562         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
45563         Rework. Add paragraph about GCC's inlining.
45564         * doc/alloca.texi: Likewise.
45565         * doc/error.texi: Remove parentheses from symbol reference.
45566         * doc/gnulib-intro.texi: Likewise.
45567         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
45568         * modules/fnmatch (Description): Reword to say "the ... function".
45569         * modules/full-read (Description): Likewise.
45570         * modules/full-write (Description): Likewise.
45571         * modules/safe-read (Description): Likewise.
45572         * modules/safe-write (Description): Likewise.
45573         * modules/strchrnul (Description): Likewise.
45574         * modules/trim (Description): Likewise.
45575         * modules/error (Description): Remove parentheses from symbol
45576         references.
45577         * modules/verror (Description): Likewise.
45578         Reported by Karl Berry.
45579
45580 2007-12-25  Bruno Haible  <bruno@clisp.org>
45581
45582         Fixup after 2007-10-16 commit.
45583         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
45584
45585 2007-12-24  Bruno Haible  <bruno@clisp.org>
45586
45587         Make --enable-relocatable work with DESTDIR.
45588         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
45589         to compute installdir from destprog.
45590         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
45591         also set the RELOC_DESTDIR variable.
45592         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
45593
45594 2007-12-24  Bruno Haible  <bruno@clisp.org>
45595
45596         Fix link error due to xalloc_die().
45597         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
45598         of xreadlink.
45599         * lib/relocwrapper.c: Update comments.
45600         * build-aux/install-reloc: Remove xreadlink.c from file list.
45601         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
45602         xreadlink.c.
45603         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
45604
45605 2007-12-24  Bruno Haible  <bruno@clisp.org>
45606
45607         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
45608         * lib/setenv.h: Remove file.
45609         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
45610         lib/setenv.h.
45611         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
45612         (Depends-on): Add stdlib.
45613         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
45614         gl_FUNC_UNSETENV.
45615         (Include): Replace setenv.h with <stdlib.h>.
45616         * modules/unsetenv: New file.
45617         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
45618         * lib/unsetenv.c: Include <stdlib.h> first.
45619         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
45620         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
45621         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
45622         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
45623         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
45624         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
45625         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
45626         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
45627         * doc/functions/unsetenv.texi: Update.
45628         * modules/xsetenv (Depends-on): Add unsetenv.
45629         * modules/getdate (Depends-on): Likewise.
45630         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
45631         * lib/xsetenv.c: Don't include setenv.h.
45632         * lib/getdate.y: Likewise.
45633         * lib/relocwrapper.c: Likewise.
45634         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
45635         (Depends-on): Add stdlib.
45636         * NEWS: Mention the changes.
45637         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
45638
45639 2007-12-23  Bruno Haible  <bruno@clisp.org>
45640
45641         * lib/memmem.c (memmem): Use lowercase variable names. Tab
45642         indentation.
45643
45644 2007-12-23  Bruno Haible  <bruno@clisp.org>
45645
45646         * lib/c-strcasestr.c: Add more comments.
45647         * lib/c-strstr.c: Likewise.
45648         * lib/mbscasestr.c: Likewise.
45649         * lib/mbsstr.c: Likewise.
45650         * lib/strcasestr.c: Likewise.
45651         * lib/memmem.c: Likewise.
45652
45653 2007-12-23  Bruno Haible  <bruno@clisp.org>
45654
45655         * tests/test-memmem.c: Include <string.h> first.
45656
45657 2007-12-22  Bruno Haible  <bruno@clisp.org>
45658
45659         * gnulib-tool (func_create_testdir): Change $auxdir while generating
45660         the contents of $testsbase.
45661         Reported by Ralf Wildenhues.
45662
45663 2007-12-22  Bruno Haible  <bruno@clisp.org>
45664
45665         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
45666         two variables local_ldadd_before, local_ldadd_last.
45667
45668 2007-12-20  Eric Blake  <ebb9@byu.net>
45669
45670         Work around circular library issue when cross-compiling.
45671         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
45672         that progname.o does not need to pull in rpl_memcmp.
45673
45674 2007-12-19  Eric Blake  <ebb9@byu.net>
45675
45676         Fix memmem to avoid O(n^2) worst-case complexity.
45677         * lib/memmem.c (knuth_morris_pratt): New function.
45678         (memmem): Use it if first few naive iterations fail.
45679         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
45680         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
45681         * modules/memchr (License): Likewise.
45682         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
45683         malloca.
45684         * tests/test-memmem.c: Rewrite, borrowing ideas from
45685         test-mbsstr1.c; the old version wouldn't even compile!
45686         * modules/memmem-tests: New file.
45687         * lib/string.in.h (rpl_memmem): Add declaration.
45688         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
45689         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
45690         REPLACE_MEMMEM.
45691
45692 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
45693
45694         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
45695         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
45696         before any system include files, and undef after them all.  This
45697         should fix a problem on VMS reported by John E. Malmberg in
45698         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
45699
45700 2007-12-17  Eric Blake  <ebb9@byu.net>
45701
45702         Revert addition of verify, for BSD/OS.
45703         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
45704         can't handle large files, for the sake of obsolete platforms.
45705         * modules/fseeko (Depends-on): Remove verify.
45706         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
45707         * doc/functions/ftello.texi (ftello): Likewise.
45708         * doc/functions/fgetpos.texi (fgetpos): Likewise.
45709         Reported by Larry Jones.
45710
45711 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
45712
45713         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
45714         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
45715
45716 2007-12-17  Jim Meyering  <meyering@redhat.com>
45717
45718         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
45719         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
45720         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
45721         * modules/getcwd (Depends-on): Add openat.
45722         Reported by Petr Salinger.
45723
45724 2007-12-17  Bruno Haible  <bruno@clisp.org>
45725
45726         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
45727         avoid a segmentation fault of the configure test on x86_64 systems.
45728
45729 2007-12-15  Jim Meyering  <meyering@redhat.com>
45730
45731         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
45732
45733 2007-12-13  Eric Blake  <ebb9@byu.net>
45734
45735         Another fseek test.
45736         * tests/test-fseek.c (main): Also test ungetc handling.
45737         * tests/test-fseeko.c (main): Likewise.
45738         * modules/fseeko (Depends-on): Add verify.
45739         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
45740         large.
45741         Reported by Larry Jones.
45742
45743         Fix fseeko on mingw.
45744         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
45745         seek.
45746
45747         Beef up fseek tests.
45748         * tests/test-fseek.c (main): Also test eof handling.
45749         * tests/test-fseeko.c (main): Likewise.
45750         Reported by Larry Jones.
45751
45752 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
45753
45754         Fix fseeko on BSD-based platforms.
45755         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
45756         successful seek.
45757
45758 2007-12-12  Eric Blake  <ebb9@byu.net>
45759
45760         Allow circular dependency of separate libtests.a
45761         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
45762         when use_libtests.
45763
45764 2007-12-11  Eric Blake  <ebb9@byu.net>
45765
45766         Fix bug with -0.0L in previous patch.
45767         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
45768         * tests/test-isnan.c (main): Also test on zeroes.
45769         * tests/test-isnanf.c (main): Likewise.
45770         * tests/test-isnanl.h (main): Likewise.
45771
45772         Detect pseudo-denormals on x86 even when cross-compiling.
45773         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
45774         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
45775         invalid bit patterns that happen to satisfy ==.
45776
45777         Avoid link failures with separate libtests.a.
45778         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
45779         last, to satisfy circular dependencies.
45780
45781 2007-12-11  Eric Blake  <ebb9@byu.net>
45782         and Bruno Haible  <bruno@clisp.org>
45783
45784         Fix OpenBSD 4.0 <float.h> handling of long double.
45785         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
45786         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
45787         * doc/headers/float.texi (float.h): Document OpenBSD bug.
45788
45789 2007-12-11  Jim Meyering  <meyering@redhat.com>
45790
45791         * users.txt: Add libvirt.
45792
45793         Support versions of autoconf prior to 2.59c.
45794         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
45795         if it is not already defined.
45796
45797 2007-12-09  Bruno Haible  <bruno@clisp.org>
45798
45799         Let 'gnulib-tool --import' collect sources needed for the tests in
45800         tests/ rather than in lib/.
45801         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
45802         argument. If true, add rules to generate libtests.a, and put libtests.a
45803         into $(LDADD). Consider source files in subdirectories and set
45804         uses_subdirs.
45805         (func_emit_initmacro_start, func_emit_initmacro_end,
45806         func_emit_initmacro_done): Pass all arguments explicitly.
45807         (func_import): Determine two module lists main_modules,
45808         testsrelated_modules. Determine use_libtests. Determine two variables
45809         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
45810         instead of just sed_transform_lib_file. Determine two variables
45811         main_files and testsrelated_files. Compute 'files' as the union of
45812         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
45813         func_add_or_update. In the generated gnulib-comp.m4, collect the
45814         object files for tests/ in different variables than those for lib/.
45815         Substitute LIBTESTS_LIBDEPS.
45816         (func_create_testdir): Combine the uses_subdirs results from
45817         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
45818
45819 2007-12-09  Bruno Haible  <bruno@clisp.org>
45820
45821         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
45822         the build-aux directory.
45823
45824 2007-12-09  Bruno Haible  <bruno@clisp.org>
45825
45826         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
45827         introduced on 2006-09-09.
45828
45829 2007-12-07  Jim Meyering  <meyering@redhat.com>
45830
45831         Let these macros work also with autoconf-2.59.
45832         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
45833         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
45834         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
45835
45836 2007-12-06  Jim Meyering  <meyering@redhat.com>
45837
45838         Avoid a configure-time syntax error in gl_FUNC_ACL.
45839         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
45840         function in each branch, before testing the cache variable.
45841
45842 2007-12-04  Eric Blake  <ebb9@byu.net>
45843
45844         Make scripts executable.
45845         * build-aux/config.guess: Add execute permissions.
45846         * build-aux/config.sub: Likewise.
45847         * build-aux/gendocs.sh: Likewise.
45848
45849         Fix frexp on mingw.
45850         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
45851         cross-compiling.
45852         * doc/functions/frexp.texi (frexp): Document the bug.
45853
45854         Make cygwin fseeko check more reliable.
45855         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
45856         version numbers, rather than unrelated feature check.
45857         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
45858         * doc/functions/ftello.texi (ftello): Likewise.
45859         Reported by Bruno Haible.
45860
45861         * m4/strerror.m4: Bump version number.
45862
45863 2007-12-03  Bruno Haible  <bruno@clisp.org>
45864
45865         * doc/functions/mprotect.texi: Mention the mingw problem.
45866
45867 2007-12-03  Eric Blake  <ebb9@byu.net>
45868
45869         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
45870         REPLACE_STRERROR is initialized before this macro.
45871
45872 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
45873
45874         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
45875         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
45876         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
45877         put -lsec in even for programs other than 'ls'.  This fixes a problem
45878         for gettext reported by Bruno Haible in
45879         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
45880         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
45881         Add support for Solaris 10.  This isn't efficient, but should get the
45882         job done for now.
45883
45884 2007-12-03  James Youngman  <jay@gnu.org>
45885
45886         * doc/regexprops-generic.texi: change "an close-group" to "a
45887         close-group" and "illegal" to "not allowed".
45888
45889 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45890
45891         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
45892         pr_byname.h. Needed for the rare case when the maintainer has done
45893         "make maintainer-clean" in the source directory and then attempts a
45894         build outside the source directory.
45895         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
45896         scripts_byname.h.
45897
45898 2007-12-02  Martin Lambers <marlam@marlam.de>
45899             Bruno Haible  <bruno@clisp.org>
45900
45901         * lib/getpagesize.h: Remove file.
45902         * lib/unistd.in.h: Include declaration of getpagesize here.
45903         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
45904         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
45905         HAVE_SYS_PARAM_H.
45906         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
45907         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
45908         * modules/getpagesize (Files): Remove lib/getpagesize.h.
45909         (Depends-on): Add unistd.
45910         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
45911         (Include): Use <unistd.h> instead of getpagesize.h.
45912         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
45913         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
45914         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
45915         gl_GETPAGESIZE invocation, already handled by module dependency.
45916         * lib/pagealign_alloc.c: Don't include getpagesize.h.
45917
45918 2007-12-02  Bruno Haible  <bruno@clisp.org>
45919
45920         * modules/strings-tests: New file.
45921         * tests/test-strings.c: New file.
45922
45923         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
45924         * lib/strings.in.h: New file.
45925         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
45926         * m4/strings_h.m4: New file.
45927         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
45928         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
45929         * modules/strings: New file.
45930         * modules/string (Makefile.am): Update.
45931         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
45932         Reported by Karl Berry.
45933
45934 2007-12-01  Eric Blake  <ebb9@byu.net>
45935
45936         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
45937         accomodate fix in cygwin 1.5.25.
45938
45939 2007-12-01  Jim Meyering  <meyering@redhat.com>
45940
45941         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
45942         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
45943         that would inhibit utf8-optimization of a regexp containing line-
45944         or buffer-anchors, e.g., `^', `$'.
45945
45946 2007-11-30  Bruno Haible  <bruno@clisp.org>
45947
45948         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
45949         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
45950         glthread_recursive_lock_init.
45951         * lib/lock.c (glthread_recursive_lock_init)
45952         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
45953         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
45954
45955 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
45956
45957         New function qset_acl, like set_acl but with syscall semantics.
45958         * lib/acl.h (qset_acl): New decl.
45959         * lib/acl.c (qset_acl): New function.
45960         (set_acl): Use new function.  Use more-consistent diagnostics.
45961
45962 2007-11-28  Jim Meyering  <meyering@redhat.com>
45963
45964         * modules/physmem (License): Change from GPL to LGPLv2+.
45965
45966 2007-11-26  Bruno Haible  <bruno@clisp.org>
45967
45968         * lib/vasnprintf.c (decode_long_double): Don't abort if the
45969         'long double' type has excess precision.
45970         Reported by Jim Meyering in
45971         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
45972
45973 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45974
45975         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
45976         Sync from <http://gnu.org/licenses>.
45977         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
45978         with license text from same location.
45979         * doc/maintain.texi, doc/standards.texi:  Sync from
45980         <http://savannah.gnu.org/projects/gnustandards>.
45981
45982 2007-11-22  OndÅ™ej Vašík  <ovasik@redhat.com>
45983         and Jim Meyering  <meyering@redhat.com>
45984
45985         Adjust getdate' grammar to accept a slightly more regular language.
45986         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
45987         Before, the former was rejected.
45988         * lib/getdate.y (digits_to_date_time): New function, factored
45989         out of ...
45990         (number): ...here.  Just call digits_to_date_time.
45991         (hybrid): New non-terminal to handle an <unsigned number,
45992         signed relative offset> sequence consistently.
45993
45994 2007-11-18  Jim Meyering  <meyering@redhat.com>
45995
45996         Pull my changes from coreutils:
45997         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
45998         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
45999         use of $gnulib_tool_option_extras, so that it's separated from the
46000         preceding argument.
46001
46002         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
46003         * build-aux/bootstrap (cp_mark_as_generated): Create any required
46004         parent destination directories before copying a file into place.
46005
46006 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
46007
46008         bootstrap: work also with 4-argument variant of AC_INIT
46009         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
46010
46011 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
46012
46013         Port test-getaddrinfo to Solaris.
46014         Problem reported by Bruno Haible in
46015         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
46016         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
46017         explanation of setting 'hints'.
46018         Don't reject an implementation merely because it returns EAI_SERVICE.
46019         (EAI_SERVICE): Define to 0 if not defined.
46020
46021 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
46022
46023         The license of gnu-make and posix-shell is now "GPLed build tool".
46024         * modules/gnu-make (License): Likewise.
46025         * modules/posix-shell (License): Likewise.
46026
46027         New module posix-shell, for determining a POSIX shell
46028         or perhaps something that is close enough to a POSIX shell.
46029         * m4/posix-shell.m4: New file.
46030         * modules/posix-shell: New file.
46031
46032         * MODULES.html.sh: Mention new module.
46033
46034         New module gnu-make, for determining whether we're using GNU Make.
46035         * m4/gnu-make.m4: New file.
46036         * modules/gnu-make: New file.
46037         * MODULES.html.sh: Mention new module.
46038
46039 2007-11-14  Jim Meyering  <meyering@redhat.com>
46040
46041         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
46042         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
46043         use this macro to create a function _definition_.
46044         Remove useless "#undef ARGMATCH_DIE".
46045
46046 2007-11-14  Bruno Haible  <bruno@clisp.org>
46047
46048         * lib/config.charset: Update for OpenBSD 4.1.
46049         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
46050
46051 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
46052
46053         Document 64-bit #if problems in stdint.texi.
46054         * doc/headers/stdint.texi (stdint.h): Mention problems with
46055         64-bit-#if, and how to work around them.
46056
46057         Don't insist on 'long long int' support in the preprocessor.  It
46058         breaks too many things.  For example, PRIdMAX still uses a 'long
46059         long int' format with the latest Sun compiler, even though
46060         HAVE_LONG_LONG_INT isn't defined due to that compiler's
46061         preprocessor problem.  This causes the latest coreutils to dump
46062         core on Solaris 10 sparc with the Sun C compiler.
46063         Instead, fix the 2007-10-16 problem in a different way, by evaluating
46064         the troublesome expressions at configure-time, not at #if-time.
46065         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
46066         preprocessor.
46067         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
46068         compile-time C checks, done at 'configure'-time.
46069         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
46070         * modules/inttypes (Makefile): Substitute the new symbols that
46071         gl_INTTYPES_H now generates.
46072         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
46073
46074 2007-11-12  Bruno Haible  <bruno@clisp.org>
46075
46076         Tests for Unicode character classification functions.
46077
46078         * modules/unictype/bidicategory-byname-tests: New file.
46079         * modules/unictype/bidicategory-name-tests: New file.
46080         * modules/unictype/bidicategory-of-tests: New file.
46081         * modules/unictype/bidicategory-test-tests: New file.
46082         * modules/unictype/block-list-tests: New file.
46083         * modules/unictype/block-of-tests: New file.
46084         * modules/unictype/block-test-tests: New file.
46085         * modules/unictype/category-C-tests: New file.
46086         * modules/unictype/category-Cc-tests: New file.
46087         * modules/unictype/category-Cf-tests: New file.
46088         * modules/unictype/category-Cn-tests: New file.
46089         * modules/unictype/category-Co-tests: New file.
46090         * modules/unictype/category-Cs-tests: New file.
46091         * modules/unictype/category-L-tests: New file.
46092         * modules/unictype/category-Ll-tests: New file.
46093         * modules/unictype/category-Lm-tests: New file.
46094         * modules/unictype/category-Lo-tests: New file.
46095         * modules/unictype/category-Lt-tests: New file.
46096         * modules/unictype/category-Lu-tests: New file.
46097         * modules/unictype/category-M-tests: New file.
46098         * modules/unictype/category-Mc-tests: New file.
46099         * modules/unictype/category-Me-tests: New file.
46100         * modules/unictype/category-Mn-tests: New file.
46101         * modules/unictype/category-N-tests: New file.
46102         * modules/unictype/category-Nd-tests: New file.
46103         * modules/unictype/category-Nl-tests: New file.
46104         * modules/unictype/category-No-tests: New file.
46105         * modules/unictype/category-P-tests: New file.
46106         * modules/unictype/category-Pc-tests: New file.
46107         * modules/unictype/category-Pd-tests: New file.
46108         * modules/unictype/category-Pe-tests: New file.
46109         * modules/unictype/category-Pf-tests: New file.
46110         * modules/unictype/category-Pi-tests: New file.
46111         * modules/unictype/category-Po-tests: New file.
46112         * modules/unictype/category-Ps-tests: New file.
46113         * modules/unictype/category-S-tests: New file.
46114         * modules/unictype/category-Sc-tests: New file.
46115         * modules/unictype/category-Sk-tests: New file.
46116         * modules/unictype/category-Sm-tests: New file.
46117         * modules/unictype/category-So-tests: New file.
46118         * modules/unictype/category-Z-tests: New file.
46119         * modules/unictype/category-Zl-tests: New file.
46120         * modules/unictype/category-Zp-tests: New file.
46121         * modules/unictype/category-Zs-tests: New file.
46122         * modules/unictype/category-and-not-tests: New file.
46123         * modules/unictype/category-and-tests: New file.
46124         * modules/unictype/category-byname-tests: New file.
46125         * modules/unictype/category-name-tests: New file.
46126         * modules/unictype/category-none-tests: New file.
46127         * modules/unictype/category-of-tests: New file.
46128         * modules/unictype/category-or-tests: New file.
46129         * modules/unictype/category-test-withtable-tests: New file.
46130         * modules/unictype/combining-class-tests: New file.
46131         * modules/unictype/ctype-alnum-tests: New file.
46132         * modules/unictype/ctype-alpha-tests: New file.
46133         * modules/unictype/ctype-blank-tests: New file.
46134         * modules/unictype/ctype-cntrl-tests: New file.
46135         * modules/unictype/ctype-digit-tests: New file.
46136         * modules/unictype/ctype-graph-tests: New file.
46137         * modules/unictype/ctype-lower-tests: New file.
46138         * modules/unictype/ctype-print-tests: New file.
46139         * modules/unictype/ctype-punct-tests: New file.
46140         * modules/unictype/ctype-space-tests: New file.
46141         * modules/unictype/ctype-upper-tests: New file.
46142         * modules/unictype/ctype-xdigit-tests: New file.
46143         * modules/unictype/decimal-digit-tests: New file.
46144         * modules/unictype/digit-tests: New file.
46145         * modules/unictype/mirror-tests: New file.
46146         * modules/unictype/numeric-tests: New file.
46147         * modules/unictype/property-alphabetic-tests: New file.
46148         * modules/unictype/property-ascii-hex-digit-tests: New file.
46149         * modules/unictype/property-bidi-arabic-digit-tests: New file.
46150         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
46151         * modules/unictype/property-bidi-block-separator-tests: New file.
46152         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
46153         * modules/unictype/property-bidi-common-separator-tests: New file.
46154         * modules/unictype/property-bidi-control-tests: New file.
46155         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
46156         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
46157         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
46158         * modules/unictype/property-bidi-european-digit-tests: New file.
46159         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
46160         * modules/unictype/property-bidi-left-to-right-tests: New file.
46161         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
46162         * modules/unictype/property-bidi-other-neutral-tests: New file.
46163         * modules/unictype/property-bidi-pdf-tests: New file.
46164         * modules/unictype/property-bidi-segment-separator-tests: New file.
46165         * modules/unictype/property-bidi-whitespace-tests: New file.
46166         * modules/unictype/property-byname-tests: New file.
46167         * modules/unictype/property-combining-tests: New file.
46168         * modules/unictype/property-composite-tests: New file.
46169         * modules/unictype/property-currency-symbol-tests: New file.
46170         * modules/unictype/property-dash-tests: New file.
46171         * modules/unictype/property-decimal-digit-tests: New file.
46172         * modules/unictype/property-default-ignorable-code-point-tests: New file.
46173         * modules/unictype/property-deprecated-tests: New file.
46174         * modules/unictype/property-diacritic-tests: New file.
46175         * modules/unictype/property-extender-tests: New file.
46176         * modules/unictype/property-format-control-tests: New file.
46177         * modules/unictype/property-grapheme-base-tests: New file.
46178         * modules/unictype/property-grapheme-extend-tests: New file.
46179         * modules/unictype/property-grapheme-link-tests: New file.
46180         * modules/unictype/property-hex-digit-tests: New file.
46181         * modules/unictype/property-hyphen-tests: New file.
46182         * modules/unictype/property-id-continue-tests: New file.
46183         * modules/unictype/property-id-start-tests: New file.
46184         * modules/unictype/property-ideographic-tests: New file.
46185         * modules/unictype/property-ids-binary-operator-tests: New file.
46186         * modules/unictype/property-ids-trinary-operator-tests: New file.
46187         * modules/unictype/property-ignorable-control-tests: New file.
46188         * modules/unictype/property-iso-control-tests: New file.
46189         * modules/unictype/property-join-control-tests: New file.
46190         * modules/unictype/property-left-of-pair-tests: New file.
46191         * modules/unictype/property-line-separator-tests: New file.
46192         * modules/unictype/property-logical-order-exception-tests: New file.
46193         * modules/unictype/property-lowercase-tests: New file.
46194         * modules/unictype/property-math-tests: New file.
46195         * modules/unictype/property-non-break-tests: New file.
46196         * modules/unictype/property-not-a-character-tests: New file.
46197         * modules/unictype/property-numeric-tests: New file.
46198         * modules/unictype/property-other-alphabetic-tests: New file.
46199         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
46200         * modules/unictype/property-other-grapheme-extend-tests: New file.
46201         * modules/unictype/property-other-id-continue-tests: New file.
46202         * modules/unictype/property-other-id-start-tests: New file.
46203         * modules/unictype/property-other-lowercase-tests: New file.
46204         * modules/unictype/property-other-math-tests: New file.
46205         * modules/unictype/property-other-uppercase-tests: New file.
46206         * modules/unictype/property-paired-punctuation-tests: New file.
46207         * modules/unictype/property-paragraph-separator-tests: New file.
46208         * modules/unictype/property-pattern-syntax-tests: New file.
46209         * modules/unictype/property-pattern-white-space-tests: New file.
46210         * modules/unictype/property-private-use-tests: New file.
46211         * modules/unictype/property-punctuation-tests: New file.
46212         * modules/unictype/property-quotation-mark-tests: New file.
46213         * modules/unictype/property-radical-tests: New file.
46214         * modules/unictype/property-sentence-terminal-tests: New file.
46215         * modules/unictype/property-soft-dotted-tests: New file.
46216         * modules/unictype/property-space-tests: New file.
46217         * modules/unictype/property-terminal-punctuation-tests: New file.
46218         * modules/unictype/property-test-tests: New file.
46219         * modules/unictype/property-titlecase-tests: New file.
46220         * modules/unictype/property-unassigned-code-value-tests: New file.
46221         * modules/unictype/property-unified-ideograph-tests: New file.
46222         * modules/unictype/property-uppercase-tests: New file.
46223         * modules/unictype/property-variation-selector-tests: New file.
46224         * modules/unictype/property-white-space-tests: New file.
46225         * modules/unictype/property-xid-continue-tests: New file.
46226         * modules/unictype/property-xid-start-tests: New file.
46227         * modules/unictype/property-zero-width-tests: New file.
46228         * modules/unictype/scripts-tests: New file.
46229         * modules/unictype/syntax-c-ident-tests: New file.
46230         * modules/unictype/syntax-c-whitespace-tests: New file.
46231         * modules/unictype/syntax-java-ident-tests: New file.
46232         * modules/unictype/syntax-java-whitespace-tests: New file.
46233         * tests/unictype/test-bidi_byname.c: New file.
46234         * tests/unictype/test-bidi_name.c: New file.
46235         * tests/unictype/test-bidi_of.c: New file.
46236         * tests/unictype/test-bidi_test.c: New file.
46237         * tests/unictype/test-block_list.c: New file.
46238         * tests/unictype/test-block_of.c: New file.
46239         * tests/unictype/test-block_test.c: New file.
46240         * tests/unictype/test-categ_and.c: New file.
46241         * tests/unictype/test-categ_and_not.c: New file.
46242         * tests/unictype/test-categ_byname.c: New file.
46243         * tests/unictype/test-categ_name.c: New file.
46244         * tests/unictype/test-categ_none.c: New file.
46245         * tests/unictype/test-categ_of.c: New file.
46246         * tests/unictype/test-categ_or.c: New file.
46247         * tests/unictype/test-categ_test_withtable.c: New file.
46248         * tests/unictype/test-combining.c: New file.
46249         * tests/unictype/test-decdigit.c: New file.
46250         * tests/unictype/test-digit.c: New file.
46251         * tests/unictype/test-mirror.c: New file.
46252         * tests/unictype/test-numeric.c: New file.
46253         * tests/unictype/test-pr_byname.c: New file.
46254         * tests/unictype/test-pr_test.c: New file.
46255         * tests/unictype/test-predicate-part1.h: New file.
46256         * tests/unictype/test-predicate-part2.h: New file.
46257         * tests/unictype/test-scripts.c: New file.
46258         * tests/unictype/test-sy_c_ident.c: New file.
46259         * tests/unictype/test-sy_java_ident.c: New file.
46260
46261         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
46262         for Unicode 5.0.0.
46263         * tests/unictype/test-categ_Cc.c: Likewise.
46264         * tests/unictype/test-categ_Cf.c: Likewise.
46265         * tests/unictype/test-categ_Cn.c: Likewise.
46266         * tests/unictype/test-categ_Co.c: Likewise.
46267         * tests/unictype/test-categ_Cs.c: Likewise.
46268         * tests/unictype/test-categ_L.c: Likewise.
46269         * tests/unictype/test-categ_Ll.c: Likewise.
46270         * tests/unictype/test-categ_Lm.c: Likewise.
46271         * tests/unictype/test-categ_Lo.c: Likewise.
46272         * tests/unictype/test-categ_Lt.c: Likewise.
46273         * tests/unictype/test-categ_Lu.c: Likewise.
46274         * tests/unictype/test-categ_M.c: Likewise.
46275         * tests/unictype/test-categ_Mc.c: Likewise.
46276         * tests/unictype/test-categ_Me.c: Likewise.
46277         * tests/unictype/test-categ_Mn.c: Likewise.
46278         * tests/unictype/test-categ_N.c: Likewise.
46279         * tests/unictype/test-categ_Nd.c: Likewise.
46280         * tests/unictype/test-categ_Nl.c: Likewise.
46281         * tests/unictype/test-categ_No.c: Likewise.
46282         * tests/unictype/test-categ_P.c: Likewise.
46283         * tests/unictype/test-categ_Pc.c: Likewise.
46284         * tests/unictype/test-categ_Pd.c: Likewise.
46285         * tests/unictype/test-categ_Pe.c: Likewise.
46286         * tests/unictype/test-categ_Pf.c: Likewise.
46287         * tests/unictype/test-categ_Pi.c: Likewise.
46288         * tests/unictype/test-categ_Po.c: Likewise.
46289         * tests/unictype/test-categ_Ps.c: Likewise.
46290         * tests/unictype/test-categ_S.c: Likewise.
46291         * tests/unictype/test-categ_Sc.c: Likewise.
46292         * tests/unictype/test-categ_Sk.c: Likewise.
46293         * tests/unictype/test-categ_Sm.c: Likewise.
46294         * tests/unictype/test-categ_So.c: Likewise.
46295         * tests/unictype/test-categ_Z.c: Likewise.
46296         * tests/unictype/test-categ_Zl.c: Likewise.
46297         * tests/unictype/test-categ_Zp.c: Likewise.
46298         * tests/unictype/test-categ_Zs.c: Likewise.
46299         * tests/unictype/test-ctype_alnum.c: Likewise.
46300         * tests/unictype/test-ctype_alpha.c: Likewise.
46301         * tests/unictype/test-ctype_blank.c: Likewise.
46302         * tests/unictype/test-ctype_cntrl.c: Likewise.
46303         * tests/unictype/test-ctype_digit.c: Likewise.
46304         * tests/unictype/test-ctype_graph.c: Likewise.
46305         * tests/unictype/test-ctype_lower.c: Likewise.
46306         * tests/unictype/test-ctype_print.c: Likewise.
46307         * tests/unictype/test-ctype_punct.c: Likewise.
46308         * tests/unictype/test-ctype_space.c: Likewise.
46309         * tests/unictype/test-ctype_upper.c: Likewise.
46310         * tests/unictype/test-ctype_xdigit.c: Likewise.
46311         * tests/unictype/test-decdigit.h: Likewise.
46312         * tests/unictype/test-digit.h: Likewise.
46313         * tests/unictype/test-numeric.h: Likewise.
46314         * tests/unictype/test-pr_alphabetic.c: Likewise.
46315         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
46316         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
46317         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
46318         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
46319         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
46320         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
46321         * tests/unictype/test-pr_bidi_control.c: Likewise.
46322         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
46323         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
46324         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
46325         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
46326         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
46327         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
46328         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
46329         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
46330         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
46331         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
46332         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
46333         * tests/unictype/test-pr_combining.c: Likewise.
46334         * tests/unictype/test-pr_composite.c: Likewise.
46335         * tests/unictype/test-pr_currency_symbol.c: Likewise.
46336         * tests/unictype/test-pr_dash.c: Likewise.
46337         * tests/unictype/test-pr_decimal_digit.c: Likewise.
46338         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
46339         * tests/unictype/test-pr_deprecated.c: Likewise.
46340         * tests/unictype/test-pr_diacritic.c: Likewise.
46341         * tests/unictype/test-pr_extender.c: Likewise.
46342         * tests/unictype/test-pr_format_control.c: Likewise.
46343         * tests/unictype/test-pr_grapheme_base.c: Likewise.
46344         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
46345         * tests/unictype/test-pr_grapheme_link.c: Likewise.
46346         * tests/unictype/test-pr_hex_digit.c: Likewise.
46347         * tests/unictype/test-pr_hyphen.c: Likewise.
46348         * tests/unictype/test-pr_id_continue.c: Likewise.
46349         * tests/unictype/test-pr_id_start.c: Likewise.
46350         * tests/unictype/test-pr_ideographic.c: Likewise.
46351         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
46352         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
46353         * tests/unictype/test-pr_ignorable_control.c: Likewise.
46354         * tests/unictype/test-pr_iso_control.c: Likewise.
46355         * tests/unictype/test-pr_join_control.c: Likewise.
46356         * tests/unictype/test-pr_left_of_pair.c: Likewise.
46357         * tests/unictype/test-pr_line_separator.c: Likewise.
46358         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
46359         * tests/unictype/test-pr_lowercase.c: Likewise.
46360         * tests/unictype/test-pr_math.c: Likewise.
46361         * tests/unictype/test-pr_non_break.c: Likewise.
46362         * tests/unictype/test-pr_not_a_character.c: Likewise.
46363         * tests/unictype/test-pr_numeric.c: Likewise.
46364         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
46365         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
46366         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
46367         * tests/unictype/test-pr_other_id_continue.c: Likewise.
46368         * tests/unictype/test-pr_other_id_start.c: Likewise.
46369         * tests/unictype/test-pr_other_lowercase.c: Likewise.
46370         * tests/unictype/test-pr_other_math.c: Likewise.
46371         * tests/unictype/test-pr_other_uppercase.c: Likewise.
46372         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
46373         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
46374         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
46375         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
46376         * tests/unictype/test-pr_private_use.c: Likewise.
46377         * tests/unictype/test-pr_punctuation.c: Likewise.
46378         * tests/unictype/test-pr_quotation_mark.c: Likewise.
46379         * tests/unictype/test-pr_radical.c: Likewise.
46380         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
46381         * tests/unictype/test-pr_soft_dotted.c: Likewise.
46382         * tests/unictype/test-pr_space.c: Likewise.
46383         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
46384         * tests/unictype/test-pr_titlecase.c: Likewise.
46385         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
46386         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
46387         * tests/unictype/test-pr_uppercase.c: Likewise.
46388         * tests/unictype/test-pr_variation_selector.c: Likewise.
46389         * tests/unictype/test-pr_white_space.c: Likewise.
46390         * tests/unictype/test-pr_xid_continue.c: Likewise.
46391         * tests/unictype/test-pr_xid_start.c: Likewise.
46392         * tests/unictype/test-pr_zero_width.c: Likewise.
46393         * tests/unictype/test-sy_c_whitespace.c: Likewise.
46394         * tests/unictype/test-sy_java_whitespace.c: Likewise.
46395
46396 2007-11-12  Bruno Haible  <bruno@clisp.org>
46397
46398         Unicode character classification functions.
46399         * lib/unictype.h: New file.
46400         * modules/unictype/base: New file.
46401         * modules/unictype/category-L: New file.
46402         * modules/unictype/category-Lu: New file.
46403         * modules/unictype/category-Ll: New file.
46404         * modules/unictype/category-Lt: New file.
46405         * modules/unictype/category-Lm: New file.
46406         * modules/unictype/category-Lo: New file.
46407         * modules/unictype/category-M: New file.
46408         * modules/unictype/category-Mn: New file.
46409         * modules/unictype/category-Mc: New file.
46410         * modules/unictype/category-Me: New file.
46411         * modules/unictype/category-N: New file.
46412         * modules/unictype/category-Nd: New file.
46413         * modules/unictype/category-Nl: New file.
46414         * modules/unictype/category-No: New file.
46415         * modules/unictype/category-P: New file.
46416         * modules/unictype/category-Pc: New file.
46417         * modules/unictype/category-Pd: New file.
46418         * modules/unictype/category-Ps: New file.
46419         * modules/unictype/category-Pe: New file.
46420         * modules/unictype/category-Pi: New file.
46421         * modules/unictype/category-Pf: New file.
46422         * modules/unictype/category-Po: New file.
46423         * modules/unictype/category-S: New file.
46424         * modules/unictype/category-Sm: New file.
46425         * modules/unictype/category-Sc: New file.
46426         * modules/unictype/category-Sk: New file.
46427         * modules/unictype/category-So: New file.
46428         * modules/unictype/category-Z: New file.
46429         * modules/unictype/category-Zs: New file.
46430         * modules/unictype/category-Zl: New file.
46431         * modules/unictype/category-Zp: New file.
46432         * modules/unictype/category-C: New file.
46433         * modules/unictype/category-Cc: New file.
46434         * modules/unictype/category-Cf: New file.
46435         * modules/unictype/category-Cs: New file.
46436         * modules/unictype/category-Co: New file.
46437         * modules/unictype/category-Cn: New file.
46438         * modules/unictype/category-or: New file.
46439         * modules/unictype/category-of: New file.
46440         * modules/unictype/category-test: New file.
46441         * modules/unictype/category-test-withtable: New file.
46442         * modules/unictype/category-byname: New file.
46443         * modules/unictype/category-none: New file.
46444         * modules/unictype/category-and: New file.
46445         * modules/unictype/category-and-not: New file.
46446         * modules/unictype/category-name: New file.
46447         * modules/unictype/combining-class: New file.
46448         * modules/unictype/category-all: New file.
46449         * modules/unictype/bidicategory-all: New file.
46450         * modules/unictype/bidicategory-byname: New file.
46451         * modules/unictype/bidicategory-name: New file.
46452         * modules/unictype/bidicategory-of: New file.
46453         * modules/unictype/bidicategory-test: New file.
46454         * modules/unictype/decimal-digit: New file.
46455         * modules/unictype/digit: New file.
46456         * modules/unictype/numeric: New file.
46457         * modules/unictype/mirror: New file.
46458         * modules/unictype/property-white-space: New file.
46459         * modules/unictype/property-alphabetic: New file.
46460         * modules/unictype/property-other-alphabetic: New file.
46461         * modules/unictype/property-not-a-character: New file.
46462         * modules/unictype/property-default-ignorable-code-point: New file.
46463         * modules/unictype/property-other-default-ignorable-code-point: New
46464         file.
46465         * modules/unictype/property-deprecated: New file.
46466         * modules/unictype/property-logical-order-exception: New file.
46467         * modules/unictype/property-variation-selector: New file.
46468         * modules/unictype/property-private-use: New file.
46469         * modules/unictype/property-unassigned-code-value: New file.
46470         * modules/unictype/property-uppercase: New file.
46471         * modules/unictype/property-other-uppercase: New file.
46472         * modules/unictype/property-lowercase: New file.
46473         * modules/unictype/property-other-lowercase: New file.
46474         * modules/unictype/property-titlecase: New file.
46475         * modules/unictype/property-soft-dotted: New file.
46476         * modules/unictype/property-id-start: New file.
46477         * modules/unictype/property-other-id-start: New file.
46478         * modules/unictype/property-id-continue: New file.
46479         * modules/unictype/property-other-id-continue: New file.
46480         * modules/unictype/property-xid-start: New file.
46481         * modules/unictype/property-xid-continue: New file.
46482         * modules/unictype/property-pattern-white-space: New file.
46483         * modules/unictype/property-pattern-syntax: New file.
46484         * modules/unictype/property-join-control: New file.
46485         * modules/unictype/property-grapheme-base: New file.
46486         * modules/unictype/property-grapheme-extend: New file.
46487         * modules/unictype/property-other-grapheme-extend: New file.
46488         * modules/unictype/property-grapheme-link: New file.
46489         * modules/unictype/property-bidi-control: New file.
46490         * modules/unictype/property-bidi-left-to-right: New file.
46491         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
46492         * modules/unictype/property-bidi-arabic-right-to-left: New file.
46493         * modules/unictype/property-bidi-european-digit: New file.
46494         * modules/unictype/property-bidi-eur-num-separator: New file.
46495         * modules/unictype/property-bidi-eur-num-terminator: New file.
46496         * modules/unictype/property-bidi-arabic-digit: New file.
46497         * modules/unictype/property-bidi-common-separator: New file.
46498         * modules/unictype/property-bidi-block-separator: New file.
46499         * modules/unictype/property-bidi-segment-separator: New file.
46500         * modules/unictype/property-bidi-whitespace: New file.
46501         * modules/unictype/property-bidi-non-spacing-mark: New file.
46502         * modules/unictype/property-bidi-boundary-neutral: New file.
46503         * modules/unictype/property-bidi-pdf: New file.
46504         * modules/unictype/property-bidi-embedding-or-override: New file.
46505         * modules/unictype/property-bidi-other-neutral: New file.
46506         * modules/unictype/property-hex-digit: New file.
46507         * modules/unictype/property-ascii-hex-digit: New file.
46508         * modules/unictype/property-ideographic: New file.
46509         * modules/unictype/property-unified-ideograph: New file.
46510         * modules/unictype/property-radical: New file.
46511         * modules/unictype/property-ids-binary-operator: New file.
46512         * modules/unictype/property-ids-trinary-operator: New file.
46513         * modules/unictype/property-zero-width: New file.
46514         * modules/unictype/property-space: New file.
46515         * modules/unictype/property-non-break: New file.
46516         * modules/unictype/property-iso-control: New file.
46517         * modules/unictype/property-format-control: New file.
46518         * modules/unictype/property-dash: New file.
46519         * modules/unictype/property-hyphen: New file.
46520         * modules/unictype/property-punctuation: New file.
46521         * modules/unictype/property-line-separator: New file.
46522         * modules/unictype/property-paragraph-separator: New file.
46523         * modules/unictype/property-quotation-mark: New file.
46524         * modules/unictype/property-sentence-terminal: New file.
46525         * modules/unictype/property-terminal-punctuation: New file.
46526         * modules/unictype/property-currency-symbol: New file.
46527         * modules/unictype/property-math: New file.
46528         * modules/unictype/property-other-math: New file.
46529         * modules/unictype/property-paired-punctuation: New file.
46530         * modules/unictype/property-left-of-pair: New file.
46531         * modules/unictype/property-combining: New file.
46532         * modules/unictype/property-composite: New file.
46533         * modules/unictype/property-decimal-digit: New file.
46534         * modules/unictype/property-numeric: New file.
46535         * modules/unictype/property-diacritic: New file.
46536         * modules/unictype/property-extender: New file.
46537         * modules/unictype/property-ignorable-control: New file.
46538         * modules/unictype/property-test: New file.
46539         * modules/unictype/property-byname: New file.
46540         * modules/unictype/property-all: New file.
46541         * modules/unictype/scripts: New file.
46542         * modules/unictype/scripts-all: New file.
46543         * modules/unictype/block-of: New file.
46544         * modules/unictype/block-test: New file.
46545         * modules/unictype/block-list: New file.
46546         * modules/unictype/block-all: New file.
46547         * modules/unictype/syntax-c-whitespace: New file.
46548         * modules/unictype/syntax-java-whitespace: New file.
46549         * modules/unictype/syntax-c-ident: New file.
46550         * modules/unictype/syntax-java-ident: New file.
46551         * modules/unictype/ctype-alnum: New file.
46552         * modules/unictype/ctype-alpha: New file.
46553         * modules/unictype/ctype-cntrl: New file.
46554         * modules/unictype/ctype-digit: New file.
46555         * modules/unictype/ctype-graph: New file.
46556         * modules/unictype/ctype-lower: New file.
46557         * modules/unictype/ctype-print: New file.
46558         * modules/unictype/ctype-punct: New file.
46559         * modules/unictype/ctype-space: New file.
46560         * modules/unictype/ctype-upper: New file.
46561         * modules/unictype/ctype-xdigit: New file.
46562         * modules/unictype/ctype-blank: New file.
46563         * lib/unictype/bidi_byname.c: New file.
46564         * lib/unictype/bidi_name.c: New file.
46565         * lib/unictype/bidi_of.c: New file.
46566         * lib/unictype/bidi_test.c: New file.
46567         * lib/unictype/bitmap.h: New file.
46568         * lib/unictype/block_test.c: New file.
46569         * lib/unictype/blocks.c: New file.
46570         * lib/unictype/categ_C.c: New file.
46571         * lib/unictype/categ_Cc.c: New file.
46572         * lib/unictype/categ_Cf.c: New file.
46573         * lib/unictype/categ_Cn.c: New file.
46574         * lib/unictype/categ_Co.c: New file.
46575         * lib/unictype/categ_Cs.c: New file.
46576         * lib/unictype/categ_L.c: New file.
46577         * lib/unictype/categ_Ll.c: New file.
46578         * lib/unictype/categ_Lm.c: New file.
46579         * lib/unictype/categ_Lo.c: New file.
46580         * lib/unictype/categ_Lt.c: New file.
46581         * lib/unictype/categ_Lu.c: New file.
46582         * lib/unictype/categ_M.c: New file.
46583         * lib/unictype/categ_Mc.c: New file.
46584         * lib/unictype/categ_Me.c: New file.
46585         * lib/unictype/categ_Mn.c: New file.
46586         * lib/unictype/categ_N.c: New file.
46587         * lib/unictype/categ_Nd.c: New file.
46588         * lib/unictype/categ_Nl.c: New file.
46589         * lib/unictype/categ_No.c: New file.
46590         * lib/unictype/categ_P.c: New file.
46591         * lib/unictype/categ_Pc.c: New file.
46592         * lib/unictype/categ_Pd.c: New file.
46593         * lib/unictype/categ_Pe.c: New file.
46594         * lib/unictype/categ_Pf.c: New file.
46595         * lib/unictype/categ_Pi.c: New file.
46596         * lib/unictype/categ_Po.c: New file.
46597         * lib/unictype/categ_Ps.c: New file.
46598         * lib/unictype/categ_S.c: New file.
46599         * lib/unictype/categ_Sc.c: New file.
46600         * lib/unictype/categ_Sk.c: New file.
46601         * lib/unictype/categ_Sm.c: New file.
46602         * lib/unictype/categ_So.c: New file.
46603         * lib/unictype/categ_Z.c: New file.
46604         * lib/unictype/categ_Zl.c: New file.
46605         * lib/unictype/categ_Zp.c: New file.
46606         * lib/unictype/categ_Zs.c: New file.
46607         * lib/unictype/categ_and.c: New file.
46608         * lib/unictype/categ_and_not.c: New file.
46609         * lib/unictype/categ_byname.c: New file.
46610         * lib/unictype/categ_name.c: New file.
46611         * lib/unictype/categ_none.c: New file.
46612         * lib/unictype/categ_of.c: New file.
46613         * lib/unictype/categ_or.c: New file.
46614         * lib/unictype/categ_test.c: New file.
46615         * lib/unictype/combining.c: New file.
46616         * lib/unictype/ctype_alnum.c: New file.
46617         * lib/unictype/ctype_alpha.c: New file.
46618         * lib/unictype/ctype_blank.c: New file.
46619         * lib/unictype/ctype_cntrl.c: New file.
46620         * lib/unictype/ctype_digit.c: New file.
46621         * lib/unictype/ctype_graph.c: New file.
46622         * lib/unictype/ctype_lower.c: New file.
46623         * lib/unictype/ctype_print.c: New file.
46624         * lib/unictype/ctype_punct.c: New file.
46625         * lib/unictype/ctype_space.c: New file.
46626         * lib/unictype/ctype_upper.c: New file.
46627         * lib/unictype/ctype_xdigit.c: New file.
46628         * lib/unictype/decdigit.c: New file.
46629         * lib/unictype/digit.c: New file.
46630         * lib/unictype/identsyntaxmap.h: New file.
46631         * lib/unictype/mirror.c: New file.
46632         * lib/unictype/numeric.c: New file.
46633         * lib/unictype/pr_alphabetic.c: New file.
46634         * lib/unictype/pr_ascii_hex_digit.c: New file.
46635         * lib/unictype/pr_bidi_arabic_digit.c: New file.
46636         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
46637         * lib/unictype/pr_bidi_block_separator.c: New file.
46638         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
46639         * lib/unictype/pr_bidi_common_separator.c: New file.
46640         * lib/unictype/pr_bidi_control.c: New file.
46641         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
46642         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
46643         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
46644         * lib/unictype/pr_bidi_european_digit.c: New file.
46645         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
46646         * lib/unictype/pr_bidi_left_to_right.c: New file.
46647         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
46648         * lib/unictype/pr_bidi_other_neutral.c: New file.
46649         * lib/unictype/pr_bidi_pdf.c: New file.
46650         * lib/unictype/pr_bidi_segment_separator.c: New file.
46651         * lib/unictype/pr_bidi_whitespace.c: New file.
46652         * lib/unictype/pr_byname.c: New file.
46653         * lib/unictype/pr_byname.gperf: New file.
46654         * lib/unictype/pr_combining.c: New file.
46655         * lib/unictype/pr_composite.c: New file.
46656         * lib/unictype/pr_currency_symbol.c: New file.
46657         * lib/unictype/pr_dash.c: New file.
46658         * lib/unictype/pr_decimal_digit.c: New file.
46659         * lib/unictype/pr_default_ignorable_code_point.c: New file.
46660         * lib/unictype/pr_deprecated.c: New file.
46661         * lib/unictype/pr_diacritic.c: New file.
46662         * lib/unictype/pr_extender.c: New file.
46663         * lib/unictype/pr_format_control.c: New file.
46664         * lib/unictype/pr_grapheme_base.c: New file.
46665         * lib/unictype/pr_grapheme_extend.c: New file.
46666         * lib/unictype/pr_grapheme_link.c: New file.
46667         * lib/unictype/pr_hex_digit.c: New file.
46668         * lib/unictype/pr_hyphen.c: New file.
46669         * lib/unictype/pr_id_continue.c: New file.
46670         * lib/unictype/pr_id_start.c: New file.
46671         * lib/unictype/pr_ideographic.c: New file.
46672         * lib/unictype/pr_ids_binary_operator.c: New file.
46673         * lib/unictype/pr_ids_trinary_operator.c: New file.
46674         * lib/unictype/pr_ignorable_control.c: New file.
46675         * lib/unictype/pr_iso_control.c: New file.
46676         * lib/unictype/pr_join_control.c: New file.
46677         * lib/unictype/pr_left_of_pair.c: New file.
46678         * lib/unictype/pr_line_separator.c: New file.
46679         * lib/unictype/pr_logical_order_exception.c: New file.
46680         * lib/unictype/pr_lowercase.c: New file.
46681         * lib/unictype/pr_math.c: New file.
46682         * lib/unictype/pr_non_break.c: New file.
46683         * lib/unictype/pr_not_a_character.c: New file.
46684         * lib/unictype/pr_numeric.c: New file.
46685         * lib/unictype/pr_other_alphabetic.c: New file.
46686         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
46687         * lib/unictype/pr_other_grapheme_extend.c: New file.
46688         * lib/unictype/pr_other_id_continue.c: New file.
46689         * lib/unictype/pr_other_id_start.c: New file.
46690         * lib/unictype/pr_other_lowercase.c: New file.
46691         * lib/unictype/pr_other_math.c: New file.
46692         * lib/unictype/pr_other_uppercase.c: New file.
46693         * lib/unictype/pr_paired_punctuation.c: New file.
46694         * lib/unictype/pr_paragraph_separator.c: New file.
46695         * lib/unictype/pr_pattern_syntax.c: New file.
46696         * lib/unictype/pr_pattern_white_space.c: New file.
46697         * lib/unictype/pr_private_use.c: New file.
46698         * lib/unictype/pr_punctuation.c: New file.
46699         * lib/unictype/pr_quotation_mark.c: New file.
46700         * lib/unictype/pr_radical.c: New file.
46701         * lib/unictype/pr_sentence_terminal.c: New file.
46702         * lib/unictype/pr_soft_dotted.c: New file.
46703         * lib/unictype/pr_space.c: New file.
46704         * lib/unictype/pr_terminal_punctuation.c: New file.
46705         * lib/unictype/pr_test.c: New file.
46706         * lib/unictype/pr_titlecase.c: New file.
46707         * lib/unictype/pr_unassigned_code_value.c: New file.
46708         * lib/unictype/pr_unified_ideograph.c: New file.
46709         * lib/unictype/pr_uppercase.c: New file.
46710         * lib/unictype/pr_variation_selector.c: New file.
46711         * lib/unictype/pr_white_space.c: New file.
46712         * lib/unictype/pr_xid_continue.c: New file.
46713         * lib/unictype/pr_xid_start.c: New file.
46714         * lib/unictype/pr_zero_width.c: New file.
46715         * lib/unictype/scripts.c: New file.
46716         * lib/unictype/sy_c_ident.c: New file.
46717         * lib/unictype/sy_c_whitespace.c: New file.
46718         * lib/unictype/sy_java_ident.c: New file.
46719         * lib/unictype/sy_java_whitespace.c: New file.
46720
46721         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
46722         Unicode 5.0.0.
46723         * lib/unictype/blocks.h: Likewise.
46724         * lib/unictype/categ_C.h: Likewise.
46725         * lib/unictype/categ_Cc.h: Likewise.
46726         * lib/unictype/categ_Cf.h: Likewise.
46727         * lib/unictype/categ_Cn.h: Likewise.
46728         * lib/unictype/categ_Co.h: Likewise.
46729         * lib/unictype/categ_Cs.h: Likewise.
46730         * lib/unictype/categ_L.h: Likewise.
46731         * lib/unictype/categ_Ll.h: Likewise.
46732         * lib/unictype/categ_Lm.h: Likewise.
46733         * lib/unictype/categ_Lo.h: Likewise.
46734         * lib/unictype/categ_Lt.h: Likewise.
46735         * lib/unictype/categ_Lu.h: Likewise.
46736         * lib/unictype/categ_M.h: Likewise.
46737         * lib/unictype/categ_Mc.h: Likewise.
46738         * lib/unictype/categ_Me.h: Likewise.
46739         * lib/unictype/categ_Mn.h: Likewise.
46740         * lib/unictype/categ_N.h: Likewise.
46741         * lib/unictype/categ_Nd.h: Likewise.
46742         * lib/unictype/categ_Nl.h: Likewise.
46743         * lib/unictype/categ_No.h: Likewise.
46744         * lib/unictype/categ_P.h: Likewise.
46745         * lib/unictype/categ_Pc.h: Likewise.
46746         * lib/unictype/categ_Pd.h: Likewise.
46747         * lib/unictype/categ_Pe.h: Likewise.
46748         * lib/unictype/categ_Pf.h: Likewise.
46749         * lib/unictype/categ_Pi.h: Likewise.
46750         * lib/unictype/categ_Po.h: Likewise.
46751         * lib/unictype/categ_Ps.h: Likewise.
46752         * lib/unictype/categ_S.h: Likewise.
46753         * lib/unictype/categ_Sc.h: Likewise.
46754         * lib/unictype/categ_Sk.h: Likewise.
46755         * lib/unictype/categ_Sm.h: Likewise.
46756         * lib/unictype/categ_So.h: Likewise.
46757         * lib/unictype/categ_Z.h: Likewise.
46758         * lib/unictype/categ_Zl.h: Likewise.
46759         * lib/unictype/categ_Zp.h: Likewise.
46760         * lib/unictype/categ_Zs.h: Likewise.
46761         * lib/unictype/categ_of.h: Likewise.
46762         * lib/unictype/combining.h: Likewise.
46763         * lib/unictype/ctype_alnum.h: Likewise.
46764         * lib/unictype/ctype_alpha.h: Likewise.
46765         * lib/unictype/ctype_blank.h: Likewise.
46766         * lib/unictype/ctype_cntrl.h: Likewise.
46767         * lib/unictype/ctype_digit.h: Likewise.
46768         * lib/unictype/ctype_graph.h: Likewise.
46769         * lib/unictype/ctype_lower.h: Likewise.
46770         * lib/unictype/ctype_print.h: Likewise.
46771         * lib/unictype/ctype_punct.h: Likewise.
46772         * lib/unictype/ctype_space.h: Likewise.
46773         * lib/unictype/ctype_upper.h: Likewise.
46774         * lib/unictype/ctype_xdigit.h: Likewise.
46775         * lib/unictype/decdigit.h: Likewise.
46776         * lib/unictype/digit.h: Likewise.
46777         * lib/unictype/mirror.h: Likewise.
46778         * lib/unictype/numeric.h: Likewise.
46779         * lib/unictype/pr_alphabetic.h: Likewise.
46780         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
46781         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
46782         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
46783         * lib/unictype/pr_bidi_block_separator.h: Likewise.
46784         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
46785         * lib/unictype/pr_bidi_common_separator.h: Likewise.
46786         * lib/unictype/pr_bidi_control.h: Likewise.
46787         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
46788         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
46789         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
46790         * lib/unictype/pr_bidi_european_digit.h: Likewise.
46791         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
46792         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
46793         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
46794         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
46795         * lib/unictype/pr_bidi_pdf.h: Likewise.
46796         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
46797         * lib/unictype/pr_bidi_whitespace.h: Likewise.
46798         * lib/unictype/pr_combining.h: Likewise.
46799         * lib/unictype/pr_composite.h: Likewise.
46800         * lib/unictype/pr_currency_symbol.h: Likewise.
46801         * lib/unictype/pr_dash.h: Likewise.
46802         * lib/unictype/pr_decimal_digit.h: Likewise.
46803         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
46804         * lib/unictype/pr_deprecated.h: Likewise.
46805         * lib/unictype/pr_diacritic.h: Likewise.
46806         * lib/unictype/pr_extender.h: Likewise.
46807         * lib/unictype/pr_format_control.h: Likewise.
46808         * lib/unictype/pr_grapheme_base.h: Likewise.
46809         * lib/unictype/pr_grapheme_extend.h: Likewise.
46810         * lib/unictype/pr_grapheme_link.h: Likewise.
46811         * lib/unictype/pr_hex_digit.h: Likewise.
46812         * lib/unictype/pr_hyphen.h: Likewise.
46813         * lib/unictype/pr_id_continue.h: Likewise.
46814         * lib/unictype/pr_id_start.h: Likewise.
46815         * lib/unictype/pr_ideographic.h: Likewise.
46816         * lib/unictype/pr_ids_binary_operator.h: Likewise.
46817         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
46818         * lib/unictype/pr_ignorable_control.h: Likewise.
46819         * lib/unictype/pr_iso_control.h: Likewise.
46820         * lib/unictype/pr_join_control.h: Likewise.
46821         * lib/unictype/pr_left_of_pair.h: Likewise.
46822         * lib/unictype/pr_line_separator.h: Likewise.
46823         * lib/unictype/pr_logical_order_exception.h: Likewise.
46824         * lib/unictype/pr_lowercase.h: Likewise.
46825         * lib/unictype/pr_math.h: Likewise.
46826         * lib/unictype/pr_non_break.h: Likewise.
46827         * lib/unictype/pr_not_a_character.h: Likewise.
46828         * lib/unictype/pr_numeric.h: Likewise.
46829         * lib/unictype/pr_other_alphabetic.h: Likewise.
46830         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
46831         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
46832         * lib/unictype/pr_other_id_continue.h: Likewise.
46833         * lib/unictype/pr_other_id_start.h: Likewise.
46834         * lib/unictype/pr_other_lowercase.h: Likewise.
46835         * lib/unictype/pr_other_math.h: Likewise.
46836         * lib/unictype/pr_other_uppercase.h: Likewise.
46837         * lib/unictype/pr_paired_punctuation.h: Likewise.
46838         * lib/unictype/pr_paragraph_separator.h: Likewise.
46839         * lib/unictype/pr_pattern_syntax.h: Likewise.
46840         * lib/unictype/pr_pattern_white_space.h: Likewise.
46841         * lib/unictype/pr_private_use.h: Likewise.
46842         * lib/unictype/pr_punctuation.h: Likewise.
46843         * lib/unictype/pr_quotation_mark.h: Likewise.
46844         * lib/unictype/pr_radical.h: Likewise.
46845         * lib/unictype/pr_sentence_terminal.h: Likewise.
46846         * lib/unictype/pr_soft_dotted.h: Likewise.
46847         * lib/unictype/pr_space.h: Likewise.
46848         * lib/unictype/pr_terminal_punctuation.h: Likewise.
46849         * lib/unictype/pr_titlecase.h: Likewise.
46850         * lib/unictype/pr_unassigned_code_value.h: Likewise.
46851         * lib/unictype/pr_unified_ideograph.h: Likewise.
46852         * lib/unictype/pr_uppercase.h: Likewise.
46853         * lib/unictype/pr_variation_selector.h: Likewise.
46854         * lib/unictype/pr_white_space.h: Likewise.
46855         * lib/unictype/pr_xid_continue.h: Likewise.
46856         * lib/unictype/pr_xid_start.h: Likewise.
46857         * lib/unictype/pr_zero_width.h: Likewise.
46858         * lib/unictype/scripts.h: Likewise.
46859         * lib/unictype/scripts_byname.gperf: Likewise.
46860         * lib/unictype/sy_c_ident.h: Likewise.
46861         * lib/unictype/sy_c_whitespace.h: Likewise.
46862         * lib/unictype/sy_java_ident.h: Likewise.
46863         * lib/unictype/sy_java_whitespace.h: Likewise.
46864
46865         * lib/unictype/Makefile: New file.
46866         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
46867         glibc.
46868         * lib/unictype/3level.h: New file, copied from glibc.
46869         * lib/unictype/3levelbit.h: New file.
46870
46871 2007-11-11  Bruno Haible  <bruno@clisp.org>
46872
46873         * modules/gperf: New file.
46874         * modules/iconv_open (Depends-on): Add it.
46875         (Makefile.am): Remove the GPERF definition.
46876
46877 2007-11-11  Bruno Haible  <bruno@clisp.org>
46878
46879         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
46880         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
46881
46882 2007-11-11  Bruno Haible  <bruno@clisp.org>
46883
46884         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
46885         (usage): Remove function.
46886
46887 2007-11-11  Bruno Haible  <bruno@clisp.org>
46888
46889         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
46890         gl_FUNC_CEILF_LIBS.
46891         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
46892         gl_FUNC_CEIL_LIBS.
46893         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
46894         gl_FUNC_CEILL_LIBS.
46895         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
46896         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
46897         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
46898
46899 2007-11-11  Bruno Haible  <bruno@clisp.org>
46900
46901         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
46902         roundf were declared but do not exist on functions.
46903         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
46904         roundl were declared but do not exist on functions.
46905         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
46906         HAVE_FLOORL_AND_CEILL, respectively.
46907         Needed for Sun C on Solaris 10.
46908
46909 2007-11-11  Bruno Haible  <bruno@clisp.org>
46910
46911         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
46912         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
46913         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
46914         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
46915         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
46916         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
46917         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
46918         HAVE_DECL_ROUNDF.
46919         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
46920         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
46921         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
46922         of HAVE_DECL_ROUND*.
46923         * modules/math (Makefile.am): Update.
46924
46925 2007-11-10  Bruno Haible  <bruno@clisp.org>
46926
46927         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
46928         ptrdiff_t as m4/intl.m4.
46929
46930 2007-11-10  Jim Meyering  <meyering@redhat.com>
46931
46932         Avoid link failure for the argmatch test.
46933         * tests/test-argmatch.c (usage): Define function to avoid a link
46934         failure: argmatch_die requires a usage function.
46935
46936 2007-11-09  Bruno Haible  <bruno@clisp.org>
46937
46938         * doc/functions/snprintf.texi: Mention BeOS deficiency.
46939         * doc/functions/vsnprintf.texi: Likewise.
46940         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
46941         with a size argument < 2.
46942
46943 2007-11-09  Bruno Haible  <bruno@clisp.org>
46944
46945         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
46946         buffer. Fixes an inefficiency introduced on 2007-11-03.
46947
46948 2007-11-09  Bruno Haible  <bruno@clisp.org>
46949
46950         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
46951         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
46952
46953 2007-11-08  Jim Meyering  <meyering@redhat.com>
46954
46955         Change cache variable name prefix "jm_" to "gl_" everywhere.
46956         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
46957         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
46958         * m4/uptime.m4: s/gl_/jm_/
46959
46960 2007-11-07  Bruno Haible  <bruno@clisp.org>
46961
46962         Update to GNU gettext 0.17.
46963         * m4/intl.m4: Update to GNU gettext 0.17.
46964         * m4/po.m4: Likewise.
46965         * modules/gettext (Files): Remove m4/ulonglong.m4.
46966         (configure.ac): Require gettext infrastructure from version 0.17.
46967
46968 2007-11-06  Bruno Haible  <bruno@clisp.org>
46969
46970         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
46971         symbolic values are not defined in a public header.
46972         * lib/freadable.c (freadable) [QNX]: Likewise.
46973         * lib/freadahead.c (freadahead) [QNX]: Likewise.
46974         * lib/freading.c (freading) [QNX]: Likewise.
46975         * lib/fseterr.c (fseterr) [QNX]: Likewise.
46976         * lib/fwritable.c (fwritable) [QNX]: Likewise.
46977         * lib/fwriting.c (fwriting) [QNX]: Likewise.
46978         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
46979         Reported by Alain Magloire.
46980
46981         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
46982
46983 2007-11-05  Bruno Haible  <bruno@clisp.org>
46984
46985         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
46986         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
46987         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
46988         Reported by Eric Blake.
46989
46990 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46991             Bruno Haible  <bruno@clisp.org>
46992
46993         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
46994         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
46995         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
46996         (malloc): Undefine also before including <stdlib.h>.
46997         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
46998         Needed on OSF/1 4.0.
46999
47000 2007-11-05  Jim Meyering  <meyering@redhat.com>
47001
47002         git-version-gen: sync from coreutils.
47003         * build-aux/git-version-gen: Add comments.
47004         Change the first '-' to '.' in the snapshot version string,
47005         e.g., 6.9-377-08144 -> 6.9.377-08144
47006         Remove first parameter.
47007         Don't declare a version "-dirty" merely because a time
47008         stamp has changed.
47009
47010 2007-11-04  Bruno Haible  <bruno@clisp.org>
47011
47012         * lib/lock.h: Protect all macro definitions containing an 'if'
47013         statement through a "do { ... } while (0)".
47014         * lib/tls.h: Likewise.
47015
47016 2007-11-04  Bruno Haible  <bruno@clisp.org>
47017
47018         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
47019
47020 2007-11-04  Bruno Haible  <bruno@clisp.org>
47021
47022         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
47023         * modules/fprintf-posix (Depends-on): Add nocrash.
47024         * modules/snprintf-posix (Depends-on): Likewise.
47025         * modules/sprintf-posix (Depends-on): Likewise.
47026         * modules/vasnprintf-posix (Depends-on): Likewise.
47027         * modules/vasprintf-posix (Depends-on): Likewise.
47028         * modules/vfprintf-posix (Depends-on): Likewise.
47029         * modules/vsnprintf-posix (Depends-on): Likewise.
47030         * modules/vsprintf-posix (Depends-on): Likewise.
47031         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
47032         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
47033         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
47034         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
47035         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
47036         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
47037         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
47038
47039 2007-11-04  Bruno Haible  <bruno@clisp.org>
47040
47041         * modules/nocrash: New file.
47042         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
47043         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
47044
47045 2007-11-04  Bruno Haible  <bruno@clisp.org>
47046
47047         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
47048         precision handling.
47049         * tests/test-vasprintf-posix.c (test_function): Likewise.
47050         * tests/test-snprintf-posix.h (test_function): Likewise.
47051         * tests/test-sprintf-posix.h (test_function): Likewise.
47052
47053         Fix *printf behaviour for large precisions on mingw and BeOS.
47054         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
47055         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
47056         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
47057         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
47058         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
47059         gl_PRINTF_PRECISION and test its result. Invoke
47060         gl_PREREQ_VASNPRINTF_PRECISION.
47061         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
47062         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
47063         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
47064         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
47065         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
47066         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
47067         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
47068         * doc/functions/fprintf.texi: Update.
47069         * doc/functions/printf.texi: Update.
47070         * doc/functions/snprintf.texi: Update.
47071         * doc/functions/sprintf.texi: Update.
47072         * doc/functions/vfprintf.texi: Update.
47073         * doc/functions/vprintf.texi: Update.
47074         * doc/functions/vsnprintf.texi: Update.
47075         * doc/functions/vsprintf.texi: Update.
47076
47077 2007-11-04  Bruno Haible  <bruno@clisp.org>
47078
47079         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
47080
47081 2007-11-04  Bruno Haible  <bruno@clisp.org>
47082
47083         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
47084         Reported by Sylvain Beucler <beuc@gnu.org>.
47085
47086 2007-11-03  Bruno Haible  <bruno@clisp.org>
47087
47088         * tests/test-fprintf-posix2.sh: New file.
47089         * tests/test-fprintf-posix2.c: New file.
47090         * modules/fprintf-posix-tests (Files): Add them.
47091         (TESTS): Add test-fprintf-posix2.sh.
47092         (configure.ac): Check for getrlimit and setrlimit.
47093         (check_PROGRAMS): Add test-fprintf-posix2.
47094
47095         * tests/test-printf-posix2.sh: New file.
47096         * tests/test-printf-posix2.c: New file.
47097         * modules/printf-posix-tests (Files): Add them.
47098         (TESTS): Add test-printf-posix2.sh.
47099         (configure.ac): Check for getrlimit and setrlimit.
47100         (check_PROGRAMS): Add test-printf-posix2.
47101
47102         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
47103         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
47104         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
47105         (decode_double): New function, copied from decode_long_double.
47106         (scale10_round_decimal_decoded): New function, extracted from
47107         scale10_round_decimal_long_double.
47108         (scale10_round_decimal_long_double): Use it.
47109         (scale10_round_decimal_double): New function.
47110         (floorlog10): New function.
47111         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
47112         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
47113         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
47114         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
47115         gl_PRINTF_ENOMEM and test its result. Invoke
47116         gl_PREREQ_VASNPRINTF_ENOMEM.
47117         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
47118         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
47119         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
47120         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
47121         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
47122         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
47123         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
47124         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
47125         * modules/snprintf-posix (Depends-on): Likewise.
47126         * modules/sprintf-posix (Depends-on): Likewise.
47127         * modules/vasnprintf-posix (Depends-on): Likewise.
47128         * modules/vasprintf-posix (Depends-on): Likewise.
47129         * modules/vfprintf-posix (Depends-on): Likewise.
47130         * modules/vsnprintf-posix (Depends-on): Likewise.
47131         * modules/vsprintf-posix (Depends-on): Likewise.
47132         * doc/functions/fprintf.texi: Update.
47133         * doc/functions/printf.texi: Update.
47134         * doc/functions/snprintf.texi: Update.
47135         * doc/functions/sprintf.texi: Update.
47136         * doc/functions/vfprintf.texi: Update.
47137         * doc/functions/vprintf.texi: Update.
47138         * doc/functions/vsnprintf.texi: Update.
47139         * doc/functions/vsprintf.texi: Update.
47140
47141 2007-11-03  Bruno Haible  <bruno@clisp.org>
47142
47143         * modules/frexp-nolibm-tests: New file.
47144
47145         * modules/frexp-nolibm: New file.
47146         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
47147
47148 2007-11-03  Bruno Haible  <bruno@clisp.org>
47149
47150         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
47151         value is C99 compliant.
47152         Needed for OSF/1 5.1.
47153
47154 2007-11-03  Bruno Haible  <bruno@clisp.org>
47155
47156         Fix out-of-memory handling of vasnprintf.
47157         * lib/printf-parse.c: Include <errno.h>.
47158         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
47159         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
47160         is already set.
47161
47162 2007-11-02  Eric Blake  <ebb9@byu.net>
47163
47164         Fix tests on cygwin.
47165         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
47166
47167 2007-11-01  Bruno Haible  <bruno@clisp.org>
47168
47169         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
47170         warning.
47171         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
47172         needed for POSIX compatibility.
47173
47174 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
47175
47176         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
47177         for compatibility with GNU.
47178
47179 2007-11-01  Bruno Haible  <bruno@clisp.org>
47180
47181         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
47182         (putenv): Renamed from rpl_putenv. Change argument type from
47183         'const char *' to 'char *'.
47184         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
47185         of defining putenv in config.h, just set REPLACE_PUTENV.
47186         * modules/putenv (Depends-on): Add stdlib.
47187         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
47188         (Include): Use <stdlib.h>.
47189         * lib/stdlib.in.h (putenv): New declaration.
47190         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
47191         REPLACE_PUTENV.
47192         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
47193         REPLACE_PUTENV.
47194         Needed for MacOS X 10.5.0.
47195         Reported by Peter O'Gorman <peter@pogma.com>.
47196
47197 2007-11-01  Jim Meyering  <meyering@redhat.com>
47198
47199         Treat an empty date string exactly like "0".
47200         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
47201         if the remaining date string (to be parsed) is empty, use "0".
47202         Reported by Mischa Molhoek and discussed in this thread:
47203         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
47204
47205 2007-10-31  Bruno Haible  <bruno@clisp.org>
47206
47207         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
47208         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
47209         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
47210         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
47211         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
47212         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
47213
47214 2007-10-31  Bruno Haible  <bruno@clisp.org>
47215
47216         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
47217         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
47218         (AC_TYPE_LONG_LONG_INT): Use it.
47219         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
47220         it as well.
47221         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
47222         to m4/longlong.m4.
47223         * modules/stdint (Files): Remove m4/ulonglong.m4.
47224         * modules/strtoull (Files): Use m4/longlong.m4 instead of
47225         m4/ulonglong.m4.
47226         * modules/strtoumax (Files): Likewise.
47227
47228 2007-10-30  Bruno Haible  <bruno@clisp.org>
47229
47230         * modules/xvasprintf-posix: New file.
47231         Suggested by Eric Blake.
47232
47233 2007-10-30  Bruno Haible  <bruno@clisp.org>
47234
47235         * modules/xprintf-posix-tests: New file.
47236         * tests/test-xprintf-posix.sh: New file.
47237         * tests/test-xprintf-posix.c: New file.
47238         * tests/test-xfprintf-posix.c: New file.
47239
47240         * modules/xprintf-posix: New file.
47241
47242 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47243
47244         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
47245         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
47246         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
47247
47248 2007-10-29  Bruno Haible  <bruno@clisp.org>
47249
47250         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
47251         contain the special marker '_cv_'.
47252         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
47253         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
47254         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
47255         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
47256         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
47257         Reported by Ralf Wildenhues.
47258
47259 2007-10-29  Bruno Haible  <bruno@clisp.org>
47260
47261         * gnulib-tool (func_import): When --lgpl is not specified, set
47262         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
47263         GPLv3.
47264         Reported by Simon Josefsson.
47265
47266 2007-10-28  Bruno Haible  <bruno@clisp.org>
47267
47268         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
47269         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
47270         HAVE_DECL_ISFINITE.
47271         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
47272         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
47273         HAVE_DECL_ISFINITE.
47274
47275 2007-10-28  Bruno Haible  <bruno@clisp.org>
47276
47277         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
47278         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
47279
47280 2007-10-28  Bruno Haible  <bruno@clisp.org>
47281
47282         Fix link errors with Sun C 5.0 on Solaris 10.
47283         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
47284         function is declared but not present in the compiler's libm.
47285         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
47286         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
47287         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
47288         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
47289         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
47290         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
47291         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
47292         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
47293         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
47294         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
47295         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
47296         HAVE_DECL_FLOORL.
47297
47298 2007-10-28  Bruno Haible  <bruno@clisp.org>
47299
47300         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
47301         gl_FUNC_FLOORL. Cache the result.
47302         (gl_FUNC_FLOORL): Use it.
47303         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
47304         gl_FUNC_CEILL. Cache the result.
47305         (gl_FUNC_CEILL): Use it.
47306
47307         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
47308         gl_FUNC_FLOOR. Cache the result.
47309         (gl_FUNC_FLOOR): Use it.
47310         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
47311         gl_FUNC_CEIL. Cache the result.
47312         (gl_FUNC_CEIL): Use it.
47313
47314         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
47315         gl_FUNC_FLOORF. Cache the result.
47316         (gl_FUNC_FLOORF): Use it.
47317         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
47318         gl_FUNC_CEILF. Cache the result.
47319         (gl_FUNC_CEILF): Use it.
47320
47321 2007-10-28  Bruno Haible  <bruno@clisp.org>
47322
47323         * gnulib-tool: Allow specifying the LGPL version number through
47324         --lgpl=2 or --lgpl=3.
47325         (func_usage): Document --lgpl with argument.
47326         Handle --lgpl=... arguments.
47327         (func_import): Recognize also gl_LGPL calls with an argument. When
47328         --lgpl=2 is used and the module's license is just LGPL, report an
47329         error. Set sed_transform_lib_file according to the lgpl variable. In
47330         the generated files, use --lgpl or gl_LGPL invocations with argument,
47331         if necessary.
47332         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
47333         an LGPv2+ license.
47334         * doc/gnulib-tool.texi (Modified imports): Update explanation of
47335         gl_LGPL macro.
47336
47337 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47338             Bruno Haible  <bruno@clisp.org>
47339
47340         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
47341         (u16_uctomb_aux): Likewise.
47342         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
47343         !HAVE_INLINE.
47344         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
47345
47346 2007-10-28  Bruno Haible  <bruno@clisp.org>
47347
47348         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
47349         Invoke AM_GETTEXT_OPTION if it exists.
47350         * modules/vasprintf: Likewise.
47351         * modules/verror: Likewise.
47352         * modules/xprintf: Likewise.
47353         * modules/xvasprintf: Likewise.
47354
47355 2007-10-27  Ben Pfaff  <blp@gnu.org>
47356
47357         * lib/math.in.h: Define isfinite macro and prototypes for
47358         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
47359         implementations.
47360         * m4/math_h.m4: New substitutions for isfinite module.
47361         * lib/isfinite.c: New file.
47362         * m4/isfinite.m4: New file.
47363         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
47364         * modules/isfinite: New file.
47365         * modules/isfinite-tests: New file.
47366         * tests/tests-isfinite.c: New file.
47367         * doc/functions/isfinite.texi: Mention isfinite module.
47368         * MODULES.html.sh: Mention new module.
47369
47370 2007-10-27  Ben Pfaff  <blp@gnu.org>
47371
47372         Ralf Wildenhues reported that Tru64 4.0D declares the round
47373         functions but does not have definitions.
47374         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
47375         cannot be found in any library, set the output variable to
47376         "missing" instead of "".
47377         * m4/round.m4: Also use our substitute if we cannot find round in
47378         any library, even if it is declared.
47379         * m4/roundf.m4: Likewise for roundf.
47380         * m4/roundl.m4: Likewise for roundl.
47381         * lib/math.in.h: Undefine roundf, round, roundl before defining
47382         their replacements, to allow for hypothetical systems where these
47383         may be defined as macros but not available in libraries.
47384
47385 2007-10-27  Bruno Haible  <bruno@clisp.org>
47386
47387         * doc/gnulib.texi: Invoke @firstparagraphindent.
47388         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
47389         changes in gnulib.
47390         (Source changes): New section.
47391
47392 2007-10-26  Bruno Haible  <bruno@clisp.org>
47393
47394         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
47395         borrowed from autoconf.
47396
47397 2007-10-26  Bruno Haible  <bruno@clisp.org>
47398
47399         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
47400         strerror returned the empty string. Needed on HP-UX 11.00.
47401
47402 2007-10-24  Micah Cowan  <micah@cowan.name>
47403
47404         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
47405         * build-aux/bootstrap: Remove support for now-unnecessary option,
47406         --cvs-user, and envvars CVS_USER, CVS_RSH.
47407
47408 2007-10-24  Jim Meyering  <meyering@redhat.com>
47409
47410         Avoid diagnostics from sha1sum when there is no cached checksum.
47411         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
47412         if the po.s1 file hasn't been created yet.
47413
47414         * build-aux/bootstrap: Sync from coreutils:
47415         2007-10-24  Jim Meyering  <meyering@redhat.com>
47416         Get gnulib from the git repository, not from an obsolete cvs one.
47417         * build-aux/bootstrap: Suggestion from Micah Cowan.
47418         2007-10-04  Jim Meyering  <jim@meyering.net>
47419         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
47420         (update_po_files): Work also when there are no .po files in po/.
47421
47422 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
47423
47424         * README: Append ".git" to git and cg examples.
47425         Problem reported by Benoit Sigoure.
47426
47427 2007-10-23  Micah Cowan  <micah@cowan.name>
47428
47429         * users.txt: Add wget.
47430
47431 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47432
47433         Fix linking of some unistdio tests on FreeBSD.
47434         * modules/unistdio/u16-vsnprintf-tests
47435         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
47436         * modules/unistdio/u16-vsprintf-tests
47437         (test_u16_vsnprintf1_LDADD): Likewise.
47438         * modules/unistdio/u32-vsnprintf-tests
47439         (test_u32_vsnprintf1_LDADD): Likewise.
47440         * modules/unistdio/u32-vsprintf-tests
47441         (test_u32_vsprintf1_LDADD): Likewise.
47442         * modules/unistdio/u8-vsnprintf-tests
47443         (test_u8_vsnprintf1_LDADD): Likewise.
47444         * modules/unistdio/u8-vsprintf-tests
47445         (test_u8_vsprintf1_LDADD): Likewise.
47446         * modules/unistdio/ulc-vsnprintf-tests
47447         (test_ulc_vsnprintf1_LDADD): Likewise.
47448         * modules/unistdio/ulc-vsprintf-tests
47449         (test_ulc_vsprintf1_LDADD): Likewise.
47450
47451         Fix linking of some uniconv tests on FreeBSD.
47452         * modules/uniconv/u16-conv-from-enc-tests
47453         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
47454         * modules/uniconv/u16-conv-to-enc-tests
47455         (test_u16_conv_to_enc_LDADD): Likewise.
47456         * modules/uniconv/u16-strconv-from-enc-tests
47457         (test_u16_strconv_from_enc_LDADD): Likewise.
47458         * modules/uniconv/u16-strconv-to-enc-tests
47459         (test_u16_strconv_to_enc_LDADD): Likewise.
47460         * modules/uniconv/u32-conv-from-enc-tests
47461         (test_u32_conv_from_enc_LDADD): Likewise.
47462         * modules/uniconv/u32-conv-to-enc-tests
47463         (test_u32_conv_to_enc_LDADD): Likewise.
47464         * modules/uniconv/u32-strconv-from-enc-tests
47465         (test_u32_strconv_from_enc_LDADD): Likewise.
47466         * modules/uniconv/u32-strconv-to-enc-tests
47467         (test_u32_strconv_to_enc_LDADD): Likewise.
47468         * modules/uniconv/u8-conv-from-enc-tests
47469         (test_u8_conv_from_enc_LDADD): Likewise.
47470         * modules/uniconv/u8-conv-to-enc-tests
47471         (test_u8_conv_to_enc_LDADD): Likewise.
47472         * modules/uniconv/u8-strconv-from-enc-tests
47473         (test_u8_strconv_from_enc_LDADD): Likewise.
47474         * modules/uniconv/u8-strconv-to-enc-tests
47475         (test_u8_strconv_to_enc_LDADD): Likewise.
47476
47477 2007-10-22  Bruno Haible  <bruno@clisp.org>
47478
47479         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
47480         size.
47481
47482 2007-10-22  Eric Blake  <ebb9@byu.net>
47483
47484         Tweak x*printf documentation.
47485         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
47486         variable name and comments.
47487         Suggested by Bruno Haible.
47488
47489 2007-10-22  Bruno Haible  <bruno@clisp.org>
47490
47491         * lib/acl.c (copy_acl): Fix file name in comment.
47492
47493 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
47494
47495         Fix Tru64 problem with stdbool.h.
47496         * lib/stdbool.in.h (false, true):
47497         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
47498         Don't declare as an enum in this situation; it runs afoul of Tru64.
47499         Problem reported by Steven M. Schweda in
47500         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
47501
47502 2007-10-22  Eric Blake  <ebb9@byu.net>
47503
47504         Also wrap vf?printf.
47505         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
47506         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
47507         (xvprintf, xvfprintf): New functions.
47508
47509 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47510
47511         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
47512         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
47513
47514         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
47515         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
47516
47517 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
47518
47519         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
47520         by Bruno Haible.
47521
47522 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47523
47524         * lib/getloadavg.c
47525         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
47526         Undef `sys' after including sys/table.h, for Tru64 4.0D.
47527
47528         * tests/test-i-ring.c: Work for C89.
47529
47530 2007-10-22  Bruno Haible  <bruno@clisp.org>
47531
47532         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
47533         -1u, in preprocessor expression, so that we don't test for the bug
47534         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
47535         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
47536
47537 2007-10-22  Eric Blake  <ebb9@byu.net>
47538
47539         * tests/test-yesno.sh: Silence stderr during test.
47540
47541 2007-10-22  Simon Josefsson  <simon@josefsson.org>
47542
47543         * modules/crypto/gc-camellia: New file.
47544
47545         * m4/gc-camellia.m4: New file.
47546
47547         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
47548
47549         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
47550
47551 2007-10-22  Simon Josefsson  <simon@josefsson.org>
47552
47553         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
47554         --help to stdout.  Reported by sms@antinode.org (Steven
47555         M. Schweda).
47556
47557 2007-10-22  Simon Josefsson  <simon@josefsson.org>
47558
47559         * users.txt: Fix link to libksba.
47560
47561 2007-10-21  Ben Pfaff  <blp@gnu.org>
47562
47563         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
47564         round.c roundf implementation that depends on floorf and ceilf to
47565         be tested unconditionally.
47566
47567 2007-10-21  Ben Pfaff  <blp@gnu.org>
47568
47569         * m4/check-libm-func.m4: Removed.
47570         * m4/check-math-lib.m4: New file.
47571         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
47572         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
47573         definition and lack of AC_LIBOBJ([roundf]).
47574         * m4/roundl.m4: Ditto, and similarly for roundl.
47575         * modules/round: Reference new m4 file.
47576         * modules/roundf: Ditto.
47577         * modules/roundl: Ditto.
47578         * tests/test-round2.c (main): Use ROUND instead of round.
47579         Bug report from Bruno Haible.
47580
47581 2007-10-21  Bruno Haible  <bruno@clisp.org>
47582
47583         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
47584         context.
47585
47586 2007-10-21  Bruno Haible  <bruno@clisp.org>
47587
47588         * tests/test-wcwidth.c (main): Allow negative result for some control
47589         characters.
47590
47591         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
47592         Needed on OSF/1 5.1.
47593
47594 2007-10-21  Bruno Haible  <bruno@clisp.org>
47595
47596         * tests/test-floorf1.c: Include isnanf.h.
47597         (main): Use isnanf() instead of isnan().
47598         * tests/test-ceilf1.c: Include isnanf.h.
47599         (main): Use isnanf() instead of isnan().
47600         * tests/test-truncf1.c: Include isnanf.h.
47601         (main): Use isnanf() instead of isnan().
47602         * tests/test-roundf1.c: Include isnanf.h.
47603         (main): Use isnanf() instead of isnan().
47604
47605 2007-10-21  Eric Blake  <ebb9@byu.net>
47606
47607         * users.txt: Update URL for m4.
47608
47609 2007-10-21  Bruno Haible  <bruno@clisp.org>
47610
47611         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
47612
47613 2007-10-21  Bruno Haible  <bruno@clisp.org>
47614
47615         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
47616         Git's management files if the CVS files are not present.
47617
47618 2007-10-20  Bruno Haible  <bruno@clisp.org>
47619
47620         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
47621         gcc-3.4.x.
47622
47623 2007-10-20  Ben Pfaff  <blp@gnu.org>
47624
47625         * lib/math.in.h: Declare round, roundf, roundl if we are providing
47626         implementations.
47627         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
47628         * lib/round.c: New file.
47629         * lib/roundf.c: New file.
47630         * lib/roundl.c: New file.
47631         * m4/round.m4: New file.
47632         * m4/roundf.m4: New file.
47633         * m4/roundl.m4: New file.
47634         * m4/check-libm-func-m4: New file.
47635         * modules/math: Replace round, roundf, roundl related @VARS@ in
47636         math.in.h.
47637         * modules/round: New file.
47638         * modules/round-tests: New file.
47639         * modules/roundf: New file.
47640         * modules/roundf-tests: New file.
47641         * modules/roundl: New file.
47642         * modules/roundl-tests: New file.
47643         * tests/test-round1.c: New file.
47644         * tests/test-round2.c: New file.
47645         * tests/test-roundf1.c: New file.
47646         * tests/test-roundf2.c: New file.
47647         * tests/test-roundl.c: New file.
47648         * doc/functions/round.texi: Mention round module.
47649         * doc/functions/roundf.texi: Mention roundf module.
47650         * doc/functions/roundl.texi: Mention roundl module.
47651         * MODULES.html.sh: Mention new modules.
47652         Thanks to Bruno Haible for suggestions.
47653
47654 2007-10-20  Jim Meyering  <meyering@redhat.com>
47655
47656         * lib/xprintf.c: Include <config.h> unconditionally.
47657
47658         Change xprintf's license to GPL.
47659         * modules/xprintf (License): s/LGPL/GPL/, since this module
47660         depends on modules (exit and exitfail) which are GPL.
47661         Suggestion from Bruno Haible.
47662
47663         xprintf fixes.
47664         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
47665         Use a clearer diagnostic.
47666         Patch from Bruno Haible.
47667
47668 2007-10-20  Bruno Haible  <bruno@clisp.org>
47669
47670         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
47671         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
47672         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
47673
47674 2007-10-20  Bruno Haible  <bruno@clisp.org>
47675
47676         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
47677         precision in the comparison result > x - 1 or similar.
47678         * tests/test-ceilf2.c (correct_result_p): Likewise.
47679         * tests/test-truncf2.c (correct_result_p): Likewise.
47680         * tests/test-trunc2.c (correct_result_p): Likewise.
47681         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
47682
47683 2007-10-20  Bruno Haible  <bruno@clisp.org>
47684
47685         * modules/ceil: New file.
47686         * m4/ceil.m4: New file.
47687         * doc/functions/ceil.texi: Mention the 'ceil' module.
47688
47689 2007-10-20  Bruno Haible  <bruno@clisp.org>
47690
47691         * modules/floor: New file.
47692         * m4/floor.m4: New file.
47693         * doc/functions/floor.texi: Mention the 'floor' module.
47694
47695 2007-10-20  Bruno Haible  <bruno@clisp.org>
47696
47697         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
47698         of %a.
47699         * modules/floorf-tests (Depends-on): Likewise.
47700         * modules/truncf-tests (Depends-on): Likewise.
47701         * modules/trunc-tests (Depends-on): Likewise.
47702         Reported by Ben Pfaff.
47703
47704 2007-10-19  Jim Meyering  <meyering@redhat.com>
47705
47706         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
47707         Don't bother testing specific errno values.  Just test ferror.
47708
47709         New module: xprintf
47710         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
47711
47712 2007-10-19  Bruno Haible  <bruno@clisp.org>
47713
47714         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
47715         syntax.
47716         * modules/javaexec (Makefile.am): Likewise.
47717         * modules/relocatable-prog (Makefile.am): Likewise.
47718         Suggested by Jim Meyering.
47719
47720 2007-10-18  Bruno Haible  <bruno@clisp.org>
47721
47722         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
47723         Reported by Jim Meyering.
47724
47725 2007-10-18  Eric Blake  <ebb9@byu.net>
47726
47727         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
47728
47729 2007-10-18  Bruno Haible  <bruno@clisp.org>
47730
47731         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
47732         the format string into writable memory. Needed in Fortify conditions.
47733
47734 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
47735             Bruno Haible  <bruno@clisp.org>
47736
47737         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
47738         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
47739         * modules/trim (Depends-on): Add mbchar.
47740         (configure.ac): Add gl_FUNC_MBRTOWC.
47741         (Makefile.am): Augment lib_SOURCES.
47742
47743 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
47744
47745         Modify glob.c to use fstatat and dirfd, to simplify it.
47746         Suggested by Eric Blake.
47747         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
47748         Don't include <stdbool.h>; not used.
47749         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
47750         (link_exists_p): Simplify implementation, since we can now assume
47751         dirfd and fstatat.
47752         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
47753
47754 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47755
47756         * gnulib-tool (func_get_dependencies): Fix sed script to
47757         match only tests.
47758
47759 2007-10-17  Bruno Haible  <bruno@clisp.org>
47760
47761         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
47762         allow locale names without encoding suffix.
47763         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
47764         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
47765
47766 2007-10-16  Bruno Haible  <bruno@clisp.org>
47767
47768         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
47769         * lib/getgroups.c (getgroups): Likewise.
47770         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
47771
47772 2007-10-16  Bruno Haible  <bruno@clisp.org>
47773
47774         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
47775         * modules/malloc-posix (License): Likewise.
47776         * modules/realloc-posix (License): Likewise.
47777         * modules/calloc-posix (License): Likewise.
47778         * modules/intprops (License): Change from GPL to LGPL, with
47779         Paul Eggert's approval.
47780
47781 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
47782
47783         Merge glibc changes into lib/glob.c.
47784
47785         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
47786         2007-10-15 04:59:03 UTC.  Here are the changes:
47787
47788         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
47789
47790         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
47791
47792         * lib/glob.c: Add some branch prediction throughout.
47793
47794         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
47795
47796         [BZ #5103]
47797         * lib/glob.c (glob): Recognize patterns starting \/.
47798
47799         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
47800
47801         [BZ #3996]
47802         * lib/glob.c (attribute_hidden): Define if not defined.
47803         (glob): Unescape dirname, filename or username when needed and not
47804         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
47805         is NULL.  Handle unescaped [ in pattern without closing ].
47806         Don't pass GLOB_CHECK down to recursive glob for directories.
47807         (__glob_pattern_type): New function.
47808         (__glob_pattern_p): Implement using __glob_pattern_type.
47809         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
47810         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
47811         Remove unreachable code.
47812
47813         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
47814
47815         * lib/glob.c (glob_in_dir): Add some comments and asserts to
47816         explain why there are no leaks.
47817
47818         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
47819
47820         [BZ #3253]
47821         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
47822         time, rather allocate increasingly bigger arrays of pointers, if
47823         possible with alloca, if too large with malloc.
47824
47825 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
47826
47827         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
47828         Problem reported by H.Merijn Brand in
47829         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
47830         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
47831         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
47832
47833 2007-10-15  Bruno Haible  <bruno@clisp.org>
47834
47835         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
47836         with explicit rpl_ prefix.
47837         * lib/fopen.c (fopen): Likewise.
47838         * lib/freopen.c (freopen): Likewise.
47839         * lib/iconv.c (iconv): Likewise.
47840         * lib/iconv_close.c (iconv_close): Likewise.
47841
47842 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47843
47844         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
47845
47846 2007-10-15  Bruno Haible  <bruno@clisp.org>
47847
47848         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
47849         <stddef.h> instead of <stdlib.h> since we only need NULL.
47850         Reported by Ben Pfaff <blp@cs.stanford.edu>.
47851
47852 2007-10-15  Bruno Haible  <bruno@clisp.org>
47853
47854         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
47855         Replace paragraph talking about LIBOBJS.
47856         Reported by Colin Watson <cjwatson@debian.org>.
47857
47858 2007-10-15  Bruno Haible  <bruno@clisp.org>
47859
47860         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
47861         <stdlib.h> before using NULL.
47862
47863 2007-10-15  Simon Josefsson  <simon@josefsson.org>
47864
47865         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
47866         Reported by Albert Chin <china@thewrittenword.com>.
47867
47868 2007-10-14  Bruno Haible  <bruno@clisp.org>
47869
47870         * modules/iconv_open-utf-tests: New file.
47871         * tests/test-iconv-utf.c: New file.
47872
47873         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
47874         * modules/iconv_open-utf: New file.
47875         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
47876         (iconv, iconv_close): New declarations.
47877         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
47878         be defined.
47879         (iconv_open): Add special handling of conversion between UTF-8 and
47880         UTF-{16,32}{BE,LE}.
47881         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
47882         * lib/iconv_close.c: New file.
47883         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
47884         gl_FUNC_ICONV_OPEN.
47885         (gl_FUNC_ICONV_OPEN): Use it.
47886         (gl_FUNC_ICONV_OPEN_UTF): New macro.
47887         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
47888         and REPLACE_ICONV_UTF.
47889         * modules/iconv_open (Depends-on): Add c-strcase.
47890         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
47891         ICONV_CONST.
47892         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
47893
47894 2007-10-13  Albert Chin  <china@thewrittenword.com>
47895             Bruno Haible  <bruno@clisp.org>
47896
47897         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
47898         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
47899
47900 2007-10-13  Bruno Haible  <bruno@clisp.org>
47901
47902         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
47903         defined, use the ISO C99 inline semantics.
47904         * lib/argp.h (ARGP_EI): Likewise.
47905
47906 2007-10-13  Bruno Haible  <bruno@clisp.org>
47907
47908         Handle 'inline' change in gcc 4.3.0.
47909         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
47910         argp_fmtstream_write, argp_fmtstream_set_lmargin,
47911         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
47912         argp_fmtstream_point): Disable 'extern' declaration if the function
47913         definition is going to be provided inline.
47914         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
47915         semantics, not the ISO C99 inline semantics.
47916         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
47917         'extern' declaration if the function definition is going to be provided
47918         inline.
47919         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
47920         the GNU C inline semantics, not the ISO C99 inline semantics. With
47921         GCC 4.2, avoid a warning.
47922
47923 2007-10-13  Bruno Haible  <bruno@clisp.org>
47924
47925         * lib/freading.h (freading): Enable the use of __freading for
47926         glibc >= 2.7.
47927         * lib/freading.c (freading): Likewise.
47928
47929 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
47930
47931         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
47932         "warning: C99 inline functions are not supported; using GNU89".
47933
47934 2007-10-12  Bruno Haible  <bruno@clisp.org>
47935
47936         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
47937         of 2.
47938         * tests/test-ceilf2.c: New file.
47939         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
47940
47941         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
47942         * modules/ceilf-tests: Update.
47943
47944 2007-10-12  Bruno Haible  <bruno@clisp.org>
47945
47946         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
47947         of 2.
47948         * tests/test-floorf2.c: New file.
47949         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
47950
47951         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
47952         * modules/floorf-tests: Update.
47953
47954 2007-10-12  Bruno Haible  <bruno@clisp.org>
47955
47956         * tests/test-trunc2.c: New file.
47957         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
47958
47959         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
47960         * modules/trunc-tests: Update.
47961
47962 2007-10-12  Bruno Haible  <bruno@clisp.org>
47963
47964         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
47965         of 2.
47966         * tests/test-truncf2.c: New file.
47967         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
47968
47969         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
47970         * modules/truncf-tests: Update.
47971
47972 2007-10-11  Eric Blake  <ebb9@byu.net>
47973
47974         Don't claim strerror is broken on Interix.
47975         * doc/functions/strerror.texi (strerror): Known broken systems are
47976         now Solaris 8, and not Interix.
47977         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
47978         Interix on cross-compile.
47979         Reported by Martin Koeppe in
47980         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
47981
47982 2007-10-11  Bruno Haible  <bruno@clisp.org>
47983
47984         * modules/i-ring-tests: New file.
47985         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
47986         instead of assert.
47987
47988 2007-10-11  Bruno Haible  <bruno@clisp.org>
47989
47990         * modules/filenamecat-tests: New file.
47991         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
47992         * lib/filenamecat.c: Remove test code.
47993
47994 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
47995
47996         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
47997
47998         * lib/strerror.c: Include <string.h> always, to test interface,
47999         and to remove the need for the dummy.
48000         Include intprops.h to compute width instead of doing it ourselves
48001         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
48002         (strerror): Define it to return NULL if there's no system strerror.
48003         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
48004         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
48005         ancient pre-strerror Unix systems well any more.  Saying "unknown
48006         system error" is enough.
48007         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
48008         simpler strerror.c implementation.
48009         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
48010         Simplify the tests to reflect the simpler strerror implementation.
48011         * modules/strerror (Depends-on): Add intprops.
48012
48013 2007-10-09  Eric Blake  <ebb9@byu.net>
48014
48015         Silence test-fpending.
48016         * modules/fpending-tests (Files): Add wrapper script.
48017         * tests/test-fpending.sh: New file.
48018
48019 2007-10-09  Bruno Haible  <bruno@clisp.org>
48020
48021         * MODULES.html.sh (func_module): Don't create a hyperlink for
48022         function names like 'printf_frexp'.
48023         (Misc): Add crc, memxor.
48024         (Characteristics of floating types): New section.
48025         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
48026         isnanf-nolibm, signbit, trunc, truncf, truncl.
48027         (Enhancements for ISO C 99 functions): New subsection Input/output.
48028         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
48029         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
48030         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
48031         (Compatibility checks for POSIX:2001 functions): Add clock-time.
48032         (Enhancements for POSIX:2001 functions): Add chdir-long.
48033         (File system functions): Add areadlink, chdir-safer, read-file.
48034         Remove cycle-check.
48035         (File system as inode set): New section.
48036         (Date and time): Add gethrxtime.
48037         (Multithreading): Add openmp.
48038         (Internationalization functions): Add localename.
48039         (Unicode string functions): Add unistr/u*-mbsnlen.
48040         (Support for maintaining and releasing projects): Add git-version-gen.
48041         (Lone files): Remove directories.
48042
48043 2007-10-08  Ben Pfaff  <blp@gnu.org>
48044
48045         * lib/xmalloca.h: Fix typo in comment.
48046
48047 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
48048
48049         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
48050         when avoiding problems with integer overflow.  Use a portable test
48051         instead.
48052
48053 2007-10-08  Simon Josefsson  <simon@josefsson.org>
48054
48055         * modules/dummy (License): Change to LGPLv2+.
48056         * modules/float (License): Likewise
48057         * modules/realloc (License): Likewise
48058         * modules/stdlib (License): Likewise
48059
48060 2007-10-07  Bruno Haible  <bruno@clisp.org>
48061
48062         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
48063         * floor.c (TWO_MANT_DIG): Likewise.
48064         * ceil.c (TWO_MANT_DIG): Likewise.
48065         Reported by Ben Pfaff.
48066
48067 2007-10-07  Bruno Haible  <bruno@clisp.org>
48068
48069         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
48070         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
48071         * lib/frexp.c (FUNC): Likewise.
48072         * lib/printf-frexp.h (printf_frexp): Likewise.
48073         * lib/printf-frexpl.h (printf_frexpl): Likewise.
48074         * lib/printf-frexp.c (FUNC): Likewise.
48075         Suggested by Jim Meyering.
48076
48077 2007-10-07  Jim Meyering  <meyering@redhat.com>
48078
48079         Make xnanosleep's integer overflow test more robust.
48080         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
48081         so that gcc-4.3.0 doesn't optimize away this test for overflow.
48082
48083 2007-10-07  Bruno Haible  <bruno@clisp.org>
48084
48085         * NEWS: Mention the license change.
48086
48087         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
48088         abbreviations in the modules files.
48089
48090         Change copyright notice from GPLv2+ to GPLv3+.
48091         * README: Change copyright notice.
48092         * MODULES.html.sh: Likewise.
48093         * build-aux/bootstrap.conf: Likewise.
48094         * build-aux/config.libpath: Likewise.
48095         * build-aux/csharpcomp.sh.in: Likewise.
48096         * build-aux/csharpexec.sh.in: Likewise.
48097         * build-aux/install-reloc: Likewise.
48098         * build-aux/javacomp.sh.in: Likewise.
48099         * build-aux/javaexec.sh.in: Likewise.
48100         * build-aux/ldd.sh.in: Likewise.
48101         * build-aux/reloc-ldflags: Likewise.
48102         * build-aux/relocatable.sh.in: Likewise.
48103         * build-aux/x-to-1.in: Likewise.
48104         * check-module: Likewise.
48105         * config/srclistvars.sh: Likewise.
48106         * gnulib-tool: Likewise.
48107         * lib/acl-internal.h: Likewise.
48108         * lib/acl.c: Likewise.
48109         * lib/acl.h: Likewise.
48110         * lib/acl_entries.c: Likewise.
48111         * lib/areadlink-with-size.c: Likewise.
48112         * lib/areadlink.c: Likewise.
48113         * lib/areadlink.h: Likewise.
48114         * lib/argmatch.c: Likewise.
48115         * lib/argmatch.h: Likewise.
48116         * lib/argp-ba.c: Likewise.
48117         * lib/argp-eexst.c: Likewise.
48118         * lib/argp-fmtstream.c: Likewise.
48119         * lib/argp-fmtstream.h: Likewise.
48120         * lib/argp-fs-xinl.c: Likewise.
48121         * lib/argp-help.c: Likewise.
48122         * lib/argp-namefrob.h: Likewise.
48123         * lib/argp-parse.c: Likewise.
48124         * lib/argp-pin.c: Likewise.
48125         * lib/argp-pv.c: Likewise.
48126         * lib/argp-pvh.c: Likewise.
48127         * lib/argp-xinl.c: Likewise.
48128         * lib/argp.h: Likewise.
48129         * lib/at-func.c: Likewise.
48130         * lib/atanl.c: Likewise.
48131         * lib/backupfile.c: Likewise.
48132         * lib/backupfile.h: Likewise.
48133         * lib/basename.c: Likewise.
48134         * lib/binary-io.h: Likewise.
48135         * lib/byteswap.in.h: Likewise.
48136         * lib/c-stack.c: Likewise.
48137         * lib/c-stack.h: Likewise.
48138         * lib/c-strcasestr.c: Likewise.
48139         * lib/c-strcasestr.h: Likewise.
48140         * lib/c-strstr.c: Likewise.
48141         * lib/c-strstr.h: Likewise.
48142         * lib/c-strtod.c: Likewise.
48143         * lib/calloc.c: Likewise.
48144         * lib/canon-host.c: Likewise.
48145         * lib/canon-host.h: Likewise.
48146         * lib/canonicalize-lgpl.c: Likewise.
48147         * lib/canonicalize.c: Likewise.
48148         * lib/canonicalize.h: Likewise.
48149         * lib/ceil.c: Likewise.
48150         * lib/ceilf.c: Likewise.
48151         * lib/ceill.c: Likewise.
48152         * lib/chdir-long.c: Likewise.
48153         * lib/chdir-long.h: Likewise.
48154         * lib/chdir-safer.c: Likewise.
48155         * lib/chdir-safer.h: Likewise.
48156         * lib/chown.c: Likewise.
48157         * lib/classpath.c: Likewise.
48158         * lib/classpath.h: Likewise.
48159         * lib/clean-temp.c: Likewise.
48160         * lib/clean-temp.h: Likewise.
48161         * lib/cloexec.c: Likewise.
48162         * lib/close-stream.c: Likewise.
48163         * lib/closein.c: Likewise.
48164         * lib/closein.h: Likewise.
48165         * lib/closeout.c: Likewise.
48166         * lib/closeout.h: Likewise.
48167         * lib/concat-filename.c: Likewise.
48168         * lib/copy-file.c: Likewise.
48169         * lib/copy-file.h: Likewise.
48170         * lib/count-one-bits.h: Likewise.
48171         * lib/crc.c: Likewise.
48172         * lib/crc.h: Likewise.
48173         * lib/creat-safer.c: Likewise.
48174         * lib/csharpcomp.c: Likewise.
48175         * lib/csharpcomp.h: Likewise.
48176         * lib/csharpexec.c: Likewise.
48177         * lib/csharpexec.h: Likewise.
48178         * lib/cycle-check.c: Likewise.
48179         * lib/cycle-check.h: Likewise.
48180         * lib/diacrit.c: Likewise.
48181         * lib/diacrit.h: Likewise.
48182         * lib/diffseq.h: Likewise.
48183         * lib/dirchownmod.c: Likewise.
48184         * lib/dirent.in.h: Likewise.
48185         * lib/dirfd.c: Likewise.
48186         * lib/dirfd.h: Likewise.
48187         * lib/dirname.c: Likewise.
48188         * lib/dirname.h: Likewise.
48189         * lib/dummy.c: Likewise.
48190         * lib/dup-safer.c: Likewise.
48191         * lib/dup2.c: Likewise.
48192         * lib/eealloc.h: Likewise.
48193         * lib/error.c: Likewise.
48194         * lib/error.h: Likewise.
48195         * lib/euidaccess.c: Likewise.
48196         * lib/exclude.c: Likewise.
48197         * lib/exclude.h: Likewise.
48198         * lib/execute.c: Likewise.
48199         * lib/execute.h: Likewise.
48200         * lib/exitfail.c: Likewise.
48201         * lib/exitfail.h: Likewise.
48202         * lib/expl.c: Likewise.
48203         * lib/fatal-signal.c: Likewise.
48204         * lib/fatal-signal.h: Likewise.
48205         * lib/fbufmode.c: Likewise.
48206         * lib/fbufmode.h: Likewise.
48207         * lib/fchdir.c: Likewise.
48208         * lib/fchmodat.c: Likewise.
48209         * lib/fchownat.c: Likewise.
48210         * lib/fcntl--.h: Likewise.
48211         * lib/fcntl-safer.h: Likewise.
48212         * lib/fcntl.in.h: Likewise.
48213         * lib/fd-safer.c: Likewise.
48214         * lib/fflush.c: Likewise.
48215         * lib/file-has-acl.c: Likewise.
48216         * lib/file-set.c: Likewise.
48217         * lib/file-type.c: Likewise.
48218         * lib/file-type.h: Likewise.
48219         * lib/fileblocks.c: Likewise.
48220         * lib/filemode.c: Likewise.
48221         * lib/filemode.h: Likewise.
48222         * lib/filename.h: Likewise.
48223         * lib/filenamecat.c: Likewise.
48224         * lib/filenamecat.h: Likewise.
48225         * lib/findprog.c: Likewise.
48226         * lib/findprog.h: Likewise.
48227         * lib/float.in.h: Likewise.
48228         * lib/floor.c: Likewise.
48229         * lib/floorf.c: Likewise.
48230         * lib/floorl.c: Likewise.
48231         * lib/fopen-safer.c: Likewise.
48232         * lib/fopen.c: Likewise.
48233         * lib/fpending.c: Likewise.
48234         * lib/fpending.h: Likewise.
48235         * lib/fprintf.c: Likewise.
48236         * lib/fprintftime.h: Likewise.
48237         * lib/fpucw.h: Likewise.
48238         * lib/fpurge.c: Likewise.
48239         * lib/fpurge.h: Likewise.
48240         * lib/freadable.c: Likewise.
48241         * lib/freadable.h: Likewise.
48242         * lib/freadahead.c: Likewise.
48243         * lib/freadahead.h: Likewise.
48244         * lib/freading.c: Likewise.
48245         * lib/freading.h: Likewise.
48246         * lib/free.c: Likewise.
48247         * lib/freopen.c: Likewise.
48248         * lib/frexp.c: Likewise.
48249         * lib/frexpl.c: Likewise.
48250         * lib/fseek.c: Likewise.
48251         * lib/fseterr.c: Likewise.
48252         * lib/fseterr.h: Likewise.
48253         * lib/fstatat.c: Likewise.
48254         * lib/fstrcmp.c: Likewise.
48255         * lib/fstrcmp.h: Likewise.
48256         * lib/fsusage.c: Likewise.
48257         * lib/fsusage.h: Likewise.
48258         * lib/ftell.c: Likewise.
48259         * lib/ftello.c: Likewise.
48260         * lib/fts-cycle.c: Likewise.
48261         * lib/fts.c: Likewise.
48262         * lib/fts_.h: Likewise.
48263         * lib/full-read.c: Likewise.
48264         * lib/full-read.h: Likewise.
48265         * lib/full-write.c: Likewise.
48266         * lib/full-write.h: Likewise.
48267         * lib/fwritable.c: Likewise.
48268         * lib/fwritable.h: Likewise.
48269         * lib/fwriteerror.c: Likewise.
48270         * lib/fwriteerror.h: Likewise.
48271         * lib/fwriting.c: Likewise.
48272         * lib/fwriting.h: Likewise.
48273         * lib/gcd.c: Likewise.
48274         * lib/gcd.h: Likewise.
48275         * lib/getcwd.c: Likewise.
48276         * lib/getdate.h: Likewise.
48277         * lib/getdate.y: Likewise.
48278         * lib/getdomainname.c: Likewise.
48279         * lib/getdomainname.h: Likewise.
48280         * lib/getgroups.c: Likewise.
48281         * lib/gethostname.c: Likewise.
48282         * lib/gethrxtime.c: Likewise.
48283         * lib/gethrxtime.h: Likewise.
48284         * lib/getloadavg.c: Likewise.
48285         * lib/getndelim2.c: Likewise.
48286         * lib/getndelim2.h: Likewise.
48287         * lib/getnline.c: Likewise.
48288         * lib/getnline.h: Likewise.
48289         * lib/getopt.c: Likewise.
48290         * lib/getopt.in.h: Likewise.
48291         * lib/getopt1.c: Likewise.
48292         * lib/getopt_int.h: Likewise.
48293         * lib/getpagesize.h: Likewise.
48294         * lib/getsubopt.c: Likewise.
48295         * lib/gettime.c: Likewise.
48296         * lib/getugroups.c: Likewise.
48297         * lib/getugroups.h: Likewise.
48298         * lib/getusershell.c: Likewise.
48299         * lib/gl_anyavltree_list1.h: Likewise.
48300         * lib/gl_anyavltree_list2.h: Likewise.
48301         * lib/gl_anyhash_list1.h: Likewise.
48302         * lib/gl_anyhash_list2.h: Likewise.
48303         * lib/gl_anylinked_list1.h: Likewise.
48304         * lib/gl_anylinked_list2.h: Likewise.
48305         * lib/gl_anyrbtree_list1.h: Likewise.
48306         * lib/gl_anyrbtree_list2.h: Likewise.
48307         * lib/gl_anytree_list1.h: Likewise.
48308         * lib/gl_anytree_list2.h: Likewise.
48309         * lib/gl_anytree_oset.h: Likewise.
48310         * lib/gl_anytreehash_list1.h: Likewise.
48311         * lib/gl_anytreehash_list2.h: Likewise.
48312         * lib/gl_array_list.c: Likewise.
48313         * lib/gl_array_list.h: Likewise.
48314         * lib/gl_array_oset.c: Likewise.
48315         * lib/gl_array_oset.h: Likewise.
48316         * lib/gl_avltree_list.c: Likewise.
48317         * lib/gl_avltree_list.h: Likewise.
48318         * lib/gl_avltree_oset.c: Likewise.
48319         * lib/gl_avltree_oset.h: Likewise.
48320         * lib/gl_avltreehash_list.c: Likewise.
48321         * lib/gl_avltreehash_list.h: Likewise.
48322         * lib/gl_carray_list.c: Likewise.
48323         * lib/gl_carray_list.h: Likewise.
48324         * lib/gl_linked_list.c: Likewise.
48325         * lib/gl_linked_list.h: Likewise.
48326         * lib/gl_linkedhash_list.c: Likewise.
48327         * lib/gl_linkedhash_list.h: Likewise.
48328         * lib/gl_list.c: Likewise.
48329         * lib/gl_list.h: Likewise.
48330         * lib/gl_oset.c: Likewise.
48331         * lib/gl_oset.h: Likewise.
48332         * lib/gl_rbtree_list.c: Likewise.
48333         * lib/gl_rbtree_list.h: Likewise.
48334         * lib/gl_rbtree_oset.c: Likewise.
48335         * lib/gl_rbtree_oset.h: Likewise.
48336         * lib/gl_rbtreehash_list.c: Likewise.
48337         * lib/gl_rbtreehash_list.h: Likewise.
48338         * lib/gl_sublist.c: Likewise.
48339         * lib/gl_sublist.h: Likewise.
48340         * lib/group-member.c: Likewise.
48341         * lib/group-member.h: Likewise.
48342         * lib/hard-locale.c: Likewise.
48343         * lib/hard-locale.h: Likewise.
48344         * lib/hash-pjw.c: Likewise.
48345         * lib/hash-pjw.h: Likewise.
48346         * lib/hash-triple.c: Likewise.
48347         * lib/hash.c: Likewise.
48348         * lib/hash.h: Likewise.
48349         * lib/human.c: Likewise.
48350         * lib/human.h: Likewise.
48351         * lib/i-ring.c: Likewise.
48352         * lib/i-ring.h: Likewise.
48353         * lib/idcache.c: Likewise.
48354         * lib/imaxabs.c: Likewise.
48355         * lib/imaxdiv.c: Likewise.
48356         * lib/inet_pton.c: Likewise.
48357         * lib/inet_pton.h: Likewise.
48358         * lib/intprops.h: Likewise.
48359         * lib/inttostr.c: Likewise.
48360         * lib/inttostr.h: Likewise.
48361         * lib/inttypes.in.h: Likewise.
48362         * lib/isapipe.c: Likewise.
48363         * lib/isdir.c: Likewise.
48364         * lib/isnan.c: Likewise.
48365         * lib/isnan.h: Likewise.
48366         * lib/isnanf.c: Likewise.
48367         * lib/isnanf.h: Likewise.
48368         * lib/isnanl-nolibm.h: Likewise.
48369         * lib/isnanl.c: Likewise.
48370         * lib/isnanl.h: Likewise.
48371         * lib/javacomp.c: Likewise.
48372         * lib/javacomp.h: Likewise.
48373         * lib/javaexec.c: Likewise.
48374         * lib/javaexec.h: Likewise.
48375         * lib/javaversion.c: Likewise.
48376         * lib/javaversion.h: Likewise.
48377         * lib/javaversion.java: Likewise.
48378         * lib/lbrkprop.h: Likewise.
48379         * lib/lchmod.h: Likewise.
48380         * lib/lchown.c: Likewise.
48381         * lib/ldexpl.c: Likewise.
48382         * lib/linebreak.c: Likewise.
48383         * lib/linebreak.h: Likewise.
48384         * lib/linebuffer.c: Likewise.
48385         * lib/linebuffer.h: Likewise.
48386         * lib/locale.in.h: Likewise.
48387         * lib/logl.c: Likewise.
48388         * lib/long-options.c: Likewise.
48389         * lib/long-options.h: Likewise.
48390         * lib/lstat.c: Likewise.
48391         * lib/lstat.h: Likewise.
48392         * lib/math.in.h: Likewise.
48393         * lib/mbchar.c: Likewise.
48394         * lib/mbchar.h: Likewise.
48395         * lib/mbfile.h: Likewise.
48396         * lib/mbiter.h: Likewise.
48397         * lib/mbscasecmp.c: Likewise.
48398         * lib/mbscasestr.c: Likewise.
48399         * lib/mbschr.c: Likewise.
48400         * lib/mbscspn.c: Likewise.
48401         * lib/mbslen.c: Likewise.
48402         * lib/mbsncasecmp.c: Likewise.
48403         * lib/mbsnlen.c: Likewise.
48404         * lib/mbspbrk.c: Likewise.
48405         * lib/mbspcasecmp.c: Likewise.
48406         * lib/mbsrchr.c: Likewise.
48407         * lib/mbssep.c: Likewise.
48408         * lib/mbsspn.c: Likewise.
48409         * lib/mbsstr.c: Likewise.
48410         * lib/mbstok_r.c: Likewise.
48411         * lib/mbswidth.c: Likewise.
48412         * lib/mbswidth.h: Likewise.
48413         * lib/mbuiter.h: Likewise.
48414         * lib/memcasecmp.c: Likewise.
48415         * lib/memcasecmp.h: Likewise.
48416         * lib/memchr.c: Likewise.
48417         * lib/memcmp.c: Likewise.
48418         * lib/memcoll.c: Likewise.
48419         * lib/memcoll.h: Likewise.
48420         * lib/memcpy.c: Likewise.
48421         * lib/memrchr.c: Likewise.
48422         * lib/mkancesdirs.c: Likewise.
48423         * lib/mkdir-p.c: Likewise.
48424         * lib/mkdir-p.h: Likewise.
48425         * lib/mkdir.c: Likewise.
48426         * lib/mkdirat.c: Likewise.
48427         * lib/mkdtemp.c: Likewise.
48428         * lib/mkstemp-safer.c: Likewise.
48429         * lib/mkstemp.c: Likewise.
48430         * lib/modechange.c: Likewise.
48431         * lib/modechange.h: Likewise.
48432         * lib/mountlist.c: Likewise.
48433         * lib/mountlist.h: Likewise.
48434         * lib/mpsort.c: Likewise.
48435         * lib/nanosleep.c: Likewise.
48436         * lib/obstack.c: Likewise.
48437         * lib/obstack.h: Likewise.
48438         * lib/open-safer.c: Likewise.
48439         * lib/open.c: Likewise.
48440         * lib/openat-die.c: Likewise.
48441         * lib/openat-priv.h: Likewise.
48442         * lib/openat-proc.c: Likewise.
48443         * lib/openat.c: Likewise.
48444         * lib/openat.h: Likewise.
48445         * lib/pagealign_alloc.c: Likewise.
48446         * lib/pagealign_alloc.h: Likewise.
48447         * lib/physmem.c: Likewise.
48448         * lib/physmem.h: Likewise.
48449         * lib/pipe-safer.c: Likewise.
48450         * lib/pipe.c: Likewise.
48451         * lib/pipe.h: Likewise.
48452         * lib/posixtm.c: Likewise.
48453         * lib/posixtm.h: Likewise.
48454         * lib/posixver.c: Likewise.
48455         * lib/printf-frexp.c: Likewise.
48456         * lib/printf-frexp.h: Likewise.
48457         * lib/printf-frexpl.c: Likewise.
48458         * lib/printf-frexpl.h: Likewise.
48459         * lib/printf.c: Likewise.
48460         * lib/progname.c: Likewise.
48461         * lib/progname.h: Likewise.
48462         * lib/progreloc.c: Likewise.
48463         * lib/putenv.c: Likewise.
48464         * lib/quote.c: Likewise.
48465         * lib/quote.h: Likewise.
48466         * lib/quotearg.c: Likewise.
48467         * lib/quotearg.h: Likewise.
48468         * lib/raise.c: Likewise.
48469         * lib/readline.c: Likewise.
48470         * lib/readline.h: Likewise.
48471         * lib/readlink.c: Likewise.
48472         * lib/readtokens.c: Likewise.
48473         * lib/readtokens.h: Likewise.
48474         * lib/readtokens0.c: Likewise.
48475         * lib/readtokens0.h: Likewise.
48476         * lib/readutmp.c: Likewise.
48477         * lib/readutmp.h: Likewise.
48478         * lib/realloc.c: Likewise.
48479         * lib/relocwrapper.c: Likewise.
48480         * lib/rename-dest-slash.c: Likewise.
48481         * lib/rename.c: Likewise.
48482         * lib/rmdir.c: Likewise.
48483         * lib/rpmatch.c: Likewise.
48484         * lib/safe-read.c: Likewise.
48485         * lib/safe-read.h: Likewise.
48486         * lib/safe-write.c: Likewise.
48487         * lib/safe-write.h: Likewise.
48488         * lib/same-inode.h: Likewise.
48489         * lib/same.c: Likewise.
48490         * lib/same.h: Likewise.
48491         * lib/save-cwd.c: Likewise.
48492         * lib/save-cwd.h: Likewise.
48493         * lib/savedir.c: Likewise.
48494         * lib/savedir.h: Likewise.
48495         * lib/savewd.c: Likewise.
48496         * lib/savewd.h: Likewise.
48497         * lib/search.in.h: Likewise.
48498         * lib/setenv.c: Likewise.
48499         * lib/setenv.h: Likewise.
48500         * lib/settime.c: Likewise.
48501         * lib/sh-quote.c: Likewise.
48502         * lib/sh-quote.h: Likewise.
48503         * lib/sig2str.c: Likewise.
48504         * lib/sig2str.h: Likewise.
48505         * lib/signal.in.h: Likewise.
48506         * lib/signbitd.c: Likewise.
48507         * lib/signbitf.c: Likewise.
48508         * lib/signbitl.c: Likewise.
48509         * lib/sigprocmask.c: Likewise.
48510         * lib/sincosl.c: Likewise.
48511         * lib/sleep.c: Likewise.
48512         * lib/sprintf.c: Likewise.
48513         * lib/sqrtl.c: Likewise.
48514         * lib/stat-time.h: Likewise.
48515         * lib/stdio--.h: Likewise.
48516         * lib/stdio-safer.h: Likewise.
48517         * lib/stdlib--.h: Likewise.
48518         * lib/stdlib-safer.h: Likewise.
48519         * lib/stdlib.in.h: Likewise.
48520         * lib/stpcpy.c: Likewise.
48521         * lib/stpncpy.c: Likewise.
48522         * lib/strchrnul.c: Likewise.
48523         * lib/strcspn.c: Likewise.
48524         * lib/strerror.c: Likewise.
48525         * lib/strftime.c: Likewise.
48526         * lib/strftime.h: Likewise.
48527         * lib/striconveh.c: Likewise.
48528         * lib/striconveh.h: Likewise.
48529         * lib/striconveha.c: Likewise.
48530         * lib/striconveha.h: Likewise.
48531         * lib/stripslash.c: Likewise.
48532         * lib/strnlen1.c: Likewise.
48533         * lib/strnlen1.h: Likewise.
48534         * lib/strtod.c: Likewise.
48535         * lib/strtoimax.c: Likewise.
48536         * lib/strtok_r.c: Likewise.
48537         * lib/strtol.c: Likewise.
48538         * lib/strtoll.c: Likewise.
48539         * lib/strtoul.c: Likewise.
48540         * lib/strtoull.c: Likewise.
48541         * lib/sysexits.in.h: Likewise.
48542         * lib/tempname.c: Likewise.
48543         * lib/tempname.h: Likewise.
48544         * lib/timespec.h: Likewise.
48545         * lib/tls.c: Likewise.
48546         * lib/tls.h: Likewise.
48547         * lib/tmpdir.c: Likewise.
48548         * lib/tmpdir.h: Likewise.
48549         * lib/tmpfile-safer.c: Likewise.
48550         * lib/tmpfile.c: Likewise.
48551         * lib/trigl.c: Likewise.
48552         * lib/trigl.h: Likewise.
48553         * lib/trim.c: Likewise.
48554         * lib/trim.h: Likewise.
48555         * lib/trunc.c: Likewise.
48556         * lib/truncf.c: Likewise.
48557         * lib/truncl.c: Likewise.
48558         * lib/tsearch.c: Likewise.
48559         * lib/unicodeio.c: Likewise.
48560         * lib/unicodeio.h: Likewise.
48561         * lib/unistd--.h: Likewise.
48562         * lib/unistd-safer.h: Likewise.
48563         * lib/unistdio/ulc-fprintf.c: Likewise.
48564         * lib/unistdio/ulc-vfprintf.c: Likewise.
48565         * lib/unlinkdir.c: Likewise.
48566         * lib/unlinkdir.h: Likewise.
48567         * lib/unlocked-io.h: Likewise.
48568         * lib/unsetenv.c: Likewise.
48569         * lib/userspec.c: Likewise.
48570         * lib/utime.c: Likewise.
48571         * lib/utimecmp.c: Likewise.
48572         * lib/utimecmp.h: Likewise.
48573         * lib/utimens.c: Likewise.
48574         * lib/verify.h: Likewise.
48575         * lib/verror.c: Likewise.
48576         * lib/verror.h: Likewise.
48577         * lib/version-etc-fsf.c: Likewise.
48578         * lib/version-etc.c: Likewise.
48579         * lib/version-etc.h: Likewise.
48580         * lib/vfprintf.c: Likewise.
48581         * lib/vprintf.c: Likewise.
48582         * lib/vsprintf.c: Likewise.
48583         * lib/w32spawn.h: Likewise.
48584         * lib/wait-process.c: Likewise.
48585         * lib/wait-process.h: Likewise.
48586         * lib/wcwidth.c: Likewise.
48587         * lib/write-any-file.c: Likewise.
48588         * lib/xalloc-die.c: Likewise.
48589         * lib/xalloc.h: Likewise.
48590         * lib/xasprintf.c: Likewise.
48591         * lib/xgetcwd.c: Likewise.
48592         * lib/xgetcwd.h: Likewise.
48593         * lib/xgetdomainname.c: Likewise.
48594         * lib/xgetdomainname.h: Likewise.
48595         * lib/xgethostname.c: Likewise.
48596         * lib/xmalloc.c: Likewise.
48597         * lib/xmalloca.c: Likewise.
48598         * lib/xmalloca.h: Likewise.
48599         * lib/xmemcoll.c: Likewise.
48600         * lib/xnanosleep.c: Likewise.
48601         * lib/xreadlink.c: Likewise.
48602         * lib/xreadlink.h: Likewise.
48603         * lib/xsetenv.c: Likewise.
48604         * lib/xsetenv.h: Likewise.
48605         * lib/xstriconv.c: Likewise.
48606         * lib/xstriconv.h: Likewise.
48607         * lib/xstrndup.c: Likewise.
48608         * lib/xstrndup.h: Likewise.
48609         * lib/xstrtod.c: Likewise.
48610         * lib/xstrtod.h: Likewise.
48611         * lib/xstrtol-error.c: Likewise.
48612         * lib/xstrtol.c: Likewise.
48613         * lib/xstrtol.h: Likewise.
48614         * lib/xtime.h: Likewise.
48615         * lib/xvasprintf.c: Likewise.
48616         * lib/xvasprintf.h: Likewise.
48617         * lib/yesno.c: Likewise.
48618         * lib/yesno.h: Likewise.
48619         * posix-modules: Likewise.
48620         * tests/test-alloca-opt.c: Likewise.
48621         * tests/test-arcfour.c: Likewise.
48622         * tests/test-arctwo.c: Likewise.
48623         * tests/test-argmatch.c: Likewise.
48624         * tests/test-argp-2.sh: Likewise.
48625         * tests/test-argp.c: Likewise.
48626         * tests/test-arpa_inet.c: Likewise.
48627         * tests/test-array_list.c: Likewise.
48628         * tests/test-array_oset.c: Likewise.
48629         * tests/test-atexit.c: Likewise.
48630         * tests/test-avltree_list.c: Likewise.
48631         * tests/test-avltree_oset.c: Likewise.
48632         * tests/test-avltreehash_list.c: Likewise.
48633         * tests/test-base64.c: Likewise.
48634         * tests/test-binary-io.c: Likewise.
48635         * tests/test-byteswap.c: Likewise.
48636         * tests/test-c-ctype.c: Likewise.
48637         * tests/test-c-strcasecmp.c: Likewise.
48638         * tests/test-c-strcasestr.c: Likewise.
48639         * tests/test-c-strncasecmp.c: Likewise.
48640         * tests/test-c-strstr.c: Likewise.
48641         * tests/test-canonicalize-lgpl.c: Likewise.
48642         * tests/test-canonicalize.c: Likewise.
48643         * tests/test-carray_list.c: Likewise.
48644         * tests/test-ceilf.c: Likewise.
48645         * tests/test-ceill.c: Likewise.
48646         * tests/test-count-one-bits.c: Likewise.
48647         * tests/test-crc.c: Likewise.
48648         * tests/test-dirname.c: Likewise.
48649         * tests/test-fbufmode.c: Likewise.
48650         * tests/test-fcntl.c: Likewise.
48651         * tests/test-fflush.c: Likewise.
48652         * tests/test-floorf.c: Likewise.
48653         * tests/test-floorl.c: Likewise.
48654         * tests/test-fopen.c: Likewise.
48655         * tests/test-fprintf-posix.c: Likewise.
48656         * tests/test-fprintf-posix.h: Likewise.
48657         * tests/test-fpurge.c: Likewise.
48658         * tests/test-freadable.c: Likewise.
48659         * tests/test-freadahead.c: Likewise.
48660         * tests/test-freading.c: Likewise.
48661         * tests/test-freopen.c: Likewise.
48662         * tests/test-frexp.c: Likewise.
48663         * tests/test-frexpl.c: Likewise.
48664         * tests/test-fseek.c: Likewise.
48665         * tests/test-fseeko.c: Likewise.
48666         * tests/test-fseterr.c: Likewise.
48667         * tests/test-fstrcmp.c: Likewise.
48668         * tests/test-ftell.c: Likewise.
48669         * tests/test-ftello.c: Likewise.
48670         * tests/test-fwritable.c: Likewise.
48671         * tests/test-fwriting.c: Likewise.
48672         * tests/test-getaddrinfo.c: Likewise.
48673         * tests/test-getpass.c: Likewise.
48674         * tests/test-gettimeofday.c: Likewise.
48675         * tests/test-hmac-md5.c: Likewise.
48676         * tests/test-hmac-sha1.c: Likewise.
48677         * tests/test-iconv.c: Likewise.
48678         * tests/test-iconvme.c: Likewise.
48679         * tests/test-inttypes.c: Likewise.
48680         * tests/test-isnan.c: Likewise.
48681         * tests/test-isnanf.c: Likewise.
48682         * tests/test-isnanl-nolibm.c: Likewise.
48683         * tests/test-isnanl.c: Likewise.
48684         * tests/test-isnanl.h: Likewise.
48685         * tests/test-ldexpl.c: Likewise.
48686         * tests/test-linked_list.c: Likewise.
48687         * tests/test-linkedhash_list.c: Likewise.
48688         * tests/test-locale.c: Likewise.
48689         * tests/test-localename.c: Likewise.
48690         * tests/test-lock.c: Likewise.
48691         * tests/test-lseek.c: Likewise.
48692         * tests/test-malloca.c: Likewise.
48693         * tests/test-math.c: Likewise.
48694         * tests/test-mbscasecmp.c: Likewise.
48695         * tests/test-mbscasestr1.c: Likewise.
48696         * tests/test-mbscasestr2.c: Likewise.
48697         * tests/test-mbscasestr3.c: Likewise.
48698         * tests/test-mbscasestr4.c: Likewise.
48699         * tests/test-mbschr.c: Likewise.
48700         * tests/test-mbscspn.c: Likewise.
48701         * tests/test-mbsncasecmp.c: Likewise.
48702         * tests/test-mbspbrk.c: Likewise.
48703         * tests/test-mbspcasecmp.c: Likewise.
48704         * tests/test-mbsrchr.c: Likewise.
48705         * tests/test-mbsspn.c: Likewise.
48706         * tests/test-mbsstr1.c: Likewise.
48707         * tests/test-mbsstr2.c: Likewise.
48708         * tests/test-mbsstr3.c: Likewise.
48709         * tests/test-md5.c: Likewise.
48710         * tests/test-memmem.c: Likewise.
48711         * tests/test-netinet_in.c: Likewise.
48712         * tests/test-open.c: Likewise.
48713         * tests/test-printf-frexp.c: Likewise.
48714         * tests/test-printf-frexpl.c: Likewise.
48715         * tests/test-printf-posix.c: Likewise.
48716         * tests/test-printf-posix.h: Likewise.
48717         * tests/test-rbtree_list.c: Likewise.
48718         * tests/test-rbtree_oset.c: Likewise.
48719         * tests/test-rbtreehash_list.c: Likewise.
48720         * tests/test-read-file.c: Likewise.
48721         * tests/test-rijndael.c: Likewise.
48722         * tests/test-search.c: Likewise.
48723         * tests/test-signbit.c: Likewise.
48724         * tests/test-sleep.c: Likewise.
48725         * tests/test-snprintf-posix.c: Likewise.
48726         * tests/test-snprintf-posix.h: Likewise.
48727         * tests/test-snprintf.c: Likewise.
48728         * tests/test-sprintf-posix.c: Likewise.
48729         * tests/test-sprintf-posix.h: Likewise.
48730         * tests/test-stat-time.c: Likewise.
48731         * tests/test-stdbool.c: Likewise.
48732         * tests/test-stdint.c: Likewise.
48733         * tests/test-stdio.c: Likewise.
48734         * tests/test-stdlib.c: Likewise.
48735         * tests/test-stpncpy.c: Likewise.
48736         * tests/test-strcasestr.c: Likewise.
48737         * tests/test-striconv.c: Likewise.
48738         * tests/test-striconveh.c: Likewise.
48739         * tests/test-striconveha.c: Likewise.
48740         * tests/test-string.c: Likewise.
48741         * tests/test-sys_select.c: Likewise.
48742         * tests/test-sys_socket.c: Likewise.
48743         * tests/test-sys_stat.c: Likewise.
48744         * tests/test-sys_time.c: Likewise.
48745         * tests/test-sysexits.c: Likewise.
48746         * tests/test-time.c: Likewise.
48747         * tests/test-tls.c: Likewise.
48748         * tests/test-trunc.c: Likewise.
48749         * tests/test-truncf.c: Likewise.
48750         * tests/test-truncl.c: Likewise.
48751         * tests/test-unistd.c: Likewise.
48752         * tests/test-vasnprintf-posix.c: Likewise.
48753         * tests/test-vasnprintf-posix2.c: Likewise.
48754         * tests/test-vasnprintf.c: Likewise.
48755         * tests/test-vasprintf-posix.c: Likewise.
48756         * tests/test-vasprintf.c: Likewise.
48757         * tests/test-verify.c: Likewise.
48758         * tests/test-vfprintf-posix.c: Likewise.
48759         * tests/test-vprintf-posix.c: Likewise.
48760         * tests/test-vsnprintf-posix.c: Likewise.
48761         * tests/test-vsnprintf.c: Likewise.
48762         * tests/test-vsprintf-posix.c: Likewise.
48763         * tests/test-wchar.c: Likewise.
48764         * tests/test-wctype.c: Likewise.
48765         * tests/test-wcwidth.c: Likewise.
48766         * tests/test-xstrtol.c: Likewise.
48767         * tests/test-xvasprintf.c: Likewise.
48768         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
48769         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
48770         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
48771         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
48772         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
48773         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
48774         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
48775         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
48776         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
48777         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
48778         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
48779         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
48780         * tests/uniname/test-uninames.c: Likewise.
48781         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
48782         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
48783         * tests/unistdio/test-u16-printf1.h: Likewise.
48784         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
48785         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
48786         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
48787         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
48788         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
48789         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
48790         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
48791         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
48792         * tests/unistdio/test-u32-printf1.h: Likewise.
48793         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
48794         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
48795         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
48796         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
48797         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
48798         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
48799         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
48800         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
48801         * tests/unistdio/test-u8-printf1.h: Likewise.
48802         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
48803         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
48804         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
48805         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
48806         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
48807         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
48808         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
48809         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
48810         * tests/unistdio/test-ulc-printf1.h: Likewise.
48811         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
48812         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
48813         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
48814         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
48815         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
48816         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
48817         * tests/uniwidth/test-u16-strwidth.c: Likewise.
48818         * tests/uniwidth/test-u16-width.c: Likewise.
48819         * tests/uniwidth/test-u32-strwidth.c: Likewise.
48820         * tests/uniwidth/test-u32-width.c: Likewise.
48821         * tests/uniwidth/test-u8-strwidth.c: Likewise.
48822         * tests/uniwidth/test-u8-width.c: Likewise.
48823         * tests/uniwidth/test-uc_width.c: Likewise.
48824         * config/srclist-update: Likewise.
48825         (fixlicense): Update to GPLv3+.
48826
48827         Change copyright notice from LGPLv2.1+ to LGPLv3+.
48828         * tests/test-tsearch.c: Change copyright notice.
48829
48830         Change copyright notice from LGPLv2.0+ to LGPLv3+.
48831         * lib/c-strcaseeq.h: Change copyright notice.
48832         * lib/streq.h: Likewise.
48833         * lib/uniconv.h: Likewise.
48834         * lib/uniconv/u-conv-from-enc.h: Likewise.
48835         * lib/uniconv/u-conv-to-enc.h: Likewise.
48836         * lib/uniconv/u-strconv-from-enc.h: Likewise.
48837         * lib/uniconv/u-strconv-to-enc.h: Likewise.
48838         * lib/uniconv/u16-conv-from-enc.c: Likewise.
48839         * lib/uniconv/u16-conv-to-enc.c: Likewise.
48840         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
48841         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
48842         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
48843         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
48844         * lib/uniconv/u32-conv-from-enc.c: Likewise.
48845         * lib/uniconv/u32-conv-to-enc.c: Likewise.
48846         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
48847         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
48848         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
48849         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
48850         * lib/uniconv/u8-conv-from-enc.c: Likewise.
48851         * lib/uniconv/u8-conv-to-enc.c: Likewise.
48852         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
48853         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
48854         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
48855         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
48856         * lib/uniname.h: Likewise.
48857         * lib/uniname/uniname.c: Likewise.
48858         * lib/unistdio.h: Likewise.
48859         * lib/unistdio/u-asnprintf.h: Likewise.
48860         * lib/unistdio/u-asprintf.h: Likewise.
48861         * lib/unistdio/u-printf-args.c: Likewise.
48862         * lib/unistdio/u-printf-args.h: Likewise.
48863         * lib/unistdio/u-printf-parse.h: Likewise.
48864         * lib/unistdio/u-snprintf.h: Likewise.
48865         * lib/unistdio/u-sprintf.h: Likewise.
48866         * lib/unistdio/u-vasprintf.h: Likewise.
48867         * lib/unistdio/u-vsnprintf.h: Likewise.
48868         * lib/unistdio/u-vsprintf.h: Likewise.
48869         * lib/unistdio/u16-asnprintf.c: Likewise.
48870         * lib/unistdio/u16-asprintf.c: Likewise.
48871         * lib/unistdio/u16-printf-parse.c: Likewise.
48872         * lib/unistdio/u16-snprintf.c: Likewise.
48873         * lib/unistdio/u16-sprintf.c: Likewise.
48874         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
48875         * lib/unistdio/u16-u16-asprintf.c: Likewise.
48876         * lib/unistdio/u16-u16-snprintf.c: Likewise.
48877         * lib/unistdio/u16-u16-sprintf.c: Likewise.
48878         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
48879         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
48880         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
48881         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
48882         * lib/unistdio/u16-vasnprintf.c: Likewise.
48883         * lib/unistdio/u16-vasprintf.c: Likewise.
48884         * lib/unistdio/u16-vsnprintf.c: Likewise.
48885         * lib/unistdio/u16-vsprintf.c: Likewise.
48886         * lib/unistdio/u32-asnprintf.c: Likewise.
48887         * lib/unistdio/u32-asprintf.c: Likewise.
48888         * lib/unistdio/u32-printf-parse.c: Likewise.
48889         * lib/unistdio/u32-snprintf.c: Likewise.
48890         * lib/unistdio/u32-sprintf.c: Likewise.
48891         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
48892         * lib/unistdio/u32-u32-asprintf.c: Likewise.
48893         * lib/unistdio/u32-u32-snprintf.c: Likewise.
48894         * lib/unistdio/u32-u32-sprintf.c: Likewise.
48895         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
48896         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
48897         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
48898         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
48899         * lib/unistdio/u32-vasnprintf.c: Likewise.
48900         * lib/unistdio/u32-vasprintf.c: Likewise.
48901         * lib/unistdio/u32-vsnprintf.c: Likewise.
48902         * lib/unistdio/u32-vsprintf.c: Likewise.
48903         * lib/unistdio/u8-asnprintf.c: Likewise.
48904         * lib/unistdio/u8-asprintf.c: Likewise.
48905         * lib/unistdio/u8-printf-parse.c: Likewise.
48906         * lib/unistdio/u8-snprintf.c: Likewise.
48907         * lib/unistdio/u8-sprintf.c: Likewise.
48908         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
48909         * lib/unistdio/u8-u8-asprintf.c: Likewise.
48910         * lib/unistdio/u8-u8-snprintf.c: Likewise.
48911         * lib/unistdio/u8-u8-sprintf.c: Likewise.
48912         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
48913         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
48914         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
48915         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
48916         * lib/unistdio/u8-vasnprintf.c: Likewise.
48917         * lib/unistdio/u8-vasprintf.c: Likewise.
48918         * lib/unistdio/u8-vsnprintf.c: Likewise.
48919         * lib/unistdio/u8-vsprintf.c: Likewise.
48920         * lib/unistdio/ulc-asnprintf.c: Likewise.
48921         * lib/unistdio/ulc-asprintf.c: Likewise.
48922         * lib/unistdio/ulc-printf-parse.c: Likewise.
48923         * lib/unistdio/ulc-snprintf.c: Likewise.
48924         * lib/unistdio/ulc-sprintf.c: Likewise.
48925         * lib/unistdio/ulc-vasnprintf.c: Likewise.
48926         * lib/unistdio/ulc-vasprintf.c: Likewise.
48927         * lib/unistdio/ulc-vsnprintf.c: Likewise.
48928         * lib/unistdio/ulc-vsprintf.c: Likewise.
48929         * lib/unistr.h: Likewise.
48930         * lib/unistr/u-cpy-alloc.h: Likewise.
48931         * lib/unistr/u-cpy.h: Likewise.
48932         * lib/unistr/u-endswith.h: Likewise.
48933         * lib/unistr/u-move.h: Likewise.
48934         * lib/unistr/u-set.h: Likewise.
48935         * lib/unistr/u-startswith.h: Likewise.
48936         * lib/unistr/u-stpcpy.h: Likewise.
48937         * lib/unistr/u-stpncpy.h: Likewise.
48938         * lib/unistr/u-strcat.h: Likewise.
48939         * lib/unistr/u-strcpy.h: Likewise.
48940         * lib/unistr/u-strcspn.h: Likewise.
48941         * lib/unistr/u-strdup.h: Likewise.
48942         * lib/unistr/u-strlen.h: Likewise.
48943         * lib/unistr/u-strncat.h: Likewise.
48944         * lib/unistr/u-strncpy.h: Likewise.
48945         * lib/unistr/u-strnlen.h: Likewise.
48946         * lib/unistr/u-strpbrk.h: Likewise.
48947         * lib/unistr/u-strspn.h: Likewise.
48948         * lib/unistr/u-strstr.h: Likewise.
48949         * lib/unistr/u-strtok.h: Likewise.
48950         * lib/unistr/u16-check.c: Likewise.
48951         * lib/unistr/u16-chr.c: Likewise.
48952         * lib/unistr/u16-cmp.c: Likewise.
48953         * lib/unistr/u16-cpy-alloc.c: Likewise.
48954         * lib/unistr/u16-cpy.c: Likewise.
48955         * lib/unistr/u16-endswith.c: Likewise.
48956         * lib/unistr/u16-mblen.c: Likewise.
48957         * lib/unistr/u16-mbsnlen.c: Likewise.
48958         * lib/unistr/u16-mbtouc-aux.c: Likewise.
48959         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
48960         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
48961         * lib/unistr/u16-mbtouc.c: Likewise.
48962         * lib/unistr/u16-mbtoucr.c: Likewise.
48963         * lib/unistr/u16-move.c: Likewise.
48964         * lib/unistr/u16-next.c: Likewise.
48965         * lib/unistr/u16-prev.c: Likewise.
48966         * lib/unistr/u16-set.c: Likewise.
48967         * lib/unistr/u16-startswith.c: Likewise.
48968         * lib/unistr/u16-stpcpy.c: Likewise.
48969         * lib/unistr/u16-stpncpy.c: Likewise.
48970         * lib/unistr/u16-strcat.c: Likewise.
48971         * lib/unistr/u16-strchr.c: Likewise.
48972         * lib/unistr/u16-strcmp.c: Likewise.
48973         * lib/unistr/u16-strcpy.c: Likewise.
48974         * lib/unistr/u16-strcspn.c: Likewise.
48975         * lib/unistr/u16-strdup.c: Likewise.
48976         * lib/unistr/u16-strlen.c: Likewise.
48977         * lib/unistr/u16-strmblen.c: Likewise.
48978         * lib/unistr/u16-strmbtouc.c: Likewise.
48979         * lib/unistr/u16-strncat.c: Likewise.
48980         * lib/unistr/u16-strncmp.c: Likewise.
48981         * lib/unistr/u16-strncpy.c: Likewise.
48982         * lib/unistr/u16-strnlen.c: Likewise.
48983         * lib/unistr/u16-strpbrk.c: Likewise.
48984         * lib/unistr/u16-strrchr.c: Likewise.
48985         * lib/unistr/u16-strspn.c: Likewise.
48986         * lib/unistr/u16-strstr.c: Likewise.
48987         * lib/unistr/u16-strtok.c: Likewise.
48988         * lib/unistr/u16-to-u32.c: Likewise.
48989         * lib/unistr/u16-to-u8.c: Likewise.
48990         * lib/unistr/u16-uctomb-aux.c: Likewise.
48991         * lib/unistr/u16-uctomb.c: Likewise.
48992         * lib/unistr/u32-check.c: Likewise.
48993         * lib/unistr/u32-chr.c: Likewise.
48994         * lib/unistr/u32-cmp.c: Likewise.
48995         * lib/unistr/u32-cpy-alloc.c: Likewise.
48996         * lib/unistr/u32-cpy.c: Likewise.
48997         * lib/unistr/u32-endswith.c: Likewise.
48998         * lib/unistr/u32-mblen.c: Likewise.
48999         * lib/unistr/u32-mbsnlen.c: Likewise.
49000         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
49001         * lib/unistr/u32-mbtouc.c: Likewise.
49002         * lib/unistr/u32-mbtoucr.c: Likewise.
49003         * lib/unistr/u32-move.c: Likewise.
49004         * lib/unistr/u32-next.c: Likewise.
49005         * lib/unistr/u32-prev.c: Likewise.
49006         * lib/unistr/u32-set.c: Likewise.
49007         * lib/unistr/u32-startswith.c: Likewise.
49008         * lib/unistr/u32-stpcpy.c: Likewise.
49009         * lib/unistr/u32-stpncpy.c: Likewise.
49010         * lib/unistr/u32-strcat.c: Likewise.
49011         * lib/unistr/u32-strchr.c: Likewise.
49012         * lib/unistr/u32-strcmp.c: Likewise.
49013         * lib/unistr/u32-strcpy.c: Likewise.
49014         * lib/unistr/u32-strcspn.c: Likewise.
49015         * lib/unistr/u32-strdup.c: Likewise.
49016         * lib/unistr/u32-strlen.c: Likewise.
49017         * lib/unistr/u32-strmblen.c: Likewise.
49018         * lib/unistr/u32-strmbtouc.c: Likewise.
49019         * lib/unistr/u32-strncat.c: Likewise.
49020         * lib/unistr/u32-strncmp.c: Likewise.
49021         * lib/unistr/u32-strncpy.c: Likewise.
49022         * lib/unistr/u32-strnlen.c: Likewise.
49023         * lib/unistr/u32-strpbrk.c: Likewise.
49024         * lib/unistr/u32-strrchr.c: Likewise.
49025         * lib/unistr/u32-strspn.c: Likewise.
49026         * lib/unistr/u32-strstr.c: Likewise.
49027         * lib/unistr/u32-strtok.c: Likewise.
49028         * lib/unistr/u32-to-u16.c: Likewise.
49029         * lib/unistr/u32-to-u8.c: Likewise.
49030         * lib/unistr/u32-uctomb.c: Likewise.
49031         * lib/unistr/u8-check.c: Likewise.
49032         * lib/unistr/u8-chr.c: Likewise.
49033         * lib/unistr/u8-cmp.c: Likewise.
49034         * lib/unistr/u8-cpy-alloc.c: Likewise.
49035         * lib/unistr/u8-cpy.c: Likewise.
49036         * lib/unistr/u8-endswith.c: Likewise.
49037         * lib/unistr/u8-mblen.c: Likewise.
49038         * lib/unistr/u8-mbsnlen.c: Likewise.
49039         * lib/unistr/u8-mbtouc-aux.c: Likewise.
49040         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
49041         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
49042         * lib/unistr/u8-mbtouc.c: Likewise.
49043         * lib/unistr/u8-mbtoucr.c: Likewise.
49044         * lib/unistr/u8-move.c: Likewise.
49045         * lib/unistr/u8-next.c: Likewise.
49046         * lib/unistr/u8-prev.c: Likewise.
49047         * lib/unistr/u8-set.c: Likewise.
49048         * lib/unistr/u8-startswith.c: Likewise.
49049         * lib/unistr/u8-stpcpy.c: Likewise.
49050         * lib/unistr/u8-stpncpy.c: Likewise.
49051         * lib/unistr/u8-strcat.c: Likewise.
49052         * lib/unistr/u8-strchr.c: Likewise.
49053         * lib/unistr/u8-strcmp.c: Likewise.
49054         * lib/unistr/u8-strcpy.c: Likewise.
49055         * lib/unistr/u8-strcspn.c: Likewise.
49056         * lib/unistr/u8-strdup.c: Likewise.
49057         * lib/unistr/u8-strlen.c: Likewise.
49058         * lib/unistr/u8-strmblen.c: Likewise.
49059         * lib/unistr/u8-strmbtouc.c: Likewise.
49060         * lib/unistr/u8-strncat.c: Likewise.
49061         * lib/unistr/u8-strncmp.c: Likewise.
49062         * lib/unistr/u8-strncpy.c: Likewise.
49063         * lib/unistr/u8-strnlen.c: Likewise.
49064         * lib/unistr/u8-strpbrk.c: Likewise.
49065         * lib/unistr/u8-strrchr.c: Likewise.
49066         * lib/unistr/u8-strspn.c: Likewise.
49067         * lib/unistr/u8-strstr.c: Likewise.
49068         * lib/unistr/u8-strtok.c: Likewise.
49069         * lib/unistr/u8-to-u16.c: Likewise.
49070         * lib/unistr/u8-to-u32.c: Likewise.
49071         * lib/unistr/u8-uctomb-aux.c: Likewise.
49072         * lib/unistr/u8-uctomb.c: Likewise.
49073         * lib/unitypes.h: Likewise.
49074         * lib/uniwidth.h: Likewise.
49075         * lib/uniwidth/cjk.h: Likewise.
49076         * lib/uniwidth/u16-strwidth.c: Likewise.
49077         * lib/uniwidth/u16-width.c: Likewise.
49078         * lib/uniwidth/u32-strwidth.c: Likewise.
49079         * lib/uniwidth/u32-width.c: Likewise.
49080         * lib/uniwidth/u8-strwidth.c: Likewise.
49081         * lib/uniwidth/u8-width.c: Likewise.
49082         * lib/uniwidth/width.c: Likewise.
49083
49084 2007-10-07  Bruno Haible  <bruno@clisp.org>
49085
49086         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
49087         The file is still under LGPL (see modules/inttypes).
49088
49089 2007-10-06  Bruno Haible  <bruno@clisp.org>
49090
49091         * modules/trunc (Dependencies): Add 'extensions'.
49092         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
49093         Reported by Ben Pfaff <blp@gnu.org>.
49094
49095 2007-10-06  Bruno Haible  <bruno@clisp.org>
49096
49097         * modules/freopen-tests: New file.
49098         * tests/test-freopen.c: New file.
49099
49100         * modules/fopen-tests: New file.
49101         * tests/test-fopen.c: New file.
49102
49103         * modules/fopen: New file.
49104         * lib/fopen.c: New file.
49105         * m4/fopen.m4: New file.
49106         * modules/freopen: New file.
49107         * lib/freopen.c: New file.
49108         * m4/freopen.m4: New file.
49109         * lib/stdio.in.h (fopen, freopen): New declarations.
49110         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
49111         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
49112         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
49113         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
49114         * doc/functions/fopen.texi: Mention the 'fopen' module.
49115         * doc/functions/freopen.texi: Mention the 'freopen' module.
49116
49117 2007-10-06  Bruno Haible  <bruno@clisp.org>
49118
49119         * modules/open-tests: New file.
49120         * tests/test-open.c: New file.
49121
49122         * modules/open: New file.
49123         * lib/open.c: New file.
49124         * m4/open.m4: New file.
49125         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
49126         lib/open.c does.
49127         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
49128         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
49129         macros.
49130         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
49131         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
49132         REPLACE_OPEN.
49133         * doc/functions/open.texi: Mention the 'open' module.
49134
49135 2007-10-04  Bruno Haible  <bruno@clisp.org>
49136
49137         * modules/ceill-tests: New file.
49138         * tests/test-ceill.c: New file.
49139
49140         * modules/ceill: New file.
49141         * lib/ceill.c: Replace entire file.
49142         * m4/ceill.m4: New file.
49143         * lib/math.in.h (ceill): Replace declaration.
49144         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
49145         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
49146         * doc/functions/ceill.texi: Mention the 'ceill' module.
49147         * modules/mathl (Files): Remove lib/ceill.c.
49148         (Depends-on): Add ceill.
49149
49150 2007-10-04  Bruno Haible  <bruno@clisp.org>
49151
49152         * modules/ceilf-tests: New file.
49153         * tests/test-ceilf.c: New file.
49154
49155         * modules/ceilf: New file.
49156         * lib/ceil.c: New file.
49157         * lib/ceilf.c: New file.
49158         * m4/ceilf.m4: New file.
49159         * lib/math.in.h (ceilf): New declaration.
49160         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
49161         HAVE_DECL_CEILF.
49162         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
49163         HAVE_DECL_CEILF.
49164         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
49165
49166 2007-10-04  Bruno Haible  <bruno@clisp.org>
49167
49168         * modules/floorl-tests: New file.
49169         * tests/test-floorl.c: New file.
49170
49171         * modules/floorl: New file.
49172         * lib/floorl.c: Replace entire file.
49173         * m4/floorl.m4: New file.
49174         * lib/math.in.h (floorl): Replace declaration.
49175         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
49176         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
49177         * doc/functions/floorl.texi: Mention the 'floorl' module.
49178         * modules/mathl (Files): Remove lib/floorl.c.
49179         (Depends-on): Add floorl.
49180
49181 2007-10-04  Bruno Haible  <bruno@clisp.org>
49182
49183         * modules/floorf-tests: New file.
49184         * tests/test-floorf.c: New file.
49185
49186         * modules/floorf: New file.
49187         * lib/floor.c: New file.
49188         * lib/floorf.c: New file.
49189         * m4/floorf.m4: New file.
49190         * lib/math.in.h (floorf): New declaration.
49191         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
49192         HAVE_DECL_FLOORF.
49193         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
49194         HAVE_DECL_FLOORF.
49195         * doc/functions/floorf.texi: Mention the 'floorf' module.
49196
49197 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
49198             Bruno Haible  <bruno@clisp.org>
49199
49200         Advertise for the Git server instead of the CVS server.
49201         * doc/gnulib-intro.texi (Steady Development): Mention the Git
49202         repository instead of the CVS one.
49203         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
49204         about all VCS systems generically.
49205         * doc/gnulib.texi (Introduction): Capitalize `Git'.
49206
49207 2007-10-04  Bruno Haible  <bruno@clisp.org>
49208
49209         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
49210         means.
49211         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
49212
49213 2007-10-04  Bruno Haible  <bruno@clisp.org>
49214
49215         * modules/truncl-tests: New file.
49216         * tests/test-truncl.c: New file.
49217
49218         * modules/truncl: New file.
49219         * lib/truncl.c: New file.
49220         * m4/truncl.m4: New file.
49221         * lib/math.in.h (truncl): New declaration.
49222         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
49223         HAVE_DECL_TRUNCL.
49224         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
49225         HAVE_DECL_TRUNCL.
49226         * doc/functions/truncl.texi: Mention the 'truncl' module.
49227
49228 2007-10-04  Bruno Haible  <bruno@clisp.org>
49229
49230         * modules/truncf-tests: New file.
49231         * tests/test-truncf.c: New file.
49232
49233         * modules/truncf: New file.
49234         * lib/trunc.c: Make paramerizable through USE_* macros.
49235         * lib/truncf.c: New file.
49236         * m4/truncf.m4: New file.
49237         * lib/math.in.h (truncf): New declaration.
49238         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
49239         HAVE_DECL_TRUNCF.
49240         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
49241         HAVE_DECL_TRUNCF.
49242         * doc/functions/truncf.texi: Mention the 'truncf' module.
49243
49244 2007-10-03  Bruno Haible  <bruno@clisp.org>
49245
49246         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
49247         augmentation also for tests modules.
49248         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
49249         * modules/atexit-tests (Makefile.am): Likewise.
49250         * modules/binary-io-tests (Makefile.am): Likewise.
49251         * modules/c-strcase-tests (Makefile.am): Likewise.
49252         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
49253         * modules/canonicalize-tests (Makefile.am): Likewise.
49254         * modules/closein-tests (Makefile.am): Likewise.
49255         * modules/fprintf-posix-tests (Makefile.am): Likewise.
49256         * modules/freadahead-tests (Makefile.am): Likewise.
49257         * modules/fseek-tests (Makefile.am): Likewise.
49258         * modules/fseeko-tests (Makefile.am): Likewise.
49259         * modules/ftell-tests (Makefile.am): Likewise.
49260         * modules/ftello-tests (Makefile.am): Likewise.
49261         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
49262         * modules/isnanl-tests (Makefile.am): Likewise.
49263         * modules/lseek-tests (Makefile.am): Likewise.
49264         * modules/mbscasecmp-tests (Makefile.am): Likewise.
49265         * modules/mbscasestr-tests (Makefile.am): Likewise.
49266         * modules/mbschr-tests (Makefile.am): Likewise.
49267         * modules/mbscspn-tests (Makefile.am): Likewise.
49268         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
49269         * modules/mbspbrk-tests (Makefile.am): Likewise.
49270         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
49271         * modules/mbsrchr-tests (Makefile.am): Likewise.
49272         * modules/mbsspn-tests (Makefile.am): Likewise.
49273         * modules/mbsstr-tests (Makefile.am): Likewise.
49274         * modules/printf-posix-tests (Makefile.am): Likewise.
49275         * modules/snprintf-posix-tests (Makefile.am): Likewise.
49276         * modules/sprintf-posix-tests (Makefile.am): Likewise.
49277         * modules/tsearch-tests (Makefile.am): Likewise.
49278         * modules/uniname/uniname-tests (Makefile.am): Likewise.
49279         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
49280         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
49281         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
49282         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
49283         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
49284         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
49285         * modules/vprintf-posix-tests (Makefile.am): Likewise.
49286         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
49287         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
49288         * modules/xstrtoimax-tests (Makefile.am): Likewise.
49289         * modules/xstrtol-tests (Makefile.am): Likewise.
49290         * modules/xstrtoumax-tests (Makefile.am): Likewise.
49291         * modules/yesno-tests (Makefile.am): Likewise.
49292
49293 2007-10-03  Bruno Haible  <bruno@clisp.org>
49294
49295         * modules/trunc-tests: New file.
49296         * tests/test-trunc.c: New file.
49297
49298         * modules/trunc: New file.
49299         * lib/trunc.c: New file.
49300         * m4/trunc.m4: New file.
49301         * lib/math.in.h (trunc): New declaration.
49302         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
49303         HAVE_DECL_TRUNC.
49304         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
49305         HAVE_DECL_TRUNC.
49306         * doc/functions/trunc.texi: Mention the 'trunc' module.
49307
49308 2007-10-03  Bruno Haible  <bruno@clisp.org>
49309
49310         * tests/test-fpending.c: New file, mostly copied
49311         from coreutils/lib/t-fpending.c.
49312         * modules/fpending-tests: New file.
49313
49314 2007-10-03  Bruno Haible  <bruno@clisp.org>
49315
49316         Port the stdio extensions to QNX (untested).
49317         * lib/fseterr.c (fseterr): Add support for QNX.
49318         * lib/fbufmode.c (fbufmode): Likewise.
49319         * lib/freadable.c (freadable): Likewise.
49320         * lib/fwritable.c (fwritable): Likewise.
49321         * lib/freading.c (freading): Likewise.
49322         * lib/fwriting.c (fwriting): Likewise.
49323         * lib/freadahead.c (freadahed): Likewise.
49324         * lib/fpurge.c (fpurge): Likewise.
49325         * lib/fseeko.c (rpl_fseeko): Likewise.
49326
49327 2007-10-03  Bruno Haible  <bruno@clisp.org>
49328             Jim Meyering  <jim@meyering.net>
49329             Eric Blake  <ebb9@byu.net>
49330
49331         * doc/relocatable.texi: Use @command instead of @program.
49332
49333 2007-10-02  Jim Meyering  <jim@meyering.net>
49334
49335         Perform one more "_.h" -> ".in.h" substitution.
49336         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
49337         instead of unistd_.h here, too.
49338
49339 2007-10-01  Bruno Haible  <bruno@clisp.org>
49340
49341         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
49342         Needed for the alloca-opt module.
49343
49344 2007-09-30  Bruno Haible  <bruno@clisp.org>
49345
49346         * lib/alloca.in.h: Renamed from lib/alloca_.h.
49347         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
49348         alloca_.h.
49349         * lib/argz.in.h: Renamed from lib/argz_.h.
49350         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
49351         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
49352         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
49353         byteswap_.h.
49354         * lib/dirent.in.h: Renamed from lib/dirent_.h.
49355         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
49356         dirent_.h.
49357         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
49358         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
49359         fcntl_.h.
49360         * lib/float.in.h: Renamed from lib/float_.h.
49361         * modules/float (Files, Makefile.am): Use float.in.h instead of
49362         float_.h.
49363         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
49364         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
49365         fnmatch_.h.
49366         * lib/getopt.in.h: Renamed from lib/getopt_.h.
49367         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
49368         getopt_.h.
49369         * lib/glob.in.h: Renamed from lib/glob_.h.
49370         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
49371         * lib/iconv.in.h: Renamed from lib/iconv_.h.
49372         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
49373         iconv_.h.
49374         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
49375         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
49376         inttypes_.h.
49377         * lib/locale.in.h: Renamed from lib/locale_.h.
49378         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
49379         locale_.h.
49380         * lib/math.in.h: Renamed from lib/math_.h.
49381         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
49382         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
49383         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
49384         of netinet_in_.h. Add dependency.
49385         * lib/poll.in.h: Renamed from lib/poll_.h.
49386         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
49387         * lib/search.in.h: Renamed from lib/search_.h.
49388         * modules/search (Files, Makefile.am): Use search.in.h instead of
49389         search_.h.
49390         * lib/signal.in.h: Renamed from lib/signal_.h.
49391         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
49392         _signal.h.
49393         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
49394         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
49395         stdbool_.h.
49396         * lib/stdint.in.h: Renamed from lib/stdint_.h.
49397         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
49398         stdint_.h.
49399         * lib/stdio.in.h: Renamed from lib/stdio_.h.
49400         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
49401         stdio_.h.
49402         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
49403         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
49404         stdlib_.h.
49405         * lib/string.in.h: Renamed from lib/string_.h.
49406         * modules/string (Files, Makefile.am): Use string.in.h instead of
49407         string_.h.
49408         * doc/gnulib-tool.texi (Initial import): Update.
49409         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
49410         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
49411         of sys_select_.h. Add dependency.
49412         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
49413         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
49414         of sys_socket_.h.
49415         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
49416         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
49417         sys_stat_.h.
49418         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
49419         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
49420         sys_time_.h.
49421         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
49422         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
49423         sysexits_.h.
49424         * lib/time.in.h: Renamed from lib/time_.h.
49425         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
49426         * lib/unistd.in.h: Renamed from lib/unistd_.h.
49427         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
49428         unistd_.h.
49429         * lib/wchar.in.h: Renamed from lib/wchar_.h.
49430         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
49431         wchar_.h.
49432         * lib/wctype.in.h: Renamed from lib/wctype_.h.
49433         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
49434         wctype_.h.
49435         * build-aux/bootstrap (slurp): Update.
49436         * lib/.cppi-disable: Update.
49437
49438 2007-09-30  Bruno Haible  <bruno@clisp.org>
49439
49440         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
49441         Needed on BeOS.
49442
49443 2007-09-30  Bruno Haible  <bruno@clisp.org>
49444
49445         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
49446
49447 2007-09-29  Bruno Haible  <bruno@clisp.org>
49448
49449         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
49450
49451 2007-09-29  Bruno Haible  <bruno@clisp.org>
49452
49453         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
49454         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
49455         * build-aux/install-reloc: Compile also areadlink.c.
49456         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
49457
49458 2007-09-29  Bruno Haible  <bruno@clisp.org>
49459
49460         * gnulib-tool (func_emit_initmacro_done): Indentation.
49461
49462 2007-09-29  Bruno Haible  <bruno@clisp.org>
49463
49464         * README: Add CVS checkout update instructions.
49465         Info from Bob Proulx <bob@proulx.com>.
49466
49467 2007-09-28  Eric Blake  <ebb9@byu.net>
49468
49469         Provide move-if-change.
49470         * build-aux/move-if-change: New file, based on best practice
49471         rather than any canonical upstream location.
49472
49473 2007-09-28  Jim Meyering  <jim@meyering.net>
49474
49475         Fix canonicalize loop-detection corner case.
49476         Do not attempt to stat the symlink values stored via seen_triple.
49477         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
49478         on linux-2.6.18, (but not 2.6.22).
49479         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
49480         triple_compare.  The former compares dev,ino,filename, while the latter
49481         would actually stat dirname(filename) when dev and ino were equal.
49482         * lib/hash-triple.c: Install <string.h>.
49483         (STREQ): Define.
49484         (triple_compare_ino_str): New function.
49485         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
49486
49487 2007-09-28  Eric Blake  <ebb9@byu.net>
49488
49489         Enforce that AC_REPLACE_FUNCS files exist.
49490         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
49491         override check for typos.
49492
49493         Fix test-closein on Solaris 10.
49494         * tests/test-closein.c (main): Don't assume stdin can be inherited
49495         closed on all systems.
49496         * tests/test-closein.sh: Likewise.
49497         Reported by Piotr Tarnowski.
49498
49499 2007-09-28  Jim Meyering  <jim@meyering.net>
49500
49501         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
49502
49503 2007-09-27  Jim Meyering  <jim@meyering.net>
49504
49505         canonicalize: Avoid a false-positive cycle failure.
49506         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
49507         Sort.  Remove cycle-check.
49508         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
49509         not cycle-check.h.
49510         (seen_triple): New function.
49511         (canonicalize_filename_mode): Use it instead of cycle-check.
49512         * tests/test-canonicalize.c: Add a test for this bug.
49513         * tests/test-canonicalize.sh: Set up and run the test.
49514
49515         New module, file-set, from coreutils.
49516         * modules/file-set: Define it.
49517         * lib/file-set.c, lib/file-set.h: Implement.
49518
49519         New module, hash-triple, from coreutils.
49520         * modules/hash-triple: Define it.
49521         * lib/hash-triple.c, lib/hash-triple.h: Implement.
49522
49523 2007-09-25  Eric Blake  <ebb9@byu.net>
49524
49525         Fix strerror on Interix.
49526         * lib/string_.h (strerror): Declare replacement.
49527         * doc/functions/strerror.texi (strerror): Document the Interix
49528         shortcoming.
49529         * modules/string (Makefile.am): Support new hooks.
49530         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
49531         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
49532         gl_FUNC_STRERROR_SEPARATE.
49533         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
49534         * lib/strerror.c (rpl_strerror): Provide replacement.
49535         * modules/strerror (Depends-on): Add string.
49536         (configure.ac): Detect use of module.
49537         * tests/test-strerror.c: New file.
49538         * modules/strerror-tests: New test module.
49539         * modules/argp (Depends-on): Add strerror.
49540         * modules/error (Depends-on): Likewise.
49541         Reported by Martin Koeppe.
49542
49543 2007-09-24  Bruno Haible  <bruno@clisp.org>
49544
49545         * README: Update git instructions.
49546
49547 2007-09-24  Eric Blake  <ebb9@byu.net>
49548
49549         Revert fpending breakage from 2007-09-08.
49550         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
49551         __fpending.c.
49552
49553 2007-09-24  Jim Meyering  <jim@meyering.net>
49554
49555         filenamecat.c: Add a test.
49556         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
49557         showing how the function works when DIR is the empty string.
49558
49559 2007-09-21  Simon Josefsson  <simon@josefsson.org>
49560
49561         * tests/test-canonicalize.sh: Turn on executable bit.
49562
49563 2007-09-19  Eric Blake  <ebb9@byu.net>
49564
49565         * README: Update CVS instructions.
49566
49567 2007-09-18  Bruno Haible  <bruno@clisp.org>
49568
49569         * modules/areadlink: New file.
49570         * lib/areadlink.h (areadlink): New declaration.
49571         * lib/areadlink.c: New file, based on lib/xreadlink.c.
49572
49573 2007-09-17  Jim Meyering  <jim@meyering.net>
49574
49575         * lib/savewd.c (ESTALE) [!defined]: Define.
49576         Reported to be required on Interix by Martin Koeppe.
49577
49578 2007-09-17  Bruno Haible  <bruno@clisp.org>
49579
49580         * gnulib-tool (func_version): Use $version.
49581
49582 2007-09-16  Bruno Haible  <bruno@clisp.org>
49583
49584         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
49585         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
49586         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
49587         Reported by Greg Schafer <gschafer@zip.com.au>.
49588
49589 2007-09-15  Bruno Haible  <bruno@clisp.org>
49590
49591         * gnulib-tool (sed): Try a little harder to make bash understand the
49592         alias.
49593         Reported by Bruce Korb <bruce.korb@gmail.com>.
49594
49595 2007-09-13  Eric Blake  <ebb9@byu.net>
49596
49597         * ChangeLog: Remove conflict markers.
49598
49599 2007-09-13  Simon Josefsson  <simon@josefsson.org>
49600
49601         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
49602         Reported by Bruno Haible <bruno@clisp.org>.
49603
49604 2007-09-12  Bruno Haible  <bruno@clisp.org>
49605
49606         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
49607         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
49608         is not defined.
49609
49610 2007-09-12  Eric Blake  <ebb9@byu.net>
49611
49612         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
49613         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
49614         Autoconf definition.
49615         * modules/euidaccess (Depends-on): Add extensions, for
49616         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
49617         * modules/fnmatch (Depends-on): Likewise.
49618         * modules/getaddrinfo (Depends-on): Likewise.
49619         * modules/getdelim (Depends-on): Likewise.
49620         * modules/getline (Depends-on): Likewise.
49621         * modules/getsubopt (Depends-on): Likewise.
49622         * modules/gettext (Depends-on): Likewise.
49623         * modules/group-member (Depends-on): Likewise.
49624         * modules/mbchar (Depends-on): Likewise.
49625         * modules/memmem (Depends-on): Likewise.
49626         * modules/mempcpy (Depends-on): Likewise.
49627         * modules/memrchr (Depends-on): Likewise.
49628         * modules/pagealign_alloc (Depends-on): Likewise.
49629         * modules/readutmp (Depends-on): Likewise.
49630         * modules/stpcpy (Depends-on): Likewise.
49631         * modules/stpncpy (Depends-on): Likewise.
49632         * modules/strchrnul (Depends-on): Likewise.
49633         * modules/strndup (Depends-on): Likewise.
49634         * modules/strsep (Depends-on): Likewise.
49635         * modules/strverscmp (Depends-on): Likewise.
49636         * modules/vasprintf (Depends-on): Likewise.
49637         * modules/wcwidth (Depends-on): Likewise.
49638         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
49639         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
49640         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
49641         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
49642         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
49643         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
49644         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
49645         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
49646         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
49647         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
49648         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
49649         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
49650         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
49651         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
49652         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
49653         * m4/readutmp.m4 (gl_READUTMP): Likewise.
49654         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
49655         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
49656         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
49657         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
49658         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
49659         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
49660         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
49661         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
49662         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
49663         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
49664         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
49665         so that lock.m4 can be used in gettext without extensions module.
49666
49667 2007-09-11  Bruno Haible  <bruno@clisp.org>
49668
49669         * m4/isc-posix.m4: Remove file.
49670         Suggested by Eric Blake.
49671
49672 2007-09-11  Eric Blake  <ebb9@byu.net>
49673
49674         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
49675
49676 2007-09-10  Bruno Haible  <bruno@clisp.org>
49677
49678         * posix-modules: Fix typo in error message.
49679         Reported by Matt <mkraai@beckman.com>.
49680
49681 2007-09-09  Bruno Haible  <bruno@clisp.org>
49682
49683         * doc/functions/getdelim.texi: Update list of platforms lacking the
49684         function.
49685         * doc/functions/getline.texi: Likewise.
49686
49687 2007-09-09  Jim Meyering  <jim@meyering.net>
49688
49689         * lib/hash.c (hash_initialize): Detect calloc failure.
49690         Reported by Bruno Haible.
49691
49692 2007-09-09  Bruno Haible  <bruno@clisp.org>
49693
49694         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
49695         malloc or realloc fails.
49696
49697 2007-09-09  Bruno Haible  <bruno@clisp.org>
49698
49699         * modules/getcwd (Depends-on): Add malloc-posix.
49700         * modules/glob (Depends-on): Likewise.
49701         * modules/putenv (Depends-on): Likewise.
49702         * modules/strdup (Depends-on): Likewise.
49703         * modules/getdelim (Depends-on): Add realloc-posix.
49704         * modules/read-file (Depends-on): Likewise.
49705
49706 2007-09-09  Bruno Haible  <bruno@clisp.org>
49707
49708         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
49709         (gl_FUNC_MALLOC_POSIX): Require it.
49710         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
49711         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
49712         * modules/realloc (Files): Add m4/malloc.m4.
49713         * modules/calloc (Files): Likewise.
49714
49715 2007-09-09  Bruno Haible  <bruno@clisp.org>
49716
49717         * modules/malloc-posix: New file.
49718         * modules/malloc (Depends-on): Add malloc-posix.
49719         * lib/malloc.c: Include errno.h.
49720         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
49721         and a POSIX-compatible malloc into a single function. Set ENOMEM
49722         when returning NULL.
49723         * m4/malloc.m4: New file.
49724         * doc/functions/malloc.texi: Mention the malloc-posix module.
49725         * lib/stdlib_.h (malloc): New declaration.
49726         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
49727         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
49728         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
49729         and HAVE_MALLOC_POSIX.
49730
49731 2007-09-09  Bruno Haible  <bruno@clisp.org>
49732
49733         * modules/realloc-posix: New file.
49734         * modules/realloc (Depends-on): Add realloc-posix.
49735         * lib/realloc.c: Include errno.h.
49736         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
49737         and a POSIX-compatible realloc into a single function. Set ENOMEM
49738         when returning NULL.
49739         * m4/realloc.m4: New file.
49740         * doc/functions/realloc.texi: Mention the realloc-posix module.
49741         * lib/stdlib_.h (realloc): New declaration.
49742         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
49743         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
49744         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
49745         and HAVE_REALLOC_POSIX.
49746
49747 2007-09-09  Bruno Haible  <bruno@clisp.org>
49748
49749         * modules/calloc-posix: New file.
49750         * modules/calloc (Depends-on): Add calloc-posix.
49751         * lib/calloc.c: Include errno.h.
49752         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
49753         and a POSIX-compatible calloc into a single function. Set ENOMEM
49754         when returning NULL.
49755         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
49756         * doc/functions/calloc.texi: Mention the calloc-posix module.
49757         * lib/stdlib_.h (calloc): New declaration.
49758         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
49759         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
49760         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
49761         and HAVE_CALLOC_POSIX.
49762
49763 2007-09-09  Bruno Haible  <bruno@clisp.org>
49764
49765         Allow for modules to show an arbitrary notice.
49766         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
49767         * gnulib-tool: New option --extract-notice.
49768         (func_usage): Document it.
49769         (sed_extract_prog): Update.
49770         (func_get_notice): New function.
49771         (func_modules_notice): New function.
49772         (func_import, func_create_testdir): Invoke it.
49773         Suggested by Jim Meyering.
49774
49775 2007-09-09  Bruno Haible  <bruno@clisp.org>
49776
49777         * gnulib-tool: New options --verbose, --quiet.
49778         (func_usage): Document them.
49779         (verbose): New variable.
49780         (func_execute_command): New function.
49781         (func_import): Don't show the module list and the file list if
49782         $verbose < 0.
49783         (func_create_testdir): Likewise. Use func_execute_command.
49784         (func_create_megatestdir): Use func_execute_command.
49785
49786 2007-09-08  Bruno Haible  <bruno@clisp.org>
49787
49788         * gnulib-tool (func_import): Prefer rsync over wget when available,
49789         for fetching the PO files.
49790
49791 2007-09-08  Bruno Haible  <bruno@clisp.org>
49792
49793         * posix-modules: New file. Portions copied from gnulib-tool.
49794         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
49795
49796 2007-09-08  Jim Meyering  <jim@meyering.net>
49797
49798         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
49799         * lib/fpending.h: Rename from __fpending.h.
49800         * lib/fpending.c: Rename from __fpending.c.
49801         Include "fpending.h", not "__fpending.h".
49802         * lib/__fpending.h, lib/__fpending.c: Remove files.
49803         * modules/fpending (Files): Reflect new file names.
49804         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
49805
49806 2007-09-08  Bruno Haible  <bruno@clisp.org>
49807
49808         * m4/inttypes-h.m4: Remove stub file.
49809
49810 2007-09-07  Simon Josefsson  <simon@josefsson.org>
49811
49812         * doc/headers/stdint.texi: Discuss #include_next issue.
49813
49814 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
49815
49816         * build-aux/bootstrap: Remove obsolete comment about wget --help.
49817
49818 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
49819
49820         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
49821         in variable name.
49822
49823 2007-09-03  Jim Meyering  <jim@meyering.net>
49824
49825         New module: git-version-gen.
49826         * modules/git-version-gen: New file.
49827
49828         Import changes from coreutils for bootstrap script.
49829
49830         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
49831
49832         bootstrap: uses rsync to download the .po files
49833         * build-aux/bootstrap (po_download_command_format): New global.
49834         (download_po_files): Use rsync.
49835         (update_po_files): Don't remove .po files after download,
49836         so future rsync runs can take advantage of the copies.
49837
49838         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
49839
49840         Solve the unnecessary-.po-file-regeneration problem once and for all.
49841         * build-aux/bootstrap (download_po_files): New function, renamed from
49842         get_translations.  Now, downloads, but doesn't update LINGUAS.
49843         (update_po_files): New function.
49844
49845         bootstrap: Ignore more.
49846         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
49847         uniwidth to e.g., lib/.gitignore.
49848         (slurp): Handle the sys_stat_.h -> sys mapping, too.
49849
49850         * build-aux/bootstrap: New setting: vc_ignore.
49851         (insert_sorted_if_absent): Create $file if absent.
49852         Adapt to new, possibly empty, list: $vc_ignore.
49853
49854         bootstrap: generate more ignorable names
49855         * build-aux/bootstrap (slurp): When generating ignorable names,
49856         also map .sin to .sed, .gperf to .c, and .y to .c.
49857
49858 2007-09-03  Jim Meyering  <jim@meyering.net>
49859
49860         * build-aux/git-version-gen: New file, from coreutils.  For details, see
49861         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
49862
49863 2007-09-02  Bruno Haible  <bruno@clisp.org>
49864
49865         Fix mis-recognition of 'mcs' on QNX 6.
49866         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
49867         output contains the string "Mono".
49868         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
49869         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
49870
49871 2007-09-01  Bruno Haible  <bruno@clisp.org>
49872
49873         Fix collision between uniwidth/* and linebreak modules.
49874         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
49875         u32_width): Remove declarations.
49876         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
49877         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
49878         streq3, streq2, streq1, streq0): Remove functions.
49879         (STREQ): Remove macro.
49880         (is_cjk_encoding): Remove function.
49881         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
49882         (uc_width, u8_width, u16_width, u32_width): Remove functions.
49883         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
49884         * NEWS: Document the change.
49885
49886 2007-09-01  Bruno Haible  <bruno@clisp.org>
49887
49888         * lib/streq.h: Add double-inclusion guard.
49889
49890 2007-09-01  Karl Berry  <karl@gnu.org>
49891
49892         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
49893
49894 2007-08-28  Jim Meyering  <jim@meyering.net>
49895
49896         Rename mreadlink_with_size to areadlink_with_size.
49897         * NEWS: Document the change.
49898         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
49899         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
49900         * lib/mreadlink.h: Rename this to...
49901         * lib/areadlink.h: ...this.
49902         * modules/mreadlink-with-size: Rename this to...
49903         * modules/areadlink-with-size: ...this.
49904         * lib/canonicalize.c: Reflect the renaming.
49905         * modules/canonicalize: Likewise.
49906
49907 2007-08-26  Bruno Haible  <bruno@clisp.org>
49908
49909         * gnulib-tool (func_import): When deciding which files to remove,
49910         consider also dangling symbolic links.
49911         Reported by Eric Blake.
49912
49913 2007-08-26  Bruno Haible  <bruno@clisp.org>
49914
49915         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
49916
49917 2007-08-23  Simon Josefsson  <simon@josefsson.org>
49918
49919         * lib/readline.c: Don't include getline.h, the prototype is now
49920         found in stdio.h.
49921
49922 2007-08-23  Jim Meyering  <jim@meyering.net>
49923
49924         Getdelim touchup.
49925         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
49926         around the funlockfile call, since funlockfile never sets errno.
49927         Don't set errno upon failed realloc.
49928
49929 2007-08-22  Eric Blake  <ebb9@byu.net>
49930
49931         Getline touchups.
49932         * lib/getdelim.c (getdelim): Revert regression that required *n to
49933         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
49934         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
49935         getdelim, rather than whether implementation is missing.
49936         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
49937         * lib/stdio_.h (getline): Also declare if replacement is
49938         required.
49939         * doc/functions/getdelim.texi: New file.
49940         * doc/functions/getline.texi: Likewise.
49941         * doc/gnulib.texi (Function Substitutes): Add new files.
49942         Reported by Bruno Haible.
49943
49944 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
49945
49946         * users.txt: Add Guile.
49947
49948 2007-08-22  Eric Blake  <ebb9@byu.net>
49949
49950         * tests/test-getdelim.c (main): Use remove, not unlink.
49951         * tests/test-getline.c (main): Likewise.
49952
49953         Move getline and getdelim into stdio.h, per POSIX 200x.
49954         * modules/getline (Files): Remove getline.h.
49955         (Depends-on): Add stdio.
49956         (configure.ac): Add module indicator.
49957         * modules/getdelim (Files): Remove getdelim.h.
49958         (Depends-on): Add stdio.
49959         (configure.ac): Add module indicator.
49960         * modules/stdio (Makefile.am): Work with new indicators.
49961         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
49962         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
49963         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
49964         * lib/getdelim.h: Delete.
49965         * lib/getline.h: Delete.
49966         * lib/stdio_.h (getdelim, getline): Declare.
49967         * modules/getdelim-tests: New module.
49968         * modules/getline-tests: Likewise.
49969         * tests/test-getdelim.c: New file.
49970         * tests/test-getline.c: Likewise.
49971         * NEWS: Document the change.
49972         * lib/getline.c: Update choice of header.
49973         * lib/csharpcomp.c: Likewise.
49974         * lib/getpass.c: Likewise.
49975         * lib/javacomp.c: Likewise.
49976         * lib/javaversion.c: Likewise.
49977         * lib/yesno.c: Likewise.
49978         * lib/getdelim.c: Likewise.
49979         (getdelim): Set errno on failure, and avoid memory leak.
49980
49981 2007-08-19  Bruno Haible  <bruno@clisp.org>
49982
49983         * modules/closein (Depends-on): Add freadahead.
49984         * lib/closein.c: Include freadahead.h.
49985         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
49986         is zero.
49987
49988 2007-08-19  Bruno Haible  <bruno@clisp.org>
49989
49990         * modules/freadahead-tests: New file.
49991         * tests/test-freadahead.sh: New file.
49992         * tests/test-freadahead.c: New file.
49993
49994         * modules/freadahead: New file.
49995         * lib/freadahead.h: New file.
49996         * lib/freadahead.c: New file.
49997         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
49998         fbufmode, fpurge, freadable, fwritable.
49999
50000 2007-08-19  Eric Blake  <ebb9@byu.net>
50001
50002         Test yesno in combination with closein.
50003         * lib/yesno.c (yesno): Document use of stdin.
50004         * modules/yesno-tests (Files): New module.
50005         * tests/test-yesno.c (main): New file.
50006         * tests/test-yesno.sh: Likewise.
50007
50008 2007-08-19  Bruno Haible  <bruno@clisp.org>
50009
50010         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
50011         * lib/fseeko.c (rpl_fseeko): Likewise.
50012         * lib/fseterr.c (fseterr): Likewise.
50013
50014 2007-08-19  Bruno Haible  <bruno@clisp.org>
50015
50016         * tests/test-lseek.c (main): Disable a test for BeOS.
50017         * doc/functions/lseek.texi: Document the BeOS bug.
50018
50019 2007-08-19  Bruno Haible  <bruno@clisp.org>
50020             Eric Blake  <ebb9@byu.net>
50021
50022         * lib/lseek.c: Include <sys/stat.h>.
50023         (rpl_lseek): Add workaround code also for Unix platforms.
50024         Needed for BeOS.
50025         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
50026         * doc/functions/lseek.texi: Document BeOS definiency.
50027
50028 2007-08-18  Bruno Haible  <bruno@clisp.org>
50029
50030         * modules/fstrcmp-tests: New file.
50031         * tests/test-fstrcmp.c: New file.
50032
50033 2007-08-18  Bruno Haible  <bruno@clisp.org>
50034
50035         * modules/fstrcmp: New file, from GNU gettext with modifications.
50036         * lib/fstrcmp.h: New file, from GNU gettext.
50037         * lib/fstrcmp.c: New file, from GNU gettext.
50038         * MODULES.html.sh (String handling): Add fstrcmp.
50039
50040 2007-08-18  Bruno Haible  <bruno@clisp.org>
50041
50042         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
50043         'bool'.
50044         (diag, compareseq): Remove const from the ctxt argument.
50045         (USE_HEURISTIC): Undefine at the end.
50046
50047 2007-08-18  Jim Meyering  <jim@meyering.net>
50048
50049         New file: lib/idcache.h
50050         * NEWS: Mention the addition.
50051         * modules/idcache (Files): Add lib/idcache.h
50052         * lib/idcache.c: Include "idcache.h".
50053         Don't include <sys/types.h>.
50054         Add a FIXME comment.
50055         Move file-scoped "static" declarations to the top.
50056         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
50057
50058 2007-08-17  Bruno Haible  <bruno@clisp.org>
50059         and Paul Eggert  <eggert@cs.ucla.edu>
50060
50061         * MODULES.html.sh: Add diffseq.
50062         * modules/diffseq: New file.
50063         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
50064         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
50065
50066 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
50067
50068         Import changes from coreutils for bootstrap script.
50069
50070         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
50071
50072         * build-aux/bootstrap (slurp): Work even in environments where
50073         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
50074         current code does not slurp files whose names start with ".", and
50075         this looks like it might be a troublesome area.
50076
50077         2007-07-11  Jim Meyering  <jim@meyering.net>
50078
50079         If there's a GPL vN copyright comment, require that N == 3.
50080
50081         2007-07-08  Jim Meyering  <jim@meyering.net>
50082
50083         Run the coreutils-specific code only if tests/Makefile.am.in exists.
50084         * build-aux/bootstrap (mam_template): Move definition out of loop.
50085
50086         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
50087
50088         * build-aux/bootstrap (symlink_to_dir): Rename function from
50089         symlink_to_gnulib.  Add a directory parameter.  Update all
50090         callers.
50091         (cp_mark_as_generated): Also check for -- and link to -- files in
50092         gl/.
50093
50094         2007-07-08  Jim Meyering  <jim@meyering.net>
50095
50096         Adapt to deeper hierarchy in gnulib.
50097         * build-aux/bootstrap (symlink_to_dir): If the destination
50098         directory doesn't exist, create it. This is required at least for
50099         "lib/uniwidth/cjk.h".
50100
50101         2007-05-15  Jim Meyering  <jim@meyering.net>
50102
50103         * build-aux/bootstrap: Now that generated Makefile.am files
50104         are no longer under version control, they must be created at
50105         bootstrap time.
50106
50107 2007-08-14  Ben Pfaff  <blp@gnu.org>
50108
50109         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
50110
50111 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
50112
50113         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
50114         given the changes below.
50115         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
50116         even on hosts that have padding bits beyond the supported 64.
50117
50118 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
50119
50120         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
50121         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
50122         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
50123         depends on it.
50124         (xstrtol_error): Remove.
50125         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
50126         but with a different signature.
50127         (ATTRIBUTE_NORETURN, __attribute__): New macros.
50128         * lib/xstrtol-error.c: Include exitfail.h.
50129         (xstrtol_fatal): New function, with a different signature from the
50130         old xstrtol_error, so that the caller need not worry about passing
50131         in an exit status, or about storage management of the option argument.
50132         (xstrtol_error): Now a static function.  Redo signature to
50133         implement xstrtol_fatal.  Output the correct number of hyphens in
50134         front of the option so that the caller need not worry about
50135         storage management.
50136         (N_): New macro.
50137         (_): Remove; not used now.
50138         * modules/xstrtol: Depend on getopt.
50139         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
50140         of old STRTOL_FATAL_ERROR macro.
50141         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
50142         of test program.
50143         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
50144         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
50145
50146 2007-08-08  Eric Blake  <ebb9@byu.net>
50147
50148         * lib/xstrtol-error.c: Add missing include.
50149
50150         Move xstrtol messages into gnulib domain, when --pobase is used.
50151         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
50152         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
50153         * modules/xstrtol (Files): Distribute new file.
50154         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
50155         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
50156         * tests/test-xstrtol.c: ...into new file.
50157         * tests/test-xstrtoul.c: Also test xstrtoul.
50158         * tests/test-xstrtoimax.c: Also test xstrtoimax.
50159         * tests/test-xstrtoumax.c: Also test xstrtoumax.
50160         * tests/test-xstrtol.sh: Drive the tests.
50161         * tests/test-xstrtoimax.sh: Likewise.
50162         * tests/test-xstrtoumax.sh: Likewise.
50163         * modules/xstrtol-tests: New module.
50164         * modules/xstrtoimax-tests: Likewise.
50165         * modules/xstrtoumax-tests: Likewise.
50166
50167 2007-08-08  Jim Meyering  <jim@meyering.net>
50168
50169         New function: mfile_name_concat.
50170         * lib/filenamecat.c (mfile_name_concat): New function, just like
50171         file_name_concat, but return NULL upon failure rather than exiting
50172         with a diagnostic.
50173         * lib/filenamecat.h: Declare it.
50174
50175 2007-08-07  Bruno Haible  <bruno@clisp.org>
50176
50177         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
50178         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
50179         warning from gcc.
50180         Reported by Eric Blake.
50181
50182 2007-08-07  Simon Josefsson  <simon@josefsson.org>
50183
50184         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
50185         * modules/crypto/arcfour (License): Likewise.
50186         * modules/crypto/des-tests (License): Likewise.
50187         * modules/crypto/gc-arctwo-tests (License): Likewise.
50188         * modules/crypto/gc-des-tests (License): Likewise.
50189         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
50190         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
50191         * modules/crypto/gc-md2-tests (License): Likewise.
50192         * modules/crypto/gc-md4-tests (License): Likewise.
50193         * modules/crypto/gc-md5-tests (License): Likewise.
50194         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
50195         * modules/crypto/gc-rijndael-tests (License): Likewise.
50196         * modules/crypto/gc-sha1-tests (License): Likewise.
50197         * modules/crypto/gc-tests (License): Likewise.
50198         * modules/crypto/hmac-md5 (License): Likewise.
50199         * modules/crypto/hmac-sha1 (License): Likewise.
50200         * modules/crypto/md2-tests (License): Likewise.
50201         * modules/crypto/md4-tests (License): Likewise.
50202         * modules/crypto/md5 (License): Likewise.
50203         * modules/crypto/rijndael (License): Likewise.
50204         * modules/crypto/sha1 (License): Likewise.
50205         * modules/memxor (License): Likewise.
50206
50207 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
50208         and Bruno Haible  <bruno@clisp.org>
50209
50210         * NEWS: Describe interface changes to human, xstrtol.
50211         * lib/human.h: Include <xstrtol.h>.
50212         (human_options): Return enum strtol_error, not int.  Remove
50213         bool arg; take int * instead.
50214         * lib/human.c: Don't include "gettext.h".
50215         (_): Remove; no longer used.
50216         Don't include <xstrtol.h>, since human.h does it.
50217         (human_options): Adjust to abovementioned interface changes.
50218         Do not report error to stderr; that's now the caller's
50219         responsibility.
50220         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
50221         interface change.
50222         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
50223         Str, Argument_type_string.  All uses changed.  Put " argument"
50224         in diagnostics to make them clearer.  Change wording of suffix
50225         message for clarity.
50226         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
50227         Argument_type_string.
50228         (STRTOL_FATAL_WARN): Remove; no longer used.
50229         * modules/human (Depends-on): Remove gettext-h.
50230
50231 2007-08-06  Simon Josefsson  <simon@josefsson.org>
50232
50233         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
50234
50235 2007-07-31  Bruno Haible  <bruno@clisp.org>
50236
50237         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
50238         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
50239         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
50240
50241 2007-07-31  Bruno Haible  <bruno@clisp.org>
50242
50243         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
50244         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
50245
50246 2007-07-30  Bruno Haible  <bruno@clisp.org>
50247
50248         * modules/base64 (License): Use the synonymous term "LGPLv2+".
50249         * modules/c-ctype (License): Likewise.
50250         * modules/c-strcase (License): Likewise.
50251         * modules/check-version (License): Likewise.
50252         * modules/iconv (License): Likewise.
50253         * modules/iconv_open (License): Likewise.
50254         * modules/read-file (License): Likewise.
50255         * modules/striconv (License): Likewise.
50256         * modules/strverscmp (License): Likewise.
50257         * modules/vasprintf (License): Likewise.
50258         * modules/crypto/des (License): Likewise.
50259         * modules/crypto/gc (License): Likewise.
50260         * modules/crypto/gc-arcfour (License): Likewise.
50261         * modules/crypto/gc-arctwo (License): Likewise.
50262         * modules/crypto/gc-des (License): Likewise.
50263         * modules/crypto/gc-hmac-md5 (License): Likewise.
50264         * modules/crypto/gc-hmac-sha1 (License): Likewise.
50265         * modules/crypto/gc-md2 (License): Likewise.
50266         * modules/crypto/gc-md4 (License): Likewise.
50267         * modules/crypto/gc-md5 (License): Likewise.
50268         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
50269         * modules/crypto/gc-random (License): Likewise.
50270         * modules/crypto/gc-rijndael (License): Likewise.
50271         * modules/crypto/gc-sha1 (License): Likewise.
50272         * modules/crypto/md2 (License): Likewise.
50273         * modules/crypto/md4 (License): Likewise.
50274
50275 2007-07-30  Jim Meyering  <jim@meyering.net>
50276
50277         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
50278         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
50279         it has valid stat data.  This bug would cause du not to count the
50280         sizes of inaccessible directories.
50281         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
50282         in <http://bugzilla.redhat.com/250077>.
50283
50284 2007-07-25  Peter O'Gorman  <peter@pogma.com>
50285             Bruno Haible  <bruno@clisp.org>
50286
50287         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
50288         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
50289         #include_next, gives a diagnostic about it, but reports no error in
50290         the exit code.
50291         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
50292
50293 2007-07-24  Ben Pfaff  <blp@gnu.org>
50294
50295         Improve name: "count-one-bits" is better than "popcount".
50296         * MODULES.html.sh: Update name.
50297         * lib/popcount.h: Renamed lib/count-one-bits.h.
50298         (popcount): Renamed count_one_bits.
50299         (popcountl): Renamed count_one_bits_l.
50300         (popcountll): Renamed count_one_bits_ll.
50301         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
50302         * modules/popcount: Renamed module/count-one-bits.
50303         * modules/popcount-tests: Renamed module/count-one-bits-tests.
50304         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
50305
50306 2007-07-23  Ben Pfaff  <blp@gnu.org>
50307
50308         * lib/popcount.h (popcount32): Reduce size of constants, to allow
50309         better code generation, and add U to large constants to avoid
50310         warnings, in non-GCC case.
50311         Suggested by Bruno Haible.
50312
50313 2007-07-23  Ben Pfaff  <blp@gnu.org>
50314
50315         * lib/popcount.h: Use verify_true instead of if...abort.
50316         * modules/popcount: Depend on verify module.
50317         Suggested by Jim Meyering.
50318
50319 2007-07-23  Bruno Haible  <bruno@clisp.org>
50320
50321         * gnulib-tool (func_import): Create a .cvsignore file also when the
50322         directory is not yet in CVS but the toplevel directory is. When
50323         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
50324         Reported by Karl Berry.
50325
50326 2007-07-22  Ben Pfaff  <blp@gnu.org>
50327
50328         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
50329         case.
50330         Suggested by Eric Blake.
50331
50332 2007-07-22  Ben Pfaff  <blp@gnu.org>
50333
50334         New module: popcount.
50335         * MODULES.html.sh: Add popcount.
50336         * modules/popcount: New file.
50337         * modules/popcount-tests: New file.
50338         * tests/test-popcount.c: New file.
50339         * lib/popcount.h: New file.
50340         * m4/popcount.m4: New file.
50341
50342 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
50343
50344         * build-aux/announce-gen: Update to GPLv3.
50345
50346         * build-aux/config.guess: Update from config.
50347
50348 2007-07-21  Bruno Haible  <bruno@clisp.org>
50349
50350         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
50351         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
50352
50353 2007-07-20  Jim Meyering  <jim@meyering.net>
50354
50355         * check-module: Diagnose a self-dependency.
50356
50357 2007-07-19  Bruno Haible  <bruno@clisp.org>
50358
50359         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
50360         empty.
50361         Reported by Eric Blake.
50362
50363 2007-07-18  Bruno Haible  <bruno@clisp.org>
50364
50365         * gnulib-tool: New options --po-base, --po-domain.
50366         (func_usage): Document them.
50367         (pobase, po_domain): New variables.
50368         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
50369         DEFAULT_TEXT_DOMAIN.
50370         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
50371         (func_import): Consider pobase and po_domain. Create a po/ directory.
50372         (func_create_testdir): Set pobase and po_domain to empty.
50373         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
50374         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
50375
50376 2007-07-18  Bruno Haible  <bruno@clisp.org>
50377
50378         * gnulib-tool (func_get_automake_snippet): Synthesize also an
50379         EXTRA_DIST augmentation for files in build-aux/.
50380
50381 2007-07-16  Bruno Haible  <bruno@clisp.org>
50382
50383         * modules/lseek (License): Use the synonymous term "LGPLv2+".
50384         * modules/getdelim (License): Likewise.
50385
50386 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50387
50388         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
50389         * modules/d-type (License): Likewise.
50390         * modules/extensions (License): Likewise.
50391         * modules/fnmatch (License): Likewise.
50392         * modules/fseeko (License): Likewise.
50393         * modules/getaddrinfo (License): Likewise.
50394         * modules/getline (License): Likewise.
50395         * modules/getlogin_r (License): Likewise.
50396         * modules/getpass (License): Likewise.
50397         * modules/gettimeofday (License): Likewise.
50398         * modules/glob (License): Likewise.
50399         * modules/inet_ntop (License): Likewise.
50400         * modules/malloc (License): Likewise.
50401         * modules/malloca (License): Likewise.
50402         * modules/memmem (License): Likewise.
50403         * modules/mempcpy (License): Likewise.
50404         * modules/memset (License): Likewise.
50405         * modules/minmax (License): Likewise.
50406         * modules/mktime (License): Likewise.
50407         * modules/netinet_in (License): Likewise.
50408         * modules/pathmax (License): Likewise.
50409         * modules/poll (License): Likewise.
50410         * modules/regex (License): Likewise.
50411         * modules/snprintf (License): Likewise.
50412         * modules/stdbool (License): Likewise.
50413         * modules/stdint (License): Likewise.
50414         * modules/stdio (License): Likewise.
50415         * modules/strcase (License): Likewise.
50416         * modules/strcasestr (License): Likewise.
50417         * modules/strdup (License): Likewise.
50418         * modules/string (License): Likewise.
50419         * modules/strndup (License): Likewise.
50420         * modules/strnlen (License): Likewise.
50421         * modules/strpbrk (License): Likewise.
50422         * modules/strptime (License): Likewise.
50423         * modules/strsep (License): Likewise.
50424         * modules/sys_select (License): Likewise.
50425         * modules/sys_socket (License): Likewise.
50426         * modules/sys_stat (License): Likewise.
50427         * modules/sys_time (License): Likewise.
50428         * modules/time (License): Likewise.
50429         * modules/time_r (License): Likewise.
50430         * modules/timegm (License): Likewise.
50431         * modules/unistd (License): Likewise.
50432         * modules/vsnprintf (License): Likewise.
50433         * modules/wctype (License): Likewise.
50434
50435 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50436
50437         * modules/argz (License): LGPLv2+.
50438
50439 2007-07-15  Karl Berry  <karl@gnu.org>
50440
50441         * doc/gnulib.texi: revise node structure per new fdl.texi.
50442
50443 2007-07-14  Bruno Haible  <bruno@clisp.org>
50444
50445         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
50446         the output file.
50447         * lib/uniname/uninames.h: Regenerated.
50448
50449 2007-07-14  Karl Berry  <karl@gnu.org>
50450
50451         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
50452         omitting sectioning and index commands.
50453
50454 2007-07-13  Bruno Haible  <bruno@clisp.org>
50455
50456         New gnulib-tool option --more-symlinks.
50457         * gnulib-tool (func_usage): Document --more-symlinks.
50458         (do_copyrights): New variable.
50459         Recognize option --more-symlinks.
50460         (func_import): Don't add a copyright notice transform to
50461         sed_transform_lib_file if do_copyrights is empty.
50462
50463 2007-07-13  Bruno Haible  <bruno@clisp.org>
50464
50465         * lib/vasnprintf.c (decimal_point_char): Define also if
50466         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
50467         && !NEED_PRINTF_DIRECTIVE_A.
50468         Reported by Clemens Koller <clemens.koller@anagramm.de> via
50469         Gary V. Vaughan <gary@gnu.org>.
50470
50471 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
50472
50473         * lib/inttypes_.h: Undo previous change, since it was fixed
50474         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
50475
50476 2007-07-13  Bruno Haible  <bruno@clisp.org>
50477
50478         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
50479         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
50480
50481 2007-07-13  Jim Meyering  <jim@meyering.net>
50482
50483         df: Don't fail for Tru64's "file-on-file mount".
50484         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
50485         so we fall through and use statfs instead.  Details here:
50486         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
50487         Reported by Albert Chin.
50488
50489 2007-07-13  Bruno Haible  <bruno@clisp.org>
50490
50491         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
50492         * modules/configmake (License): Likewise.
50493         * modules/gettext (License): Likewise.
50494         * modules/gettext-h (License): Likewise.
50495         * modules/include_next (License): Likewise.
50496         * modules/link-warning (License): Likewise.
50497         * modules/localcharset (License): Likewise.
50498         * modules/localename (License): Likewise.
50499         * modules/lock (License): Likewise.
50500         * modules/relocatable-lib-lgpl (License): Likewise.
50501         * modules/size_max (License): Likewise.
50502         * modules/vasnprintf (License): Likewise.
50503         * modules/wchar (License): Likewise.
50504         * modules/xsize (License): Likewise.
50505
50506 2007-07-13  Bruno Haible  <bruno@clisp.org>
50507
50508         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
50509         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
50510
50511 2007-07-12  Bruno Haible  <bruno@clisp.org>
50512
50513         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
50514         in the modules files.
50515
50516 2007-07-11  Karl Berry  <karl@gnu.org>
50517
50518         * MODULES.html.sh (func_module): use
50519          sed -e '\|^'"${includefile}"'$|d'
50520          instead of /.../d, to avoid errors on $includefile's containing /.
50521
50522 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
50523
50524         * gnulib-tool (func_import): Avoid duplication of --avoid
50525         statements
50526         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
50527         names to `_' in variable names.
50528
50529 2007-07-10  Eric Blake  <ebb9@byu.net>
50530
50531         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
50532         * NEWS: Document this change.
50533
50534 2007-07-08  Bruno Haible  <bruno@clisp.org>
50535
50536         Update to Unicode 5.0.
50537         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
50538         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
50539         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
50540         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
50541         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
50542         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
50543         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
50544         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
50545         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
50546         U+10A3F, U+1D242..U+1D244.
50547         (nonspacing_table_ind): Update.
50548         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
50549         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
50550
50551 2007-07-08  Bruno Haible  <bruno@clisp.org>
50552
50553         Update to Unicode 5.0.
50554         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
50555         code transform. Extend the name index field of unicode_name_to_code and
50556         unicode_code_to_name from 16 to 24 bits.
50557         * lib/uniname/uniname.c (unicode_character_name,
50558         unicode_name_character): Add the range 0x12xxx to the code transform.
50559         * lib/uniname/uninames.h: Regenerated.
50560         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
50561
50562 2007-07-07  Bruno Haible  <bruno@clisp.org>
50563
50564         * modules/wcwidth-tests: New file.
50565         * tests/test-wcwidth.c: New file.
50566
50567         Work around MacOS X wcwidth() bug.
50568         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
50569         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
50570         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
50571         original wcwidth in non-UTF-8 locales.
50572         * modules/wcwidth (Depends-on): Add localcharset, streq,
50573         uniwidth/width.
50574         * doc/functions/wcwidth.texi: Update.
50575
50576 2007-07-07  Bruno Haible  <bruno@clisp.org>
50577
50578         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
50579         (wcwidth): New declaration.
50580         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
50581         macros.
50582         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
50583         here. Prepare for creating <wchar.h> unconditionally.
50584         * modules/wchar (Depends-on): Add link-warning.
50585         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
50586         REPLACE_WCWIDTH, and GL_LINK_WARNING.
50587         * lib/wcwidth.h: Remove file.
50588         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
50589         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
50590         * modules/wcwidth (Files): Remove lib/wcwidth.h.
50591         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
50592         (Include): Replace wcwidth.h with <wchar.h>.
50593         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
50594         * lib/mbchar.h: Don't include wcwidth.h.
50595         * lib/mbswidth.c: Likewise.
50596         * NEWS: Mention the change.
50597
50598 2007-07-07  Bruno Haible  <bruno@clisp.org>
50599
50600         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
50601         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
50602         definition with an external declaration.
50603         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
50604         defined as a function. Remove AC_C_INLINE requirement.
50605         * modules/wcwidth (Files): Add lib/wcwidth.c.
50606         (Makefile.am): Remove redundant statement.
50607
50608 2007-07-07  Bruno Haible  <bruno@clisp.org>
50609
50610         * MODULES.html.sh (Unicode string functions): Add the new modules.
50611
50612         * tests/uniwidth/test-u32-strwidth.c: New file.
50613         * modules/uniwidth/u32-strwidth-tests: New file.
50614
50615         * lib/uniwidth/u32-strwidth.c: New file.
50616         * modules/uniwidth/u32-strwidth: New file.
50617
50618         * tests/uniwidth/test-u16-strwidth.c: New file.
50619         * modules/uniwidth/u16-strwidth-tests: New file.
50620
50621         * lib/uniwidth/u16-strwidth.c: New file.
50622         * modules/uniwidth/u16-strwidth: New file.
50623
50624         * tests/uniwidth/test-u8-strwidth.c: New file.
50625         * modules/uniwidth/u8-strwidth-tests: New file.
50626
50627         * lib/uniwidth/u8-strwidth.c: New file.
50628         * modules/uniwidth/u8-strwidth: New file.
50629
50630         * tests/uniwidth/test-u32-width.c: New file.
50631         * modules/uniwidth/u32-width-tests: New file.
50632
50633         * lib/uniwidth/u32-width.c: New file.
50634         * modules/uniwidth/u32-width: New file.
50635
50636         * tests/uniwidth/test-u16-width.c: New file.
50637         * modules/uniwidth/u16-width-tests: New file.
50638
50639         * lib/uniwidth/u16-width.c: New file.
50640         * modules/uniwidth/u16-width: New file.
50641
50642         * tests/uniwidth/test-u8-width.c: New file.
50643         * modules/uniwidth/u8-width-tests: New file.
50644
50645         * lib/uniwidth/u8-width.c: New file.
50646         * modules/uniwidth/u8-width: New file.
50647
50648         * tests/uniwidth/test-uc_width.c: New file.
50649         * modules/uniwidth/width-tests: New file.
50650
50651         * lib/uniwidth/width.c: New file, from GNU libiconv.
50652         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
50653         * modules/uniwidth/width: New file.
50654
50655         * lib/uniwidth.h: New file, from GNU libiconv.
50656         * modules/uniwidth/base: New file.
50657
50658 2007-07-07  Bruno Haible  <bruno@clisp.org>
50659
50660         * lib/uniname.h: New file, from GNU gettext.
50661         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
50662         * lib/uniname/uninames.h: New file, from GNU gettext.
50663         * lib/uniname/uniname.c: New file, from GNU gettext.
50664         * tests/uniname/test-uninames.sh: New file.
50665         * tests/uniname/test-uninames.c: New file, from GNU gettext.
50666         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
50667         * modules/uniname/base: New file.
50668         * modules/uniname/uniname: New file.
50669         * modules/uniname/uniname-tests: New file.
50670         * MODULES.html.sh (Unicode string functions): Add the new modules.
50671
50672 2007-07-06  Bruno Haible  <bruno@clisp.org>
50673
50674         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
50675
50676 2007-07-06  Bruno Haible  <bruno@clisp.org>
50677
50678         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
50679         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
50680         includes <cygwin/sys_time.h> which includes <sys/select.h> which
50681         include <sys/time.h>.
50682         Reported by Eric Blake.
50683
50684 2007-07-06  Eric Blake  <ebb9@byu.net>
50685
50686         Fix testing canonicalize on cygwin.
50687         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
50688         Revert patch from 2007-06-19.
50689         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
50690         canonicalize module is also in use.
50691         * tests/test-canonicalize.c: New file.
50692         * tests/test-canonicalize.sh: Likewise.
50693         * modules/canonicalize-tests: Likewise.
50694
50695 2007-07-06  Jim Meyering  <jim@meyering.net>
50696
50697         * lib/getugroups.c (getugroups): Detect getgrent failure.
50698         Adjust comment to reflect reality: this function may return -1.
50699
50700 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
50701
50702         * build-aux/bootstrap (TP_URL,get_translations): Update to use
50703         the new TP address.
50704         (usage): Fix typo
50705         (gnulib_mk): New variable.
50706
50707 2007-07-05  Jim Meyering  <jim@meyering.net>
50708
50709         Don't let endgrent clobber errno, no matter how improbable.
50710         * lib/getugroups.c (getugroups): Save and restore errno around
50711         endgrent call.
50712
50713         Close the group DB even when failing with 2^31 or more members.
50714         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
50715
50716 2007-07-04  Jim Meyering  <jim@meyering.net>
50717
50718         * lib/getugroups.h: New file.
50719         * lib/getugroups.c: Include "getugroups.h".
50720         Remove uses of "register" keyword.
50721         Move local variable, "cp", down into scope where used.
50722         Give "username" parameter the "const" attribute.
50723         * modules/getugroups (Files): Add lib/getugroups.h
50724
50725 2007-07-04  Karl Berry  <karl@gnu.org>
50726
50727         * MODULES.html.sh (func_all_modules): Complete rename of
50728         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
50729
50730 2007-07-02  Bruno Haible  <bruno@clisp.org>
50731
50732         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
50733         mode, when inttypes.h comes from gnulib.
50734         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
50735
50736 2007-07-02  Simon Josefsson  <simon@josefsson.org>
50737
50738         * NEWS: Mention lgpl module name change.
50739
50740         * modules/lgpl-2.1: Renamed from lgpl.
50741
50742         * NEWS: Mention gpl module name change.
50743
50744         * modules/gpl-3.0: New file, based on gpl-2.0.
50745
50746         * modules/gpl-2.0: Renamed from gpl.
50747
50748         * modules/gpl: Fix filename, doc/gpl.texi is now found at
50749         doc/gpl-2.0.texi.
50750
50751 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
50752
50753         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
50754         #define __STDC_LIMIT_MACROS temporarily while including
50755         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
50756         Problem reported by Joel E. Denny in
50757         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
50758
50759 2007-07-01  Bruno Haible  <bruno@clisp.org>
50760
50761         * lib/unistdio.h: New file.
50762         * lib/unistdio/u-asnprintf.h: New file.
50763         * lib/unistdio/u-asprintf.h: New file.
50764         * lib/unistdio/u-printf-args.c: New file.
50765         * lib/unistdio/u-printf-args.h: New file.
50766         * lib/unistdio/u-printf-parse.h: New file.
50767         * lib/unistdio/u-snprintf.h: New file.
50768         * lib/unistdio/u-sprintf.h: New file.
50769         * lib/unistdio/u-vasprintf.h: New file.
50770         * lib/unistdio/u-vsnprintf.h: New file.
50771         * lib/unistdio/u-vsprintf.h: New file.
50772         * lib/unistdio/ulc-asnprintf.c: New file.
50773         * lib/unistdio/ulc-asprintf.c: New file.
50774         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
50775         * lib/unistdio/ulc-printf-parse.c: New file.
50776         * lib/unistdio/ulc-snprintf.c: New file.
50777         * lib/unistdio/ulc-sprintf.c: New file.
50778         * lib/unistdio/ulc-vasnprintf.c: New file.
50779         * lib/unistdio/ulc-vasprintf.c: New file.
50780         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
50781         * lib/unistdio/ulc-vsnprintf.c: New file.
50782         * lib/unistdio/ulc-vsprintf.c: New file.
50783         * lib/unistdio/u8-asnprintf.c: New file.
50784         * lib/unistdio/u8-asprintf.c: New file.
50785         * lib/unistdio/u8-printf-parse.c: New file.
50786         * lib/unistdio/u8-snprintf.c: New file.
50787         * lib/unistdio/u8-sprintf.c: New file.
50788         * lib/unistdio/u8-vasnprintf.c: New file.
50789         * lib/unistdio/u8-vasprintf.c: New file.
50790         * lib/unistdio/u8-vsnprintf.c: New file.
50791         * lib/unistdio/u8-vsprintf.c: New file.
50792         * lib/unistdio/u8-u8-asnprintf.c: New file.
50793         * lib/unistdio/u8-u8-asprintf.c: New file.
50794         * lib/unistdio/u8-u8-snprintf.c: New file.
50795         * lib/unistdio/u8-u8-sprintf.c: New file.
50796         * lib/unistdio/u8-u8-vasnprintf.c: New file.
50797         * lib/unistdio/u8-u8-vasprintf.c: New file.
50798         * lib/unistdio/u8-u8-vsnprintf.c: New file.
50799         * lib/unistdio/u8-u8-vsprintf.c: New file.
50800         * lib/unistdio/u16-asnprintf.c: New file.
50801         * lib/unistdio/u16-asprintf.c: New file.
50802         * lib/unistdio/u16-printf-parse.c: New file.
50803         * lib/unistdio/u16-snprintf.c: New file.
50804         * lib/unistdio/u16-sprintf.c: New file.
50805         * lib/unistdio/u16-vasnprintf.c: New file.
50806         * lib/unistdio/u16-vasprintf.c: New file.
50807         * lib/unistdio/u16-vsnprintf.c: New file.
50808         * lib/unistdio/u16-vsprintf.c: New file.
50809         * lib/unistdio/u16-u16-asnprintf.c: New file.
50810         * lib/unistdio/u16-u16-asprintf.c: New file.
50811         * lib/unistdio/u16-u16-snprintf.c: New file.
50812         * lib/unistdio/u16-u16-sprintf.c: New file.
50813         * lib/unistdio/u16-u16-vasnprintf.c: New file.
50814         * lib/unistdio/u16-u16-vasprintf.c: New file.
50815         * lib/unistdio/u16-u16-vsnprintf.c: New file.
50816         * lib/unistdio/u16-u16-vsprintf.c: New file.
50817         * lib/unistdio/u32-asnprintf.c: New file.
50818         * lib/unistdio/u32-asprintf.c: New file.
50819         * lib/unistdio/u32-printf-parse.c: New file.
50820         * lib/unistdio/u32-snprintf.c: New file.
50821         * lib/unistdio/u32-sprintf.c: New file.
50822         * lib/unistdio/u32-vasnprintf.c: New file.
50823         * lib/unistdio/u32-vasprintf.c: New file.
50824         * lib/unistdio/u32-vsnprintf.c: New file.
50825         * lib/unistdio/u32-vsprintf.c: New file.
50826         * lib/unistdio/u32-u32-asnprintf.c: New file.
50827         * lib/unistdio/u32-u32-asprintf.c: New file.
50828         * lib/unistdio/u32-u32-snprintf.c: New file.
50829         * lib/unistdio/u32-u32-sprintf.c: New file.
50830         * lib/unistdio/u32-u32-vasnprintf.c: New file.
50831         * lib/unistdio/u32-u32-vasprintf.c: New file.
50832         * lib/unistdio/u32-u32-vsnprintf.c: New file.
50833         * lib/unistdio/u32-u32-vsprintf.c: New file.
50834         * tests/unistdio/test-ulc-asnprintf1.c: New file.
50835         * tests/unistdio/test-ulc-asnprintf1.h: New file.
50836         * tests/unistdio/test-ulc-printf1.h: New file.
50837         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
50838         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
50839         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
50840         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
50841         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
50842         * tests/unistdio/test-ulc-vasprintf1.c: New file.
50843         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
50844         * tests/unistdio/test-ulc-vsprintf1.c: New file.
50845         * tests/unistdio/test-u8-asnprintf1.c: New file.
50846         * tests/unistdio/test-u8-asnprintf1.h: New file.
50847         * tests/unistdio/test-u8-printf1.h: New file.
50848         * tests/unistdio/test-u8-vasnprintf1.c: New file.
50849         * tests/unistdio/test-u8-vasnprintf2.c: New file.
50850         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
50851         * tests/unistdio/test-u8-vasnprintf3.c: New file.
50852         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
50853         * tests/unistdio/test-u8-vasprintf1.c: New file.
50854         * tests/unistdio/test-u8-vsnprintf1.c: New file.
50855         * tests/unistdio/test-u8-vsprintf1.c: New file.
50856         * tests/unistdio/test-u16-asnprintf1.c: New file.
50857         * tests/unistdio/test-u16-asnprintf1.h: New file.
50858         * tests/unistdio/test-u16-printf1.h: New file.
50859         * tests/unistdio/test-u16-vasnprintf1.c: New file.
50860         * tests/unistdio/test-u16-vasnprintf2.c: New file.
50861         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
50862         * tests/unistdio/test-u16-vasnprintf3.c: New file.
50863         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
50864         * tests/unistdio/test-u16-vasprintf1.c: New file.
50865         * tests/unistdio/test-u16-vsnprintf1.c: New file.
50866         * tests/unistdio/test-u16-vsprintf1.c: New file.
50867         * tests/unistdio/test-u32-asnprintf1.c: New file.
50868         * tests/unistdio/test-u32-asnprintf1.h: New file.
50869         * tests/unistdio/test-u32-printf1.h: New file.
50870         * tests/unistdio/test-u32-vasnprintf1.c: New file.
50871         * tests/unistdio/test-u32-vasnprintf2.c: New file.
50872         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
50873         * tests/unistdio/test-u32-vasnprintf3.c: New file.
50874         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
50875         * tests/unistdio/test-u32-vasprintf1.c: New file.
50876         * tests/unistdio/test-u32-vsnprintf1.c: New file.
50877         * tests/unistdio/test-u32-vsprintf1.c: New file.
50878         * modules/unistdio/base: New file.
50879         * modules/unistdio/u-printf-args: New file.
50880         * modules/unistdio/ulc-asnprintf: New file.
50881         * modules/unistdio/ulc-asprintf: New file.
50882         * modules/unistdio/ulc-fprintf: New file.
50883         * modules/unistdio/ulc-printf-parse: New file.
50884         * modules/unistdio/ulc-snprintf: New file.
50885         * modules/unistdio/ulc-sprintf: New file.
50886         * modules/unistdio/ulc-vasnprintf: New file.
50887         * modules/unistdio/ulc-vasprintf: New file.
50888         * modules/unistdio/ulc-vfprintf: New file.
50889         * modules/unistdio/ulc-vsnprintf: New file.
50890         * modules/unistdio/ulc-vsprintf: New file.
50891         * modules/unistdio/u8-asnprintf: New file.
50892         * modules/unistdio/u8-asprintf: New file.
50893         * modules/unistdio/u8-printf-parse: New file.
50894         * modules/unistdio/u8-snprintf: New file.
50895         * modules/unistdio/u8-sprintf: New file.
50896         * modules/unistdio/u8-vasnprintf: New file.
50897         * modules/unistdio/u8-vasprintf: New file.
50898         * modules/unistdio/u8-vsnprintf: New file.
50899         * modules/unistdio/u8-vsprintf: New file.
50900         * modules/unistdio/u8-u8-asnprintf: New file.
50901         * modules/unistdio/u8-u8-asprintf: New file.
50902         * modules/unistdio/u8-u8-snprintf: New file.
50903         * modules/unistdio/u8-u8-sprintf: New file.
50904         * modules/unistdio/u8-u8-vasnprintf: New file.
50905         * modules/unistdio/u8-u8-vasprintf: New file.
50906         * modules/unistdio/u8-u8-vsnprintf: New file.
50907         * modules/unistdio/u8-u8-vsprintf: New file.
50908         * modules/unistdio/u16-asnprintf: New file.
50909         * modules/unistdio/u16-asprintf: New file.
50910         * modules/unistdio/u16-printf-parse: New file.
50911         * modules/unistdio/u16-snprintf: New file.
50912         * modules/unistdio/u16-sprintf: New file.
50913         * modules/unistdio/u16-vasnprintf: New file.
50914         * modules/unistdio/u16-vasprintf: New file.
50915         * modules/unistdio/u16-vsnprintf: New file.
50916         * modules/unistdio/u16-vsprintf: New file.
50917         * modules/unistdio/u16-u16-asnprintf: New file.
50918         * modules/unistdio/u16-u16-asprintf: New file.
50919         * modules/unistdio/u16-u16-snprintf: New file.
50920         * modules/unistdio/u16-u16-sprintf: New file.
50921         * modules/unistdio/u16-u16-vasnprintf: New file.
50922         * modules/unistdio/u16-u16-vasprintf: New file.
50923         * modules/unistdio/u16-u16-vsnprintf: New file.
50924         * modules/unistdio/u16-u16-vsprintf: New file.
50925         * modules/unistdio/u32-asnprintf: New file.
50926         * modules/unistdio/u32-asprintf: New file.
50927         * modules/unistdio/u32-printf-parse: New file.
50928         * modules/unistdio/u32-snprintf: New file.
50929         * modules/unistdio/u32-sprintf: New file.
50930         * modules/unistdio/u32-vasnprintf: New file.
50931         * modules/unistdio/u32-vasprintf: New file.
50932         * modules/unistdio/u32-vsnprintf: New file.
50933         * modules/unistdio/u32-vsprintf: New file.
50934         * modules/unistdio/u32-u32-asnprintf: New file.
50935         * modules/unistdio/u32-u32-asprintf: New file.
50936         * modules/unistdio/u32-u32-snprintf: New file.
50937         * modules/unistdio/u32-u32-sprintf: New file.
50938         * modules/unistdio/u32-u32-vasnprintf: New file.
50939         * modules/unistdio/u32-u32-vasprintf: New file.
50940         * modules/unistdio/u32-u32-vsnprintf: New file.
50941         * modules/unistdio/u32-u32-vsprintf: New file.
50942         * modules/unistdio/ulc-asnprintf-tests: New file.
50943         * modules/unistdio/ulc-vasnprintf-tests: New file.
50944         * modules/unistdio/ulc-vasprintf-tests: New file.
50945         * modules/unistdio/ulc-vsnprintf-tests: New file.
50946         * modules/unistdio/ulc-vsprintf-tests: New file.
50947         * modules/unistdio/u8-asnprintf-tests: New file.
50948         * modules/unistdio/u8-vasnprintf-tests: New file.
50949         * modules/unistdio/u8-vasprintf-tests: New file.
50950         * modules/unistdio/u8-vsnprintf-tests: New file.
50951         * modules/unistdio/u8-vsprintf-tests: New file.
50952         * modules/unistdio/u16-asnprintf-tests: New file.
50953         * modules/unistdio/u16-vasnprintf-tests: New file.
50954         * modules/unistdio/u16-vasprintf-tests: New file.
50955         * modules/unistdio/u16-vsnprintf-tests: New file.
50956         * modules/unistdio/u16-vsprintf-tests: New file.
50957         * modules/unistdio/u32-asnprintf-tests: New file.
50958         * modules/unistdio/u32-vasnprintf-tests: New file.
50959         * modules/unistdio/u32-vasprintf-tests: New file.
50960         * modules/unistdio/u32-vsnprintf-tests: New file.
50961         * modules/unistdio/u32-vsprintf-tests: New file.
50962         * MODULES.html.sh (Unicode string functions): Add the new modules.
50963
50964 2007-07-01  Bruno Haible  <bruno@clisp.org>
50965
50966         * lib/sprintf.c (sprintf): Limit the available length estimation,
50967         to avoid address wraparound.
50968         * lib/vsprintf.c (vsprintf): Likewise.
50969         * modules/sprintf-posix (Dependencies): Add stdint.
50970         * modules/vsprintf-posix (Dependencies): Likewise.
50971
50972 2007-07-01  Bruno Haible  <bruno@clisp.org>
50973
50974         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
50975         Windows PATH as well. Conservative double-quoting. Comments.
50976
50977 2007-07-01  Bruno Haible  <bruno@clisp.org>
50978             Eric Blake  <ebb9@byu.net>
50979             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50980
50981         * gnulib-tool (self_abspathname): Fix algorithm to cope with
50982         empty components in $PATH, denoting '.'.
50983
50984 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50985
50986         * gnulib-tool: Fix indentation.
50987         (func_create_megatestdir): Likewise.
50988         Report by Bruno Haible.
50989
50990 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50991
50992         Sync from Automake.
50993         * build-aux/gnupload: Fix shell portability issues with for loops.
50994         Report by Karl Berry.
50995
50996 2007-06-29  Simon Josefsson  <simon@josefsson.org>
50997
50998         * build-aux/maint.mk (POURL): Use translationproject.org.
50999
51000 2007-06-27  Simon Josefsson  <simon@josefsson.org>
51001             Bruno Haible  <bruno@clisp.org>
51002
51003         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
51004         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
51005         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
51006         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
51007         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
51008
51009 2007-06-27  Bruno Haible  <bruno@clisp.org>
51010
51011         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
51012         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
51013
51014 2007-06-26  Karl Berry  <karl@gnu.org>
51015
51016         * MODULES.html.sh: remove xreadlink-with-size.
51017
51018 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
51019
51020         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
51021         method that I hope also handles the double-include problem noted
51022         by Bruno Haible in
51023         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
51024
51025 2007-06-23  Bruno Haible  <bruno@clisp.org>
51026
51027         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
51028         Don't let the 'mostlyclean' target fail if the last subdirectory could
51029         not be removed.
51030         Reported by Karl Berry.
51031
51032 2007-06-23  Bruno Haible  <bruno@clisp.org>
51033
51034         * gnulib-tool (echo): Add a speedier workaround for ksh.
51035         * tests/test-echo.sh: Likewise.
51036
51037 2007-06-23  Bruno Haible  <bruno@clisp.org>
51038
51039         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
51040         * tests/test-echo.sh: Likewise.
51041
51042 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51043
51044         * gnulib-tool (IFS): Initialize early, so we don't set it to
51045         empty later.
51046         (self_abspathname): Rewrite algorithm to set it, reindent.
51047         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
51048         (func_create_megatestdir): Merge some sed scripts.
51049
51050 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
51051
51052         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
51053         exposed by Sun Studio 11 cc on Solaris 8.
51054
51055 2007-06-22  Bruno Haible  <bruno@clisp.org>
51056
51057         * gnulib-tool (echo): Ensure the echo primitive does not interpret
51058         backslashes.
51059         * tests/test-echo.sh: New file.
51060
51061 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51062
51063         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
51064         simplify `sed_replace_build_aux' scripts, they are portable but
51065         echoing them with `echo' is not.
51066         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
51067
51068 2007-06-21  Karl Berry  <karl@gnu.org>
51069
51070         * config/srclist.txt: guess we can't handle the licenses via
51071         srclist at the moment.
51072
51073 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
51074
51075         * MODULES.html.sh: Add include_next.
51076         * modules/include_next: New file.
51077
51078 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
51079
51080         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
51081         INCLUDE_NEXT.
51082         (gl_CHECK_NEXT_HEADERS): New macro.
51083         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
51084         the obsolescent gl_ABSOLUTE_HEADER.
51085         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
51086         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
51087         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
51088         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
51089         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
51090         * m4/math_h.m4 (gl_MATH_H): Likewise.
51091         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
51092         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
51093         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
51094         * m4/stdint.m4 (gl_STDINT_H): Likewise.
51095         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
51096         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
51097         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
51098         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
51099         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
51100         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
51101         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
51102         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
51103         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
51104         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
51105         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
51106         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
51107         * m4/inttypes.m4 (gl_INTTYPES_H): Define
51108         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
51109         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
51110         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
51111         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
51112         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
51113         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
51114         * lib/float_.h: Likewise.
51115         * lib/inttypes_.h: Likewise.
51116         * lib/math_.h: Likewise.
51117         * lib/search_.h: Likewise.
51118         * lib/signal_.h: Likewise.
51119         * lib/stdint_.h: Likewise.
51120         * lib/stdio_.h: Likewise.
51121         * lib/stdlib_.h: Likewise.
51122         * lib/string_.h: Likewise.
51123         * lib/sys_stat_.h: Likewise.
51124         * lib/sys_time_.h: Likewise.
51125         * lib/time_.h: Likewise.
51126         * lib/unistd_.h: Likewise.
51127         * lib/wchar_.h: Likewise.
51128         * lib/wctype_.h: Likewise.
51129         * lib/dirent_.h: Likewise.
51130         * lib/iconv_.h: Likewise.
51131         * lib/locale_.h: Likewise.
51132         * lib/netinet_in_.h: Likewise.
51133         * lib/sys_select_.h: Likewise.
51134         * lib/sys_socket_.h: Likewise.
51135         * lib/sysexits_.h: Likewise.
51136         * modules/fcntl (Depends-on): Depend on include_next, not
51137         absolute_header.
51138         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
51139         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
51140         * modules/fchdir: Likewise.
51141         * modules/float: Likewise.
51142         * modules/iconv_open: Likewise.
51143         * modules/inttypes: Likewise.
51144         * modules/locale: Likewise.
51145         * modules/math: Likewise.
51146         * modules/netinet_in: Likewise.
51147         * modules/search: Likewise.
51148         * modules/signal: Likewise.
51149         * modules/stdint: Likewise.
51150         * modules/stdio: Likewise.
51151         * modules/stdlib: Likewise.
51152         * modules/string: Likewise.
51153         * modules/sys_select: Likewise.
51154         * modules/sys_socket: Likewise.
51155         * modules/sys_stat: Likewise.
51156         * modules/sys_time: Likewise.
51157         * modules/sysexits: Likewise.
51158         * modules/time: Likewise.
51159         * modules/unistd: Likewise.
51160         * modules/wchar: Likewise.
51161         * modules/wctype: Likewise.
51162         * modules/sys_stat: Change maintainer to "all".
51163         * modules/unistd: Likewise.
51164
51165 2007-06-20  Karl Berry  <karl@gnu.org>
51166
51167         * config/srclist.txt: track www changes in license files.
51168
51169 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
51170
51171         * build-aux/bootstrap: Remove stray dot.
51172         Make sure build_aux settings are honored when linking
51173         gnulib_extra_files.
51174
51175 2007-06-19  Eric Blake  <ebb9@byu.net>
51176
51177         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
51178         Allow compilation on cygwin.
51179
51180 2007-06-19  Jim Meyering  <jim@meyering.net>
51181
51182         xreadlink-with-size: Remove module.  No longer used.
51183         Ex-callers now use xreadlink or mreadlink-with-size.
51184         * modules/xreadlink-with-size: Remove module.
51185         * lib/xreadlink-with-size.c: Remove file.
51186         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
51187         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
51188         just before the function definition *is* accurate.
51189
51190         Eliminate one way canonicalize_filename_mode could exit.
51191         * lib/canonicalize.c (canonicalize_filename_mode):
51192         Use mreadlink_with_size, not xreadlink_with_size.
51193
51194 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
51195
51196         Detect porting problems to FreeBSD/arm, which has time_t wider than
51197         long int.  Original problem reported for GNU diff by Xin Li in
51198         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
51199         * modules/getdate (Depends-on): Add intprops, verify.
51200         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
51201         is an integer type no wider than long int.
51202
51203 2007-06-18  Jim Meyering  <jim@meyering.net>
51204
51205         New module: mreadlink-with-size.
51206         * MODULES.html.sh: Add mreadlink-with-size.
51207         * modules/mreadlink-with-size: New module
51208         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
51209         not xreadlink-with-size.
51210         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
51211
51212 2007-06-16  Bruno Haible  <bruno@clisp.org>
51213
51214         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
51215         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
51216         Reported by Gary V. Vaughan <gary@gnu.org>.
51217
51218 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
51219
51220         Revamp lchown so that it lives in unistd.h where it belongs.
51221         * lib/lchown.h: Remove.
51222         * lib/dirchownmod.c: Don't include lib/lchown.h.
51223         * lib/fchownat.c: Likewise.
51224         * lib/openat.c: Likewise.
51225         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
51226         does not follow symlinks.
51227         (EOPNOTSUPP): Define if not defined.
51228         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
51229         is defined to 0.
51230         (lchown): New decl.
51231         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
51232         Do not check for lchown decl.
51233         Set REPLACE_LCHOWN.
51234         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
51235         REPLACE_LCHOWN.
51236         * modules/chown: Make it clear it follows symlinks.
51237         * modules/lchown: Make it clear it doesn't follow symlinks.
51238         (Files): Remove lib/lchown.h
51239         (Depends-on): Add unistd.
51240         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
51241         (Include): Include <unistd.h>, not "lchown.h".
51242         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
51243         REPLACE_LCHOWN.
51244
51245 2007-06-15  Jim Meyering  <jim@meyering.net>
51246
51247         Change license (GPL to LGPL) of fsusage and dependents.
51248         * modules/fsusage (License): Change to LGPL.
51249         * modules/full-read (License): Likewise.
51250         * modules/full-write (License): Likewise.
51251         * modules/safe-read (License): Likewise.
51252         * modules/safe-write (License): Likewise.
51253
51254 2007-06-14  Ben Pfaff  <blp@gnu.org>
51255
51256         Missing part of allocsa -> malloca transition.
51257         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
51258         gl_MALLOCA.
51259
51260 2007-06-12  Bruno Haible  <bruno@clisp.org>
51261
51262         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
51263         to ia64, x86_64, i386.
51264         Reported by Eric Blake.
51265
51266 2007-06-12  Bruno Haible  <bruno@clisp.org>
51267
51268         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
51269         cross-compiling to x86_64.
51270
51271 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
51272
51273         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
51274         glitch reported by Ralf Wildenhues in
51275         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
51276
51277         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
51278         Vin Shelton.
51279
51280 2007-06-11  Bruno Haible  <bruno@clisp.org>
51281
51282         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
51283         replacement string.
51284         Reported by Eric Blake.
51285
51286 2007-06-10  Bruno Haible  <bruno@clisp.org>
51287
51288         Prepare vasnprintf code for use with Unicode strings.
51289         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
51290         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
51291         TYPE_U32_STRING.
51292         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
51293         a_u32_string variants.
51294         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
51295         * lib/printf-args.c: Don't include config.h and the specification
51296         header if PRINTF_FETCHARGS is already defined.
51297         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
51298         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
51299         TYPE_U16_STRING, TYPE_U32_STRING.
51300         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
51301         u16_directive, u16_directives, u32_directive, u32_directives): New
51302         types.
51303         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
51304         New declarations.
51305         * lib/printf-parse.c: Don't include config.h and the specification
51306         header if PRINTF_PARSE is already defined. Eliminate the set of
51307         parameters for WIDE_CHAR_VERSION; the user of this file must provide
51308         them now. Include c-ctype.h.
51309         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
51310         directive and CHAR_T_ONLY_ASCII.
51311         * lib/vasnprintf.c: Don't include config.h and the specification header
51312         if VASNPRINTF is already defined.
51313         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
51314         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
51315         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
51316         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
51317         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
51318         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
51319         code accordingly.
51320         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
51321         pad_ourselves also in this case, with the 'c' and 's' directives, and
51322         with a different notion of "width".
51323         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
51324
51325 2007-06-10  Bruno Haible  <bruno@clisp.org>
51326
51327         * modules/unistr/u32-mbsnlen: New file.
51328         * lib/unistr/u32-mbsnlen.c: New file.
51329
51330         * modules/unistr/u16-mbsnlen: New file.
51331         * lib/unistr/u16-mbsnlen.c: New file.
51332
51333         * modules/unistr/u8-mbsnlen: New file.
51334         * lib/unistr/u8-mbsnlen.c: New file.
51335
51336         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
51337         declarations.
51338
51339 2007-06-10  Bruno Haible  <bruno@clisp.org>
51340
51341         * lib/string_.h (mbsnlen): New declaration.
51342         * lib/mbsnlen.c: New file.
51343         * m4/mbsnlen.m4: New file.
51344         * modules/mbsnlen: New file.
51345         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
51346         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
51347         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
51348
51349 2007-06-10  Bruno Haible  <bruno@clisp.org>
51350
51351         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
51352
51353 2007-06-10  Bruno Haible  <bruno@clisp.org>
51354
51355         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
51356         * lib/mbuiter.h: Likewise.
51357
51358 2007-06-10  Bruno Haible  <bruno@clisp.org>
51359
51360         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
51361         declaration.
51362
51363 2007-06-10  Karl Berry  <karl@gnu.org>
51364
51365         * config/srclist.txt: remove gettext entries, Bruno prefers
51366         to update individually.
51367
51368 2007-06-10  Bruno Haible  <bruno@clisp.org>
51369
51370         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
51371         'maxlen'. Ensure only length + width bytes are allocated, not
51372         length + 1 + width.
51373
51374 2007-06-09  Bruno Haible  <bruno@clisp.org>
51375
51376         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
51377         (CHAR_T): Remove macro.
51378         (VASNPRINTF): Update.
51379
51380 2007-06-09  Bruno Haible  <bruno@clisp.org>
51381
51382         * MODULES.html.sh (Unicode string functions): Add the new modules.
51383
51384         * modules/uniconv/u32-conv-to-enc: New file.
51385         * lib/uniconv/u32-conv-to-enc.c: New file.
51386         * modules/uniconv/u32-conv-to-enc-tests: New file.
51387         * tests/uniconv/test-u32-conv-to-enc.c: New file.
51388
51389         * modules/uniconv/u16-conv-to-enc: New file.
51390         * lib/uniconv/u16-conv-to-enc.c: New file.
51391         * lib/uniconv/u-conv-to-enc.h: New file.
51392         * modules/uniconv/u16-conv-to-enc-tests: New file.
51393         * tests/uniconv/test-u16-conv-to-enc.c: New file.
51394
51395         * modules/uniconv/u8-conv-to-enc: New file.
51396         * lib/uniconv/u8-conv-to-enc.c: New file.
51397         * modules/uniconv/u8-conv-to-enc-tests: New file.
51398         * tests/uniconv/test-u8-conv-to-enc.c: New file.
51399
51400         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
51401         u32_conv_to_encoding): New declarations.
51402
51403 2007-06-09  Bruno Haible  <bruno@clisp.org>
51404
51405         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
51406
51407 2007-06-09  Bruno Haible  <bruno@clisp.org>
51408
51409         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
51410         * modules/malloca: Renamed from modules/allocsa, updated.
51411         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
51412         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
51413         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
51414         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
51415         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
51416         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
51417         * modules/xmalloca: Renamed from modules/xallocsa, updated.
51418         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
51419         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
51420         * modules/c-strcasestr (Depends-on): Update.
51421         * lib/c-strcasestr.c: Update.
51422         * modules/c-strstr (Depends-on): Update.
51423         * lib/c-strstr.c: Update.
51424         * modules/canonicalize-lgpl (Depends-on): Update.
51425         * lib/canonicalize-lgpl.c: Update.
51426         * modules/clean-temp (Depends-on): Update.
51427         * lib/clean-temp.c: Update.
51428         * modules/csharpcomp (Depends-on): Update.
51429         * lib/csharpcomp.c: Update.
51430         * modules/csharpexec (Depends-on): Update.
51431         * lib/csharpexec.c: Update.
51432         * modules/javacomp (Depends-on): Update.
51433         * lib/javacomp.c: Update.
51434         * modules/javaexec (Depends-on): Update.
51435         * lib/javaexec.c: Update.
51436         * modules/mbscasestr (Depends-on): Update.
51437         * lib/mbscasestr.c: Update.
51438         * modules/mbsstr (Depends-on): Update.
51439         * lib/mbsstr.c: Update.
51440         * modules/setenv (Depends-on): Update.
51441         * lib/setenv.c: Update.
51442         * modules/strcasestr (Depends-on): Update.
51443         * lib/strcasestr.c: Update.
51444         * modules/striconveha (Depends-on): Update.
51445         * lib/striconveha.c: Update.
51446         * modules/relocatable-prog-wrapper (Files): Update.
51447         * lib/relocwrapper.c: Update.
51448         * build-aux/install-reloc: Update.
51449         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
51450
51451 2007-06-08  Bruno Haible  <bruno@clisp.org>
51452
51453         Port to uClibc.
51454         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
51455         * lib/fpurge.c (fpurge): Likewise.
51456         * lib/freading.c (freading): Likewise.
51457         * lib/fseeko.c (rpl_fseeko): Likewise.
51458         * lib/fseterr.c (fseterr): Likewise.
51459         * lib/fwriting.c (fwriting): Likewise.
51460         * tests/test-fflush.c (main): Avoid a failure on uClibc.
51461
51462 2007-06-08  Bruno Haible  <bruno@clisp.org>
51463
51464         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
51465         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
51466         * modules/gettext (Files): Add m4/intlmacosx.m4.
51467
51468 2007-06-07  Bruno Haible  <bruno@clisp.org>
51469
51470         * modules/localename-tests: New file.
51471         * tests/test-localename.c: New file.
51472
51473         New module 'localename'.
51474         * lib/localename.h: New file.
51475         * lib/localename.c: New file, from GNU gettext.
51476         * m4/localename.m4: New file.
51477         * modules/localename: New file.
51478
51479 2007-06-07  Bruno Haible  <bruno@clisp.org>
51480
51481         Work around the lack of <wchar.h> on some builds of uClibc.
51482         * doc/headers/wchar.texi: Update.
51483         * lib/wchar_.h: Include <wchar.h> only if it exists.
51484         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
51485         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
51486         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
51487         doesn't exist.
51488         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
51489         * modules/mbfile (Depends-on): Add wchar.
51490         * modules/mbiter (Depends-on): Likewise.
51491         * modules/mbuiter (Depends-on): Likewise.
51492         Reported by Simon Josefsson.
51493
51494 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
51495
51496         Work around problem reported by Steven M. Schweda in
51497         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
51498         Tru64 5.1B with the Compaq compiler environment installed declares
51499         an 'isblank' function but does not define it in the C library.
51500         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
51501         * lib/regex_internal.h (isblank): Likewise.
51502         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
51503         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
51504
51505 2007-06-05  Bruno Haible  <bruno@clisp.org>
51506
51507         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
51508         ia64.
51509         * modules/printf-safe: New file.
51510         * modules/fprintf-posix (Depends-on): Add printf-safe.
51511         * modules/printf-posix (Depends-on): Likewise.
51512         * modules/snprintf-posix (Depends-on): Likewise.
51513         * modules/sprintf-posix (Depends-on): Likewise.
51514         * modules/vasnprintf-posix (Depends-on): Likewise.
51515         * modules/vasprintf-posix (Depends-on): Likewise.
51516         * modules/vfprintf-posix (Depends-on): Likewise.
51517         * modules/vprintf-posix (Depends-on): Likewise.
51518         * modules/vsnprintf-posix (Depends-on): Likewise.
51519         * modules/vsprintf-posix (Depends-on): Likewise.
51520         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
51521         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
51522         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
51523         "no" on i386, x86_64, ia64.
51524         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
51525         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
51526         on i386, x86_64, ia64.
51527         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
51528         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
51529         on i386, x86_64, ia64.
51530         * tests/test-vasnprintf-posix.c: Include float.h.
51531         (LDBL80_WORDS): New macro.
51532         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
51533         on i386, x86_64, ia64.
51534         * tests/test-vasprintf-posix.c: Include float.h.
51535         (LDBL80_WORDS): New macro.
51536         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
51537         on i386, x86_64, ia64.
51538         * tests/test-snprintf-posix.c: Include float.h.
51539         * tests/test-sprintf-posix.c: Likewise.
51540         * tests/test-vsnprintf-posix.c: Likewise.
51541         * tests/test-vsprintf-posix.c: Likewise.
51542
51543 2007-06-05  Bruno Haible  <bruno@clisp.org>
51544
51545         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
51546         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
51547         non-IEEE numbers on i386, x86_64, ia64.
51548         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
51549         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
51550         * tests/test-isnanl.h: Include float.h.
51551         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
51552
51553 2007-06-05  Bruno Haible  <bruno@clisp.org>
51554
51555         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
51556         also the %a / %A. Handle the %a / %A code before this extra handling.
51557
51558 2007-06-05  Bruno Haible  <bruno@clisp.org>
51559
51560         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
51561         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
51562
51563 2007-06-05  Bruno Haible  <bruno@clisp.org>
51564
51565         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
51566         typo in variable name.
51567
51568 2007-06-05  Eric Blake  <ebb9@byu.net>
51569
51570         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
51571         Reported by Simon Josefsson.
51572
51573 2007-06-04  Bruno Haible  <bruno@clisp.org>
51574
51575         Avoid test failures on some PowerPC platforms.
51576         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
51577         Define differently for PowerPC.
51578         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
51579         Reported by Gary V. Vaughan <gary@gnu.org>.
51580
51581 2007-06-02  Bruno Haible  <bruno@clisp.org>
51582
51583         Fix test-stdint failure on FreeBSD/ia64.
51584         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
51585         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
51586         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
51587         * doc/headers/stdint.texi: Update.
51588
51589 2007-06-01  Bruno Haible  <bruno@clisp.org>
51590
51591         * tests/test-binary-io.c (main): Pass a third argument to open().
51592         Reported by Gary V. Vaughan <gary@gnu.org>.
51593
51594 2007-06-01  Bruno Haible  <bruno@clisp.org>
51595
51596         * doc/functions/frexpl.texi: Update for mingw.
51597
51598 2007-06-01  Bruno Haible  <bruno@clisp.org>
51599
51600         * tests/test-lseek.c (main): Disable test of errno for invalid third
51601         argument.
51602         * doc/functions/lseek.texi: Update.
51603         Reported by Gary V. Vaughan <gary@gnu.org>.
51604
51605 2007-05-28  Bruno Haible  <bruno@clisp.org>
51606
51607         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
51608
51609 2007-05-31  Eric Blake  <ebb9@byu.net>
51610
51611         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
51612         cross compiling.
51613
51614 2007-05-30  Eric Blake  <ebb9@byu.net>
51615         and Bruno Haible  <bruno@clisp.org>
51616
51617         Work around mingw test failures exposed by m4-1.4.9b.
51618         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
51619         * tests/test-unistd.c: Disable uid_t and git_t tests for the
51620         moment.
51621
51622 2007-05-30  Bruno Haible  <bruno@clisp.org>
51623
51624         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
51625         assuming that they are closed. Needed on HP-UX 11.
51626
51627 2007-05-29  Bruno Haible  <bruno@clisp.org>
51628
51629         Fix a problem with #include_next.
51630         * lib/dirent_.h: Split the double-inclusion guard.
51631         * lib/fcntl_.h: Likewise.
51632         * lib/float_.h: Likewise.
51633         * lib/iconv_.h: Likewise.
51634         * lib/inttypes_.h: Likewise.
51635         * lib/locale_.h: Likewise.
51636         * lib/math_.h: Likewise.
51637         * lib/netinet_in_.h: Likewise.
51638         * lib/search_.h: Likewise.
51639         * lib/signal_.h: Likewise.
51640         * lib/stdint_.h: Likewise.
51641         * lib/stdio_.h: Likewise.
51642         * lib/stdlib_.h: Likewise.
51643         * lib/string_.h: Likewise.
51644         * lib/sys_select_.h: Likewise.
51645         * lib/sys_socket_.h: Likewise.
51646         * lib/sys_stat_.h: Likewise.
51647         * lib/sys_time_.h: Likewise.
51648         * lib/sysexits_.h: Likewise.
51649         * lib/time_.h: Likewise.
51650         * lib/unistd_.h: Likewise.
51651         * lib/wchar_.h: Likewise.
51652         * lib/wctype_.h: Likewise.
51653
51654 2007-05-29  Bruno Haible  <bruno@clisp.org>
51655
51656         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
51657         for the moment.
51658
51659 2007-05-29  Bruno Haible  <bruno@clisp.org>
51660
51661         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
51662         invocation.
51663         Reported by Eric Blake.
51664
51665 2007-05-29  Bruno Haible  <bruno@clisp.org>
51666
51667         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
51668         compiling case.
51669
51670 2007-05-29  Eric Blake  <ebb9@byu.net>
51671             Bruno Haible  <bruno@clisp.org>
51672
51673         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
51674         cross compiles.
51675
51676 2007-05-28  Eric Blake  <ebb9@byu.net>
51677
51678         * modules/closein-tests (test_closein_LDADD): Support test on
51679         cygwin with libtool.
51680
51681 2007-05-28  Bruno Haible  <bruno@clisp.org>
51682
51683         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
51684         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
51685         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
51686         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
51687         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
51688         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
51689         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
51690         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
51691         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
51692
51693 2007-05-28  Eric Blake  <ebb9@byu.net>
51694
51695         Unconditionally include <config.h> in unit tests.
51696         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
51697         * tests/test-allocsa.c, tests/test-arcfour.c,
51698         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
51699         tests/test-array_list.c, tests/test-array_oset.c,
51700         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
51701         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
51702         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
51703         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
51704         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
51705         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
51706         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
51707         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
51708         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
51709         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
51710         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
51711         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
51712         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
51713         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
51714         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
51715         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
51716         test-md5.c, test-memmem.c, test-printf-posix.c,
51717         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
51718         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
51719         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
51720         test-strcasestr.c, test-striconv.c, test-striconveh.c,
51721         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
51722         test-vasnprintf-posix2.c, test-vasnprintf.c,
51723         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
51724         test-vfprintf-posix.c, test-vprintf-posix.c,
51725         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
51726         test-xvasprintf.c: Likewise.
51727
51728 2007-05-28  Bruno Haible  <bruno@clisp.org>
51729
51730         * gnulib-tool (func_import): Remember the --with-tests command-line
51731         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
51732         Reported by Eric Blake.
51733
51734 2007-05-28  Bruno Haible  <bruno@clisp.org>
51735
51736         * modules/ftell-tests: New file.
51737         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
51738         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
51739
51740         * lib/ftell.c: New file.
51741         * modules/ftell: New file.
51742         * m4/ftell.m4: New file.
51743         * doc/functions/ftell.texi: Update.
51744         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
51745         REPLACE_FTELL.
51746         * lib/stdio_.h (rpl_ftell): New declaration.
51747         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
51748         REPLACE_FTELL.
51749
51750 2007-05-28  Eric Blake  <ebb9@byu.net>
51751
51752         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
51753
51754 2007-05-28  Bruno Haible  <bruno@clisp.org>
51755
51756         * modules/fseek-tests: New file.
51757         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
51758         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
51759
51760         * lib/fseek.c: New file.
51761         * modules/fseek: New file.
51762         * m4/fseek.m4: New file.
51763         * doc/functions/fseek.texi: Update.
51764         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
51765         REPLACE_FSEEK.
51766         * lib/stdio_.h (rpl_fseek): New declaration.
51767         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
51768         REPLACE_FSEEK.
51769
51770 2007-05-28  Bruno Haible  <bruno@clisp.org>
51771
51772         * lib/stdio_.h (fflush): More comments.
51773
51774 2007-05-28  Bruno Haible  <bruno@clisp.org>
51775
51776         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
51777         runtime test.
51778
51779 2007-05-28  Eric Blake  <ebb9@byu.net>
51780
51781         Improve lseek module.
51782         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
51783         * lib/unistd_.h (lseek): Scale back link warning message.
51784         * tests/test-lseek.c: Beef up test.
51785         * tests/test-lseek.sh: Exercise more facets of lseek.
51786         Reported by Bruno Haible.
51787
51788 2007-05-28  Bruno Haible  <bruno@clisp.org>
51789
51790         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
51791         to define.
51792
51793 2007-05-27  Bruno Haible  <bruno@clisp.org>
51794
51795         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
51796
51797 2007-05-27  Bruno Haible  <bruno@clisp.org>
51798
51799         * modules/openmp: New file.
51800         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
51801         Noah Misch.
51802
51803 2007-05-26  Bruno Haible  <bruno@clisp.org>
51804
51805         * modules/chdir-long (Depends-on): Add fchdir.
51806         * modules/chdir-safer (Depends-on): Likewise.
51807         * modules/fts (Depends-on): Likewise.
51808         * modules/fts-lgpl (Depends-on): Likewise.
51809         * modules/openat (Depends-on): Likewise.
51810         * modules/savewd (Depends-on): Likewise.
51811
51812 2007-05-24  Eric Blake  <ebb9@byu.net>
51813
51814         Fix lseek on mingw.
51815         * modules/lseek: New module.
51816         * m4/lseek.m4: New file.
51817         * lib/lseek.c: New file.
51818         * modules/lseek-tests: New file.
51819         * tests/test-lseek.c: New file.
51820         * tests/test-lseek.sh: New file.
51821         * MODULES.html.sh: Document lseek module.
51822         * modules/fflush (Depends-on): Add lseek, fseeko.
51823         * modules/fseeko (Depends-on): Likewise.
51824         * modules/ftello (Depends-on): Likewise.
51825         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
51826         broken.
51827         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
51828         broken.
51829         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
51830         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
51831         * lib/ftello.c (rpl_ftello): Likewise.
51832         * tests/test-fseeko.c (main): Test this.
51833         * tests/test-fseeko.sh: Likewise.
51834         * tests/test-ftello.c (main): Likewise.
51835         * tests/test-ftello.sh: Likewise.
51836         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
51837         implies replacing fseek.
51838         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
51839         HAVE_FTELLO.
51840         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
51841         * modules/unistd (Makefile.am): Likewise.
51842         * lib/unistd_.h (lseek): Declare a replacement.
51843         * doc/functions/lseek.texi (lseek): Document this fix.
51844         * doc/functions/fseek.texi (fseek): Likewise.
51845         * doc/functions/ftell.texi (ftell): Likewise.
51846
51847 2007-05-24  Bruno Haible  <bruno@clisp.org>
51848
51849         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
51850         in the printed representation of a NaN.
51851         * tests/test-vasprintf-posix.c (test_function): Likewise.
51852         * tests/test-snprintf-posix.h (test_function): Likewise.
51853         * tests/test-sprintf-posix.h (test_function): Likewise.
51854         Reported by Eric Blake.
51855
51856 2007-05-23  Eric Blake  <ebb9@byu.net>
51857
51858         Fix fseeko/ftello on cygwin 1.5.24.
51859         * doc/functions/fseeko.texi (fseeko): Document the fix.
51860         * doc/functions/ftello.texi (ftello): Document the fix.
51861         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
51862         * doc/functions/stdout.text (stdout): New file.
51863         * doc/functions/stderr.text (stderr): New file.
51864         * doc/gnulib.texi (Function Substitutes): Use new files.
51865         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
51866         prior to 1.7.0.
51867         * tests/test-ftello.c (main): Likewise for ftello.
51868         * tests/test-fseeko.sh: New file.
51869         * tests/test-ftello.sh: New file.
51870         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
51871         with seekable stdin.
51872         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
51873         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
51874         (gl_REPLACE_FSEEKO): New macro.
51875         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
51876         * modules/fseeko (Files): Distribute fseeko.c.
51877         * modules/ftello (Files): Distribute ftello.c.
51878         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
51879         mode.
51880         * lib/ftello.c (rpl_ftello): New file.
51881         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
51882         fseeko, ftello.
51883         (gl_STDIN_LARGE_OFFSET): New macro.
51884         * modules/stdio (Makefile.am): Perform the replacement.
51885         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
51886
51887 2007-05-23  Bruno Haible  <bruno@clisp.org>
51888
51889         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
51890         GNULIB_POSIXCHECK is defined.
51891
51892 2007-05-21  Bruno Haible  <bruno@clisp.org>
51893
51894         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
51895         Check also the output for NaN arguments. When cross-compiling, guess
51896         no on IRIX.
51897         * lib/vasnprintf.c: Update comments.
51898         * tests/test-vasnprintf-posix.c (strisnan): New function.
51899         (test_function): Use it.
51900         * tests/test-vasprintf-posix.c (strisnan): New function.
51901         (test_function): Use it.
51902         * tests/test-snprintf-posix.h (strisnan): New function.
51903         (test_function): Use it.
51904         * tests/test-sprintf-posix.h (strisnan): New function.
51905         (test_function): Use it.
51906         Reported by Eric Blake.
51907
51908 2007-05-20  Bruno Haible  <bruno@clisp.org>
51909
51910         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
51911         numbers that fails on BeOS.
51912         * doc/functions/frexpl.texi: Update.
51913
51914 2007-05-20  Jim Meyering  <jim@meyering.net>
51915
51916         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
51917         forced upon us by glibc-2.6.
51918
51919 2007-05-20  Bruno Haible  <bruno@clisp.org>
51920
51921         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
51922         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
51923         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
51924         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
51925         NEED_PRINTF_INFINITE.
51926         (is_infinitel): New function.
51927         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
51928         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
51929         gl_PREREQ_VASNPRINTF_INFINITE.
51930         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
51931         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
51932         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
51933         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
51934         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
51935         gl_PREREQ_VASNPRINTF_INFINITE.
51936         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
51937         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
51938         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
51939         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
51940         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
51941         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
51942         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
51943         * doc/functions/fprintf.texi: Update.
51944         * doc/functions/printf.texi: Update.
51945         * doc/functions/snprintf.texi: Update.
51946         * doc/functions/sprintf.texi: Update.
51947         * doc/functions/vfprintf.texi: Update.
51948         * doc/functions/vprintf.texi: Update.
51949         * doc/functions/vsnprintf.texi: Update.
51950         * doc/functions/vsprintf.texi: Update.
51951
51952 2007-05-20  Bruno Haible  <bruno@clisp.org>
51953
51954         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
51955         was not found in libc.
51956         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
51957
51958 2007-05-20  Bruno Haible  <bruno@clisp.org>
51959
51960         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
51961         printed as "-nan" instead of "nan".
51962         * tests/test-vasprintf-posix.c (test_function): Likewise.
51963         * tests/test-snprintf-posix.h (test_function): Likewise.
51964         * tests/test-sprintf-posix.h (test_function): Likewise.
51965         Needed for HP-UX 11.
51966
51967 2007-05-20  Jim Meyering  <jim@meyering.net>
51968
51969         Fix buggy test for the fchownat-deref bug.
51970         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
51971         symlink required for the run-test.  Without it, this test would
51972         always declare that fchownat doesn't work, and client code would
51973         unnecessarily use the replacement function with fixed libc.
51974         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
51975         Reported by Greg Schafer.
51976
51977 2007-05-19  Bruno Haible  <bruno@clisp.org>
51978
51979         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
51980         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
51981         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
51982         Needed for IRIX 6.5 and Solaris 2.5.1.
51983
51984 2007-05-19  Bruno Haible  <bruno@clisp.org>
51985
51986         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
51987         (test_function): Skip tests involving -0.0 on platforms where
51988         -0.0 = 0.0.
51989         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
51990         (test_function): Skip tests involving -0.0 on platforms where
51991         -0.0 = 0.0.
51992         * tests/test-snprintf-posix.h (have_minus_zero): New function.
51993         (test_function): Skip tests involving -0.0 on platforms where
51994         -0.0 = 0.0.
51995         * tests/test-sprintf-posix.h (have_minus_zero): New function.
51996         (test_function): Skip tests involving -0.0 on platforms where
51997         -0.0 = 0.0.
51998         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
51999         tests.
52000         * tests/test-printf-posix.h (test_function): Likewise.
52001         * tests/test-printf-posix.output: Remove all -0.0 related results.
52002         Needed for IRIX 6.5.
52003
52004 2007-05-19  Bruno Haible  <bruno@clisp.org>
52005
52006         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
52007         printed as "nan0x7fffffff" instead of "nan".
52008         * tests/test-vasprintf-posix.c (test_function): Likewise.
52009         * tests/test-snprintf-posix.h (test_function): Likewise.
52010         * tests/test-sprintf-posix.h (test_function): Likewise.
52011         * tests/test-fprintf-posix.h (NaN): Remove macro.
52012         (test_function): Remove all NaN related tests.
52013         * tests/test-printf-posix.h (NaN): Remove macro.
52014         (test_function): Remove all NaN related tests.
52015         * tests/test-printf-posix.output: Remove all NaN related results.
52016         Needed for IRIX 6.5.
52017
52018 2007-05-19  Bruno Haible  <bruno@clisp.org>
52019
52020         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
52021         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
52022
52023 2007-05-19  Bruno Haible  <bruno@clisp.org>
52024
52025         * lib/float_.h: New file.
52026         * m4/float_h.m4: New file.
52027         * modules/float: New file.
52028         * modules/isnanl (Dependencies): Add float.
52029         * modules/isnanl-nolibm (Dependencies): Likewise.
52030         * modules/mathl (Dependencies): Likewise.
52031         * modules/printf-frexpl (Dependencies): Likewise.
52032         * modules/signbit (Dependencies): Likewise.
52033         * modules/vasnprintf (Dependencies): Likewise.
52034         * doc/headers/float.texi: Update.
52035
52036 2007-05-19  Jim Meyering  <jim@meyering.net>
52037
52038         * lib/utimens.c (gl_futimens): Rename from futimens,
52039         now that glibc-2.6 declares futimens.
52040         * lib/utimens.h: Likewise.
52041
52042 2007-05-19  Bruno Haible  <bruno@clisp.org>
52043
52044         Avoid test failures on mingw.
52045         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
52046         * tests/test-printf-posix.sh: Likewise.
52047         * tests/test-vfprintf-posix.sh: Likewise.
52048         * tests/test-vprintf-posix.sh: Likewise.
52049
52050 2007-05-19  Bruno Haible  <bruno@clisp.org>
52051
52052         Fix *printf result for NaN, Inf, -0.0 on mingw.
52053         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
52054         * lib/vasnprintf.c: Include math.h and isnan.h.
52055         (is_infinite_or_zero): New function.
52056         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
52057         values in the %f, %F, %e, %E, %g, %G directives.
52058         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
52059         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
52060         gl_PRINTF_INFINITE and test its result. Invoke
52061         gl_PREREQ_VASNPRINTF_INFINITE.
52062         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
52063         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
52064         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
52065         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
52066         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
52067         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
52068         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
52069         * doc/functions/fprintf.texi: Update.
52070         * doc/functions/printf.texi: Update.
52071         * doc/functions/snprintf.texi: Update.
52072         * doc/functions/sprintf.texi: Update.
52073         * doc/functions/vfprintf.texi: Update.
52074         * doc/functions/vprintf.texi: Update.
52075         * doc/functions/vsnprintf.texi: Update.
52076         * doc/functions/vsprintf.texi: Update.
52077
52078 2007-05-19  Bruno Haible  <bruno@clisp.org>
52079
52080         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
52081         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
52082         Instead of multiplying with 10^k, set extra_zeroes to k.
52083         (scale10_round_long_double): Remove function.
52084
52085 2007-05-18  Bruno Haible  <bruno@clisp.org>
52086
52087         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
52088         introduced on 2007-05-06.
52089
52090 2007-05-18  Bruno Haible  <bruno@clisp.org>
52091
52092         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
52093         %g directives.
52094         * tests/test-vasprintf-posix.c (test_function): Likewise.
52095         * tests/test-snprintf-posix.h (test_function): Likewise.
52096         * tests/test-sprintf-posix.h (test_function): Likewise.
52097
52098 2007-05-18  Bruno Haible  <bruno@clisp.org>
52099
52100         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
52101         (strmatch): New function.
52102         (test_function): Test the %f directive on numbers of various exponents.
52103         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
52104         (strmatch): New function.
52105         (test_function): Test the %f directive on numbers of various exponents.
52106         * tests/test-snprintf-posix.h (strmatch): New function.
52107         (test_function): Test the %f directive on numbers of various exponents.
52108         * tests/test-sprintf-posix.h (strmatch): New function.
52109         (test_function): Test the %f directive on numbers of various exponents.
52110         * tests/test-snprintf-posix.c (SIZEOF): New macro.
52111         * tests/test-sprintf-posix.c (SIZEOF): New macro.
52112         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
52113         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
52114
52115 2007-05-18  Bruno Haible  <bruno@clisp.org>
52116
52117         Add support for 'long double' number output.
52118         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
52119         * lib/vasnprintf.c: Include math.h and float+.h.
52120         (mp_limb_t): New type.
52121         (GMP_LIMB_BITS): New macro.
52122         (mp_twolimb_t): New type.
52123         (GMP_TWOLIMB_BITS): New macro.
52124         (mpn_t): New type.
52125         (multiply, divide, convert_to_decimal, decode_long_double,
52126         scale10_round_long_double, scale10_round_decimal_long_double,
52127         floorlog10l): New functions.
52128         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
52129         for the %f, %F, %e, %E, %g, %G directives.
52130         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
52131         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
52132         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
52133         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
52134         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
52135         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
52136         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
52137         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
52138         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
52139         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
52140         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
52141         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
52142         * modules/snprintf-posix (Depends-on): Likewise.
52143         * modules/sprintf-posix (Depends-on): Likewise.
52144         * modules/vasnprintf-posix (Depends-on): Likewise.
52145         * modules/vasprintf-posix (Depends-on): Likewise.
52146         * modules/vfprintf-posix (Depends-on): Likewise.
52147         * modules/vsnprintf-posix (Depends-on): Likewise.
52148         * modules/vsprintf-posix (Depends-on): Likewise.
52149         * modules/vasnprintf (Files): Add lib/float+.h.
52150         * doc/functions/fprintf.texi: Update.
52151         * doc/functions/printf.texi: Update.
52152         * doc/functions/snprintf.texi: Update.
52153         * doc/functions/sprintf.texi: Update.
52154         * doc/functions/vfprintf.texi: Update.
52155         * doc/functions/vprintf.texi: Update.
52156         * doc/functions/vsnprintf.texi: Update.
52157         * doc/functions/vsprintf.texi: Update.
52158
52159 2007-05-18  Bruno Haible  <bruno@clisp.org>
52160
52161         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
52162
52163 2007-05-18  Bruno Haible  <bruno@clisp.org>
52164
52165         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
52166         for printing 64-bit integers. Needed for mingw.
52167
52168 2007-05-18  Bruno Haible  <bruno@clisp.org>
52169
52170         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
52171         gl_FUNC_FREXPL_WORKS.
52172         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
52173
52174 2007-05-18  Bruno Haible  <bruno@clisp.org>
52175
52176         * modules/frexpl-nolibm-tests: New file.
52177
52178         * modules/frexpl-nolibm: New file.
52179         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
52180
52181 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
52182
52183         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
52184         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
52185         GCC 4.2, which otherwise issues a lot of warnings.
52186         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
52187         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
52188         Likewise.
52189         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
52190         * modules/iconv_open (iconv.h): Likewise.
52191         * modules/locale (locale.h): Likewise.
52192         * modules/netinet_in (netinet/in.h): Likewise.
52193         * modules/sys_select (sys_select.h): Likewise.
52194         * modules/sys_socket (sys/socket.h): Likewise.
52195         * modules/sys_stat (sys/stat.h): Likewise.
52196         * modules/sysexits (sysexits.h): Likewise.
52197         * modules/unistd (unistd.h): Likewise.
52198
52199 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52200
52201         * modules/closein-tests (Makefile.am): Distribute
52202         `test-closein.sh'.
52203
52204 2007-05-17  Bruno Haible  <bruno@clisp.org>
52205
52206         * tests/test-printf-posix.output: Renamed from
52207         tests/test-fprintf-posix.out.
52208         * modules/fprintf-posix-tests: Update.
52209         * modules/printf-posix-tests: Update.
52210         * modules/vfprintf-posix-tests: Update.
52211         * modules/vprintf-posix-tests: Update.
52212         * tests/test-fprintf-posix.sh: Update.
52213         * tests/test-printf-posix.sh: Update.
52214         * tests/test-vfprintf-posix.sh: Update.
52215         * tests/test-vprintf-posix.sh: Update.
52216         Reported by Ralf Wildenhues.
52217
52218 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
52219
52220         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
52221         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
52222         GCC 4.2, which otherwise issues a lot of warnings.
52223         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
52224         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
52225         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
52226         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
52227         it should no longer be needed.
52228         * lib/string_.h: Likewise.
52229         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
52230         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
52231         * modules/inttypes (inttypes.h): Likewise.
52232         * modules/math (math.h): Likewise.
52233         * modules/search (search.h): Likewise.
52234         * modules/signal (signal.h): Likewise.
52235         * modules/stdint (stdint.h): Likewise.
52236         * modules/stdio (stdio.h): Likewise.
52237         * modules/stdlib (stdlib.h): Likewise.
52238         * modules/string (string.h): Likewise.
52239         * modules/sys_time (sys/time.h): Likewise.
52240         * modules/time (time.h): Likewise.
52241         * modules/wchar (wchar.h): Likewise.
52242         * modules/wctype (wtype.h): Likewise.
52243
52244 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
52245
52246         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
52247
52248 2007-05-13  Bruno Haible  <bruno@clisp.org>
52249
52250         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
52251         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
52252         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
52253         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
52254         (gl_PREREQ_STRTOK_R): Don't require it here.
52255
52256 2007-05-13  Bruno Haible  <bruno@clisp.org>
52257
52258         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
52259         when used in C++ mode.
52260
52261 2007-05-12  Bruno Haible  <bruno@clisp.org>
52262
52263         * lib/linebuffer.h: Tweak doc.
52264         * lib/linebuffer.c: Likewise.
52265
52266 2007-05-12  James Youngman  <jay@gnu.org>
52267
52268         * lib/linebuffer.c (readlinebuffer_delim): New function,
52269         like readlinebuffer, but use a caller-specified delimiter.
52270         (readlinebuffer): Just call readlinebuffer_delim with '\n'
52271         as the delimiter.
52272         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
52273
52274 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
52275
52276         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
52277         * modules/openat (Files): Remove openat-die.c.
52278         (Depends-on): Add openat-die.
52279         * modules/openat-die: New module.
52280
52281 2007-05-06  Bruno Haible  <bruno@clisp.org>
52282
52283         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
52284         Update with info about Cygwin.
52285         * doc/functions/fprintf.texi: Update.
52286         * doc/functions/printf.texi: Update.
52287         * doc/functions/snprintf.texi: Update.
52288         * doc/functions/sprintf.texi: Update.
52289         * doc/functions/vfprintf.texi: Update.
52290         * doc/functions/vprintf.texi: Update.
52291         * doc/functions/vsnprintf.texi: Update.
52292         * doc/functions/vsprintf.texi: Update.
52293         Reported by Eric Blake.
52294
52295 2007-05-06  Bruno Haible  <bruno@clisp.org>
52296
52297         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
52298         padding ourselves for the floating-point directives.
52299         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
52300         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
52301         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
52302         gl_PRINTF_FLAG_ZERO and test its result. Invoke
52303         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
52304         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
52305         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
52306         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
52307         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
52308         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
52309         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
52310         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
52311         * tests/test-snprintf-posix.h (test_function): Also check the width
52312         and some flags in the %f directive.
52313         * tests/test-sprintf-posix.h (test_function): Likewise.
52314         * tests/test-vasnprintf-posix.c (test_function): Likewise.
52315         * tests/test-vasprintf-posix.c (test_function): Likewise.
52316         * doc/functions/fprintf.texi: Update.
52317         * doc/functions/printf.texi: Update.
52318         * doc/functions/snprintf.texi: Update.
52319         * doc/functions/sprintf.texi: Update.
52320         * doc/functions/vfprintf.texi: Update.
52321         * doc/functions/vprintf.texi: Update.
52322         * doc/functions/vsnprintf.texi: Update.
52323         * doc/functions/vsprintf.texi: Update.
52324
52325 2007-05-06  Bruno Haible  <bruno@clisp.org>
52326
52327         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
52328         pass the ' flag character to sprintf or snprintf.
52329         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
52330         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
52331         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
52332         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
52333         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
52334         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
52335         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
52336         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
52337         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
52338         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
52339         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
52340         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
52341         * tests/test-snprintf-posix.h (test_function): Also check the grouping
52342         flag.
52343         * tests/test-sprintf-posix.h (test_function): Likewise.
52344         * tests/test-vasnprintf-posix.c (test_function): Likewise.
52345         * tests/test-vasprintf-posix.c (test_function): Likewise.
52346         * doc/functions/fprintf.texi: Update.
52347         * doc/functions/printf.texi: Update.
52348         * doc/functions/snprintf.texi: Update.
52349         * doc/functions/sprintf.texi: Update.
52350         * doc/functions/vfprintf.texi: Update.
52351         * doc/functions/vprintf.texi: Update.
52352         * doc/functions/vsnprintf.texi: Update.
52353         * doc/functions/vsprintf.texi: Update.
52354
52355 2007-05-01  Bruno Haible  <bruno@clisp.org>
52356
52357         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
52358
52359 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
52360
52361         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
52362         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
52363
52364 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
52365
52366         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
52367         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
52368         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
52369
52370 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
52371
52372         * lib/argp-help.c (struct hol_entry): New member `ord'.
52373         (HOL_ENTRY_PTRCMP): Use ord for comparison
52374         (hol_sort): Initialize ord.
52375
52376 2007-05-01  Bruno Haible  <bruno@clisp.org>
52377
52378         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
52379         Reported by Eric Blake.
52380         * doc/gnulib.texi (Function Substitutes): Update.
52381
52382 2007-05-01  Bruno Haible  <bruno@clisp.org>
52383
52384         * doc/functions.texi: Remove file, now redundant through
52385         doc/functions/*.texi.
52386
52387 2007-05-01  Bruno Haible  <bruno@clisp.org>
52388
52389         * modules/argp (Depends-on): Add sleep.
52390
52391 2007-05-01  Bruno Haible  <bruno@clisp.org>
52392
52393         * modules/sleep-tests: New file.
52394         * tests/test-sleep.c: New file.
52395
52396         * modules/sleep: New file.
52397         * lib/sleep.c: New file.
52398         * m4/sleep.m4: New file.
52399         * lib/unistd_.h (sleep): New declaration.
52400         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
52401         HAVE_SLEEP.
52402         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
52403         * doc/functions/sleep.texi: Document the sleep module.
52404
52405 2007-05-01  Bruno Haible  <bruno@clisp.org>
52406
52407         * lib/sigprocmask.h: Remove file.
52408         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
52409         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
52410         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
52411         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
52412         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
52413         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
52414         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
52415         HAVE_SIGSET_T as a shell variable.
52416         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
52417         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
52418         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
52419         (Depends-on): Add signal. Remove verify.
52420         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
52421         (Include): Mention <signal.h> instead of sigprocmask.h.
52422         * NEWS: Mention the change.
52423         * lib/fatal-signal.c: Don't include sigprocmask.h.
52424
52425 2007-05-01  Bruno Haible  <bruno@clisp.org>
52426
52427         * modules/signal: New file.
52428         * lib/signal_.h: New file.
52429         * m4/signal_h.m4: New file.
52430
52431 2007-05-01  Bruno Haible  <bruno@clisp.org>
52432
52433         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
52434         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
52435         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
52436         HAVE_WCTYPE_CTMP_BUG into wctype.h.
52437
52438 2007-05-01  Bruno Haible  <bruno@clisp.org>
52439
52440         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
52441         configure time.
52442         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
52443         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
52444         * modules/sys_stat (Makefile.am): Substitute their values into
52445         sys/stat.h.
52446
52447 2007-05-01  Bruno Haible  <bruno@clisp.org>
52448
52449         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
52450         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
52451         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
52452
52453 2007-05-01  Bruno Haible  <bruno@clisp.org>
52454
52455         * doc/header/assert.texi: Undo last change: don't mention the gnulib
52456         'assert' module here.
52457
52458 2007-05-01  Bruno Haible  <bruno@clisp.org>
52459
52460         * doc/functions/*.texi: New files.
52461         * doc/functions/google-ranking.txt: New file.
52462         * doc/gnulib.texi (Function Substitutes): New chapter.
52463         (ctime, inet_ntoa): Remove sections.
52464         * doc/ctime.texi: Remove file.
52465         * doc/inet_ntoa.texi: Remove file.
52466         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
52467         dependencies.
52468         (%.info): New rule, specifying a --reference-limit.
52469
52470 2007-05-01  Bruno Haible  <bruno@clisp.org>
52471
52472         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
52473
52474 2007-05-01  Bruno Haible  <bruno@clisp.org>
52475
52476         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
52477         the portability of 'mkdir' to mingw systems.
52478
52479 2007-05-01  Bruno Haible  <bruno@clisp.org>
52480
52481         * doc/headers/google-ranking.txt: New file.
52482
52483 2007-04-30  Eric Blake  <ebb9@byu.net>
52484
52485         Prefer fseeko to fseek.
52486         * modules/getpass (Depends-on): Add fseeko.
52487         * lib/getpass.c (getpass): Use fseeko, not fseek.
52488
52489 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
52490
52491         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
52492         assumes the sorting is stable, while most qsort implementations
52493         are not.  Use argument addresses to ensure they never compare as
52494         equal.
52495
52496         * tests/test-argp-2.sh (usage-indent test): Fix output
52497         (func_compare): Restore diff options
52498         * tests/test-argp.c: Restore #include "progname.h"
52499
52500 2007-04-29  Bruno Haible  <bruno@clisp.org>
52501
52502         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
52503         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
52504         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
52505         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
52506         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
52507         (configure.ac): Define CHECK_SNPRINTF_POSIX.
52508         (TESTS, check_PROGRAMS): Add test-snprintf.
52509         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
52510         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
52511         (TESTS, check_PROGRAMS): Add test-vsnprintf.
52512         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
52513         assertions that fail on HP-UX, OSF/1, or IRIX.
52514         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
52515
52516 2007-04-29  Bruno Haible  <bruno@clisp.org>
52517
52518         * MODULES.html.sh (posix_functions): Remove 'contents'.
52519
52520 2007-04-29  Karl Berry  <karl@gnu.org>
52521
52522         * config/srclist.txt (gendocs_template_min): new entry.
52523
52524 2007-04-29  Bruno Haible  <bruno@clisp.org>
52525
52526         Work around fpurge bug on BSD systems.
52527         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
52528         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
52529         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
52530         fpurge to rpl_fpurge if the system already has this function.
52531         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
52532         the case where the system already has this function. Correct invariants
52533         on BSD systems.
52534         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
52535         BSD systems.
52536
52537 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
52538
52539         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
52540         proposed by Sven Verdoolaege.
52541
52542         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
52543         options.
52544         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
52545         (usage and help tests): Update
52546
52547 2007-04-29  Bruno Haible  <bruno@clisp.org>
52548
52549         * tests/test-fflush.c (main): Use a file of size 17, not 10.
52550         Print more information in case of failure. Disable a test on BeOS.
52551
52552 2007-04-29  Bruno Haible  <bruno@clisp.org>
52553
52554         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
52555         This helps debugging on systems on which no gdb is available.
52556
52557 2007-04-29  Bruno Haible  <bruno@clisp.org>
52558
52559         * lib/freading.h: Improve comments.
52560         * lib/fwriting.h: Likewise.
52561         * tests/test-freading.c (main): Don't check freading immediately after
52562         repositioning. Needed for glibc.
52563
52564 2007-04-29  Bruno Haible  <bruno@clisp.org>
52565
52566         * lib/freading.c (freading): Trivial simplification.
52567
52568 2007-04-28  Bruno Haible  <bruno@clisp.org>
52569
52570         * tests/test-fwriting.c (main): Also test the interaction between
52571         fflush and fwriting.
52572         * modules/fwriting-tests (Depends-on): Add fflush.
52573
52574         * tests/test-freading.c (main): Also test the interaction between
52575         fflush and freading.
52576         * modules/freading-tests (Depends-on): Add fflush.
52577
52578 2007-04-28  Bruno Haible  <bruno@clisp.org>
52579
52580         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
52581         fseeko and ftello.
52582         Suggested by Eric Blake.
52583
52584 2007-04-28  Jim Meyering  <jim@meyering.net>
52585
52586         Avoid false-negative in gl_STDINT_H's C99 conformance test.
52587         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
52588         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
52589
52590 2007-04-27  Eric Blake  <ebb9@byu.net>
52591
52592         * doc/headers/assert.texi (assert.h): Document assert module use.
52593
52594 2007-04-27  Bruno Haible  <bruno@clisp.org>
52595
52596         * doc/headers/*.texi: New files.
52597         * doc/gnulib.texi (Header File Substitutes): New chapter.
52598         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
52599         dependencies.
52600         (standards.info ,standards.html, standards.dvi): Update dependencies.
52601         (mostlyclean, clean): New targets.
52602
52603 2007-04-27  Bruno Haible  <bruno@clisp.org>
52604
52605         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
52606         * modules/sysexits (Files, Makefile.am): Update.
52607
52608         * lib/sys_socket_.h: Renamed from lib/socket_.h.
52609         * modules/sys_socket (Files, Makefile.am): Update.
52610
52611         * lib/sys_stat_.h: Renamed from lib/stat_.h.
52612         * modules/sys_stat (Files, Makefile.am): Update.
52613
52614 2007-04-27  Eric Blake  <ebb9@byu.net>
52615
52616         * lib/freading.h: Improve comments.
52617         * lib/fwriting.h: Likewise.
52618         * lib/fflush.c: Likewise.
52619
52620         Fix closein for mingw.
52621         * modules/closein-tests: Add tests for closein.
52622         * tests/test-closein.c: New file.
52623         * tests/test-closein.sh: Likewise.
52624         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
52625         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
52626
52627 2007-04-27  Bruno Haible  <bruno@clisp.org>
52628
52629         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
52630         version is < 6.
52631         * lib/math_.h [__DECC]: Likewise.
52632         * lib/stdio_.h [__DECC]: Likewise.
52633         * lib/stdlib_.h [__DECC]: Likewise.
52634         * lib/string_.h [__DECC]: Likewise.
52635         * lib/time_.h [__DECC]: Likewise.
52636         * lib/wchar_.h [__DECC]: Likewise.
52637         * lib/wctype_.h [__DECC]: Likewise.
52638
52639 2007-04-27  Bruno Haible  <bruno@clisp.org>
52640
52641         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
52642
52643 2007-04-27  Bruno Haible  <bruno@clisp.org>
52644
52645         * lib/fflush.c: Add comments.
52646         * modules/fpurge-tests (Depends-on): Add fflush.
52647         * modules/freadable-tests (Depends-on): Likewise.
52648         * modules/fwritable-tests (Depends-on): Likewise.
52649
52650 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
52651
52652         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
52653         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
52654         Report by Bruno Haible <bruno@clisp.org>.
52655
52656 2007-04-26  Eric Blake  <ebb9@byu.net>
52657
52658         Fix fflush on mingw.
52659         * modules/fflush (Depends-on): Add freading.
52660         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
52661         but unread data.
52662
52663 2007-04-26  Eric Blake  <ebb9@byu.net>
52664         and Bruno Haible  <bruno@clisp.org>
52665
52666         Implement freading and fwriting.
52667         * lib/freading.c: New file.
52668         * lib/freading.h: Likewise.
52669         * m4/freading.m4: Likewise.
52670         * modules/freading: Likewise.
52671         * modules/freading-tests: Likewise.
52672         * tests/test-freading.c: Likewise.
52673         * lib/fwriting.c: New file.
52674         * lib/fwriting.h: Likewise.
52675         * m4/fwriting.m4: Likewise.
52676         * modules/fwriting: Likewise.
52677         * modules/fwriting-tests: Likewise.
52678         * tests/test-fwriting.c: Likewise.
52679         * MODULES.html.sh (File stream based Input/Output): Mention them.
52680
52681 2007-04-26  Bruno Haible  <bruno@clisp.org>
52682
52683         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
52684         'long' when we assume it.
52685         Suggested by Eric Blake.
52686
52687 2007-04-26  Bruno Haible  <bruno@clisp.org>
52688
52689         Ensure fseeko, ftello are declared on glibc systems.
52690         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
52691         * modules/fseeko (configure.ac-early): Likewise.
52692         * modules/ftello (configure.ac-early): Likewise.
52693         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
52694         AC_FUNC_FSEEKO for this.
52695         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
52696         (gl_CHECK_FSEEKO): Remove macro.
52697
52698 2007-04-26  Bruno Haible  <bruno@clisp.org>
52699
52700         * tests/test-fflush.c (main): Also check the ftell result after
52701         fflush and fseek/fseeko.
52702         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
52703         file descriptor position cache in the stream.
52704         * lib/fseeko.c (rpl_fseeko): Likewise.
52705
52706 2007-04-26  Bruno Haible  <bruno@clisp.org>
52707
52708         * modules/fflush-tests (Depends-on): Add fseeko.
52709
52710 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
52711             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52712
52713         * lib/argz_.h: ensure error_t definition is obtained in same
52714         mechanism system argz.h would have.
52715         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
52716         argz facilities are known bad.  Err on the side of caution if
52717         cross-compiling.
52718
52719 2007-04-25  Eric Blake  <ebb9@byu.net>
52720
52721         * lib/fpurge.c (includes): Use stdlib.h for free.
52722         * tests/test-fflush.c (main): Also test fflush-fseeko.
52723
52724 2007-04-25  Bruno Haible  <bruno@clisp.org>
52725
52726         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
52727         * lib/fseeko.c: New file.
52728         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
52729         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
52730         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
52731         gl_FUNC_FSEEKO.
52732         (gl_FUNC_FSEEKO): Invoke it.
52733         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
52734         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
52735         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
52736
52737 2007-04-25  Bruno Haible  <bruno@clisp.org>
52738
52739         * modules/fflush (Depends-on): Add ftello.
52740
52741 2007-04-25  Bruno Haible  <bruno@clisp.org>
52742
52743         * modules/ftello-tests: New file.
52744         * tests/test-ftello.c: New file.
52745
52746         * modules/ftello: New file.
52747         * m4/ftello.m4: New file.
52748         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
52749         HAVE_FTELLO.
52750         * lib/stdio_.h (ftello): New declaration.
52751         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
52752         HAVE_FTELLO.
52753
52754 2007-04-25  Bruno Haible  <bruno@clisp.org>
52755
52756         * modules/fseeko-tests: New file.
52757         * tests/test-fseeko.c: New file.
52758
52759         * modules/fseeko: New file.
52760         * m4/fseeko.m4: New file.
52761         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
52762         HAVE_FSEEKO.
52763         * lib/stdio_.h (fseeko): New declaration.
52764         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
52765         HAVE_FSEEKO.
52766
52767 2007-04-25  Bruno Haible  <bruno@clisp.org>
52768
52769         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
52770
52771 2007-04-25  Bruno Haible  <bruno@clisp.org>
52772
52773         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
52774         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
52775         * tests/test-unistd.c: Likewise.
52776         * tests/test-fcntl.c: Likewise.
52777
52778 2007-04-23  Eric Blake  <ebb9@byu.net>
52779
52780         * lib/fflush.c: Fix missing include.
52781         Reported by Bruno Haible.
52782
52783 2007-04-23  Bruno Haible  <bruno@clisp.org>
52784
52785         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
52786         Reported by Eric Blake.
52787
52788 2007-04-23  Bruno Haible  <bruno@clisp.org>
52789
52790         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
52791
52792 2007-04-23  Bruno Haible  <bruno@clisp.org>
52793
52794         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
52795
52796 2007-04-23  Bruno Haible  <bruno@clisp.org>
52797
52798         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
52799         Needed on HP-UX 11.
52800
52801 2007-04-16  Eric Blake  <ebb9@byu.net>
52802
52803         Make fflush rely on fpurge.
52804         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
52805         open coding all variants.
52806         * modules/fflush (Depends-on): Add fpurge and unistd.
52807         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
52808         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
52809
52810         Fix --with-tests compilation on cygwin.
52811         * modules/argmatch-tests (Makefile.am): List gnulib library first
52812         in LDADD.
52813         * modules/argp-tests (Makefile.am): Likewise.
52814         * modules/array-list-tests (Makefile.am): Likewise.
52815         * modules/array-oset-tests (Makefile.am): Likewise.
52816         * modules/avltree-list-tests (Makefile.am): Likewise.
52817         * modules/avltree-oset-tests (Makefile.am): Likewise.
52818         * modules/avltreehash-list-tests (Makefile.am): Likewise.
52819         * modules/carray-list-tests (Makefile.am): Likewise.
52820         * modules/dirname-tests (Makefile.am): Likewise.
52821         * modules/frexp-tests (Makefile.am): Likewise.
52822         * modules/isnanl-tests (Makefile.am): Likewise.
52823         * modules/linked-list-tests (Makefile.am): Likewise.
52824         * modules/linkedhash-list-tests (Makefile.am): Likewise.
52825         * modules/lock-tests (Makefile.am): Likewise.
52826         * modules/rbtree-list-tests (Makefile.am): Likewise.
52827         * modules/rbtree-oset-tests (Makefile.am): Likewise.
52828         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
52829         * modules/tls-tests (Makefile.am): Likewise.
52830         * modules/tsearch-tests (Makefile.am): Likewise.
52831         * modules/xvasprintf-tests (Makefile.am): Likewise.
52832
52833         Fix fpurge for cygwin.
52834         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
52835         value.
52836         * modules/fpurge-tests (Depends-on): Clean up trash.
52837
52838 2007-04-16  Simon Josefsson  <simon@josefsson.org>
52839
52840         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
52841
52842         * m4/autobuild.m4: Re-indent.
52843
52844 2007-04-13  Bruno Haible  <bruno@clisp.org>
52845
52846         * modules/fpurge-tests: New file.
52847         * tests/test-fpurge.c: New file.
52848
52849         * modules/fpurge: New file.
52850         * lib/fpurge.h: New file.
52851         * lib/fpurge.c: New file.
52852         * m4/fpurge.m4: New file.
52853
52854 2007-04-13  Bruno Haible  <bruno@clisp.org>
52855
52856         * modules/fbufmode-tests: New file.
52857         * tests/test-fbufmode.c: New file.
52858
52859         * modules/fbufmode: New file.
52860         * lib/fbufmode.h: New file.
52861         * lib/fbufmode.c: New file.
52862         * m4/fbufmode.m4: New file.
52863
52864 2007-04-13  Bruno Haible  <bruno@clisp.org>
52865
52866         * modules/fwritable-tests: New file.
52867         * tests/test-fwritable.c: New file.
52868
52869         * modules/fwritable: New file.
52870         * lib/fwritable.h: New file.
52871         * lib/fwritable.c: New file.
52872         * m4/fwritable.m4: New file.
52873
52874 2007-04-13  Bruno Haible  <bruno@clisp.org>
52875
52876         * modules/freadable-tests: New file.
52877         * tests/test-freadable.c: New file.
52878
52879         * modules/freadable: New file.
52880         * lib/freadable.h: New file.
52881         * lib/freadable.c: New file.
52882         * m4/freadable.m4: New file.
52883
52884 2007-04-13  Bruno Haible  <bruno@clisp.org>
52885
52886         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
52887         MOSTLYCLEANFILES.
52888
52889 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
52890
52891         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
52892         gzip bootstrap.conf to avoid dragging in i18n machinery.
52893         (gnulib_tool_option): Use it.
52894
52895 2007-04-13  Bruno Haible  <bruno@clisp.org>
52896
52897         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
52898         %F directives.
52899         * tests/test-vasprintf-posix.c (test_function): Likewise.
52900         * tests/test-snprintf-posix.h (test_function): Likewise.
52901         * tests/test-sprintf-posix.h (test_function): Likewise.
52902         * tests/test-fprintf-posix.h (test_function): Likewise.
52903         * tests/test-printf-posix.h (test_function): Likewise.
52904         * tests/test-fprintf-posix.out: Likewise.
52905
52906 2007-04-13  Bruno Haible  <bruno@clisp.org>
52907
52908         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
52909         * modules/tls-tests (configure.ac): Likewise.
52910         Reported by Arto C. Nirkko <anirkko@insel.ch>.
52911
52912 2007-04-13  Bruno Haible  <bruno@clisp.org>
52913
52914         * lib/tls.c (glthread_tls_get): Fix return type.
52915         Patch by Arto C. Nirkko <anirkko@insel.ch>.
52916
52917 2007-04-12  Eric Blake  <ebb9@byu.net>
52918
52919         * modules/gettime (Depends-on): Remove gettime.
52920         Reported by Dmitry V. Levin.
52921
52922 2007-04-12  Bruno Haible  <bruno@clisp.org>
52923
52924         * modules/fflush (Include): Mention <stdio.h>.
52925         * modules/strtoimax (Include): Mention <inttypes.h>.
52926         * modules/strtoumax (Include): Likewise.
52927
52928 2007-04-12  Eric Blake  <ebb9@byu.net>
52929
52930         * .cvsignore: New file.
52931         * .gitignore: Likewise.
52932
52933 2007-04-12  Bruno Haible  <bruno@clisp.org>
52934
52935         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
52936         not before, since $(LDADD) often contains libgnu.a.
52937         * modules/striconv-tests (test_striconv_LDADD): Likewise.
52938         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
52939         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
52940         Needed on Cygwin.
52941
52942 2007-04-12  Eric Blake  <ebb9@byu.net>
52943
52944         Work around glibc's failure to flush stdin on fclose.
52945         * lib/closein.c (close_stdin): Flush stdin before closing.
52946
52947         Work around glibc's failure to reset seekable stdin on exit.
52948         * modules/closein: New module.
52949         * lib/closein.c: New file.
52950         * lib/closein.h: Likewise.
52951         * m4/closein.m4: Likewise.
52952         * MODULES.html.sh (File stream based Input/Output): Document it.
52953
52954 2007-04-12  Simon Josefsson  <simon@josefsson.org>
52955
52956         * gnulib-tool: Rename generated 'autobuild' script to
52957         'do-autobuild' in --create-megatestdir output.
52958
52959         * doc/gnulib.texi (Build robot for gnulib): Fix.
52960
52961 2007-04-12  Simon Josefsson  <simon@josefsson.org>
52962
52963         * modules/sysexits (Depends-on): Add absolute-header.
52964
52965 2007-04-12  Eric Blake  <ebb9@byu.net>
52966
52967         No need to preserve errno on success.
52968         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
52969         Reported by Bruno Haible.
52970
52971 2007-04-12  Simon Josefsson  <simon@josefsson.org>
52972
52973         * MODULES.html.sh (Support for maintaining and releasing
52974         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
52975
52976 2007-04-12  Simon Josefsson  <simon@josefsson.org>
52977
52978         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
52979
52980 2007-04-12  Simon Josefsson  <simon@josefsson.org>
52981
52982         * modules/autobuild: New module.
52983
52984         * m4/autobuild.m4: New file.
52985
52986 2007-04-11  Bruno Haible  <bruno@clisp.org>
52987
52988         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
52989         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
52990         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
52991         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
52992         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
52993         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
52994         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
52995         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
52996         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
52997         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
52998         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
52999         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
53000         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
53001         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
53002         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
53003         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
53004         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
53005         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
53006         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
53007         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
53008         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
53009         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
53010         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
53011         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
53012         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
53013         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
53014         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
53015         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
53016         Reported by Eric Blake.
53017
53018 2007-04-11  Bruno Haible  <bruno@clisp.org>
53019
53020         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
53021
53022 2007-04-10  Bruno Haible  <bruno@clisp.org>
53023
53024         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
53025         for NaN and Infinity. Needed on FreeBSD 6.1.
53026         * tests/test-vasnprintf-posix.c (test_function): Undo last change
53027         regarding results for "%010a" of Infinity and NaN.
53028         * tests/test-vasprintf-posix.c (test_function): Likewise.
53029         * tests/test-snprintf-posix.h (test_function): Likewise.
53030         * tests/test-sprintf-posix.h (test_function): Likewise.
53031         * tests/test-fprintf-posix.h (test_function): Likewise.
53032         * tests/test-printf-posix.h (test_function): Likewise.
53033         * tests/test-fprintf-posix.out: Likewise.
53034
53035 2007-04-10  Bruno Haible  <bruno@clisp.org>
53036
53037         * modules/locale-tests: New file.
53038         * tests/test-locale.c: New file.
53039
53040         * modules/locale: New file.
53041         * lib/locale_.h: New file.
53042         * m4/locale_h.m4: New file.
53043
53044 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
53045             Bruno Haible  <bruno@clisp.org>
53046
53047         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
53048         be determined, test for availability of the copysignf, copysign,
53049         copysignl functions.
53050         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
53051         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
53052         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
53053
53054 2007-04-09  Eric Blake  <ebb9@byu.net>
53055
53056         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
53057         * modules/stdio (Makefile.am): Support fflush.
53058         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
53059         * modules/fflush: New file.
53060         * lib/fflush.c: Likewise.
53061         * m4/fflush.m4: Likewise.
53062         * modules/fflush-tests: New test.
53063         * tests/test-fflush.c: Likewise.
53064         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
53065
53066 2007-04-06  Bruno Haible  <bruno@clisp.org>
53067
53068         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
53069         (VASNPRINTF): Use signbit for faster determination whether to print a
53070         minus sign.
53071         * modules/vasnprintf (Files): Remove lib/float+.h.
53072         * modules/fprintf-posix (Depends-on): Add signbit.
53073         * modules/snprintf-posix (Depends-on): Likewise.
53074         * modules/sprintf-posix (Depends-on): Likewise.
53075         * modules/vasnprintf-posix (Depends-on): Likewise.
53076         * modules/vasprintf-posix (Depends-on): Likewise.
53077         * modules/vfprintf-posix (Depends-on): Likewise.
53078         * modules/vsnprintf-posix (Depends-on): Likewise.
53079         * modules/vsprintf-posix (Depends-on): Likewise.
53080
53081 2007-04-06  Bruno Haible  <bruno@clisp.org>
53082
53083         * tests/test-frexp.c (main): Test also the sign bit of zero results.
53084         * tests/test-frexpl.c (main): Likewise.
53085         * tests/test-ldexpl.c (main): Likewise.
53086         * modules/frexp-tests (Depends-on): Add signbit.
53087         * modules/frexpl-tests (Depdends-on): Likewise.
53088         * modules/ldexpl-tests (Depdends-on): Likewise.
53089
53090 2007-04-06  Bruno Haible  <bruno@clisp.org>
53091
53092         * modules/signbit-tests: New file.
53093         * tests/test-signbit.c: New file.
53094
53095         * modules/signbit: New file.
53096         * lib/signbitf.c: New file.
53097         * lib/signbitd.c: New file.
53098         * lib/signbitl.c: New file.
53099         * m4/signbit.m4: New file.
53100         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
53101         (signbit): New macro.
53102         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
53103         REPLACE_SIGNBIT.
53104         * modules/math (Makefile.am): Substibute also GNULIB_SIGNBIT and
53105         REPLACE_FREXPL into math.h.
53106
53107 2007-04-06  Bruno Haible  <bruno@clisp.org>
53108
53109         * modules/isnanf-nolibm-tests: New file.
53110         * tests/test-isnanf.c: New file.
53111
53112         * modules/isnanf-nolibm: New file.
53113         * lib/isnanf.h: New file.
53114         * lib/isnanf.c: New file.
53115         * lib/isnan.c: Consider the USE_FLOAT macro.
53116         * m4/isnanf.m4: New file.
53117
53118 2007-04-06  Bruno Haible  <bruno@clisp.org>
53119
53120         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
53121         (Link): New section.
53122
53123         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
53124
53125 2007-04-06  Bruno Haible  <bruno@clisp.org>
53126
53127         Assume the 'long double' type.
53128         * m4/longdouble.m4: Remove file.
53129         * config/srclist.txt: Don't mention longdouble.m4.
53130         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
53131         * lib/float+.h: Likewise.
53132         * lib/frexp.c: Likewise.
53133         * lib/printf-args.h: Likewise.
53134         * lib/printf-args.c: Likewise.
53135         * lib/printf-frexp.c: Likewise.
53136         * lib/printf-parse.c: Likewise.
53137         * lib/vasnprintf.c: Likewise.
53138         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
53139         * m4/intl.m4: Likewise.
53140         * m4/isnanl.m4: Likewise.
53141         * m4/printf.m4: Likewise.
53142         * m4/printf-frexpl.m4: Likewise.
53143         * m4/vasnprintf.m4: Likewise.
53144         * modules/allocsa (Files): Remove m4/longdouble.m4.
53145         * modules/gettext (Files): Likewise.
53146         * modules/relocatable-prog-wrapper (Files): Likewise.
53147         * modules/vasnprintf (Files): Likewise.
53148         * modules/isnanl (Files): Likewise.
53149         (Include): Simplify.
53150         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
53151         (Include): Simplify.
53152         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
53153         (Include): Simplify.
53154         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
53155         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
53156         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
53157         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
53158         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
53159         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
53160         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
53161         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
53162         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
53163         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
53164         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
53165         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
53166         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
53167         * tests/test-isnanl.c: Likewise.
53168         * tests/test-snprintf-posix.h: Likewise.
53169         * tests/test-sprintf-posix.h: Likewise.
53170         * tests/test-vasnprintf-posix.c: Likewise.
53171         * tests/test-vasnprintf-posix2.c: Likewise.
53172         * tests/test-vasprintf-posix.c: Likewise.
53173
53174 2007-04-06  Bruno Haible  <bruno@clisp.org>
53175
53176         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
53177         * lib/math_.h [__DECC]: Include the overridden include file through
53178         #include_next, outside the double-inclusion guard.
53179         * lib/stdio_.h [__DECC]: Likewise.
53180         * lib/stdlib_.h [__DECC]: Likewise.
53181         * lib/string_.h [__DECC]: Likewise.
53182         * lib/time_.h [__DECC]: Likewise.
53183         * lib/wchar_.h [__DECC]: Likewise.
53184         * lib/wctype_.h [__DECC]: Likewise.
53185         * lib/inttypes_.h [__DECC]: Likewise.
53186         Reported by Albert Chin <china@thewrittenword.com> in
53187         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
53188
53189 2007-04-04  Eric Blake  <ebb9@byu.net>
53190
53191         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
53192         1.5.x.
53193
53194 2007-04-04  Bruno Haible  <bruno@clisp.org>
53195
53196         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
53197         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
53198
53199 2007-04-04  Bruno Haible  <bruno@clisp.org>
53200
53201         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
53202         results for "%010a" of Infinity and NaN.
53203         * tests/test-vasprintf-posix.c (test_function): Likewise.
53204         * tests/test-snprintf-posix.h (test_function): Likewise.
53205         * tests/test-sprintf-posix.h (test_function): Likewise.
53206         * tests/test-fprintf-posix.h (test_function): Remove these tests.
53207         * tests/test-printf-posix.h (test_function): Likewise.
53208         * tests/test-fprintf-posix.out: Update.
53209         Needed for FreeBSD 6.1.
53210
53211 2007-04-04  Bruno Haible  <bruno@clisp.org>
53212
53213         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
53214         directly used by the gnulib modules nor by gnulib-tool.
53215
53216 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
53217
53218         * DEPENDENCIES: Give overall description of version dependency
53219         desirability.  Use more-typical names for apps.
53220         Add shell, coreutils, diffutils, grep, tar, gzip.
53221
53222 2007-04-04  Simon Josefsson  <simon@josefsson.org>
53223
53224         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
53225
53226 2007-04-04  Karl Berry  <karl@gnu.org>
53227
53228         * MODULES.html.sh (func_module): missing '.
53229
53230 2007-04-03  Bruno Haible  <bruno@clisp.org>
53231
53232         * modules/argmatch-tests (Makefile.am): New variable
53233         test_argmatch_LDADD.
53234         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
53235         * modules/array-list-tests (Makefile.am): New variable
53236         test_array_list_LDADD.
53237         * modules/array-oset-tests (Makefile.am): New variable
53238         test_array_oset_LDADD.
53239         * modules/avltree-list-tests (Makefile.am): New variable
53240         test_avltree_list_LDADD.
53241         * modules/avltree-oset-tests (Makefile.am): New variable
53242         test_avltree_oset_LDADD.
53243         * modules/avltreehash-list-tests (Makefile.am): New variable
53244         test_avltreehash_list_LDADD.
53245         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
53246         test_canonicalize_lgpl_LDADD.
53247         * modules/carray-list-tests (Makefile.am): New variable
53248         test_carray_list_LDADD.
53249         * modules/dirname-tests (Makefile.am): New variable
53250         test_dirname_LDADD.
53251         * modules/linked-list-tests (Makefile.am): New variable
53252         test_linked_list_LDADD.
53253         * modules/linkedhash-list-tests (Makefile.am): New variable
53254         test_linkedhash_list_LDADD.
53255         * modules/rbtree-list-tests (Makefile.am): New variable
53256         test_rbtree_list_LDADD.
53257         * modules/rbtree-oset-tests (Makefile.am): New variable
53258         test_rbtree_oset_LDADD.
53259         * modules/rbtreehash-list-tests (Makefile.am): New variable
53260         test_rbtreehash_list_LDADD.
53261         * modules/xvasprintf-tests (Makefile.am): New variable
53262         test_xvasprintf_LDADD.
53263         Reported by Eric Blake.
53264
53265 2007-04-03  Eric Blake  <ebb9@byu.net>
53266
53267         * DEPENDENCIES: Weaken m4 requirements.
53268
53269 2007-04-03  Bruno Haible  <bruno@clisp.org>
53270
53271         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
53272         * modules/isnanl-tests (configure.ac): Likewise.
53273
53274 2007-04-03  Ben Pfaff  <blp@gnu.org>
53275
53276         * modules/iconv_open: Add $(srcdir)/ to source directory
53277         references in Makefile fragments that call gperf, to fix VPATH
53278         builds.
53279
53280 2007-04-03  Bruno Haible  <bruno@clisp.org>
53281
53282         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
53283         * lib/ldexpl.c: Undo last change.
53284
53285 2007-04-03  Bruno Haible  <bruno@clisp.org>
53286
53287         * modules/printf-frexpl (Depends-on): Undo last change.
53288         (Files): Add m4/ldexpl.m4.
53289
53290 2007-04-03  Bruno Haible  <bruno@clisp.org>
53291
53292         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
53293         * modules/isnanl (Link): New section.
53294
53295         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
53296         * modules/frexp (Link): New section.
53297
53298         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
53299         * modules/frexpl (Link): New section.
53300
53301         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
53302         * modules/ldexpl (Link): New section.
53303
53304 2007-04-03  Bruno Haible  <bruno@clisp.org>
53305
53306         * modules/TEMPLATE-EXTENDED: New file.
53307         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
53308
53309 2007-04-03  Bruno Haible  <bruno@clisp.org>
53310
53311         * DEPENDENCIES: New file.
53312         Suggested by Simon Josefsson.
53313
53314 2007-04-03  Bruno Haible  <bruno@clisp.org>
53315
53316         * doc/gnulib.texi: Escape @.
53317
53318 2007-04-03  James Youngman  <jay@gnu.org>
53319         and Paul Eggert  <eggert@cs.ucla.edu>
53320
53321         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
53322         birthtime on all systems that have birthtime, not just those which
53323         use st_birthtimensec rather than st_birthtim.  Putting zero in
53324         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
53325         that the birth time is not available for files on an NFS mount.
53326
53327 2007-04-03  Simon Josefsson  <simon@josefsson.org>
53328
53329         * modules/memxor: Move back from crypto/, suggested by Bruno.
53330         * modules/crypto/hmac-sha1: Fix memxor dependency.
53331
53332         * modules/crypto/gc: Moved from ../.
53333
53334 2007-04-02  Eric Blake  <ebb9@byu.net>
53335
53336         * lib/ldexpl.c (includes): Avoid libm.
53337
53338         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
53339
53340 2007-04-02  Bruno Haible  <bruno@clisp.org>
53341
53342         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
53343         on IRIX.
53344
53345 2007-04-02  Bruno Haible  <bruno@clisp.org>
53346
53347         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
53348         x86 or x86_64 platforms running MacOS X.
53349         Reported by Ryan Schmidt <@ryandesign.com>.
53350
53351 2007-04-02  Bruno Haible  <bruno@clisp.org>
53352
53353         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
53354         i386.
53355
53356 2007-04-01  Simon Josefsson  <simon@josefsson.org>
53357
53358         * modules/crypto/arcfour: Moved from ../.
53359         * modules/crypto/arcfour-tests: Moved from ../.
53360         * modules/crypto/arctwo: Moved from ../.
53361         * modules/crypto/arctwo-tests: Moved from ../.
53362         * modules/crypto/des: Moved from ../.
53363         * modules/crypto/des-tests: Moved from ../.
53364         * modules/crypto/gc-arcfour: Moved from ../.
53365         * modules/crypto/gc-arcfour-tests: Moved from ../.
53366         * modules/crypto/gc-arctwo: Moved from ../.
53367         * modules/crypto/gc-arctwo-tests: Moved from ../.
53368         * modules/crypto/gc-des: Moved from ../.
53369         * modules/crypto/gc-des-tests: Moved from ../.
53370         * modules/crypto/gc-hmac-md5: Moved from ../.
53371         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
53372         * modules/crypto/gc-hmac-sha1: Moved from ../.
53373         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
53374         * modules/crypto/gc-md2: Moved from ../.
53375         * modules/crypto/gc-md2-tests: Moved from ../.
53376         * modules/crypto/gc-md4: Moved from ../.
53377         * modules/crypto/gc-md4-tests: Moved from ../.
53378         * modules/crypto/gc-md5: Moved from ../.
53379         * modules/crypto/gc-md5-tests: Moved from ../.
53380         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
53381         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
53382         * modules/crypto/gc-random: Moved from ../.
53383         * modules/crypto/gc-rijndael: Moved from ../.
53384         * modules/crypto/gc-rijndael-tests: Moved from ../.
53385         * modules/crypto/gc-sha1: Moved from ../.
53386         * modules/crypto/gc-sha1-tests: Moved from ../.
53387         * modules/crypto/gc-tests: Moved from ../.
53388         * modules/crypto/hmac-md5: Moved from ../.
53389         * modules/crypto/hmac-md5-tests: Moved from ../.
53390         * modules/crypto/hmac-sha1: Moved from ../.
53391         * modules/crypto/hmac-sha1-tests: Moved from ../.
53392         * modules/crypto/md2: Moved from ../.
53393         * modules/crypto/md2-tests: Moved from ../.
53394         * modules/crypto/md4: Moved from ../.
53395         * modules/crypto/md4-tests: Moved from ../.
53396         * modules/crypto/md5: Moved from ../.
53397         * modules/crypto/md5-tests: Moved from ../.
53398         * modules/crypto/memxor: Moved from ../.
53399         * modules/crypto/rijndael: Moved from ../.
53400         * modules/crypto/rijndael-tests: Moved from ../.
53401         * modules/crypto/sha1: Moved from ../.
53402
53403 2007-03-30  James Youngman  <jay@gnu.org>
53404
53405         * tests/test-stat-time.c (prepare_test): use chmod() rather than
53406         rename() to change the ctime of a file (because ctime is unaffected
53407         by rename on jfs2 on AIX 5.1).
53408         (main): Start by doing cleanup, in case a previous run failed leaving
53409         test files behind.
53410
53411 2007-03-31  Bruno Haible  <bruno@clisp.org>
53412
53413         Support old proprietary implementations of iconv.
53414         * modules/iconv_open: New file.
53415         * lib/iconv_.h: New file.
53416         * m4/iconv_h.m4: New file.
53417         * lib/iconv_open.c: New file.
53418         * lib/iconv_open-aix.gperf: New file.
53419         * lib/iconv_open-hpux.gperf: New file.
53420         * lib/iconv_open-irix.gperf: New file.
53421         * lib/iconv_open-osf.gperf: New file.
53422         * m4/iconv_open.m4: New file.
53423         * modules/linebreak (Depends-on): Add iconv_open.
53424         * modules/striconv (Depends-on): Likewise.
53425         * modules/striconveh (Depends-on): Likewise.
53426         * modules/unicodeio (Depends-on): Likewise.
53427         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
53428         (iconv_t)(-1).
53429         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
53430         conversion if cd is (iconv_t)(-1).
53431         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
53432         is not possible.
53433
53434 2007-03-31  Bruno Haible  <bruno@clisp.org>
53435
53436         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
53437         work on Solaris either. Protect also second use of "autodetect_jp".
53438
53439 2007-03-31  Bruno Haible  <bruno@clisp.org>
53440
53441         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
53442         the function is not present.
53443
53444 2007-03-31  Bruno Haible  <bruno@clisp.org>
53445
53446         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
53447         the function is not present.
53448
53449 2007-03-31  Bruno Haible  <bruno@clisp.org>
53450
53451         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
53452         a bug in HP-UX iconv_open().
53453
53454 2007-03-31  Bruno Haible  <bruno@clisp.org>
53455
53456         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
53457         (Mathematics <math.h>): New section, add fpieee.
53458         (Input/output <stdio.h>): Add fseterr.
53459         (Mathematics <math.h>): New section, add printf-frexp.
53460         (Container data structures): Add sublist.
53461         (Core language properties): Add fpucw, inline.
53462         (Functions for greatest-width integer types <inttypes.h>): Add
53463         imaxabs, imaxdiv, inttypes.
53464         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
53465         isnanl-nolibm, ldexp.
53466         (Mathematics <math.h>): New section, add printf-frexpl.
53467         (Support for systems lacking POSIX:2001): Add fprintf-posix,
53468         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
53469         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
53470         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
53471         (Unicode string functions): Add unistr/u*-mbtoucr.
53472         (Java): Add javacomp-script, javaexec-script.
53473         (C#): Add csharpcomp-script, csharpexec-script.
53474         (Support for building libraries and executables): Add havelib,
53475         relocatable-*.
53476         (Support for maintaining and releasing projects): Renamed from
53477         'Support for maintaining and release projects'. Add announce-gen.
53478
53479 2007-03-31  Bruno Haible  <bruno@clisp.org>
53480
53481         * README: Talk primarily about git.
53482         (git and CVS): Renamed from CVS.
53483         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
53484         gnulib is available through git.
53485         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
53486
53487 2007-03-30  Bruno Haible  <bruno@clisp.org>
53488
53489         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
53490         * lib/poll_.h: Likewise.
53491         * lib/stat_.h: Likewise.
53492         * lib/sys_time_.h: Likewise.
53493         * lib/sysexit_.h: Likewise.
53494         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
53495         * lib/stdbool_.h: Likewise.
53496         * lib/byteswap_.h: Add double-inclusion guard.
53497
53498 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
53499
53500         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
53501
53502 2007-03-30  Karl Berry  <karl@gnu.org>
53503
53504         * config/srclist-update: double space after USA in the license
53505         substitution, since that's how it's usually (?) written.
53506
53507 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
53508
53509         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
53510         reported by Bruno Haible.
53511
53512 2007-03-29  Bruno Haible  <bruno@clisp.org>
53513
53514         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
53515         a bug in AIX iconv().
53516
53517 2007-03-29  Bruno Haible  <bruno@clisp.org>
53518
53519         * modules/ldexpl-tests: New file.
53520         * tests/test-ldexpl.c: New file.
53521
53522 2007-03-29  Bruno Haible  <bruno@clisp.org>
53523
53524         * lib/ldexpl.c: Include fpucw.h.
53525         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
53526         multiplication.
53527         * modules/ldexpl (Depends-on): Add fpucw.
53528
53529 2007-03-29  Bruno Haible  <bruno@clisp.org>
53530
53531         * modules/ldexpl: New file.
53532         * m4/ldexpl.m4: New file.
53533         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
53534         set.
53535         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
53536         REPLACE_LDEXPL.
53537         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
53538         REPLACE_LDEXPL.
53539         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
53540         gl_FUNC_LDEXPL_WORKS.
53541         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
53542         * modules/mathl (Files): Remove lib/ldexpl.c.
53543         (Depends-on): Add ldexpl.
53544
53545 2007-03-29  Bruno Haible  <bruno@clisp.org>
53546
53547         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
53548
53549 2007-03-29  Bruno Haible  <bruno@clisp.org>
53550
53551         * tests/test-striconveh.c (main): Don't assume that a direct conversion
53552         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
53553         and possibly also HP-UX.
53554         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
53555         work on AIX, IRIX, HP-UX, OSF/1.
53556         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
53557         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
53558         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
53559         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
53560         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
53561         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
53562
53563 2007-03-29  Bruno Haible  <bruno@clisp.org>
53564
53565         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
53566
53567 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
53568
53569         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
53570         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
53571
53572 2007-03-29  Eric Blake  <ebb9@byu.net>
53573
53574         * lib/acl-internal.h: Remove redundant include.
53575         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
53576         Cygwin when a file is locked.
53577
53578 2007-03-29  Bruno Haible  <bruno@clisp.org>
53579
53580         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
53581         file.
53582         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
53583
53584 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
53585
53586         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
53587         try to remove a parent directory if the child couldn't be removed
53588         (except for the first rmdir, which could fail because the child
53589         doesn't exist).  Problem reported by Jeff Blaine in
53590         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
53591
53592 2007-03-28  Bruno Haible  <bruno@clisp.org>
53593
53594         * lib/striconveh.c (utf8conv_carefully): New function.
53595         (mem_cd_iconveh_internal): Invoke it.
53596
53597 2007-03-28  Bruno Haible  <bruno@clisp.org>
53598
53599         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
53600         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
53601         input.
53602         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
53603         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
53604         unistr/u8-uctomb.
53605
53606 2007-03-28  Bruno Haible  <bruno@clisp.org>
53607
53608         * modules/unistr/u8-mbtoucr: New file.
53609         * lib/unistr/u8-mbtoucr.c: New file.
53610         * modules/unistr/u16-mbtoucr: New file.
53611         * lib/unistr/u16-mbtoucr.c: New file.
53612         * modules/unistr/u16-mbtoucr: New file.
53613         * lib/unistr/u16-mbtoucr.c: New file.
53614         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
53615
53616 2007-03-27  Simon Josefsson  <simon@josefsson.org>
53617             Bruno Haible  <bruno@clisp.org>
53618
53619         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
53620         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
53621         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
53622
53623         * m4/stdio_h.m4: Add stubs for vasprintf too.
53624
53625         * modules/stdio: Support vasprintf in sed command.
53626
53627         * modules/vasprintf: Depend on stdio for prototypes.  Remove
53628         vasprintf.h.  Add stdio module indicator.
53629
53630         * lib/stdio_.h: Declare asprintf and vasprintf, based on
53631         vasprintf.h.
53632
53633         * lib/vasprintf.h: File removed.
53634
53635         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
53636         * lib/vasprintf.c: Ditto.
53637         * lib/xvasprintf.c: Ditto.
53638         * tests/test-vasprintf-posix.c: Ditto.
53639         * tests/test-vasprintf.c: Ditto.
53640
53641 2007-03-27  Bruno Haible  <bruno@clisp.org>
53642
53643         Make vasnprintf multithread-safe.
53644         * lib/vasnprintf.c (decimal_point_char): New function.
53645         (VASNPRINTF): Use it.
53646         Suggested by Simon Josefsson.
53647
53648 2007-03-27  Eric Blake  <ebb9@byu.net>
53649
53650         Support sub-second birthtime on cygwin.
53651         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
53652         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
53653         (get_stat_birthtime): Also work with st_birthtim.
53654
53655 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
53656
53657         * lib/stat-time.h (USE_BIRTHTIME): Remove.
53658         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
53659         (get_stat_birthtime_ns): Do not try to use "spare" fields.
53660         (get_stat_birthtime_ns): Simplify compile-time tests.
53661         (get_stat_birthtime): Change the API to look like
53662         get_stat_mtime etc., except return a negative tv_nsec on error.
53663         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
53664         Don't check for "spare" fields.
53665         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
53666         or for struct stat.st_birthtime, as these tests aren't used.
53667         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
53668
53669 2007-03-27  Bruno Haible  <bruno@clisp.org>
53670
53671         * lib/stat-time.h: Include <sys/stat.h>.
53672
53673 2007-03-27  James Youngman  <jay@gnu.org>
53674
53675         * lib/stat-time.h (get_stat_birthtime): New function for
53676           retrieving st_birthtime as provided by UFS2 (hence *BSD).
53677         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
53678           and its variants.
53679         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
53680         * modules/stat-time-test: New file.
53681         * tests/test-stat-time.c: New test, devised by Bruno Haible.
53682
53683 2007-03-26  Bruno Haible  <bruno@clisp.org>
53684
53685         Better support of signalling NaNs.
53686         * lib/atanl.c: Include isnanl.h.
53687         (atanl): Perform test for NaN at the beginning of the function and
53688         through a call to isnanl.
53689         * lib/cosl.c: Include isnanl.h.
53690         (cosl): Perform test for NaN at the beginning of the function and
53691         through a call to isnanl.
53692         * lib/ldexpl.c: Include isnanl.h.
53693         (ldexpl): Perform test for NaN through a call to isnanl.
53694         * lib/logl.c: Include isnanl.h.
53695         (logl): Perform test for NaN at the beginning of the function and
53696         through a call to isnanl.
53697         * lib/sinl.c: Include isnanl.h.
53698         (sinl): Perform test for NaN at the beginning of the function and
53699         through a call to isnanl.
53700         * lib/sqrtl.c: Include isnanl.h.
53701         (sqrtl): Perform test for NaN at the beginning of the function and
53702         through a call to isnanl.
53703         * lib/tanl.c: Include isnanl.h.
53704         (tanl): Perform test for NaN at the beginning of the function and
53705         through a call to isnanl.
53706         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
53707         * modules/mathl (Depends-on): Add isnanl.
53708
53709 2007-03-26  Eric Blake  <ebb9@byu.net>
53710
53711         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
53712         regression in logic sense of previous patch.
53713
53714 2007-03-26  Bruno Haible  <bruno@clisp.org>
53715
53716         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
53717         unportable shell command "if ! ...".
53718         Reported by Ralf Wildenhues.
53719
53720 2007-03-25  Bruno Haible  <bruno@clisp.org>
53721
53722         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
53723         <sysexits.h> file, and only add EX_CONFIG.
53724         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
53725         absolute file name and whether it is sufficient. Substitute also
53726         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
53727         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
53728         ABSOLUTE_SYSEXITS_H into sysexits.h.
53729
53730 2007-03-25  Bruno Haible  <bruno@clisp.org>
53731
53732         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
53733         hints is NULL.
53734
53735 2007-03-25  Bruno Haible  <bruno@clisp.org>
53736
53737         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
53738         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
53739
53740 2007-03-25  Bruno Haible  <bruno@clisp.org>
53741
53742         * lib/vasnprintf.c: Include langinfo.h.
53743         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
53744         multithread-safe.
53745         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
53746         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
53747         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
53748         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
53749         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
53750         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
53751         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
53752         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
53753         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
53754         Reported by Simon Josefsson.
53755
53756 2007-03-25  Bruno Haible  <bruno@clisp.org>
53757
53758         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
53759         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
53760         * modules/vasnprintf (Depends-on): Add stdint.
53761
53762 2007-03-25  Bruno Haible  <bruno@clisp.org>
53763
53764         * modules/fpieee: New file.
53765         * m4/fpieee.m4: New file.
53766         * modules/isnan-nolibm (Depends-on): Add fpieee.
53767         * modules/isnanl-nolibm (Depends-on): Add fpieee.
53768         * modules/isnanl (Depends-on): Add fpieee.
53769
53770 2007-03-25  Bruno Haible  <bruno@clisp.org>
53771
53772         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
53773
53774 2007-03-25  Bruno Haible  <bruno@clisp.org>
53775
53776         Avoid test failures on IRIX 6.5.
53777         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
53778         (main): Use it.
53779         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
53780         macros.
53781         (main): Use them.
53782
53783 2007-03-25  Bruno Haible  <bruno@clisp.org>
53784
53785         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
53786         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
53787         exists but doesn't work.
53788         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
53789         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
53790         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
53791         * modules/math (Makefile.am): Substibute also REPLACE_FREXPL into
53792         math.h.
53793
53794 2007-03-25  Bruno Haible  <bruno@clisp.org>
53795
53796         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
53797         returns inf. Needed on IRIX 6.5.
53798
53799 2007-03-25  Bruno Haible  <bruno@clisp.org>
53800
53801         * tests/test-frexpl.c: Include isnanl-nolibm.h.
53802         (main): Use isnanl instead of x != x idiom.
53803         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
53804
53805         * tests/test-frexp.c: Include isnan.h.
53806         (main): Use isnan instead of x != x idiom.
53807         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
53808
53809 2007-03-25  Bruno Haible  <bruno@clisp.org>
53810
53811         * tests/test-frexp.c (NaN): New function/macro.
53812         (main): Use it instead of 0.0 / 0.0.
53813         * tests/test-isnan.c (NaN): New function/macro.
53814         (main): Use it instead of 0.0 / 0.0.
53815         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
53816         (test_function): Use it instead of 0.0 / 0.0.
53817         * tests/test-vasprintf-posix.c (NaN): New function/macro.
53818         (test_function): Use it instead of 0.0 / 0.0.
53819         * tests/test-snprintf-posix.h (NaN): New function/macro.
53820         (test_function): Use it instead of 0.0 / 0.0.
53821         * tests/test-sprintf-posix.h (NaN): New function/macro.
53822         (test_function): Use it instead of 0.0 / 0.0.
53823         * tests/test-fprintf-posix.h (NaN): New function/macro.
53824         (test_function): Use it instead of 0.0 / 0.0.
53825         * tests/test-printf-posix.h (NaN): New function/macro.
53826         (test_function): Use it instead of 0.0 / 0.0.
53827
53828         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
53829
53830 2007-03-25  Bruno Haible  <bruno@clisp.org>
53831
53832         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
53833
53834 2007-03-25  Bruno Haible  <bruno@clisp.org>
53835
53836         * lib/regexec.c (merge_state_with_log): Make static.
53837
53838 2007-03-25  Bruno Haible  <bruno@clisp.org>
53839
53840         * lib/trigl.c (kernel_rem_pio2): Make static.
53841
53842 2007-03-25  Bruno Haible  <bruno@clisp.org>
53843
53844         * lib/sincosl.c (sincosl_table): Make static.
53845
53846 2007-03-25  Bruno Haible  <bruno@clisp.org>
53847
53848         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
53849         if the compiler does not support C99.
53850
53851 2007-03-25  Bruno Haible  <bruno@clisp.org>
53852
53853         * modules/time (Makefile.am): Ensure all rule action lines start with a
53854         tab.
53855
53856 2007-03-24  Bruno Haible  <bruno@clisp.org>
53857
53858         * modules/tsearch-tests: New file.
53859         * tests/test-tsearch.sh: New file.
53860         * tests/test-tsearch.c: New file, mostly copied from glibc.
53861
53862         * modules/search-tests: New file.
53863         * tests/test-search.c: New file.
53864
53865         * modules/search: New file.
53866         * lib/search_.h: New file, incorporating lib/tsearch.h.
53867         * m4/search_h.m4: New file.
53868         * lib/tsearch.h: Remove file.
53869         * lib/tsearch.c: Include search.h instead of tsearch.h.
53870         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
53871         HAVE_TSEARCH.
53872         * modules/tsearch (Files): Remove lib/tsearch.h.
53873         (Depends-on): Add search.
53874         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
53875         (Include): Change tsearch.h into search.h.
53876
53877 2007-03-24  Bruno Haible  <bruno@clisp.org>
53878
53879         * modules/fpucw: New file.
53880         * lib/fpucw.h: New file.
53881         * lib/frexp.c: Include fpucw.h.
53882         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
53883         (FUNC): Use them.
53884         * lib/printf-frexp.c: Include fpucw.h.
53885         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
53886         (FUNC): Use them.
53887         * lib/vasnprintf.c: Include fpucw.h.
53888         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
53889         'long double' calculations.
53890         * tests/test-frexpl.c: Include fpucw.h.
53891         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
53892         * tests/test-printf-frexpl.c: Include fpucw.h.
53893         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
53894         * modules/frexpl (Depends-on): Add fpucw.
53895         * modules/printf-frexpl (Depends-on): Likewise.
53896         * modules/fprintf-posix (Depends-on): Likewise.
53897         * modules/snprintf-posix (Depends-on): Likewise.
53898         * modules/sprintf-posix (Depends-on): Likewise.
53899         * modules/vasnprintf-posix (Depends-on): Likewise.
53900         * modules/vasprintf-posix (Depends-on): Likewise.
53901         * modules/vfprintf-posix (Depends-on): Likewise.
53902         * modules/vsnprintf-posix (Depends-on): Likewise.
53903         * modules/vsprintf-posix (Depends-on): Likewise.
53904         * modules/frexpl-tests (Depends-on): Likewise.
53905         * modules/printf-frexpl-tests (Depends-on): Likewise.
53906
53907 2007-03-24  Bruno Haible  <bruno@clisp.org>
53908
53909         * lib/float+.h: New file.
53910         * lib/isnan.c: Include float+.h.
53911         (SIZE): New macro.
53912         (FUNC): Compare only SIZE bytes of the value.
53913         * lib/vasnprintf.c: Include float+.h.
53914         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
53915         SIZEOF_LDBL or SIZEOF_DBL bytes.
53916         * modules/isnan-nolibm (Files): Add lib/float+.h.
53917         * modules/isnanl-nolibm (Files): Add lib/float+.h.
53918         * modules/isnanl (Files): Add lib/float+.h.
53919         * modules/vasnprintf (Files): Add lib/float+.h.
53920
53921 2007-03-24  Bruno Haible  <bruno@clisp.org>
53922
53923         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
53924         include isnanl-nolibm.h.
53925
53926 2007-03-24  Bruno Haible  <bruno@clisp.org>
53927
53928         * tests/test-read-file.c (main): Don't produce spurious output for
53929         expected situations. Make the test fail if it encountered unexpected
53930         results.
53931
53932 2007-03-24  Bruno Haible  <bruno@clisp.org>
53933
53934         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
53935         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
53936
53937 2007-03-24  Bruno Haible  <bruno@clisp.org>
53938
53939         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
53940
53941 2007-03-24  Bruno Haible  <bruno@clisp.org>
53942
53943         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
53944         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
53945
53946         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
53947         * modules/utf8-ucs4: Turn into a symbolic link to module
53948         unistr/u8-mbtouc.
53949
53950         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
53951         utf8-ucs4-unsafe.
53952         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
53953         unistr/u8-mbtouc-unsafe.
53954
53955         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
53956         * modules/utf16-ucs4: Turn into a symbolic link to module
53957         unistr/u16-mbtouc.
53958
53959         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
53960         utf16-ucs4-unsafe.
53961         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
53962         unistr/u16-mbtouc-unsafe.
53963
53964         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
53965         * modules/ucs4-utf8: Turn into a symbolic link to module
53966         unistr/u8-ubtomb.
53967
53968         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
53969         * modules/ucs4-utf16: Turn into a symbolic link to module
53970         unistr/u16-ubtomb.
53971
53972 2007-03-24  Bruno Haible  <bruno@clisp.org>
53973
53974         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
53975         Enable the function only if HAVE_INLINE.
53976         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
53977         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
53978         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
53979         Enable the function only if HAVE_INLINE.
53980         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
53981         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
53982         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
53983         Enable the function only if HAVE_INLINE.
53984         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
53985         Enable the function only if HAVE_INLINE.
53986         * modules/utf8-ucs4: Update.
53987         * modules/utf8-ucs4-unsafe: Update.
53988         * modules/utf16-ucs4: Update.
53989         * modules/utf16-ucs4-unsafe: Update.
53990         * modules/ucs4-utf8: Update.
53991         * modules/ucs4-utf16: Update.
53992
53993 2007-03-24  Bruno Haible  <bruno@clisp.org>
53994
53995         * lib/utf8-ucs4.h: Remove file.
53996         * lib/utf8-ucs4-unsafe.h: Remove file.
53997         * lib/utf16-ucs4.h: Remove file.
53998         * lib/utf16-ucs4-unsafe.h: Remove file.
53999         * lib/ucs4-utf8.h: Remove file.
54000         * lib/ucs4-utf16.h: Remove file.
54001         * lib/unistr.h: Include their previous contents.
54002         * m4/utf-ucs4.m4: Remove file.
54003         * m4/ucs4-utf.m4: Remove file.
54004         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
54005         (Depends-on): Add unistr/base.
54006         (configure.ac): Remove gl_UTF_UCS4.
54007         (Makefile.am): Update.
54008         (Include): Change to unistr.h.
54009         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
54010         (Depends-on): Add unistr/base.
54011         (configure.ac): Remove gl_UTF_UCS4.
54012         (Makefile.am): Update.
54013         (Include): Change to unistr.h.
54014         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
54015         (Depends-on): Add unistr/base.
54016         (configure.ac): Remove gl_UTF_UCS4.
54017         (Makefile.am): Update.
54018         (Include): Change to unistr.h.
54019         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
54020         (Depends-on): Add unistr/base.
54021         (configure.ac): Remove gl_UTF_UCS4.
54022         (Makefile.am): Update.
54023         (Include): Change to unistr.h.
54024         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
54025         (Depends-on): Add unistr/base.
54026         (configure.ac): Remove gl_UCS4_UTF.
54027         (Makefile.am): Update.
54028         (Include): Change to unistr.h.
54029         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
54030         (Depends-on): Add unistr/base.
54031         (configure.ac): Remove gl_UCS4_UTF.
54032         (Makefile.am): Update.
54033         (Include): Change to unistr.h.
54034         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
54035         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
54036         utf8-ucs4-unsafe.h.
54037         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
54038         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
54039         utf16-ucs4-unsafe.h.
54040         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
54041         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
54042         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
54043         * lib/unistr/u8-strchr.c: Likewise.
54044         * lib/unistr/u8-strrchr.c: Likewise.
54045         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
54046         * lib/unistr/u16-strchr.c: Likewise.
54047         * lib/unistr/u16-strrchr.c: Likewise.
54048         * lib/striconveh.c: Update.
54049         * lib/linebreak.c: Update.
54050
54051 2007-03-24  Bruno Haible  <bruno@clisp.org>
54052
54053         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
54054         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
54055
54056 2007-03-22  Bruno Haible  <bruno@clisp.org>
54057
54058         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
54059
54060 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
54061
54062         * MODULES.html.sh (File system functions): New module write-any-file.
54063         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
54064         * m4/write-any-file.m4: New files.
54065
54066 2007-03-23  Eric Blake  <ebb9@byu.net>
54067
54068         * gnulib-tool: Rearrange space-tab sequences, since some editors
54069         like to eat them.
54070
54071 2007-03-23  Eric Blake  <ebb9@byu.net>
54072
54073         * lib/version-etc.c (version_etc_va): Update license wording to
54074         be more concise.  Recommended by Richard Stallman.
54075
54076 2007-03-22  Bruno Haible  <bruno@clisp.org>
54077
54078         * lib/poll.c (MSG_PEEK): New fallback definition.
54079
54080 2007-03-22  Bruno Haible  <bruno@clisp.org>
54081
54082         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
54083         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
54084         (main): Update.
54085         Fixes a compilation error on BeOS.
54086
54087 2007-03-22  Bruno Haible  <bruno@clisp.org>
54088
54089         * modules/frexpl-tests: New file.
54090         * tests/test-frexpl.c: New file.
54091
54092         * modules/frexpl: New file.
54093         * m4/frexpl.m4: New file.
54094         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
54095         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
54096         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
54097         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
54098         (Depends-on): Add frexpl. Remove isnanl-nolibm.
54099         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
54100
54101 2007-03-22  Bruno Haible  <bruno@clisp.org>
54102
54103         * lib/frexpl.c: Share code with lib/frexp.c.
54104         * modules/mathl (Files): Add lib/frexp.c.
54105         (Depends-on): Add isnanl-nolibm.
54106
54107 2007-03-22  Bruno Haible  <bruno@clisp.org>
54108
54109         * modules/printf-frexp (Files): Add m4/frexp.m4.
54110         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
54111         only if the found frexp function actually works.
54112
54113 2007-03-22  Bruno Haible  <bruno@clisp.org>
54114
54115         * lib/frexp.c: Remove older implementation that uses divisions.
54116
54117 2007-03-21  Bruno Haible  <bruno@clisp.org>
54118
54119         * modules/frexp-tests: New file.
54120         * tests/test-frexp.c: New file.
54121
54122         * modules/frexp: New file.
54123         * lib/frexp.c: New file.
54124         * m4/frexp.m4: New file.
54125         * lib/math_.h (frexp): New declaration.
54126         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
54127         REPLACE_FREXP.
54128         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
54129
54130 2007-03-21  Bruno Haible  <bruno@clisp.org>
54131
54132         * modules/isnanl-tests: New file.
54133         * tests/test-isnanl.c: New file.
54134
54135         * modules/isnanl: New file.
54136         * lib/isnanl.h: New file.
54137         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
54138         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
54139         gl_FUNC_ISNANL_WORKS.
54140         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
54141         New macros.
54142
54143 2007-03-21  Bruno Haible  <bruno@clisp.org>
54144
54145         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
54146         lib/isnanl.h.
54147         (Include): Update.
54148         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
54149         * lib/vasnprintf.c: Update.
54150         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
54151         tests/test-isnanl.h, remove tests/test-isnanl.c.
54152         (Makefile.am): Update.
54153         * tests/test-isnanl-nolibm.c: New file.
54154         * tests/test-isnanl.h: New file.
54155         * tests/test-isnanl.c: Remove file.
54156
54157 2007-03-21  Jim Meyering  <jim@meyering.net>
54158
54159         When trying to open ".", treat ESTALE like EACCES.
54160         * lib/savewd.c (savewd_save): Resort to forking not just upon
54161         failure with EACCES, but also when errno is ESTALE.
54162
54163 2007-03-20  Bruno Haible  <bruno@clisp.org>
54164
54165         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
54166         Needed on AIX 5.1. Reported by Matthew Woehlke.
54167
54168 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
54169
54170         Suggestions by Bruno Haible:
54171         * lib/acl-internal.h: Include "gettext.h" rather than rolling
54172         our own.
54173         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
54174         * modules/acl (Depends-on): Add gettext.
54175
54176 2007-03-19  Bruno Haible  <bruno@clisp.org>
54177
54178         * modules/iconvme: Remove file.
54179         * lib/iconvme.h: Remove file.
54180         * lib/iconvme.c: Remove file.
54181         * m4/iconvme.m4: Remove file.
54182
54183 2007-03-19  Bruno Haible  <bruno@clisp.org>
54184
54185         * doc/relocatable-maint.texi: Break long shell script line.
54186         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
54187
54188 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
54189
54190         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
54191         handle file_has_acl.
54192         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
54193         * lib/acl.c: Move header inclusions and related macro defns into
54194         lib/acl-internal.h.
54195         (S_ISLNK): Remove defn, since that's now done for us.
54196         (file_has_acl): Move to lib/file-has-acl.c.
54197         Call acl_trivial if available.  This is the crucial part of the fix.
54198         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
54199         shared within the library.  Rewrite a bit, partly to make it compatible
54200         with the GNU coding style.
54201         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
54202         Remove unnecessary double-quotes.
54203         Don't test for acl_to_text; the build will catch that.
54204         Replace acl_entries if it doesn't exist and it is needed.
54205         Check for -lsec and acl_trivial (as used on Solaris 10).
54206         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
54207         lib/file-has-acl.c.
54208         (Depends-on): Add sys_stat, for S_ISLNK.
54209
54210 2007-03-19  Ben Pfaff  <blp@gnu.org>
54211
54212         * doc/gnulib.texi: Fix typos.
54213         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
54214
54215 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
54216
54217         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
54218         If size is zero here, buf must be zero.
54219
54220 2007-03-19  Simon Josefsson  <simon@josefsson.org>
54221
54222         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
54223         <bruno@clisp.org>.
54224
54225 2007-03-18  Bruno Haible  <bruno@clisp.org>
54226
54227         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
54228         Suggested by Eric Blake.
54229
54230 2007-03-18  Ben Pfaff  <blp@gnu.org>
54231
54232         * doc/relocatable.texi: Recommend using as prefix a directory
54233         that does not exist and will never be created.  Based on
54234         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
54235         and others.
54236
54237 2007-03-17  Bruno Haible  <bruno@clisp.org>
54238
54239         * lib/fchownat.c: Include lchown.h.
54240
54241 2007-03-17  Bruno Haible  <bruno@clisp.org>
54242
54243         Fix endless loop when the given allocated size was > INT_MAX.
54244         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
54245         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
54246         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
54247         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
54248         * lib/sprintf.c (sprintf): Likewise.
54249
54250 2007-03-17  Bruno Haible  <bruno@clisp.org>
54251
54252         * tests/test-argp-2.sh (func_compare): Output a context diff.
54253
54254 2007-03-17  Bruno Haible  <bruno@clisp.org>
54255
54256         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
54257         locale's decimal-point character.
54258
54259 2007-03-17  Bruno Haible  <bruno@clisp.org>
54260
54261         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
54262         before comparing it. Needed because on some platforms (e.g. x86) a
54263         'long double' occupies less bytes than sizeof (long double).
54264
54265 2007-03-17  Bruno Haible  <bruno@clisp.org>
54266
54267         * tests/test-crc.c (main): Make printf statements 64-bit clean.
54268         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
54269         * tests/test-getaddrinfo.c (simple): Likewise.
54270         * tests/test-read-file.c (main): Likewise.
54271
54272 2007-03-17  Bruno Haible  <bruno@clisp.org>
54273
54274         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
54275
54276 2007-03-17  Bruno Haible  <bruno@clisp.org>
54277
54278         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
54279         unused variable.
54280
54281 2007-03-17  Bruno Haible  <bruno@clisp.org>
54282
54283         * tests/test-c-strcasecmp.c: Include c-strcase.h.
54284         * tests/test-c-strncasecmp.c: Likewise.
54285
54286 2007-03-17  Bruno Haible  <bruno@clisp.org>
54287
54288         * modules/stdlib (Depends-on): Add unistd.
54289         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
54290         Needed for MacOS X 10.3.
54291
54292 2007-03-17  Bruno Haible  <bruno@clisp.org>
54293
54294         * lib/unistr/u-strdup.h: Include <stdlib.h>.
54295
54296 2007-03-17  Bruno Haible  <bruno@clisp.org>
54297
54298         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
54299
54300 2007-03-17  Bruno Haible  <bruno@clisp.org>
54301
54302         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
54303         to reflect files copied from gnulib (with or without modifications).
54304         Suggested by Jim Meyering.
54305
54306 2007-03-17  Eric Blake  <ebb9@byu.net>
54307
54308         * NEWS: Document stdlib change from 2007-02-18.
54309
54310 2007-03-17  Jim Meyering  <jim@meyering.net>
54311
54312         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
54313         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
54314         someone uses a name containing shell meta-characters.
54315         Reported by Alfred M. Szmidt.
54316
54317         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
54318
54319 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
54320
54321         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
54322         and copy gettext configuration files only if configure.ac contains
54323         a use of AM_GNU_GETTEXT_VERSION.
54324
54325 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
54326
54327         * build-aux/bootstrap (gnulib_name): New variable.
54328         (gnulib_tool_options): Use it.
54329
54330 2007-03-13  Simon Josefsson  <simon@josefsson.org>
54331
54332         * tests/test-des.c: Use new namespace.
54333
54334 2007-03-15  Bruno Haible  <bruno@clisp.org>
54335
54336         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
54337         Reported by James Youngman <jay@gnu.org>.
54338
54339 2007-03-15  Bruno Haible  <bruno@clisp.org>
54340
54341         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
54342         declared prototype. Needed with cc on OSF/1 5.1.
54343
54344 2007-03-15  Bruno Haible  <bruno@clisp.org>
54345
54346         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
54347         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
54348         (struct gl_list_implementation): Add dispose_fn argument to the
54349         'create_empty', 'create' methods.
54350         (struct gl_list_impl_base): Add field 'dispose_fn'.
54351         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
54352         argument.
54353         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
54354         dispose_fn argument.
54355         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
54356         dispose_fn on the dropped values.
54357         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
54358         dispose_fn argument.
54359         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
54360         dropped values.
54361         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
54362         (gl_tree_remove_node): Call dispose_fn on the dropped value.
54363         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
54364         (gl_tree_remove_node): Call dispose_fn on the dropped value.
54365         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
54366         argument.
54367         (gl_tree_list_free): Call dispose_fn on the dropped values.
54368         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
54369         the dropped values.
54370         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
54371         Add dispose_fn argument.
54372         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
54373         Call dispose_fn on the dropped values.
54374         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
54375         Add dispose_fn argument.
54376         (gl_sublist_create): Initialize the 'dispose_fn' field.
54377         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
54378         * tests/test-array_list.c (main): Update.
54379         * tests/test-carray_list.c (main): Update.
54380         * tests/test-avltree_list.c (main): Update.
54381         * tests/test-rbtree_list.c (main): Update.
54382         * tests/test-avltreehash_list.c (main): Update.
54383         * tests/test-rbtreehash_list.c (main): Update.
54384         * tests/test-linked_list.c (main): Update.
54385         * tests/test-linkedhash_list.c (main): Update.
54386         * tests/test-array_oset.c (main): Update.
54387
54388 2007-03-15  Bruno Haible  <bruno@clisp.org>
54389
54390         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
54391         (gl_oset_create_empty): Add dispose_fn argument.
54392         (struct gl_oset_implementation): Add dispose_fn argument to
54393         'create_empty' method.
54394         (struct gl_oset_impl_base): Add dispose_fn field.
54395         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
54396         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
54397         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
54398         values.
54399         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
54400         (gl_tree_oset_free): Call dispose_fn on the dropped values.
54401         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
54402         dropped value.
54403         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
54404         dropped value.
54405         * tests/test-array_oset.c (main): Update.
54406         * tests/test-avltree_oset.c (main): Update.
54407         * tests/test-rbtree_oset.c (main): Update.
54408         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
54409
54410 2007-03-13  Bruno Haible  <bruno@clisp.org>
54411
54412         * tests/test-stdbool.c (i): Update after last patch.
54413
54414 2007-03-12  Bruno Haible  <bruno@clisp.org>
54415
54416         * lib/quotearg.c: Include <wctype.h> early, before the definition of
54417         the iswprint macro. Needed on Solaris 2.5.1.
54418
54419 2007-03-12  Bruno Haible  <bruno@clisp.org>
54420
54421         * tests/test-printf-frexp.c (main): Declare x as volatile.
54422
54423 2007-03-12  Simon Josefsson  <simon@josefsson.org>
54424
54425         * doc/gnulib.texi (Build robot for gnulib): New section.
54426
54427 2007-03-12  Jim Meyering  <jim@meyering.net>
54428
54429         * build-aux/bootstrap: New file.
54430         * build-aux/bootstrap.conf: New file, from coreutils.
54431
54432 2007-03-11  Bruno Haible  <bruno@clisp.org>
54433
54434         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
54435
54436 2007-03-12  Simon Josefsson  <simon@josefsson.org>
54437
54438         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
54439         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
54440         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
54441
54442 2007-03-11  Bruno Haible  <bruno@clisp.org>
54443
54444         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
54445         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
54446
54447 2007-03-11  Bruno Haible  <bruno@clisp.org>
54448
54449         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
54450         formula. Needed for SunPRO C 5.0.
54451
54452 2007-03-11  Bruno Haible  <bruno@clisp.org>
54453
54454         * modules/long-options (Depends-on): Add getopt.
54455
54456 2007-03-11  Bruno Haible  <bruno@clisp.org>
54457
54458         * modules/modechange (Depends-on): Add stdbool.
54459
54460 2007-03-11  Bruno Haible  <bruno@clisp.org>
54461
54462         * modules/i-ring (Depends-on): Add stdbool.
54463
54464 2007-03-11  Bruno Haible  <bruno@clisp.org>
54465
54466         * modules/gc-des (Depends-on): Add stdbool.
54467
54468 2007-03-11  Bruno Haible  <bruno@clisp.org>
54469
54470         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
54471
54472 2007-03-11  Bruno Haible  <bruno@clisp.org>
54473
54474         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
54475
54476 2007-03-11  Bruno Haible  <bruno@clisp.org>
54477
54478         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
54479
54480 2007-03-11  Bruno Haible  <bruno@clisp.org>
54481
54482         * lib/vasnprintf.c (sprintf): Undefine.
54483
54484 2007-03-11  Bruno Haible  <bruno@clisp.org>
54485
54486         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
54487         initializers in SunPRO C and Compaq C compilers.
54488
54489 2007-03-11  Bruno Haible  <bruno@clisp.org>
54490
54491         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
54492         decrementing code ANSI C compliant.
54493
54494 2007-03-11  Bruno Haible  <bruno@clisp.org>
54495
54496         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
54497         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
54498
54499 2007-03-11  Bruno Haible  <bruno@clisp.org>
54500
54501         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
54502         <stdbool.h> substitute doesn't pass.
54503
54504 2007-03-11  Bruno Haible  <bruno@clisp.org>
54505
54506         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
54507
54508 2007-03-11  Bruno Haible  <bruno@clisp.org>
54509
54510         * gnulib-tool (func_create_megatestdir): Create also an autobuild
54511         script, for submission to autobuild.josefsson.org.
54512
54513 2007-03-10  Bruno Haible  <bruno@clisp.org>
54514
54515         * modules/canonicalize-lgpl-tests: New file.
54516         * tests/test-canonicalize-lgpl.sh: New file.
54517         * tests/test-canonicalize-lgpl.c: New file.
54518
54519         * modules/c-strcase-tests: New file.
54520         * tests/test-c-strcase.sh: New file.
54521         * tests/test-c-strcasecmp.c: New file.
54522         * tests/test-c-strncasecmp.c: New file.
54523
54524         * modules/atexit-tests: New file.
54525         * tests/test-atexit.sh: New file.
54526         * tests/test-atexit.c: New file.
54527
54528 2007-03-10  Bruno Haible  <bruno@clisp.org>
54529
54530         * tests/test-binary-io.sh: Use temporary filenames that are not so
54531         likely to clash with those of other tests (in a parallel make).
54532         * tests/test-binary-io.c: Likewise.
54533
54534 2007-03-10  Bruno Haible  <bruno@clisp.org>
54535
54536         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
54537         fallback; use #error instead.
54538         Suggested by Simon Josefsson.
54539
54540 2007-03-10  Bruno Haible  <bruno@clisp.org>
54541
54542         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
54543         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
54544         first and the last.
54545
54546 2007-03-10  Bruno Haible  <bruno@clisp.org>
54547
54548         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
54549
54550 2007-03-10  Bruno Haible  <bruno@clisp.org>
54551
54552         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
54553         "make distcheck".
54554         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
54555         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
54556         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
54557
54558 2007-03-10  Bruno Haible  <bruno@clisp.org>
54559
54560         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
54561         variable.
54562         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
54563         variable.
54564
54565 2007-03-09  Eric Blake  <ebb9@byu.net>
54566         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
54567
54568         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
54569         types are not being provided by gnulib.
54570         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
54571         types are supported.
54572
54573 2007-03-10  Bruno Haible  <bruno@clisp.org>
54574
54575         * lib/stdio_.h (__attribute__): New macro.
54576         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
54577         vsprintf): Specify __attribute__ __format__ for GCC.
54578         Suggested by Eric Blake.
54579
54580 2007-03-09  Bruno Haible  <bruno@clisp.org>
54581
54582         * modules/printf-posix-tests: New file.
54583         * tests/test-printf-posix.sh: New file.
54584         * tests/test-printf-posix.c: New file.
54585
54586         * modules/printf-posix: New file.
54587         * lib/printf.c: New file.
54588         * m4/printf-posix-rpl.m4: New file.
54589         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
54590         REPLACE_PRINTF.
54591         * lib/stdio_.h (printf): New declaration.
54592         (format, __format__, ____printf____, ____scanf____, ____strftime____,
54593         ____strfmon____): New macros.
54594         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
54595         REPLACE_PRINTF.
54596
54597 2007-03-09  Bruno Haible  <bruno@clisp.org>
54598
54599         * tests/test-vasnprintf-posix2.sh: New file.
54600         * tests/test-vasnprintf-posix2.c: New file.
54601         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
54602         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
54603         (Makefile.am): Activate test-vasnprintf-posix2.sh.
54604
54605         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
54606         a locale dependent decimal point, rather than always '.'.
54607
54608 2007-03-09  Eric Blake  <ebb9@byu.net>
54609
54610         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
54611         spite of platforms like Tandem/NSK that define it to -1.
54612
54613 2007-03-08  Bruno Haible  <bruno@clisp.org>
54614
54615         * modules/vprintf-posix-tests: New file.
54616         * tests/test-vprintf-posix.sh: New file.
54617         * tests/test-vprintf-posix.c: New file.
54618         * tests/test-printf-posix.h: New file.
54619
54620         * modules/vprintf-posix: New file.
54621         * lib/vprintf.c: New file.
54622         * m4/vprintf-posix.m4: New file.
54623         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
54624         REPLACE_VPRINTF.
54625         * lib/stdio_.h (vprintf): New declaration.
54626         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
54627         REPLACE_VPRINTF.
54628
54629 2007-03-08  Bruno Haible  <bruno@clisp.org>
54630
54631         * modules/fprintf-posix-tests: New file.
54632         * tests/test-fprintf-posix.sh: New file.
54633         * tests/test-fprintf-posix.c: New file.
54634
54635         * modules/fprintf-posix: New file.
54636         * lib/fprintf.c: New file.
54637         * m4/fprintf-posix.m4: New file.
54638         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
54639         REPLACE_FPRINTF.
54640         * lib/stdio_.h (fprintf): New declaration.
54641         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
54642         REPLACE_FPRINTF.
54643
54644 2007-03-08  Bruno Haible  <bruno@clisp.org>
54645
54646         * modules/vfprintf-posix-tests: New file.
54647         * tests/test-vfprintf-posix.sh: New file.
54648         * tests/test-vfprintf-posix.c: New file.
54649         * tests/test-fprintf-posix.h: New file.
54650         * tests/test-fprintf-posix.out: New file.
54651
54652         * modules/vfprintf-posix: New file.
54653         * lib/vfprintf.c: New file.
54654         * m4/vfprintf-posix.m4: New file.
54655         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
54656         REPLACE_VFPRINTF.
54657         * lib/stdio_.h (vfprintf): New declaration.
54658         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
54659         REPLACE_VFPRINTF.
54660
54661 2007-03-08  Bruno Haible  <bruno@clisp.org>
54662
54663         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
54664
54665 2007-03-08  Bruno Haible  <bruno@clisp.org>
54666
54667         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
54668         instead of 'expr' invocations.
54669         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
54670         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
54671         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
54672         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
54673         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
54674         Suggested by Paul Eggert.
54675
54676 2007-03-08  Bruno Haible  <bruno@clisp.org>
54677
54678         * modules/fseterr-tests: New file.
54679         * tests/test-fseterr.c: New file.
54680
54681         * modules/fseterr: New file.
54682         * lib/fseterr.h: New file.
54683         * lib/fseterr.c: New file.
54684
54685 2007-03-08  Bruno Haible  <bruno@clisp.org>
54686
54687         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
54688         * lib/getopt_.h: Likewise.
54689         * lib/mbswidth.h: Likewise.
54690         * lib/setenv.h: Likewise.
54691         * lib/vasnprintf.h: Likewise.
54692         * lib/vasprintf.h: Likewise.
54693         * lib/verror.h: Likewise.
54694         * lib/xsetenv.h: Likewise.
54695         * lib/xvasprintf.h: Likewise.
54696
54697 2007-03-08  Jim Meyering  <jim@meyering.net>
54698
54699         * users.txt: Add parted.
54700
54701         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
54702
54703 2007-03-07  Bruno Haible  <bruno@clisp.org>
54704
54705         * m4/printf.m4: Make the shell script snippets copy&pastable.
54706
54707 2007-03-02  Bruno Haible  <bruno@clisp.org>
54708
54709         * lib/netinet_in_.h: New file.
54710         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
54711         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
54712         * modules/netinet_in (Files): Add lib/netinet_in_.h.
54713         (Depends-on): Add absolute-header.
54714         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
54715         into netinet/in.h.
54716
54717 2007-03-03  Bruno Haible  <bruno@clisp.org>
54718
54719         * lib/sys_select_.h: New file.
54720         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
54721         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
54722         * modules/sys_select (Files): Add lib/sys_select_.h.
54723         (Depends-on): Add absolute-header.
54724         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
54725         into sys/select.h.
54726
54727 2007-03-02  Bruno Haible  <bruno@clisp.org>
54728
54729         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
54730         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
54731         values.
54732         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
54733         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
54734         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
54735         * modules/sys_socket (Depends-on): Add absolute-header.
54736         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
54737         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
54738         (Include): Remove requirement of inclusion of <sys/types.h>.
54739
54740 2007-03-02  Bruno Haible  <bruno@clisp.org>
54741
54742         * lib/byteswap_.h (bswap_32): Fix formula.
54743
54744 2007-03-06  Bruno Haible  <bruno@clisp.org>
54745
54746         * modules/sprintf-posix-tests: New file.
54747         * tests/test-sprintf-posix.c: New file.
54748
54749         * modules/sprintf-posix: New file.
54750         * lib/sprintf.c: New file.
54751         * m4/sprintf-posix.m4: New file.
54752         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
54753         REPLACE_SPRINTF.
54754         * lib/stdio_.h (sprintf): New declaration.
54755         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
54756         REPLACE_SPRINTF.
54757
54758 2007-03-06  Bruno Haible  <bruno@clisp.org>
54759
54760         * modules/vsprintf-posix-tests: New file.
54761         * tests/test-vsprintf-posix.c: New file.
54762         * tests/test-sprintf-posix.h: New file.
54763
54764         * modules/vsprintf-posix: New file.
54765         * lib/vsprintf.c: New file.
54766         * m4/vsprintf-posix.m4: New file.
54767         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
54768         REPLACE_VSPRINTF.
54769         * lib/stdio_.h (vsprintf): New declaration.
54770         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
54771         REPLACE_VSPRINTF.
54772
54773 2007-03-06  Bruno Haible  <bruno@clisp.org>
54774
54775         * modules/vsnprintf (Depend-on): Remove minmax.
54776
54777 2007-03-06  Bruno Haible  <bruno@clisp.org>
54778
54779         * modules/snprintf-posix-tests: New file.
54780         * tests/test-snprintf-posix.c: New file.
54781
54782         * modules/snprintf-posix: New file.
54783         * m4/snprintf-posix.m4: New file.
54784         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
54785         gl_FUNC_SNPRINTF.
54786         (gl_FUNC_SNPRINTF): Invoke it.
54787         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
54788         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
54789         is set.
54790         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
54791
54792 2007-03-06  Bruno Haible  <bruno@clisp.org>
54793
54794         * modules/vsnprintf-posix-tests: New file.
54795         * tests/test-vsnprintf-posix.c: New file.
54796         * tests/test-snprintf-posix.h: New file.
54797
54798         * modules/vsnprintf-posix: New file.
54799         * m4/vsnprintf-posix.m4: New file.
54800         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
54801         gl_FUNC_VSNPRINTF.
54802         (gl_FUNC_VSNPRINTF): Invoke it.
54803         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
54804         * lib/stdio_.h (vsnprintf): Define as a replacement if
54805         REPLACE_VSNPRINTF is set.
54806         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
54807
54808 2007-03-06  Bruno Haible  <bruno@clisp.org>
54809
54810         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
54811         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
54812
54813 2007-03-06  Bruno Haible  <bruno@clisp.org>
54814
54815         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
54816         (asinl): Declare also if HAVE_DECL_ASINL is set.
54817         (atanl): Declare also if HAVE_DECL_ATANL is set.
54818         (ceill): Declare also if HAVE_DECL_CEILL is set.
54819         (cosl): Declare also if HAVE_DECL_COSL is set.
54820         (expl): Declare also if HAVE_DECL_EXPL is set.
54821         (floorl): Declare also if HAVE_DECL_FLOORL is set.
54822         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
54823         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
54824         (logl): Declare also if HAVE_DECL_LOGL is set.
54825         (sinl): Declare also if HAVE_DECL_SINL is set.
54826         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
54827         (tanl): Declare also if HAVE_DECL_TANL is set.
54828         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
54829         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
54830         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
54831         declaration of frexpl, ldexpl.
54832         * modules/printf-frexpl (Depends-on): Add math.
54833         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
54834
54835 2007-03-05  Bruno Haible  <bruno@clisp.org>
54836
54837         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
54838         frexpl and ldexpl are declared.
54839         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
54840
54841 2007-03-05  Bruno Haible  <bruno@clisp.org>
54842
54843         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
54844         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
54845
54846 2007-03-05  Bruno Haible  <bruno@clisp.org>
54847
54848         * lib/stdio_.h: Include <stddef.h>.
54849
54850 2007-03-05  Bruno Haible  <bruno@clisp.org>
54851
54852         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
54853
54854 2007-03-05  Bruno Haible  <bruno@clisp.org>
54855
54856         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
54857         NetBSD 4, from Ralf Wildenhues.
54858
54859 2007-03-04  Bruno Haible  <bruno@clisp.org>
54860
54861         * lib/vasprintf.h: Update #if logic for the case when the functions
54862         exist but are overridden.
54863
54864 2007-03-04  Bruno Haible  <bruno@clisp.org>
54865
54866         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
54867         implementations: glibc-2.4 and MacOS X 10.3.
54868         * tests/test-vasnprintf-posix.c (test_function): Test also the case
54869         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
54870         * tests/test-vasprintf-posix.c (test_function): Likewise.
54871
54872 2007-03-04  Bruno Haible  <bruno@clisp.org>
54873
54874         * modules/vasprintf-posix-tests: New file.
54875         * tests/test-vasprintf-posix.c: New file.
54876
54877         * modules/vasprintf-posix: New file.
54878         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
54879         defined.
54880         * m4/vasprintf-posix.m4: New file.
54881         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
54882         gl_FUNC_VASPRINTF.
54883         (gl_FUNC_VASPRINTF): Invoke it.
54884         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
54885         here.
54886         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
54887
54888 2007-03-04  Bruno Haible  <bruno@clisp.org>
54889
54890         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
54891         REPLACE_GETTIMEOFDAY.
54892         * modules/sys_time (Makefile.am): Likewise.
54893         * m4/sys_time_h.m4: Likewise.
54894         * m4/gettimeofday.m4: Likewise.
54895
54896 2007-03-04  Bruno Haible  <bruno@clisp.org>
54897
54898         * modules/vasnprintf-posix-tests: New file.
54899         * tests/test-vasnprintf-posix.c: New file.
54900
54901         * modules/vasnprintf-posix: New file.
54902         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
54903         printf-frexpl.h.
54904         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
54905         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
54906         REPLACE_VASNPRINTF is defined.
54907         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
54908         gl_FUNC_VASNPRINTF.
54909         (gl_FUNC_VASNPRINTF): Invoke it.
54910         * m4/vasnprintf-posix.m4: New file.
54911         * m4/printf.m4: New file.
54912
54913 2007-03-04  Bruno Haible  <bruno@clisp.org>
54914
54915         Compile progreloc.c only if --enable-relocatable is specified.
54916         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
54917         if --enable-relocatable was specified.
54918         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
54919         lib_SOURCES.
54920
54921 2007-03-04  Jim Meyering  <jim@meyering.net>
54922
54923         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
54924         Use it consistently, rather than enumerating errno constants.
54925
54926 2007-03-04  Bruno Haible  <bruno@clisp.org>
54927
54928         * modules/xvasprintf-tests: New file.
54929         * tests/test-xvasprintf.c: New file.
54930
54931         * modules/vasprintf-tests: New file.
54932         * tests/test-vasprintf.c: New file.
54933
54934         * modules/vasnprintf-tests: New file.
54935         * tests/test-vasnprintf.c: New file.
54936
54937         * modules/vsnprintf-tests: New file.
54938         * tests/test-vsnprintf.c: New file.
54939
54940         * modules/snprintf-tests: New file.
54941         * tests/test-snprintf.c: New file.
54942
54943 2007-03-04  Bruno Haible  <bruno@clisp.org>
54944
54945         Compile relocatable.c only if --enable-relocatable is specified.
54946         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
54947         gl_RELOCATABLE_LIBRARY.
54948         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
54949         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
54950         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
54951         gl_RELOCATABLE_LIBRARY.
54952         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
54953         (Makefile.am): Remove lib_SOURCES.
54954         * modules/relocatable-lib-lgpl (configure.ac): Invoke
54955         gl_RELOCATABLE_LIBRARY.
54956         (Makefile.am): Remove lib_SOURCES.
54957         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
54958         always.
54959         * modules/relocatable-prog-wrapper (configure.ac): Invoke
54960         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
54961
54962 2007-03-04  Bruno Haible  <bruno@clisp.org>
54963
54964         * modules/argmatch-tests: New file.
54965         * tests/test-argmatch.c: New file.
54966
54967         * tests/test-allocsa.c (main): Halve the number of loop runs.
54968
54969         * modules/alloca-opt-tests: New file.
54970         * tests/test-alloca-opt.c: New file.
54971
54972 2007-03-04  Jim Meyering  <jim@meyering.net>
54973
54974         Work around difference between Linux ACLs and Solaris 10 ZFS.
54975         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
54976         for EINVAL.
54977
54978 2007-03-03  Bruno Haible  <bruno@clisp.org>
54979
54980         * modules/relocatable-prog (Depends-on): Add back progreloc's
54981         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
54982
54983 2007-03-03  Bruno Haible  <bruno@clisp.org>
54984
54985         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
54986         * modules/relocatable-lib: New file.
54987
54988 2007-03-03  Bruno Haible  <bruno@clisp.org>
54989
54990         * modules/relocatable-prog: Renamed from modules/relocatable.
54991         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
54992
54993 2007-03-03  Bruno Haible  <bruno@clisp.org>
54994
54995         * modules/relocatable-script (Files): Add doc/relocatable.texi,
54996         m4/relocatable-lib.m4.
54997         (Depends-on): Remove 'relocatable'.
54998         (configure.ac): Add gl_RELOCATABLE_NOP.
54999
55000 2007-03-03  Bruno Haible  <bruno@clisp.org>
55001
55002         * modules/relocatable-prog-wrapper: New file.
55003         * modules/relocatable (Depends-on): Add it. Remove all other
55004         dependencies except progname.
55005         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
55006
55007         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
55008         (gl_FUNC_STRERROR): Nop.
55009         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
55010
55011         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
55012         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
55013
55014         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
55015         (gl_FUNC_READLINK): Update.
55016
55017         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
55018
55019 2007-03-03  Bruno Haible  <bruno@clisp.org>
55020
55021         * lib/xreadlink.c: Include <unistd.h> unconditionally.
55022         * modules/xreadlink (Depends-on): Add unistd.
55023         * modules/xreadlink-with-size (Depends-on): Likewise.
55024
55025 2007-03-03  Bruno Haible  <bruno@clisp.org>
55026
55027         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
55028         extracted from gt_FUNC_SETENV.
55029         (gt_FUNC_SETENV): Remove macro.
55030         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
55031         remove gt_FUNC_SETENV.
55032
55033 2007-03-03  Bruno Haible  <bruno@clisp.org>
55034
55035         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
55036         ENABLE_RELOCATABLE here.
55037         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
55038
55039 2007-03-03  Bruno Haible  <bruno@clisp.org>
55040
55041         * modules/rbtreehash-list-tests (Depends-on): Add progname.
55042         * tests/test-rbtreehash_list.c: Include progname.h.
55043         (main): Call set_program_name.
55044
55045         * modules/rbtree-oset-tests (Depends-on): Add progname.
55046         * tests/test-rbtree_oset.c: Include progname.h.
55047         (main): Call set_program_name.
55048
55049         * modules/rbtree-list-tests (Depends-on): Add progname.
55050         * tests/test-rbtree_list.c: Include progname.h.
55051         (main): Call set_program_name.
55052
55053         * modules/linked-list-tests (Depends-on): Add progname.
55054         * tests/test-linked_list.c: Include progname.h.
55055         (main): Call set_program_name.
55056
55057 2007-03-03  Bruno Haible  <bruno@clisp.org>
55058
55059         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
55060         All uses of __restrict changed to _Restrict_.
55061         * lib/glob_.h (__restrict): Remove macro.
55062
55063 2007-03-02  Bruno Haible  <bruno@clisp.org>
55064
55065         * modules/gettext (configure.ac): Require gettext infrastructure
55066         from version 0.16.1.
55067
55068 2007-03-02  Bruno Haible  <bruno@clisp.org>
55069
55070         * modules/linkedhash-list-tests (Depends-on): Add progname.
55071         * tests/test-linkedhash_list.c: Include progname.h.
55072         (main): Call set_program_name.
55073
55074         * modules/carray-list-tests (Depends-on): Add progname.
55075         * tests/test-carray_list.c: Include progname.h.
55076         (main): Call set_program_name.
55077
55078         * modules/avltreehash-list-tests (Depends-on): Add progname.
55079         * tests/test-avltreehash_list.c: Include progname.h.
55080         (main): Call set_program_name.
55081
55082         * modules/avltree-oset-tests (Depends-on): Add progname.
55083         * tests/test-avltree_oset.c: Include progname.h.
55084         (main): Call set_program_name.
55085
55086         * modules/avltree-list-tests (Depends-on): Add progname.
55087         * tests/test-avltree_list.c: Include progname.h.
55088         (main): Call set_program_name.
55089
55090         * modules/array-oset-tests (Depends-on): Add progname.
55091         * tests/test-array_oset.c: Include progname.h.
55092         (main): Call set_program_name.
55093
55094         * modules/array-list-tests (Depends-on): Add progname.
55095         * tests/test-array_list.c: Include progname.h.
55096         (main): Call set_program_name.
55097
55098         * modules/argp-tests (Depends-on): Add progname.
55099         * tests/test-argp.c: Include argp.h first. Include progname.h.
55100         (main): Call set_program_name.
55101
55102 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
55103
55104         * doc/gnulib-tool.texi (Initial import): Reword description of
55105         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
55106         limited effect even if defined after the first system include.
55107
55108 2007-03-01  Bruno Haible  <bruno@clisp.org>
55109
55110         * build-aux/config.libpath: Update to libtool-1.5.22.
55111         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
55112
55113 2007-03-01  Bruno Haible  <bruno@clisp.org>
55114
55115         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
55116         foo_CFLAGS.
55117         Reported by Ralf Wildenhues.
55118
55119 2007-03-01  Bruno Haible  <bruno@clisp.org>
55120
55121         * build-aux/install-reloc: Remove object files left over by some
55122         compilers.
55123         Reported by Ralf Wildenhues.
55124
55125 2007-03-01  Bruno Haible  <bruno@clisp.org>
55126
55127         * build-aux/install-reloc: Break long lines.
55128
55129 2007-03-01  Bruno Haible  <bruno@clisp.org>
55130
55131         * doc/relocatable.texi: Document that it may not work on OpenBSD.
55132         Reported by Ralf Wildenhues.
55133
55134 2007-03-01  Bruno Haible  <bruno@clisp.org>
55135
55136         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
55137         include ordering constraints.
55138
55139 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
55140
55141         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
55142         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
55143         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
55144         as another example.
55145         * lib/time_.h: Fix misspelling.
55146         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
55147         Require gl_HEADER_TIME_H_DEFAULTS.
55148         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
55149         * m4/time_r.m4 (gl_TIME_R): Likewise.
55150         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
55151
55152 2007-03-01  Bruno Haible  <bruno@clisp.org>
55153
55154         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
55155         * m4/utimens.m4 (gl_UTIMENS): Likewise.
55156
55157 2007-03-01  Jim Meyering  <jim@meyering.net>
55158
55159         * modules/xreadlink (Maintainer): Add my name.
55160         * modules/xreadlink-with-size (Depends-on): Alphabetize.
55161
55162 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
55163             Bruno Haible  <bruno@clisp.org>
55164
55165         * build-aux/install-reloc: Compile also c-ctype.c.
55166         * build-aux/relocatable.sh.in: New file.
55167         * doc/relocatable.texi: New file.
55168         * doc/relocatable-maint.texi: New file.
55169         * doc/gnulib.texi: Include relocatable-maint.texi.
55170         * lib/progreloc.c: Include unistd.h unconditionally.
55171         * lib/relocwrapper.c: Include unistd.h unconditionally.
55172         Include c-ctype.h.
55173         (add_dotbin): Use c_tolower.
55174         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
55175         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
55176         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
55177         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
55178         to m4/relocatable-lib.m4.
55179         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
55180         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
55181         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
55182         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
55183         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
55184         * modules/relocatable: New file.
55185         * modules/relocatable-lib: New file.
55186         * modules/relocatable-script: New file.
55187
55188 2007-02-28  Bruno Haible  <bruno@clisp.org>
55189
55190         Import --enable-relocatable infrastructure.
55191         * build-aux/config.libpath: New file, from GNU gettext.
55192         * build-aux/install-reloc: New file, from GNU gettext.
55193         * build-aux/reloc-ldflags: New file, from GNU gettext.
55194         * lib/relocatable.h: New file, from GNU gettext.
55195         * lib/relocatable.c: New file, from GNU gettext.
55196         * lib/relocwrapper.c: New file, from GNU gettext.
55197         * m4/relocatable.m4: New file, from GNU gettext.
55198
55199 2007-02-28  Bruno Haible  <bruno@clisp.org>
55200
55201         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
55202
55203         * modules/xreadlink: New file, from GNU gettext with modifications.
55204         * lib/xreadlink.c: New file, from GNU gettext.
55205         * lib/xreadlink.h: Add comments.
55206         (xreadlink): New declaration.
55207
55208         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
55209         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
55210         lib/xreadlink-with-size.c.
55211         (configure.ac): Remove gl_XREADLINK invocation.
55212         (Makefile.am): Augment lib_SOURCES.
55213         * m4/xreadlink.m4: Remove file.
55214         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
55215         (xreadlink_with_size): Renamed from xreadink.
55216         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
55217         * modules/canonicalize (Depends-on): Replace xreadlink with
55218         xreadlink-with-size.
55219         * lib/canonicalize.c (canonicalize_filename_mode): Update.
55220
55221 2007-02-25  Jim Meyering  <jim@meyering.net>
55222
55223         * build-aux/announce-gen: When complaining about excess arguments,
55224         list them.
55225
55226 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
55227
55228         * README: Document signed integer overflow situation more
55229         accurately.
55230
55231 2007-02-25  Bruno Haible  <bruno@clisp.org>
55232
55233         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
55234         'a' or 'A' conversion.
55235
55236 2007-02-25  Bruno Haible  <bruno@clisp.org>
55237
55238         * modules/filename: Renamed from modules/pathname.
55239         (Files): Replace lib/pathname.h with lib/filename.h. Replace
55240         lib/concatpath.c with lib/concat-filename.c.
55241         (Makefile.am): Update.
55242         (Include): Replace pathname.h with filename.h.
55243         * lib/filename.h: Renamed from lib/pathname.h.
55244         (concatenated_filename): Renamed from concatenated_pathname.
55245         * lib/concat-filename.c: Renamed from lib/concatpath.c.
55246         (concatenated_filename): Renamed from concatenated_pathname.
55247         * lib/findprog.c: Include filename.h instead of pathname.h.
55248         (find_in_path): Update.
55249         * lib/javacomp.c: Include filename.h instead of pathname.h.
55250         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
55251         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
55252         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
55253         is_oldgcj_14_13_usable, is_javac_usable): Update.
55254         * lib/javaexec.c: Include filename.h instead of pathname.h.
55255         (execute_java_class): Update.
55256         * modules/findprog: Update.
55257         * modules/javacomp: Update.
55258         * modules/javaexec: Update.
55259         * MODULES.html.sh (File system functions): Add 'filename', remove
55260         'pathname'.
55261
55262 2007-02-25  Bruno Haible  <bruno@clisp.org>
55263
55264         * modules/printf-frexpl-tests: New file.
55265         * tests/test-printf-frexpl.c: New file.
55266
55267         * modules/printf-frexpl: New file.
55268         * lib/printf-frexpl.h: New file.
55269         * lib/printf-frexpl.c: New file.
55270         * m4/printf-frexpl.m4: New file.
55271
55272 2007-02-25  Bruno Haible  <bruno@clisp.org>
55273
55274         * modules/printf-frexp-tests: New file.
55275         * tests/test-printf-frexp.c: New file.
55276
55277         * modules/printf-frexp: New file.
55278         * lib/printf-frexp.h: New file.
55279         * lib/printf-frexp.c: New file.
55280         * m4/printf-frexp.m4: New file.
55281
55282 2007-02-25  Bruno Haible  <bruno@clisp.org>
55283
55284         Assume automake >= 1.10 for the tests.
55285         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
55286         * modules/arctwo-tests: Likewise.
55287         * modules/argp-tests: Likewise.
55288         * modules/avltree-list-tests: Likewise.
55289         * modules/avltree-oset-tests: Likewise.
55290         * modules/avltreehash-list-tests: Likewise.
55291         * modules/carray-list-tests: Likewise.
55292         * modules/crc-tests: Likewise.
55293         * modules/des-tests: Likewise.
55294         * modules/gc-arcfour-tests: Likewise.
55295         * modules/gc-arctwo-tests: Likewise.
55296         * modules/gc-des-tests: Likewise.
55297         * modules/gc-hmac-md5-tests: Likewise.
55298         * modules/gc-hmac-sha1-tests: Likewise.
55299         * modules/gc-md2-tests: Likewise.
55300         * modules/gc-md4-tests: Likewise.
55301         * modules/gc-md5-tests: Likewise.
55302         * modules/gc-pbkdf2-sha1-tests: Likewise.
55303         * modules/gc-rijndael-tests: Likewise.
55304         * modules/gc-sha1-tests: Likewise.
55305         * modules/gc-tests: Likewise.
55306         * modules/getaddrinfo-tests: Likewise.
55307         * modules/hmac-md5-tests: Likewise.
55308         * modules/hmac-sha1-tests: Likewise.
55309         * modules/linked-list-tests: Likewise.
55310         * modules/linkedhash-list-tests: Likewise.
55311         * modules/lock-tests: Likewise.
55312         * modules/md2-tests: Likewise.
55313         * modules/md4-tests: Likewise.
55314         * modules/md5-tests: Likewise.
55315         * modules/rbtree-list-tests: Likewise.
55316         * modules/rbtree-oset-tests: Likewise.
55317         * modules/rbtreehash-list-tests: Likewise.
55318         * modules/read-file-tests: Likewise.
55319         * modules/rijndael-tests: Likewise.
55320         * modules/stdint-tests: Likewise.
55321         * modules/tls-tests: Likewise.
55322
55323 2007-02-24  Bruno Haible  <bruno@clisp.org>
55324
55325         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
55326         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
55327         function; instead check whether isnan with a double argument links.
55328         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
55329         function; instead check whether isnan with a 'long double' argument
55330         links.
55331         Reported by Eric Blake <ebb9@byu.net>.
55332
55333 2007-02-24  Bruno Haible  <bruno@clisp.org>
55334
55335         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
55336         defined.
55337         * lib/isnanl.c: Remove all code. Just include isnan.c.
55338         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
55339
55340 2007-02-25  Jim Meyering  <jim@meyering.net>
55341
55342         Avoid conflicting types for 'unsetenv' on FreeBSD.
55343         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
55344         conflicting with FreeBSD's (5.0 and 6.1) function declaration
55345         in stdlib.h.
55346
55347 2007-02-24  Bruno Haible  <bruno@clisp.org>
55348
55349         * modules/isnanl-nolibm-tests: New file.
55350         * tests/test-isnanl.c: New file.
55351
55352         * modules/isnanl-nolibm: New file.
55353         * lib/isnanl.h: New file.
55354         * lib/isnanl.c: New file.
55355         * m4/isnanl.m4: New file.
55356
55357 2007-02-24  Bruno Haible  <bruno@clisp.org>
55358
55359         * modules/isnan-nolibm-tests: New file.
55360         * tests/test-isnan.c: New file.
55361
55362         * modules/isnan-nolibm: New file.
55363         * lib/isnan.h: New file.
55364         * lib/isnan.c: New file.
55365         * m4/isnan.m4: New file.
55366
55367 2007-02-24  Bruno Haible  <bruno@clisp.org>
55368
55369         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
55370         assume that an exponent fits in 20 bits.
55371
55372 2007-02-24  Jim Meyering  <jim@meyering.net>
55373
55374         * m4/regex.m4: Update the description of the configure-time option,
55375         --without-included-regex, to state accurately what the defaults are,
55376         and perhaps to give people an idea why using this option is risky.
55377
55378 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
55379
55380         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
55381         loops on small arguments.  This attempts to avoid the problem
55382         Bruno Haible reported for AIX 4.3.2 in
55383         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
55384
55385 2007-02-23  Bruno Haible  <bruno@clisp.org>
55386
55387         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
55388         Needed for help2man.
55389
55390 2007-02-23  Karl Berry  <karl@gnu.org>
55391
55392         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
55393         exists, foo.h should be cvs-ignored, not committed.
55394
55395 2007-02-23  Eric Blake  <ebb9@byu.net>
55396
55397         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
55398         * lib/stat-time.h (includes): Likewise.
55399         * lib/utimecmp.c (includes): Likewise.
55400         * lib/utimens.h (includes): Likewise.
55401         * lib/getdate.y (includes): Also include "timespec.h" for use
55402         internal to the module.
55403         * modules/utimens (Depends-on): Revert yesterday's patch.
55404         * modules/nanosleep (Depends-on): Add missing dependency.
55405
55406 2007-02-22  Bruno Haible  <bruno@clisp.org>
55407
55408         * lib/glob.c: Don't include getlogin_r.h.
55409
55410 2007-02-22  Jim Meyering  <jim@meyering.net>
55411
55412         * modules/utimens (Depends-on): Add timespec, required for
55413         utimens.h's inclusion of timespec.h.
55414
55415 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
55416
55417         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
55418         long unreadable paths in GNU/Linux.  Problem reported by Andreas
55419         Schwab in
55420         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
55421         I'll try to think of a better way to fix the Solaris problem.
55422
55423         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
55424         like glibc; on Solaris 10, it fails with errno == EINVAL.
55425         POSIX says the behavior is unspecified if the first argument is NULL,
55426         so play it safe and never pass NULL to the system getcwd.
55427
55428 2007-02-21  Jim Meyering  <jim@meyering.net>
55429
55430         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
55431         of gettimeofday.  It would conflict with the one now always
55432         provided via sys_time_.h.  Reported by Matthew Woehlke, as
55433         an IRIX 6.5 build failure.
55434
55435 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
55436
55437         Minor fixups to port to Solaris 10 with Sun C 5.8.
55438         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
55439         * modules/getcwd (Depends-on): Add dirfd.
55440         * lib/putenv.c (putenv): #undef it.
55441         (rpl_putenv): New decl.
55442         (malloc, free): Include <stdlib.h> rather than prototyping separately.
55443
55444 2007-02-20  Bruno Haible  <bruno@clisp.org>
55445
55446         * modules/stdio-tests: New file.
55447         * tests/test-stdio.c: New file.
55448
55449         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
55450         (Depends-on): Add stdio.
55451         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
55452         (Include): Use <stdio.h> instead of vsnprintf.h.
55453         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
55454         HAVE_DECL_VSNPRINTF.
55455         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
55456
55457         * modules/snprintf (Files): Remove lib/snprintf.h.
55458         (Depends-on): Add stdio.
55459         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
55460         (Include): Use <stdio.h> instead of snprintf.h.
55461         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
55462         HAVE_DECL_SNPRINTF.
55463         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
55464         * lib/getaddrinfo.c: Likewise.
55465
55466         * modules/stdio: New file.
55467         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
55468         * lib/snprintf.h: Remove file.
55469         * lib/vsnprintf.h: Remove file.
55470         * lib/.cppi-disable: Remove snprintf.h.
55471         * m4/stdio_h.m4: New file.
55472         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
55473
55474 2007-02-20  Jim Meyering  <jim@meyering.net>
55475
55476         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
55477         used by e.g., mingw.  From Bruno Haible.
55478
55479 2007-02-19  Bruno Haible  <bruno@clisp.org>
55480
55481         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
55482         warnings.
55483         Reported by Ben Pfaff <blp@cs.stanford.edu>.
55484
55485 2007-02-19  Bruno Haible  <bruno@clisp.org>
55486
55487         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
55488         from mingw users.
55489
55490 2007-02-19  Bruno Haible  <bruno@clisp.org>
55491
55492         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
55493         warnings.
55494         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
55495
55496 2007-02-19  Jim Meyering  <jim@meyering.net>
55497
55498         Don't use FD after a successful "fdopendir (fd)".
55499         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
55500         Reset it by calling dirfd on the just-obtained DIR*.
55501
55502         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
55503         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
55504
55505 2007-02-18  Bruno Haible  <bruno@clisp.org>
55506
55507         * lib/readlink.c: Include <unistd.h>.
55508         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
55509         HAVE_READLINK.
55510         * modules/readlink (Depends-on): Add unistd.
55511         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
55512         (Include): Add <unistd.h>.
55513
55514         * lib/getlogin_r.h: Remove file.
55515         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
55516         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
55517         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
55518         HAVE_DECL_GETLOGIN_R.
55519         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
55520         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
55521         (Include): Use <unistd.h> instead of getlogin_r.h.
55522
55523         * lib/getcwd.h: Remove file.
55524         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
55525         * lib/xgetcwd.c: Likewise.
55526         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
55527         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
55528         * modules/getcwd (Files): Remove lib/getcwd.h.
55529         (Depends-on): Add unistd.
55530         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
55531         (Include): Use <unistd.h> instad of getcwd.h.
55532
55533         * lib/ftruncate.c: Include <unistd.h> first.
55534         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
55535         Set HAVE_FTRUNCATE.
55536         * modules/ftruncate (Depends-on): Add unistd.
55537         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
55538
55539         * lib/fchdir.c: Include <unistd.h> first.
55540         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
55541         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
55542         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
55543         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
55544         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
55545
55546         * lib/dup2.c: Include <unistd.h> first.
55547         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
55548         HAVE_DUP2.
55549         * modules/dup2 (Depends-on): Add unistd.
55550         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
55551
55552         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
55553         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
55554         REPLACE_CHOWN. Don't define chown as a macro here.
55555         * modules/chown (Depends-on): Add unistd.
55556         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
55557
55558         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
55559         Add definition for GL_LINK_WARNING.
55560         (chown, dup2): New declarations.
55561         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
55562         link warning.
55563         (ftruncate): New declaration.
55564         (getcwd): New declaration, taken from old getcwd.h.
55565         (getlogin_r): New declaration, taken from old getlogin_r.h.
55566         (readlink): New declaration.
55567         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
55568         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
55569         (gl_PREREQ_UNISTD): Remove macro.
55570         (gl_UNISTD_MODULE_INDICATOR): New macro.
55571         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
55572         many new variables. Don't set UNISTD_H.
55573         * modules/unistd (Description): Change.
55574         (Depends-on): Add link-warning.
55575         (configure.ac): Update.
55576         (Makefile.am): Create unistd.h always. Substitute many new variables
55577         into it.
55578
55579 2007-02-18  Bruno Haible  <bruno@clisp.org>
55580
55581         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
55582         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
55583         HAVE_GETSUBOPT.
55584         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
55585         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
55586         * lib/getsubopt.h: Remove file.
55587         * modules/getsubopt (Files): Remove lib/getsubopt.h.
55588         (Depends-on): Add stdlib.
55589         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
55590         (Includes): Use <stdlib.h> instead of getsubopt.h.
55591         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
55592         Set HAVE_GETSUBOPT.
55593         * lib/getsubopt.c: Don't include getsubopt.h.
55594
55595 2007-02-18  Bruno Haible  <bruno@clisp.org>
55596
55597         * modules/fchdir (Depends-on): Add dup2.
55598
55599 2007-02-18  Bruno Haible  <bruno@clisp.org>
55600
55601         * lib/stdlib_.h: Handle glibc's special invocation convention
55602         specially.
55603
55604 2007-02-18  Bruno Haible  <bruno@clisp.org>
55605
55606         * modules/stdlib-tests: New file.
55607         * tests/test-stdlib.c: New file.
55608
55609         * modules/mkstemp (Files): Remove lib/mkstemp.h.
55610         (Depends-on): Add stdlib.
55611         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
55612         (Includes): Use <stdlib.h> instead of mkstemp.h.
55613         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
55614         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
55615         * lib/mkstemp.c: Don't include mkstemp.h.
55616         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
55617         * lib/stdlib--.h: Don't include mkstemp.h.
55618
55619         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
55620         (Depends-on): Add stdlib.
55621         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
55622         (Includes): Use <stdlib.h> instead of mkdtemp.h.
55623         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
55624         HAVE_MKDTEMP.
55625         * lib/mkdtemp.c: Don't include mkdtemp.h.
55626         * lib/clean-temp.c: Don't include mkdtemp.h.
55627
55628         * modules/exit (Files): Remove lib/exit.h.
55629         (Depends-on): Add stdlib.
55630         (Makefile.am): Remove lib_SOURCES.
55631         (Include): Use <stdlib.h> instead of exit.h.
55632         * lib/argmatch.c: Don't include exit.h.
55633         * lib/execute.c: Likewise.
55634         * lib/pagealign_alloc.c: Likewise.
55635         * lib/pipe.c: Likewise.
55636         * lib/wait-process.c: Likewise.
55637         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
55638         * lib/exitfail.c: Likewise.
55639         * lib/savewd.c: Likewise.
55640         * lib/xsetenv.c: Likewise.
55641
55642         * modules/stdlib: New file.
55643         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
55644         and extra comments about mkstemp().
55645         * lib/exit.h: Remove file.
55646         * lib/mkdtemp.h: Remove file.
55647         * lib/mkstemp.h: Remove file.
55648         * m4/stdlib_h.m4: New file.
55649         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
55650
55651 2007-02-18  Bruno Haible  <bruno@clisp.org>
55652
55653         * modules/math-tests: New file.
55654         * tests/test-math.c: New file.
55655
55656         * modules/math: New file.
55657         * modules/mathl (Files): Remove lib/mathl.h.
55658         (Depends-on): Add math.
55659         (Makefile.am): Don't mention mathl.h.
55660         (Include): Use <math.h> instead of mathl.h.
55661         * lib/math_.h: New file.
55662         * lib/mathl.h: Remove file.
55663         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
55664         mathl.h.
55665         * lib/asinl.c: Likewise.
55666         * lib/atanl.c: Likewise.
55667         * lib/ceill.c: Likewise.
55668         * lib/cosl.c: Likewise.
55669         * lib/expl.c: Likewise.
55670         * lib/floorl.c: Likewise.
55671         * lib/frexpl.c: Likewise.
55672         * lib/ldexpl.c: Likewise.
55673         * lib/logl.c: Likewise.
55674         * lib/sincosl.c: Likewise.
55675         * lib/sinl.c: Likewise.
55676         * lib/sqrtl.c: Likewise.
55677         * lib/tanl.c: Likewise.
55678         * lib/trigl.c: Likewise.
55679         * m4/math_h.m4: New file.
55680         * MODULES.html.sh (Mathematics): Add math.
55681
55682 2007-02-17  Bruno Haible  <bruno@clisp.org>
55683
55684         * modules/wctype-tests: New file.
55685         * tests/test-wctype.c: New file.
55686
55687         * modules/wchar-tests: New file.
55688         * tests/test-wchar.c: New file.
55689
55690         * modules/unistd-tests: New file.
55691         * tests/test-unistd.c: New file.
55692
55693         * modules/time-tests: New file.
55694         * tests/test-time.c: New file.
55695
55696         * modules/sysexits-tests: New file.
55697         * tests/test-sysexits.c: New file.
55698
55699         * modules/sys_time-tests: New file.
55700         * tests/test-sys_time.c: New file.
55701
55702         * modules/sys_stat-tests: New file.
55703         * tests/test-sys_stat.c: New file.
55704
55705         * modules/sys_socket-tests: New file.
55706         * tests/test-sys_socket.c: New file.
55707
55708         * modules/sys_select-tests: New file.
55709         * tests/test-sys_select.c: New file.
55710
55711         * modules/string-tests: New file.
55712         * tests/test-string.c: New file.
55713
55714         * modules/stdbool-tests: New file.
55715         * tests/test-stdbool.c: New file.
55716
55717         * modules/netinet_in-tests: New file.
55718         * tests/test-netinet_in.c: New file.
55719
55720         * modules/inttypes-tests: New file.
55721         * tests/test-inttypes.c: New file.
55722
55723         * modules/fcntl-tests: New file.
55724         * tests/test-fcntl.c: New file.
55725
55726         * modules/byteswap-tests: New file.
55727         * tests/test-byteswap.c: New file.
55728
55729         * modules/arpa_inet-tests: New file.
55730         * tests/test-arpa_inet.c: New file.
55731
55732 2007-02-17  Bruno Haible  <bruno@clisp.org>
55733
55734         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
55735         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
55736         if the corresponding module is not enabled. Emit link warnings if
55737         the function is used nevertheless.
55738         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
55739         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
55740         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
55741         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
55742         * modules/inttypes (Depends-on): Add link-warning.
55743         (Makefile.am): Copy the contents of build-aux/link-warning.h into
55744         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
55745         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
55746         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
55747         * modules/imaxdiv (configure.ac): Likewise.
55748         * modules/strtoimax (configure.ac): Likewise.
55749         * modules/strtoumax (configure.ac): Likewise.
55750
55751 2007-02-17  Bruno Haible  <bruno@clisp.org>
55752
55753         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
55754         gl_STRING_MODULE_INDICATOR_DEFAULTS.
55755         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
55756         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
55757
55758 2007-02-17  Bruno Haible  <bruno@clisp.org>
55759
55760         * modules/link-warning: New file.
55761         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
55762         * lib/string_.h (GL_LINK_WARNING): Remove definition.
55763         * modules/string (Depends-on): Add link-warning.
55764         (Makefile.am): Copy the contents of build-aux/link-warning.h into
55765         string.h.
55766         * MODULES.html.sh (Support for building libraries and executables): Add
55767         link-warning.
55768
55769 2007-02-17  Bruno Haible  <bruno@clisp.org>
55770
55771         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
55772         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
55773         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
55774         long lines.
55775
55776 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
55777             Bruno Haible  <bruno@clisp.org>
55778
55779         * modules/tmpfile: New file.
55780         * lib/tmpfile.c: New file.
55781         * m4/tmpfile.m4: New file.
55782         * MODULES.html.sh (func_all_modules): New section "Input/output".
55783
55784 2007-02-15  Bruno Haible  <bruno@clisp.org>
55785
55786         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
55787         (supports_delete_on_close): New function.
55788         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
55789
55790 2007-02-14  Bruno Haible  <bruno@clisp.org>
55791
55792         * modules/mbspcasecmp-tests: New file.
55793         * tests/test-mbspcasecmp.sh: New file.
55794         * tests/test-mbspcasecmp.c: New file.
55795
55796         New module mbspcasecmp.
55797         * modules/mbspcasecmp: New file.
55798         * lib/mbspcasecmp.c: New file.
55799         * lib/string_.h (strncasecmp): Change warning message.
55800         (mbspcasecmp): New declaration.
55801         * m4/mbspcasecmp.m4: New file.
55802         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
55803         GNULIB_MBSPCASECMP.
55804         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
55805         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
55806
55807 2007-02-14  Bruno Haible  <bruno@clisp.org>
55808
55809         * modules/mbsncasecmp-tests: New file.
55810         * tests/test-mbsncasecmp.sh: New file.
55811         * tests/test-mbsncasecmp.c: New file.
55812
55813         New module mbsncasecmp.
55814         * modules/mbsncasecmp: New file.
55815         * lib/mbsncasecmp.c: New file.
55816         * lib/string_.h (mbsncasecmp): New declaration.
55817         * m4/mbsncasecmp.m4: New file.
55818         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
55819         GNULIB_MBSNCASECMP.
55820         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
55821         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
55822
55823 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
55824
55825         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
55826         Verify that it doesn't overlap with our flags.
55827         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
55828         do not have the desired effect in multibyte locales; instead, use
55829         mbscasecmp.
55830         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
55831         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
55832         we don't require GNU fnmatch ourselves (if our users require it, they
55833         should do so explicitly).
55834
55835         Fix regex code so it doesn't rely on strcasecmp.
55836         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
55837         Otherwise, include gnulib's langinfo.h.
55838         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
55839         undesirable behavior in non-C locales.  Instead, rely on localecharset.
55840         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
55841         * modules/regex (FILES): Remove m4/codeset.m4.
55842         (Depends-on): Add localcharset.  Remove strcase.
55843
55844 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55845
55846         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
55847         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
55848
55849 2007-02-13  Bruno Haible  <bruno@clisp.org>
55850
55851         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
55852         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
55853
55854 2007-02-12  Bruno Haible  <bruno@clisp.org>
55855
55856         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
55857         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
55858         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
55859         time warning rather than a link error.
55860
55861 2007-02-12  Bruno Haible  <bruno@clisp.org>
55862
55863         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
55864         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
55865         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
55866
55867 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
55868
55869         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
55870         args, not 2.
55871
55872 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
55873
55874         New module 'time', so that apps can include <time.h> as per
55875         POSIX and GNU instead of separate include files like time_r.h
55876         and timegm.h.  This implementation tries out a simpler approach
55877         for replacing decls in standard include files (as compared to
55878         the string module), somewhat as an experiment.
55879
55880         * config/srclist.txt: Comment out mktime.c for now.
55881         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
55882         since it doesn't apply any more.  Use generic wording instead.
55883         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
55884         'time'.
55885         * lib/time_.h, m4/time_h.m4, modules/time: New files.
55886         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
55887         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
55888         Don't include <sys/types.h>; no longer needed since we assume C89.
55889         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
55890         * lib/strftime.c: Likewise.
55891         * lib/time_r.c: Likewise.
55892         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
55893         * lib/nanosleep.c: Include <time.h> first, to check interface.
55894         * lib/strptime.c: Likewise.
55895         * lib/time_r.c: Likewise.
55896         * lib/timegm.c: Likewise.
55897         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
55898         needed.
55899         * lib/timegm.c: Don't include timegm.h; no longer needed.
55900         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
55901         time.h now handles any problems in that area.
55902         (struct timespec, nanosleep): Remove; time.h now arranges for these.
55903         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
55904         that time.h defines struct timespec.
55905         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
55906         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
55907         handles that.
55908         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
55909         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
55910         needed.  Set REPLACE_LOCALTIME.
55911         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
55912         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
55913         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
55914         nanosleep; time_h.m4 now does that.  Don't require
55915         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
55916         module handles this now.
55917         * modules/getdate (Depends-on): Remove timespec.  Add time.
55918         * modules/nanosleep (Depends-on): Likewise.
55919         * modules/stat-time (Depends-on): Likewise.
55920         * modules/nanosleep (Include): Include time.h, not timespec.h.
55921         * modules/strptime (Files): Remove lib/strptime.h.
55922         (Depends-on): Add extensions, time.
55923         (Include): Include time.h, not strptime.h.
55924         * modules/time_r (Files): Remove lib/time_r.h.
55925         (Depends-on): Add time.
55926         (Include): Include time.h, not time_r.h.
55927         * modules/timegm: Likewise.
55928         * modules/timespec (Description): Now does timespec-related decls
55929         of our own, instead of struct timespec itself.
55930         (Depends-on): Add time; remove extensions.
55931         (Maintainer): Add self.
55932         * modules/utimecmp (Depends-on): Add time; remove timespec.
55933         * modules/utimens (Depends-on): Likewise.
55934         * modules/xnanosleep (Depends-on): Likewise.
55935
55936 2007-02-11  Bruno Haible  <bruno@clisp.org>
55937
55938         * lib/c-strstr.c: Include allocsa.h.
55939         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
55940         * lib/c-strcasestr.c: Include allocsa.h.
55941         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
55942         * lib/strcasestr.c: Include allocsa.h.
55943         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
55944         * lib/mbsstr.c: Include allocsa.h.
55945         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
55946         allocsa/freesa instead of malloc/free.
55947         * lib/mbscasestr.c: Include allocsa.h.
55948         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
55949         allocsa/freesa instead of malloc/free.
55950         * modules/c-strstr (Depends-on): Add allocsa.
55951         * modules/c-strcasestr (Depends-on): Likewise.
55952         * modules/strcasestr (Depends-on): Likewise.
55953         * modules/mbsstr (Depends-on): Likewise.
55954         * modules/mbscasestr (Depends-on): Likewise.
55955
55956 2007-02-11  Bruno Haible  <bruno@clisp.org>
55957
55958         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
55959
55960         * modules/mbsspn-tests: New file.
55961         * tests/test-mbsspn.sh: New file.
55962         * tests/test-mbsspn.c: New file.
55963
55964 2007-02-11  Bruno Haible  <bruno@clisp.org>
55965
55966         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
55967
55968         * modules/mbspbrk-tests: New file.
55969         * tests/test-mbspbrk.sh: New file.
55970         * tests/test-mbspbrk.c: New file.
55971
55972 2007-02-11  Bruno Haible  <bruno@clisp.org>
55973
55974         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
55975         unneeded cast.
55976
55977         * modules/mbscspn-tests: New file.
55978         * tests/test-mbscspn.sh: New file.
55979         * tests/test-mbscspn.c: New file.
55980
55981 2007-02-11  Bruno Haible  <bruno@clisp.org>
55982
55983         * modules/mbscasecmp-tests: New file.
55984         * tests/test-mbscasecmp.sh: New file.
55985         * tests/test-mbscasecmp.c: New file.
55986
55987 2007-02-11  Bruno Haible  <bruno@clisp.org>
55988
55989         Ensure O(n) worst-case complexity of mbscasestr.
55990         * lib/mbscasestr.c: Include stdbool.h.
55991         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
55992         functions.
55993         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
55994         the bookkeeping indicates that it's worth it.
55995         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
55996
55997         * modules/mbscasestr-tests: New file.
55998         * tests/test-mbscasestr1.c: New file.
55999         * tests/test-mbscasestr2.sh: New file.
56000         * tests/test-mbscasestr2.c: New file.
56001         * tests/test-mbscasestr3.sh: New file.
56002         * tests/test-mbscasestr3.c: New file.
56003         * tests/test-mbscasestr4.sh: New file.
56004         * tests/test-mbscasestr4.c: New file.
56005         * m4/locale-tr.m4: New file.
56006
56007 2007-02-11  Bruno Haible  <bruno@clisp.org>
56008
56009         Ensure O(n) worst-case complexity of mbsstr.
56010         * lib/mbsstr.c: Include stdbool.h.
56011         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
56012         functions.
56013         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
56014         bookkeeping indicates that it's worth it.
56015         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
56016
56017         * modules/mbsstr-tests: New file.
56018         * tests/test-mbsstr1.c: New file.
56019         * tests/test-mbsstr2.sh: New file.
56020         * tests/test-mbsstr2.c: New file.
56021         * tests/test-mbsstr3.sh: New file.
56022         * tests/test-mbsstr3.c: New file.
56023         * m4/locale-fr.m4: New file.
56024
56025 2007-02-11  Bruno Haible  <bruno@clisp.org>
56026
56027         * lib/mbsrchr.c (mbsrchr): Fix bug.
56028
56029         * modules/mbsrchr-tests: New file.
56030         * tests/test-mbsrchr.sh: New file.
56031         * tests/test-mbsrchr.c: New file.
56032
56033 2007-02-11  Bruno Haible  <bruno@clisp.org>
56034
56035         * lib/mbschr.c (mbschr): Fix bug.
56036
56037         * modules/mbschr-tests: New file.
56038         * tests/test-mbschr.sh: New file.
56039         * tests/test-mbschr.c: New file.
56040         * m4/locale-zh.m4: New file.
56041
56042 2007-02-11  Bruno Haible  <bruno@clisp.org>
56043
56044         Support for copying multibyte string iterators.
56045         * lib/mbiter.h: Include <string.h>.
56046         (mbiter_multi_copy): New function.
56047         (mbi_copy): New macro.
56048         * lib/mbuiter.h: Include <string.h>.
56049         (mbuiter_multi_copy): New function.
56050         (mbui_copy): New macro.
56051
56052 2007-02-11  Bruno Haible  <bruno@clisp.org>
56053
56054         New module mbslen.
56055         * modules/mbslen: New file.
56056         * lib/mbslen.c: New file.
56057         * lib/string_.h (mbslen): New declaration.
56058         * m4/mbslen.m4: New file.
56059         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
56060         GNULIB_MBSLEN.
56061         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
56062         * MODULES.html.sh (Internationalization functions): Add mbslen.
56063
56064 2007-02-11  Bruno Haible  <bruno@clisp.org>
56065
56066         Ensure O(n) worst-case complexity of strcasestr substitute.
56067         * lib/strcasestr.c: Include stdbool.h.
56068         (knuth_morris_pratt): New function.
56069         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
56070         bookkeeping indicates that it's worth it.
56071         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
56072
56073         * modules/strcasestr-tests: New file.
56074         * tests/test-strcasestr.c: New file.
56075
56076 2007-02-11  Bruno Haible  <bruno@clisp.org>
56077
56078         Ensure O(n) worst-case complexity of c_strcasestr.
56079         * lib/c-strcasestr.c: Include stdbool.h, string.h.
56080         (knuth_morris_pratt): New function.
56081         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
56082         the bookkeeping indicates that it's worth it.
56083         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
56084
56085         * modules/c-strcasestr-tests: New file.
56086         * tests/test-c-strcasestr.c: New file.
56087
56088 2007-02-11  Bruno Haible  <bruno@clisp.org>
56089
56090         Ensure O(n) worst-case complexity of c_strstr.
56091         * lib/c-strstr.c: Include stdbool.h, string.h.
56092         (knuth_morris_pratt): New function.
56093         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
56094         bookkeeping indicates that it's worth it.
56095         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
56096
56097         * lib/c-strstr.c: Complete rewrite for maintainability.
56098
56099         * modules/c-strstr-tests: New file.
56100         * tests/test-c-strstr.c: New file.
56101
56102 2007-02-11  Bruno Haible  <bruno@clisp.org>
56103
56104         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
56105         5.2.1 and earlier, whereby \055 was treated just like the range
56106         delimiter '-'.
56107         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
56108
56109 2007-02-08  Bruno Haible  <bruno@clisp.org>
56110
56111         * modules/regex (Depends-on): Add stdbool.
56112         Reported by Dalibor Topic <robilad@kaffe.org>.
56113
56114 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
56115
56116         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
56117         Prefer returning from main to exiting from it.
56118         Remove unnecessary parens after sizeof.
56119
56120 2007-02-05  Bruno Haible  <bruno@clisp.org>
56121
56122         New module mbssep.
56123         * modules/mbssep: New file.
56124         * lib/mbssep.c: New file.
56125         * lib/string_.h (strsep): Add a conditional link warning.
56126         (mbssep): New declaration.
56127         * m4/mbssep.m4: New file.
56128         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
56129         GNULIB_MBSSEP.
56130         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
56131         * MODULES.html.sh (Internationalization functions): Add mbssep.
56132
56133 2007-02-05  Bruno Haible  <bruno@clisp.org>
56134
56135         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
56136         Optimize search in case of 1 delimiter.
56137
56138 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
56139
56140         * lib/acl.h: Include sys/types.h before sys/acl.h.
56141
56142 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
56143
56144         Merge upstream fix for glibc bugzilla #3957:
56145
56146         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
56147
56148         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
56149         bit for RE_HAT_LISTS_NOT_NEWLINE.
56150         (build_charclass_op): Remove bogus comment.
56151
56152 2007-02-05  Simon Josefsson  <simon@josefsson.org>
56153
56154         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
56155
56156 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
56157
56158         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
56159         * lib/memmem.c [!defined _LIBC]: Include config.h.
56160
56161 2007-02-04  Bruno Haible  <bruno@clisp.org>
56162
56163         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
56164         warning message.
56165
56166 2007-02-04  Bruno Haible  <bruno@clisp.org>
56167
56168         New module mbstok_r.
56169         * modules/mbstok_r: New file.
56170         * lib/mbstok_r.c: New file.
56171         * lib/string_.h (strtok_r): Change argument names to match the
56172         comments. Add a conditional link warning.
56173         (mbstok_r): New declaration.
56174         * m4/mbstok_r.m4: New file.
56175         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
56176         GNULIB_MBSTOK_R.
56177         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
56178         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
56179
56180 2007-02-04  Bruno Haible  <bruno@clisp.org>
56181
56182         New module mbsspn.
56183         * modules/mbsspn: New file.
56184         * lib/mbsspn.c: New file.
56185         * lib/string_.h (strspn): Add a conditional link warning.
56186         (mbsspn): New declaration.
56187         * m4/mbsspn.m4: New file.
56188         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
56189         GNULIB_MBSSPN.
56190         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
56191         * MODULES.html.sh (Internationalization functions): Add mbsspn.
56192
56193 2007-02-04  Bruno Haible  <bruno@clisp.org>
56194
56195         New module mbspbrk.
56196         * modules/mbspbrk: New file.
56197         * lib/mbspbrk.c: New file.
56198         * lib/string_.h (strpbrk): Add a conditional link warning.
56199         (mbspbrk): New declaration.
56200         * m4/mbspbrk.m4: New file.
56201         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
56202         GNULIB_MBSPBRK.
56203         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
56204         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
56205
56206 2007-02-04  Bruno Haible  <bruno@clisp.org>
56207
56208         New module mbscspn.
56209         * modules/mbscspn: New file.
56210         * lib/mbscspn.c: New file.
56211         * lib/string_.h (strcspn): Add a conditional link warning.
56212         (mbscspn): New declaration.
56213         * m4/mbscspn.m4: New file.
56214         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
56215         GNULIB_MBSCSPN.
56216         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
56217         * MODULES.html.sh (Internationalization functions): Add mbscspn.
56218
56219 2007-02-04  Bruno Haible  <bruno@clisp.org>
56220
56221         New module mbscasestr, reduced goal of strcasestr.
56222         * modules/mbscasestr: New file.
56223         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
56224         (mbscasestr): Renamed from strcasestr.
56225         * lib/strcasestr.c: Don't include mbuiter.h.
56226         (strcasestr): Remove support for multibyte locales.
56227         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
56228         Change the conditional link warning.
56229         (mbscasestr): New declaration.
56230         * m4/mbscasestr.m4: New file.
56231         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
56232         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
56233         REPLACE_STRCASESTR.
56234         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
56235         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
56236         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
56237         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
56238         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
56239         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
56240         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
56241         (Depends-on): Remove mbuiter.
56242         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
56243
56244 2007-02-04  Bruno Haible  <bruno@clisp.org>
56245
56246         Simplify handling of strncasecmp.
56247         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
56248         the conditional link warning.
56249         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
56250         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
56251         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
56252         * modules/strcase (configure.ac): Don't invoke
56253         gl_STRING_MODULE_INDICATOR.
56254         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
56255
56256 2007-02-04  Bruno Haible  <bruno@clisp.org>
56257
56258         New module mbscasecmp, reduced goal of strcasecmp.
56259         * modules/mbscasecmp: New file.
56260         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
56261         (mbscasecmp): Renamed from strcasecmp.
56262         * lib/strcasecmp.c: Don't include mbuiter.h.
56263         (strcasecmp): Remove support for multibyte locales.
56264         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
56265         Change the conditional link warning.
56266         (mbscasecmp): New declaration.
56267         * m4/mbscasecmp.m4: New file.
56268         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
56269         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
56270         REPLACE_STRCASECMP.
56271         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
56272         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
56273         GNULIB_MBSCASECMP.
56274         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
56275         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
56276         * modules/strcase (Files): Remove m4/mbrtowc.m4.
56277         (Depends-on): Remove mbuiter.
56278         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
56279
56280 2007-02-04  Bruno Haible  <bruno@clisp.org>
56281
56282         New module mbsstr. Remove module strstr.
56283         * modules/mbsstr: New file.
56284         * modules/strstr: Remove file.
56285         * lib/mbsstr.c: Renamed from lib/strstr.c.
56286         (mbsstr): Renamed from strstr.
56287         * lib/string_.h (strstr): Remove declaration. Change the conditional
56288         link warning.
56289         (mbsstr): New declaration.
56290         * m4/mbsstr.m4: New file.
56291         * m4/strstr.m4: Remove file.
56292         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
56293         REPLACE_STRSTR.
56294         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
56295         Don't initialize GNULIB_STRSTR.
56296         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
56297         substitute GNULIB_STRSTR and REPLACE_STRSTR.
56298         * MODULES.html.sh (Internationalization functions): Add mbsstr.
56299         (Support for systems lacking ANSI C 89): Remove strstr.
56300
56301 2007-02-04  Bruno Haible  <bruno@clisp.org>
56302
56303         New module mbsrchr.
56304         * modules/mbsrchr: New file.
56305         * lib/mbsrchr.c: New file.
56306         * lib/string_.h (strrchr): Add a conditional link warning.
56307         (mbsrchr): New declaration.
56308         * m4/mbsrchr.m4: New file.
56309         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
56310         GNULIB_MBSRCHR.
56311         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
56312         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
56313
56314 2007-02-04  Bruno Haible  <bruno@clisp.org>
56315
56316         New module mbschr.
56317         * modules/mbschr: New file.
56318         * lib/mbschr.c: New file.
56319         * lib/string_.h (strchr): Add a conditional link warning.
56320         (mbschr): New declaration.
56321         * m4/mbschr.m4: New file.
56322         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
56323         GNULIB_MBSCHR.
56324         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
56325         * MODULES.html.sh (Internationalization functions): Add mbschr.
56326
56327 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
56328
56329         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
56330
56331         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
56332
56333 2007-02-04  Bruno Haible  <bruno@clisp.org>
56334
56335         New module description section 'configure.ac-early'.
56336         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
56337         (func_get_autoconf_early_snippet): New function.
56338         (func_import, func_create_testdir): Use it. Remove special cases for
56339         modules 'extensions' and 'lock'.
56340         * modules/extensions (configure.ac-early): Require
56341         gl_USE_SYSTEM_EXTENSIONS.
56342         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
56343
56344 2007-02-04  Bruno Haible  <bruno@clisp.org>
56345
56346         Make use of gcj-4.3's -fsource and -ftarget option.
56347         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
56348         and if so try the options -fsource and -ftarget.
56349         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
56350         source_version, ftarget_option, target_version arguments.
56351         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
56352         (is_envjavac_oldgcj_14_14_usable): Renamed from
56353         is_envjavac_gcj_14_14_usable.
56354         (is_envjavac_oldgcj_14_13_usable): Renamed from
56355         is_envjavac_gcj_14_13_usable.
56356         (is_gcj_present): Update.
56357         (is_gcj_43, is_gcj43_usable): New functions.
56358         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
56359         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
56360         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
56361         try the options -fsource and -ftarget.
56362
56363 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
56364
56365         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
56366         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
56367         larger value.
56368
56369 2007-02-03  Jim Meyering  <jim@meyering.net>
56370
56371         Give tools a better chance to allocate space for very large buffers.
56372         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
56373
56374         Make pwd and readlink work also when run with an unreadable parent dir
56375         on systems with openat support.
56376         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
56377         provided getcwd function, even when we have openat support.
56378         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
56379
56380 2007-02-02  Bruno Haible  <bruno@clisp.org>
56381
56382         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
56383         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
56384         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
56385         portability problems if one of these functions is only used on specific
56386         platforms.
56387         Reported by Paul Eggert.
56388
56389 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
56390
56391         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
56392         is causing more trouble than it's curing.
56393         * lib/regex_internal.h (__mempcpy): Remove.
56394         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
56395         (and make the code a tad smaller to boot).
56396         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
56397
56398 2007-02-02  Jim Meyering  <jim@meyering.net>
56399
56400         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
56401         section, not in the Makefile.am: one.
56402
56403 2007-02-02  Eric Blake  <ebb9@byu.net>
56404
56405         * lib/strchrnul.c: Always include config.h first.
56406
56407         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
56408         gnulib strstr is not necessary here.
56409
56410 2007-02-02  Simon Josefsson  <simon@josefsson.org>
56411
56412         * m4/socklen.m4: Fix typo.
56413
56414 2007-02-02  Eric Blake  <ebb9@byu.net>
56415
56416         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
56417         * modules/netinet_in (Makefile.am): Likewise.
56418
56419 2007-02-01  Bruno Haible  <bruno@clisp.org>
56420
56421         * lib/string_.h (GL_LINK_WARNING): New macro.
56422         (strcasecmp, strstr, strcasestr): If provided by the system,
56423         conditionally define as a macro that leads to a warning instead of to
56424         an error.
56425         (strncasecmp): Conditionally define as a macro that leads to a warning.
56426
56427 2007-02-01  Karl Berry  <karl@gnu.org>
56428
56429         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
56430
56431 2007-02-01  Bruno Haible  <bruno@clisp.org>
56432
56433         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
56434         renamings.
56435
56436 2007-02-01  Eric Blake  <ebb9@byu.net>
56437
56438         * modules/regex (Depends-on): Revert dependence on mempcpy.
56439         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
56440         module's definition of mempcpy.
56441         Reported by Paul Eggert.
56442
56443 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
56444
56445         * lib/string_.h: If the gnulib module XYZ is not present, undefine
56446         the symbol XYZ before redefining it.  This fixes a problem with
56447         programs that don't use XYZ, when compiled on systems that define
56448         XYZ to something else.
56449
56450 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
56451
56452         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
56453         occurs when "mkdir -m foo" creates a setgid directory that is (1)
56454         writeable to group or other and (2) is intended to have a special
56455         mode bit that is set or cleared.  In such a case, the directory
56456         should be neither group- nor other-writeable until the special
56457         mode bits are right.
56458
56459 2007-01-31  Eric Blake  <ebb9@byu.net>
56460
56461         * modules/mountlist (Depends-on): Add strstr.
56462
56463         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
56464         bug.
56465         * modules/string (Makefile.am): Remove redundant replacement.
56466         * modules/regex (Depends-on): Add mempcpy.
56467
56468 2007-01-31  Bruno Haible  <bruno@clisp.org>
56469
56470         New module description field 'Link'.
56471         * gnulib-tool (func_usage): Document --extract-link-directive.
56472         (sed_extract_prog): Recognize 'Link' directive.
56473         (func_get_link_directive): New function.
56474         (func_import): Show summary of link directives.
56475         Handle --extract-link-directive option.
56476         * modules/acl (Link): New section.
56477         * modules/clock-time (Link): New section.
56478         * modules/euidaccess (Link): New section.
56479         * modules/gettext (Link): New section.
56480         * modules/iconv (Link): New section.
56481         * modules/lock (Link): New section.
56482         * modules/nanosleep (Link): New section.
56483         * modules/readline (Link): New section.
56484
56485 2007-01-27  Bruno Haible  <bruno@clisp.org>
56486
56487         Enforce the use of gnulib modules for unportable <string.h> functions.
56488         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
56489         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
56490         (gl_HEADER_STRING_H_BODY): Require it.
56491         * lib/string_.h: If the gnulib module XYZ is not present, redefine
56492         the symbol XYZ to one that gives a link error.
56493         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
56494         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
56495         * modules/mempcpy (configure.ac): Likewise.
56496         * modules/memrchr (configure.ac): Likewise.
56497         * modules/stpcpy (configure.ac): Likewise.
56498         * modules/stpncpy (configure.ac): Likewise.
56499         * modules/strcase (configure.ac): Likewise.
56500         * modules/strcasestr (configure.ac): Likewise.
56501         * modules/strchrnul (configure.ac): Likewise.
56502         * modules/strdup (configure.ac): Likewise.
56503         * modules/strndup (configure.ac): Likewise.
56504         * modules/strnlen (configure.ac): Likewise.
56505         * modules/strpbrk (configure.ac): Likewise.
56506         * modules/strsep (configure.ac): Likewise.
56507         * modules/strstr (configure.ac): Likewise.
56508         * modules/strtok_r (configure.ac): Likewise.
56509
56510 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
56511
56512         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
56513
56514 2007-01-30  Jim Meyering  <jim@meyering.net>
56515
56516         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
56517
56518 2007-01-29  Bruno Haible  <bruno@clisp.org>
56519
56520         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
56521         * lib/execute.c: Likewise.
56522         * lib/pipe.c: Likewise.
56523         * lib/printf-args.h: Likewise.
56524         * lib/printf-args.c: Likewise.
56525         * lib/printf-parse.c: Likewise.
56526         * lib/vasnprintf.c: Likewise.
56527
56528 2007-01-29  Eric Blake  <ebb9@byu.net>
56529
56530         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
56531         declaration.
56532
56533 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
56534
56535         * lib/strptime.h (strptime): Use 'restrict' for args where
56536         POSIX requires this.
56537         * lib/strptime.c (strptime): Likewise.
56538         Change license notice from LGPL to GPL, since gnulib-tool will
56539         change this as needed.
56540         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
56541         defined.
56542         Include "strptime.h" first, to check interface.
56543         Do not #undef _LIBC and _NL_CURRENT.
56544         Do not include <stdlib.h>; no longer needed.
56545         Include "time_r.h" and declare ptime_locale_status
56546         only if _LIBC is not defined.
56547         (__P): Remove unused macro.
56548         (match_string): Bring back glibc version, but use it only if _LIBC
56549         is defined.
56550         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
56551         Remove unnecessary assertion and abort() call.
56552         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
56553         * m4/strptime.m4: Fix serial number comment.
56554         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
56555         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
56556         (Depends-on): Add time_r.
56557
56558 2007-01-29  Bruno Haible  <bruno@clisp.org>
56559
56560         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
56561         strptime.
56562         * modules/strptime (Depends-on): Add stdbool.
56563         * lib/strptime.h: Include <time.h> always. Add comments.
56564
56565 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
56566
56567         * modules/strptime: New file.
56568         * lib/strptime.h: New file.
56569         * lib/strptime.c: New file.
56570         * m4/strptime.m4: New file.
56571
56572 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
56573
56574         * MODULES.html.sh: New module mpsort.
56575         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
56576
56577         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
56578         a circularity problem with HP-UX ia64 reported by Bob Proulx in
56579         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
56580         All uses changed.
56581         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
56582         All uses changed.
56583         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
56584         to _Restrict_.
56585         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
56586         the parameter matches the prototype.
56587
56588 2007-01-28  Jim Meyering  <jim@meyering.net>
56589
56590         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
56591         sys/time.h here, reverting that part of the previous patch:
56592         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
56593
56594 2007-01-28  Bruno Haible  <bruno@clisp.org>
56595
56596         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
56597         value of $(SYS_TIME_H).
56598         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
56599         remove it conditionally, too. [added by Jim Meyering]
56600         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
56601         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
56602         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
56603         GETTIMEOFDAY_REPLACEMENT to 1.
56604
56605 2007-01-28  Bruno Haible  <bruno@clisp.org>
56606
56607         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
56608         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
56609         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
56610         Set UNISTD_H instead of UNISTD_H2.
56611         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
56612
56613 2007-01-28  Bruno Haible  <bruno@clisp.org>
56614
56615         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
56616         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
56617
56618 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56619
56620         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
56621         (func_create_testdir): Ensure C locale for `grep' and `tr'
56622         character ranges.
56623         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
56624         ACLOCAL_AMFLAGS parsing state machine.
56625
56626 2007-01-27  Bruno Haible  <bruno@clisp.org>
56627
56628         * modules/unistr/base: Update.
56629
56630 2007-01-27  Bruno Haible  <bruno@clisp.org>
56631
56632         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
56633         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
56634         * modules/unistr/u32-mbtouc-unsafe: Renamed from
56635         modules/unistr/u32-mbtouc.
56636         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
56637         * lib/unistr.h: Update.
56638         * lib/linebreak.c: Update.
56639         * modules/unistr/u32-mbtouc: Renamed from
56640         modules/unistr/u32-mbtouc-safe.
56641         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
56642         * lib/unistr.h: Update.
56643         * lib/unistr/u32-to-u8.c: Update.
56644         * lib/unistr/u32-to-u16.c: Update.
56645
56646 2007-01-27  Bruno Haible  <bruno@clisp.org>
56647
56648         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
56649         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
56650         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
56651         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
56652         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
56653         * modules/unistr/u16-mbtouc-unsafe: Renamed from
56654         modules/unistr/u16-mbtouc.
56655         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
56656         * lib/unistr.h: Update.
56657         * lib/linebreak.c: Update.
56658         * modules/linebreak: Update.
56659         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
56660         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
56661         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
56662         * modules/unistr/u16-mbtouc: Renamed from
56663         modules/unistr/u16-mbtouc-safe.
56664         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
56665         * lib/unistr.h: Update.
56666         * lib/unistr/u16-to-u8.c: Update.
56667         * modules/unistr/u16-to-u8: Update.
56668         * lib/unistr/u16-to-u32.c: Update.
56669         * modules/unistr/u16-to-u32: Update.
56670
56671 2007-01-27  Bruno Haible  <bruno@clisp.org>
56672
56673         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
56674         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
56675         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
56676         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
56677         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
56678         * modules/unistr/u8-mbtouc-unsafe: Renamed from
56679         modules/unistr/u8-mbtouc.
56680         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
56681         * lib/unistr.h: Update.
56682         * lib/striconveh.c: Update.
56683         * modules/striconveh: Update.
56684         * lib/linebreak.c: Update.
56685         * modules/linebreak: Update.
56686         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
56687         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
56688         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
56689         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
56690         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
56691         * lib/unistr.h: Update.
56692         * lib/striconveh.c: Update.
56693         * modules/striconveh: Update.
56694         * lib/unistr/u8-to-u16.c: Update.
56695         * modules/unistr/u8-to-u16: Update.
56696         * lib/unistr/u8-to-u32.c: Update.
56697         * modules/unistr/u8-to-u32: Update.
56698
56699 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56700
56701         Sync from Libtool.
56702         * lib/argz.c: Do not include strings.h nor memory.h, include
56703         string.h unconditionally.  Patch by Simon Josefsson.
56704
56705 2007-01-27  Bruno Haible  <bruno@clisp.org>
56706
56707         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
56708         from gl_HEADER_STRING_H_BODY.
56709         (gl_HEADER_STRING_H_BODY): Require it.
56710         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
56711         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
56712         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
56713         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
56714         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
56715         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
56716         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
56717         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
56718         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
56719         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
56720         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
56721         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
56722         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
56723         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
56724         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
56725
56726 2007-01-27  Bruno Haible  <bruno@clisp.org>
56727
56728         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
56729         check_PROGRAMS into noinst_PROGRAMS.
56730         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
56731         check_PROGRAMS in this case.
56732         (func_import): Set for_test to false.
56733         (func_create_testdir): Set for_test to true.
56734
56735 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
56736             Bruno Haible  <bruno@clisp.org>
56737
56738         * modules/strcasestr (Files): Remove lib/strcasestr.h.
56739         (Depends-on): Add string.
56740         (Includes): Use <string.h> instead of strcasestr.h.
56741         * modules/string (Makefile.am): Also substitute the value of
56742         REPLACE_STRCASESTR.
56743         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
56744         assume strcasestr is declared in <string.h> not <strings.h>. Also
56745         set REPLACE_STRCASESTR.
56746         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
56747         REPLACE_STRCASESTR.
56748         * lib/strcasestr.h: Remove file.
56749         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
56750         * lib/string_.h (strcasestr): New declaration.
56751
56752 2007-01-27  Bruno Haible  <bruno@clisp.org>
56753
56754         * lib/string_.h: Use 'extern'.
56755
56756 2007-01-27  Jim Meyering  <jim@meyering.net>
56757
56758         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
56759         of set-but-not-used local, "q".
56760
56761         * lib/mempcpy.c: Include <config.h> before <string.h>.
56762         This fixes a compilation error on HP-UX, due to the system's
56763         "restrict"-using mempcpy prototype.
56764
56765 2007-01-26  Bruno Haible  <bruno@clisp.org>
56766
56767         Small optimization.
56768         * lib/javacomp.c: Include c-strstr.h.
56769          (is_envjavac_gcj): Use c_strstr instead of strstr.
56770         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
56771
56772 2007-01-26  Bruno Haible  <bruno@clisp.org>
56773
56774         * MODULES.html.sh (Unicode string functions): Add the new modules.
56775
56776         * modules/uniconv/u32-strconv-to-locale: New file.
56777         * lib/uniconv/u32-strconv-to-locale.c: New file.
56778
56779         * modules/uniconv/u16-strconv-to-locale: New file.
56780         * lib/uniconv/u16-strconv-to-locale.c: New file.
56781
56782         * modules/uniconv/u8-strconv-to-locale: New file.
56783         * lib/uniconv/u8-strconv-to-locale.c: New file.
56784
56785         * modules/uniconv/u32-strconv-from-locale: New file.
56786         * lib/uniconv/u32-strconv-from-locale.c: New file.
56787
56788         * modules/uniconv/u16-strconv-from-locale: New file.
56789         * lib/uniconv/u16-strconv-from-locale.c: New file.
56790
56791         * modules/uniconv/u8-strconv-from-locale: New file.
56792         * lib/uniconv/u8-strconv-from-locale.c: New file.
56793
56794         * modules/uniconv/u32-strconv-to-enc: New file.
56795         * lib/uniconv/u32-strconv-to-enc.c: New file.
56796         * modules/uniconv/u32-strconv-to-enc-tests: New file.
56797         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
56798
56799         * modules/uniconv/u16-strconv-to-enc: New file.
56800         * lib/uniconv/u16-strconv-to-enc.c: New file.
56801         * lib/uniconv/u-strconv-to-enc.h: New file.
56802         * modules/uniconv/u16-strconv-to-enc-tests: New file.
56803         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
56804
56805         * modules/uniconv/u8-strconv-to-enc: New file.
56806         * lib/uniconv/u8-strconv-to-enc.c: New file.
56807         * modules/uniconv/u8-strconv-to-enc-tests: New file.
56808         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
56809
56810         * modules/uniconv/u32-strconv-from-enc: New file.
56811         * lib/uniconv/u32-strconv-from-enc.c: New file.
56812         * modules/uniconv/u32-strconv-from-enc-tests: New file.
56813         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
56814
56815         * modules/uniconv/u16-strconv-from-enc: New file.
56816         * lib/uniconv/u16-strconv-from-enc.c: New file.
56817         * modules/uniconv/u16-strconv-from-enc-tests: New file.
56818         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
56819
56820         * modules/uniconv/u8-strconv-from-enc: New file.
56821         * lib/uniconv/u8-strconv-from-enc.c: New file.
56822         * lib/uniconv/u-strconv-from-enc.h: New file.
56823         * modules/uniconv/u8-strconv-from-enc-tests: New file.
56824         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
56825
56826         * modules/uniconv/u32-conv-from-enc: New file.
56827         * lib/uniconv/u32-conv-from-enc.c: New file.
56828         * modules/uniconv/u32-conv-from-enc-tests: New file.
56829         * tests/uniconv/test-u32-conv-from-enc.c: New file.
56830
56831         * modules/uniconv/u16-conv-from-enc: New file.
56832         * lib/uniconv/u16-conv-from-enc.c: New file.
56833         * lib/uniconv/u-conv-from-enc.h: New file.
56834         * modules/uniconv/u16-conv-from-enc-tests: New file.
56835         * tests/uniconv/test-u16-conv-from-enc.c: New file.
56836
56837         * modules/uniconv/u8-conv-from-enc: New file.
56838         * lib/uniconv/u8-conv-from-enc.c: New file.
56839         * modules/uniconv/u8-conv-from-enc-tests: New file.
56840         * tests/uniconv/test-u8-conv-from-enc.c: New file.
56841
56842         * modules/uniconv/base: New file.
56843         * lib/uniconv.h: New file.
56844
56845 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
56846
56847         * doc/gnulib-tool.texi (Initial import): Update to match current
56848         behavior with strdup module.
56849         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
56850         * lib/memmem.h: Remove; all uses removed.  This is now done
56851         by <string.h>.
56852         * lib/mempcpy.h: Likewise.
56853         * lib/memrchr.h: Likewise.
56854         * lib/stpcpy.h: Likewise.
56855         * lib/stpncpy.h: Likewise.
56856         * lib/strcase.h: Likewise.
56857         * lib/strchrnul.h: Likewise.
56858         * lib/strdup.h: Likewise.
56859         * lib/strndup.h: Likewise.
56860         * lib/strnlen.h: Likewise.
56861         * lib/strpbrk.h: Likewise.
56862         * lib/strsep.h: Likewise.
56863         * lib/strstr.h: Likewise.
56864         * lib/strtok_r.h: Likewise.
56865         * lib/string_.h: New file.
56866         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
56867         Rely on <string.h> instead.
56868         * lib/canon-host.c: Likewise.
56869         * lib/chdir-long.c: Likewise.
56870         * lib/concatpath.c: Likewise.
56871         * lib/exclude.c: Likewise.
56872         * lib/fchdir.c: Likewise.
56873         * lib/getaddrinfo.c: Likewise.
56874         * lib/getcwd.c: Likewise.
56875         * lib/getsubopt.c: Likewise.
56876         * lib/glob.c: Likewise.
56877         * lib/hard-locale.c: Likewise.
56878         * lib/iconvme.c: Likewise.
56879         * lib/javacomp.c: Likewise.
56880         * lib/mempcpy.c: Likewise.
56881         * lib/memrchr.c: Likewise.
56882         * lib/regex_internal.h: Likewise.
56883         * lib/stpncpy.c: Likewise.
56884         * lib/strcasecmp.c: Likewise.
56885         * lib/strchrnul.c: Likewise.
56886         * lib/strdup.c: Likewise.
56887         * lib/striconv.c: Likewise.
56888         * lib/striconveh.c: Likewise.
56889         * lib/striconveha.c: Likewise.
56890         * lib/strncasecmp.c: Likewise.
56891         * lib/strndup.c: Likewise.
56892         * lib/strnlen.c: Likewise.
56893         * lib/strsep.c: Likewise.
56894         * lib/strstr.c: Likewise.
56895         * lib/strtok_r.c: Likewise.
56896         * lib/userspec.c: Likewise.
56897         * lib/w32spawn.h: Likewise.
56898         * lib/xstrndup.c: Likewise.
56899         * lib/mountlist.c (strstr): Remove decl.
56900         * m4/string_h.m4: New file.
56901         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
56902         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
56903         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
56904         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
56905         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
56906         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
56907         Set REPLACE_STRCASECMP if necessary.
56908         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
56909         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
56910         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
56911         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
56912         HAVE_DECL_STRDUP if necessary.
56913         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
56914         since gl_FUNC_STRNDUP does that now.
56915         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
56916         Check for decl here...
56917         (gl_PREREQ_STRNLEN): ... not here.
56918         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
56919         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
56920         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
56921         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
56922         necessary.
56923         * modules/string: New file.
56924         * modules/memmem (Files): Remove special-purpose include file.
56925         (Depends-on): Add string.
56926         (Include): Include <string.h>, not the removed file.
56927         * modules/mempcpy: Likewise.
56928         * modules/memrchr: Likewise.
56929         * modules/stpcpy: Likewise.
56930         * modules/stpncpy: Likewise.
56931         * modules/strcase: Likewise.
56932         * modules/strchrnul: Likewise.
56933         * modules/strdup: Likewise.
56934         * modules/strndup: Likewise.
56935         * modules/strnlen: Likewise.
56936         * modules/strpbrk: Likewise.
56937         * modules/strsep: Likewise.
56938         * modules/strstr: Likewise.
56939         * modules/strtok_r: Likewise.
56940         * tests/test-dirname.c: Don't include "strdup.h", since
56941         <string.h> now suffices.
56942         * tests/test-memmem.c: Don't include "memmem.h", since
56943         <string.h> now suffices.
56944
56945 2007-01-25  Bruno Haible  <bruno@clisp.org>
56946
56947         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
56948         *resultp is 0.
56949
56950         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
56951         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
56952         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
56953         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
56954
56955         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
56956         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
56957         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
56958         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
56959         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
56960         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
56961
56962 2007-01-24  Bruno Haible  <bruno@clisp.org>
56963
56964         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
56965         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
56966         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
56967         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
56968         gl_FUNC_FTS_CORE.
56969         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
56970         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
56971         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
56972         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
56973         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
56974         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
56975         gl_FUNC_FCHOWNAT.
56976         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
56977         gl_FUNC_STRFTIME.
56978         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
56979         Reported by Ralf Wildenhues.
56980
56981 2007-01-24  Bruno Haible  <bruno@clisp.org>
56982
56983         Drop AC_REQUIRE calls that are redundant with the module dependencies.
56984         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
56985         gl_GETADDRINFO.
56986         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
56987         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
56988         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
56989
56990 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
56991
56992         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
56993         Don't use 'exit'; just return from 'main'.
56994         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
56995
56996         * lib/fnmatch_.h: Readjust white space and comments to match
56997         glibc, to avoid spurious diffs.
56998
56999 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
57000
57001         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
57002         2004-12-01 change by Jakub Jelinek, since this code won't compile
57003         if !LIBC.  Problem reported by Bob Proulx.
57004
57005 2007-01-23  Bruno Haible  <bruno@clisp.org>
57006
57007         * lib/striconveh.c: Include c-strcaseeq.h.
57008         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
57009         * modules/striconveh (Depends-on): Add c-strcaseeq.
57010
57011 2007-01-23  Bruno Haible  <bruno@clisp.org>
57012
57013         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
57014
57015         * modules/c-strcaseeq: New file.
57016         * lib/c-strcaseeq.h: New file.
57017
57018         * modules/streq: New file.
57019         * lib/streq.h: New file.
57020
57021 2007-01-23  Bruno Haible  <bruno@clisp.org>
57022
57023         * modules/striconveha-tests: New file.
57024         * tests/test-striconveha.c: New file.
57025
57026         * lib/striconveha.h: Include <stdbool.h>.
57027         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
57028         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
57029         (mem_iconveha_notranslit): Renamed from mem_iconveha.
57030         (mem_iconveha): New function.
57031         (str_iconveha_notranslit): Renamed from str_iconveha.
57032         (str_iconveha): New function.
57033         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
57034         c-strcase.
57035
57036 2007-01-23  Bruno Haible  <bruno@clisp.org>
57037
57038         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
57039         encodings without forgiving before trying any encoding with handler.
57040         (str_iconveha): Try all encodings without forgiving before trying any
57041         encoding with handler.
57042
57043 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
57044
57045         Import the following changes from libc.
57046
57047         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
57048
57049         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
57050
57051         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
57052
57053         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
57054         normal_bracket label.
57055
57056         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
57057
57058         [BZ #361]
57059         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
57060         to normal_bracket after fetching the next character.
57061
57062 2007-01-22  Bruno Haible  <bruno@clisp.org>
57063
57064         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
57065         argument.
57066         * lib/striconveh.c (iconv_carefully_1): New function.
57067         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
57068         argument.
57069         (str_cd_iconveh): Update.
57070         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
57071         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
57072         * tests/test-striconveh.c (MAGIC): New macro.
57073         (new_offsets): New function.
57074         (main): Test call with and without offsets.
57075
57076 2007-01-22  Bruno Haible  <bruno@clisp.org>
57077
57078         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
57079         * modules/sys_select (Makefile.am): Likewise.
57080         * modules/sys_socket (Makefile.am): Likewise.
57081         * modules/sys_time (Makefile.am): Likewise.
57082
57083 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
57084
57085         * modules/gettimeofday (License): Change from GPL to LGPL, since
57086         gettimeofday is a library function.
57087
57088 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57089
57090         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
57091
57092 2007-01-21  Bruno Haible  <bruno@clisp.org>
57093
57094         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
57095
57096 2007-01-21  Bruno Haible  <bruno@clisp.org>
57097
57098         * modules/striconveha: New file.
57099         * lib/striconveha.h: New file.
57100         * lib/striconveha.c: New file.
57101         * MODULES.html.sh (Internationalization functions): Add striconveha.
57102         * lib/striconv.c (str_iconv): Optimize the case of an empty input
57103         string.
57104         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
57105
57106 2007-01-21  Bruno Haible  <bruno@clisp.org>
57107
57108         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
57109         * lib/striconveh.c (str_iconveh): Likewise.
57110
57111 2007-01-21  Bruno Haible  <bruno@clisp.org>
57112
57113         * lib/striconveh.h (mem_iconveh): New declaration.
57114         * lib/striconveh.c (mem_iconveh): New function.
57115         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
57116
57117 2007-01-21  Bruno Haible  <bruno@clisp.org>
57118
57119         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
57120
57121         * lib/striconveh.h (mem_cd_iconveh): Change specification.
57122         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
57123         original result buffer.
57124         (str_cd_iconveh): Update.
57125         * tests/test-striconveh.c (main): Update.
57126
57127         * lib/striconv.h (mem_cd_iconv): Change specification.
57128         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
57129         result buffer.
57130         (str_cd_iconv): Update.
57131         * tests/test-striconv.c (main): Update.
57132
57133 2007-01-21  Bruno Haible  <bruno@clisp.org>
57134
57135         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
57136
57137 2007-01-20  Jim Meyering  <jim@meyering.net>
57138
57139         * lib/userspec.c (parse_with_separator): If a user or group string
57140         starts with "+", skip the corresponding name-to-ID look-up, since
57141         such a look-up must fail: user and group names may not include "+".
57142
57143 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
57144
57145         * lib/poll.c: Include sys/time.h and time.h unconditionally,
57146         since we now assume the sys_time module.
57147         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
57148         check for sys/time.h; no longer needed.
57149         * modules/poll (Depends-on): Depend on sys_time.
57150
57151 2007-01-18  Bruno Haible  <bruno@clisp.org>
57152
57153         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
57154         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
57155
57156         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
57157         gettimeofday.
57158
57159         * tests/test-gettimeofday.c: Include <time.h>.
57160         (dummy): Remove variable.
57161
57162         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
57163         gl_HEADER_SYS_TIME_H.
57164         (gl_HEADER_SYS_TIME_H): New macro.
57165
57166         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
57167         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
57168         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
57169         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
57170         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
57171         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
57172         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
57173         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
57174         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
57175         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
57176         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
57177
57178         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
57179         last change; it caused a compilation error when cross-compiling to
57180         Cygwin.
57181
57182 2007-01-18  Jim Meyering  <jim@meyering.net>
57183
57184         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
57185         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
57186         than the race-prone "test -d sys || mkdir sys".
57187         (configure.ac): Use AC_PROG_MKDIR_P.
57188         * modules/sys_select: Likewise.
57189         * modules/sys_socket: Likewise.
57190         * modules/sys_time: Likewise.
57191
57192 2007-01-18  Eric Blake  <ebb9@byu.net>
57193
57194         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
57195         replace gettimeofday.
57196         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
57197         name, to avoid infinite recursion.
57198
57199 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
57200
57201         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
57202         module sys_time.
57203         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
57204         assume timespec.h defines struct timeval.
57205         * lib/settime.c: Likewise.
57206         * lib/utimens.c: Likewise.
57207         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
57208         since we now assume the gettimeofday module.
57209         * lib/tempname.c (__gen_tempname): Likewise.
57210         * lib/gettimeofday.h: Remove.
57211         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
57212         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
57213         Include <time.h>, for 'time()'.
57214         (localtime_buffer_addr): Also use this workaround if
57215         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
57216         to simplify the uses.  All uses changed.
57217         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
57218         that #undef is inside {}, and 'const' follows type name consistently.
57219         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
57220         (gettimeofday): Do not use the maximum possible value for
57221         tv->tv_usec, since that might break usages other than ls.c.
57222         Instead, we'll leave ls.c alone.  This undoes today's patch
57223         by Bruno.  Add a compile-time warning for 1s-clock resolution;
57224         we've never observed the problem but might as well keep the
57225         canary.
57226         * lib/nanosleep.c: Include timespec.h first, for interface check.
57227         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
57228         now assume the sys_time module.
57229         * lib/tempname.c: Likewise.
57230         * lib/timespec.h: Likewise.
57231         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
57232         needed.
57233         * lib/strftime.c: Likewise.
57234         * lib/timespec.h: Likewise.
57235         * lib/posixtm.c: Include posixtm.h first, for interface check.
57236         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
57237         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
57238         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
57239         * lib/sys_time_.h: New file.
57240         * lib/timespec.h (struct timespec): Use long int, not long.
57241         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
57242         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
57243         Remove obsolescent call to AC_HEADER_TIME.
57244         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
57245         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
57246         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
57247         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
57248         Likewise.
57249         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
57250         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
57251         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
57252         into the sys_time module.  Check for gettimeofday just once.
57253         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
57254         for gettimeofday signature to just check the signature.  Merely
57255         compile it, since linking doesn't test signature.  Improve test for
57256         whether gettimeofday.o is actually needed.
57257         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
57258         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
57259         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
57260         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
57261         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
57262         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
57263         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
57264         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
57265         than worrying about sys/time.h.
57266         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
57267         Don't bother worrying about TIME_WITH_SYS_TIME.
57268         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
57269         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
57270         * m4/sys_time_h.m4: New file.
57271         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
57272         Don't include sys/time.h.  Return from main rather than exiting.
57273         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
57274         all uses changed.
57275         * modules/gethrxtime (Depends-on): Add sys_time.
57276         * modules/gettime (Depends-on): Likewise.
57277         * modules/gettimeofday (Depends-on): Likewise.
57278         * modules/nanosleep (Depends-on): Likewise.
57279         * modules/settime (Depends-on): Likewise.
57280         * modules/tempname (Depends-on): Likewise.
57281         * modules/utimens (Depends-on): Likewise.
57282         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
57283         (Include): Change back to <sys/time.h>.
57284         (Maintainer): Add self.
57285         * modules/sys_time: New file.
57286         * modules/tempname (Depends-on): Add gettimeofday.
57287         * tests/test-gettimeofday.c: Include <sys/time.h>
57288         rather than gettimeofday.h.
57289
57290 2007-01-17  Bruno Haible  <bruno@clisp.org>
57291
57292         * gnulib-tool (func_get_license): Revert last patch. Instead, let
57293         the license default to GPL.
57294         (func_create_testdir): Don't complain if a module is LGPL and its
57295         tests module depends on GPLed modules.
57296
57297 2007-01-17  Bruno Haible  <bruno@clisp.org>
57298
57299         * lib/gettimeofday.c (gettimeofday): Add code for the case
57300         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
57301         maximum possible value for tv->tv_usec, rather than the minimum one.
57302
57303 2005-10-08  Martin Lambers  <marlam@marlam.de>
57304 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
57305 2007-01-16  Bruno Haible  <bruno@clisp.org>
57306
57307         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
57308         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
57309         gl_FUNC_GETTIMEOFDAY.
57310         (Include): Add gettimeofday.h.
57311         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
57312         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
57313         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
57314         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
57315         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
57316         * lib/gettimeofday.h: New file.
57317         * lib/gettimeofday.c: Include <sys/timeb.h>.
57318         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
57319         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
57320         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
57321         fall back on time().
57322
57323         * tests/test-gettimeofday.c: New file.
57324         * modules/gettimeofday-tests: New file.
57325
57326 2007-01-16  Eric Blake  <ebb9@byu.net>
57327
57328         * modules/fnmatch (Depends-on): Depend on wchar.
57329         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
57330         * m4/fnmatch.m4: Likewise.
57331         * modules/mbchar (Makefile.am): Assume <wchar.h>.
57332         * m4/mbchar.m4: Likewise.
57333         * modules/mbswidth (Depends-on): Depend on wchar.
57334         * lib/mbswidth.c: Assume <wchar.h>.
57335         * m4/mbswidth.m4: Likewise.
57336         * modules/quotearg (Depends-on): Depend on wchar.
57337         * lib/quotearg.c: Assume <wchar.h>.
57338         * m4/quotearg.m4: Likewise.
57339         * modules/regex (Depends-on): Depend on wchar.
57340         * lib/regex_internal.h: Assume <wchar.h>.
57341         * m4/regex.m4: Likewise.
57342         * modules/stdint (Depends-on): Depend on wchar.
57343         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
57344         * m4/stdint.m4: Likewise.
57345         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
57346         * modules/strftime (Depends-on): Depend on wchar.
57347         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
57348         * modules/strtol (Depends-on): Depend on wchar.
57349         * lib/strtol.c: Assume <wchar.h>.
57350         * modules/wcwidth (Depends-on): Depend on wchar.
57351         * lib/wcwidth.h: Assume <wchar.h>.
57352         * m4/wcwidth.m4: Likewise.
57353
57354 2007-01-16  Bruno Haible  <bruno@clisp.org>
57355
57356         * modules/csharpexec-script: New, created from...
57357         * modules/csharpexec: ... this.
57358
57359 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
57360
57361         * modules/javaexec-script: New, created from...
57362         * modules/javaexec: ... this.
57363
57364 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57365
57366         * modules/poll (Dependencies): Add sys_select.
57367
57368 2007-01-15  Jim Meyering  <jim@meyering.net>
57369
57370         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
57371         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
57372         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
57373         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
57374
57375 2007-01-15  Bruno Haible  <bruno@clisp.org>
57376
57377         * modules/striconveh: New file.
57378         * lib/striconveh.h: New file.
57379         * lib/striconveh.c: New file.
57380         * MODULES.html.sh (Internationalization functions): Add striconveh.
57381
57382         * modules/striconveh-tests: New file.
57383         * tests/test-striconveh.c: New file.
57384
57385 2007-01-15  Bruno Haible  <bruno@clisp.org>
57386
57387         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
57388         not from GNU libiconv or GNU libc.
57389
57390 2007-01-15  Bruno Haible  <bruno@clisp.org>
57391
57392         * doc/gnulib-intro.texi (Copyright): Explain the different license
57393         terms for module descriptions, autoconf macros, tests, documentation.
57394
57395 2007-01-14  Bruno Haible  <bruno@clisp.org>
57396
57397         * modules/striconv-tests: New file.
57398         * tests/test-striconv.c: New file.
57399
57400 2007-01-14  Bruno Haible  <bruno@clisp.org>
57401
57402         * modules/iconv-tests: New file.
57403         * tests/test-iconv.c: New file.
57404
57405 2007-01-14  Bruno Haible  <bruno@clisp.org>
57406
57407         * gnulib-tool (func_get_license): For test modules, use the license of
57408         the main module.
57409
57410 2007-01-14  Bruno Haible  <bruno@clisp.org>
57411
57412         * modules/iconv (Include): Clarify that <iconv.h> can only be included
57413         if iconv is found to exist.
57414
57415 2007-01-14  Bruno Haible  <bruno@clisp.org>
57416
57417         * modules/c-ctype-tests: New file.
57418         * tests/test-c-ctype.c: New file.
57419
57420 2007-01-14  Bruno Haible  <bruno@clisp.org>
57421
57422         * modules/binary-io-tests: New file.
57423         * tests/test-binary-io.sh: New file.
57424         * tests/test-binary-io.c: New file.
57425
57426 2007-01-14  Bruno Haible  <bruno@clisp.org>
57427
57428         * modules/array-oset-tests: New file.
57429         * tests/test-array_oset.c: New file.
57430
57431 2007-01-14  Bruno Haible  <bruno@clisp.org>
57432
57433         * modules/array-list-tests: New file.
57434         * tests/test-array_list.c: New file.
57435
57436 2007-01-14  Bruno Haible  <bruno@clisp.org>
57437
57438         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
57439         and make.
57440         Reported by Simon Josefsson in
57441         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
57442
57443 2007-01-14  Bruno Haible  <bruno@clisp.org>
57444
57445         * modules/allocsa-tests: New file.
57446         * tests/test-allocsa.c: New file.
57447
57448 2007-01-14  Bruno Haible  <bruno@clisp.org>
57449
57450         * modules/fchdir (Depends-on): Add absolute-header.
57451         * modules/unistd (Depends-on): Likewise.
57452
57453 2006-12-30  Bruno Haible  <bruno@clisp.org>
57454
57455         * modules/fchdir: New file.
57456         * modules/unistd (Files): Add lib/unistd_.h.
57457         (Makefile.am): Generate unistd.h from unistd_.h.
57458         * lib/fchdir.c: New file.
57459         * lib/dirent_.h: New file.
57460         * lib/unistd_.h: New file.
57461         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
57462         * m4/fchdir.m4: New file.
57463         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
57464         (gl_HEADER_UNISTD): Invoke it.
57465         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
57466         function.
57467         * lib/backupfile.c (opendir, closedir): Undefine.
57468         * lib/chown.c (open, close): Undefine.
57469         * lib/clean-temp.c (open, close): Undefine.
57470         * lib/copy-file.c (open, close): Undefine.
57471         * lib/execute.c (open, close): Undefine.
57472         * lib/fsusage.c (open, close): Undefine.
57473         * lib/gc-gnulib.c (open, close): Undefine.
57474         * lib/getcwd.c (opendir, closedir): Undefine.
57475         * lib/glob.c (opendir, closedir): Undefine.
57476         * lib/javacomp.c (open, close): Undefine.
57477         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
57478         * lib/openat-proc.c (open, close): Undefine.
57479         * lib/pagealign_alloc.c (open, close): Undefine.
57480         * lib/pipe.c (open, close): Undefine.
57481         * lib/progreloc.c (open, close): Undefine.
57482         * lib/savedir.c (opendir, closedir): Undefine.
57483         * lib/utime.c (open, close): Undefine.
57484         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
57485
57486 2007-01-10  Bruno Haible  <bruno@clisp.org>
57487
57488         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
57489
57490 2007-01-12  Eric Blake  <ebb9@byu.net>
57491
57492         Provide a robust <wchar.h>.  Further simplifications are now
57493         possible in other modules, but not included here.
57494         * modules/wchar: New module.
57495         * m4/wchar.m4: New file.
57496         * lib/wchar_.h: Likewise.
57497         * modules/mbchar (Depends-on): Depend on wchar, as the first use
57498         of the new module.
57499         * MODULES.html.sh (Extended multibyte and wide character utilities):
57500         New section.
57501
57502 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
57503
57504         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
57505         to a reasonable default for memory allocation.
57506         (xreadlink): Don't allocate a huge buffer, to work around a buggy
57507         file system that reports garbage st_size values for symlinks.
57508         Problem reported by Liyang Hu.
57509
57510 2007-01-11  Simon Josefsson  <simon@josefsson.org>
57511
57512         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
57513         Emacs .#* auto-save files).
57514
57515 2007-01-11  Bruno Haible  <bruno@clisp.org>
57516
57517         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
57518         directory.
57519
57520 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
57521
57522         Use @...@ consistently in lib/wctype_.h.
57523         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
57524         on it being set to 1 or 0.
57525         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
57526         go back to AC_SUBSTing it.
57527         * modules/wctype (Makefile.am): Undo previous change.
57528
57529 2007-01-10  Eric Blake  <ebb9@byu.net>
57530
57531         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
57532         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
57533         * modules/wctype (Makefile.am): Likewise.
57534         Reported by Chris McGuire.
57535
57536 2007-01-10  Jim Meyering  <jim@meyering.net>
57537
57538         fts.c: a small readability/maintainability improvement
57539         * lib/fts.c (fts_read): Make this code slightly more readable and
57540         maintainable by hoisting the "sp->fts_cur = p" assignments to
57541         immediately follow the statements that set P.  Derived from
57542         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
57543
57544 2007-01-10  Eric Blake  <ebb9@byu.net>
57545
57546         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
57547         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
57548         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
57549         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
57550         Reported by Chris McGuire.
57551
57552 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57553
57554         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
57555         in sed script.
57556
57557 2007-01-09  Bruno Haible  <bruno@clisp.org>
57558
57559         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
57560         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
57561         variables.
57562         (func_module): Use them.
57563
57564 2007-01-09  Bruno Haible  <bruno@clisp.org>
57565
57566         * modules/unistr/base: New file.
57567         * lib/unistr.h: New file.
57568
57569         * modules/unistr/u8-to-u16: New file.
57570         * lib/unistr/u8-to-u16.c: New file.
57571
57572         * modules/unistr/u8-to-u32: New file.
57573         * lib/unistr/u8-to-u32.c: New file.
57574
57575         * modules/unistr/u16-to-u8: New file.
57576         * lib/unistr/u16-to-u8.c: New file.
57577
57578         * modules/unistr/u16-to-u32: New file.
57579         * lib/unistr/u16-to-u32.c: New file.
57580
57581         * modules/unistr/u32-to-u8: New file.
57582         * lib/unistr/u32-to-u8.c: New file.
57583
57584         * modules/unistr/u32-to-u16: New file.
57585         * lib/unistr/u32-to-u16.c: New file.
57586
57587         * modules/unistr/u8-check: New file.
57588         * modules/unistr/u16-check: New file.
57589         * modules/unistr/u32-check: New file.
57590         * lib/unistr/u8-check.c: New file.
57591         * lib/unistr/u16-check.c: New file.
57592         * lib/unistr/u32-check.c: New file.
57593
57594         * modules/unistr/u8-chr: New file.
57595         * modules/unistr/u16-chr: New file.
57596         * modules/unistr/u32-chr: New file.
57597         * lib/unistr/u8-chr.c: New file.
57598         * lib/unistr/u16-chr.c: New file.
57599         * lib/unistr/u32-chr.c: New file.
57600
57601         * modules/unistr/u8-cmp: New file.
57602         * modules/unistr/u16-cmp: New file.
57603         * modules/unistr/u32-cmp: New file.
57604         * lib/unistr/u8-cmp.c: New file.
57605         * lib/unistr/u16-cmp.c: New file.
57606         * lib/unistr/u32-cmp.c: New file.
57607
57608         * modules/unistr/u8-cpy: New file.
57609         * modules/unistr/u16-cpy: New file.
57610         * modules/unistr/u32-cpy: New file.
57611         * lib/unistr/u8-cpy.c: New file.
57612         * lib/unistr/u16-cpy.c: New file.
57613         * lib/unistr/u32-cpy.c: New file.
57614         * lib/unistr/u-cpy.h: New file.
57615
57616         * modules/unistr/u8-cpy-alloc: New file.
57617         * modules/unistr/u16-cpy-alloc: New file.
57618         * modules/unistr/u32-cpy-alloc: New file.
57619         * lib/unistr/u8-cpy-alloc.c: New file.
57620         * lib/unistr/u16-cpy-alloc.c: New file.
57621         * lib/unistr/u32-cpy-alloc.c: New file.
57622         * lib/unistr/u-cpy-alloc.h: New file.
57623
57624         * modules/unistr/u8-endswith: New file.
57625         * modules/unistr/u16-endswith: New file.
57626         * modules/unistr/u32-endswith: New file.
57627         * lib/unistr/u8-endswith.c: New file.
57628         * lib/unistr/u16-endswith.c: New file.
57629         * lib/unistr/u32-endswith.c: New file.
57630         * lib/unistr/u-endswith.h: New file.
57631
57632         * modules/unistr/u8-mblen: New file.
57633         * modules/unistr/u16-mblen: New file.
57634         * modules/unistr/u32-mblen: New file.
57635         * lib/unistr/u8-mblen.c: New file.
57636         * lib/unistr/u16-mblen.c: New file.
57637         * lib/unistr/u32-mblen.c: New file.
57638
57639         * modules/unistr/u8-mbtouc: New file.
57640         * modules/unistr/u16-mbtouc: New file.
57641         * modules/unistr/u32-mbtouc: New file.
57642         * lib/unistr/u8-mbtouc.c: New file.
57643         * lib/unistr/u16-mbtouc.c: New file.
57644         * lib/unistr/u32-mbtouc.c: New file.
57645
57646         * modules/unistr/u8-mbtouc-safe: New file.
57647         * modules/unistr/u16-mbtouc-safe: New file.
57648         * modules/unistr/u32-mbtouc-safe: New file.
57649         * lib/unistr/u8-mbtouc-safe.c: New file.
57650         * lib/unistr/u16-mbtouc-safe.c: New file.
57651         * lib/unistr/u32-mbtouc-safe.c: New file.
57652
57653         * modules/unistr/u8-move: New file.
57654         * modules/unistr/u16-move: New file.
57655         * modules/unistr/u32-move: New file.
57656         * lib/unistr/u8-move.c: New file.
57657         * lib/unistr/u16-move.c: New file.
57658         * lib/unistr/u32-move.c: New file.
57659         * lib/unistr/u-move.h: New file.
57660
57661         * modules/unistr/u8-next: New file.
57662         * modules/unistr/u16-next: New file.
57663         * modules/unistr/u32-next: New file.
57664         * lib/unistr/u8-next.c: New file.
57665         * lib/unistr/u16-next.c: New file.
57666         * lib/unistr/u32-next.c: New file.
57667
57668         * modules/unistr/u8-prev: New file.
57669         * modules/unistr/u16-prev: New file.
57670         * modules/unistr/u32-prev: New file.
57671         * lib/unistr/u8-prev.c: New file.
57672         * lib/unistr/u16-prev.c: New file.
57673         * lib/unistr/u32-prev.c: New file.
57674
57675         * modules/unistr/u8-set: New file.
57676         * modules/unistr/u16-set: New file.
57677         * modules/unistr/u32-set: New file.
57678         * lib/unistr/u8-set.c: New file.
57679         * lib/unistr/u16-set.c: New file.
57680         * lib/unistr/u32-set.c: New file.
57681         * lib/unistr/u-set.h: New file.
57682
57683         * modules/unistr/u8-startswith: New file.
57684         * modules/unistr/u16-startswith: New file.
57685         * modules/unistr/u32-startswith: New file.
57686         * lib/unistr/u8-startswith.c: New file.
57687         * lib/unistr/u16-startswith.c: New file.
57688         * lib/unistr/u32-startswith.c: New file.
57689         * lib/unistr/u-startswith.h: New file.
57690
57691         * modules/unistr/u8-stpcpy: New file.
57692         * modules/unistr/u16-stpcpy: New file.
57693         * modules/unistr/u32-stpcpy: New file.
57694         * lib/unistr/u8-stpcpy.c: New file.
57695         * lib/unistr/u16-stpcpy.c: New file.
57696         * lib/unistr/u32-stpcpy.c: New file.
57697         * lib/unistr/u-stpcpy.h: New file.
57698
57699         * modules/unistr/u8-stpncpy: New file.
57700         * modules/unistr/u16-stpncpy: New file.
57701         * modules/unistr/u32-stpncpy: New file.
57702         * lib/unistr/u8-stpncpy.c: New file.
57703         * lib/unistr/u16-stpncpy.c: New file.
57704         * lib/unistr/u32-stpncpy.c: New file.
57705         * lib/unistr/u-stpncpy.h: New file.
57706
57707         * modules/unistr/u8-strcat: New file.
57708         * modules/unistr/u16-strcat: New file.
57709         * modules/unistr/u32-strcat: New file.
57710         * lib/unistr/u8-strcat.c: New file.
57711         * lib/unistr/u16-strcat.c: New file.
57712         * lib/unistr/u32-strcat.c: New file.
57713         * lib/unistr/u-strcat.h: New file.
57714
57715         * modules/unistr/u8-strchr: New file.
57716         * modules/unistr/u16-strchr: New file.
57717         * modules/unistr/u32-strchr: New file.
57718         * lib/unistr/u8-strchr.c: New file.
57719         * lib/unistr/u16-strchr.c: New file.
57720         * lib/unistr/u32-strchr.c: New file.
57721
57722         * modules/unistr/u8-strcmp: New file.
57723         * modules/unistr/u16-strcmp: New file.
57724         * modules/unistr/u32-strcmp: New file.
57725         * lib/unistr/u8-strcmp.c: New file.
57726         * lib/unistr/u16-strcmp.c: New file.
57727         * lib/unistr/u32-strcmp.c: New file.
57728
57729         * modules/unistr/u8-strcpy: New file.
57730         * modules/unistr/u16-strcpy: New file.
57731         * modules/unistr/u32-strcpy: New file.
57732         * lib/unistr/u8-strcpy.c: New file.
57733         * lib/unistr/u16-strcpy.c: New file.
57734         * lib/unistr/u32-strcpy.c: New file.
57735         * lib/unistr/u-strcpy.h: New file.
57736
57737         * modules/unistr/u8-strcspn: New file.
57738         * modules/unistr/u16-strcspn: New file.
57739         * modules/unistr/u32-strcspn: New file.
57740         * lib/unistr/u8-strcspn.c: New file.
57741         * lib/unistr/u16-strcspn.c: New file.
57742         * lib/unistr/u32-strcspn.c: New file.
57743         * lib/unistr/u-strcspn.h: New file.
57744
57745         * modules/unistr/u8-strdup: New file.
57746         * modules/unistr/u16-strdup: New file.
57747         * modules/unistr/u32-strdup: New file.
57748         * lib/unistr/u8-strdup.c: New file.
57749         * lib/unistr/u16-strdup.c: New file.
57750         * lib/unistr/u32-strdup.c: New file.
57751         * lib/unistr/u-strdup.h: New file.
57752
57753         * modules/unistr/u8-strlen: New file.
57754         * modules/unistr/u16-strlen: New file.
57755         * modules/unistr/u32-strlen: New file.
57756         * lib/unistr/u8-strlen.c: New file.
57757         * lib/unistr/u16-strlen.c: New file.
57758         * lib/unistr/u32-strlen.c: New file.
57759         * lib/unistr/u-strlen.h: New file.
57760
57761         * modules/unistr/u8-strmblen: New file.
57762         * modules/unistr/u16-strmblen: New file.
57763         * modules/unistr/u32-strmblen: New file.
57764         * lib/unistr/u8-strmblen.c: New file.
57765         * lib/unistr/u16-strmblen.c: New file.
57766         * lib/unistr/u32-strmblen.c: New file.
57767
57768         * modules/unistr/u8-strmbtouc: New file.
57769         * modules/unistr/u16-strmbtouc: New file.
57770         * modules/unistr/u32-strmbtouc: New file.
57771         * lib/unistr/u8-strmbtouc.c: New file.
57772         * lib/unistr/u16-strmbtouc.c: New file.
57773         * lib/unistr/u32-strmbtouc.c: New file.
57774
57775         * modules/unistr/u8-strncat: New file.
57776         * modules/unistr/u16-strncat: New file.
57777         * modules/unistr/u32-strncat: New file.
57778         * lib/unistr/u8-strncat.c: New file.
57779         * lib/unistr/u16-strncat.c: New file.
57780         * lib/unistr/u32-strncat.c: New file.
57781         * lib/unistr/u-strncat.h: New file.
57782
57783         * modules/unistr/u8-strncmp: New file.
57784         * modules/unistr/u16-strncmp: New file.
57785         * modules/unistr/u32-strncmp: New file.
57786         * lib/unistr/u8-strncmp.c: New file.
57787         * lib/unistr/u16-strncmp.c: New file.
57788         * lib/unistr/u32-strncmp.c: New file.
57789
57790         * modules/unistr/u8-strncpy: New file.
57791         * modules/unistr/u16-strncpy: New file.
57792         * modules/unistr/u32-strncpy: New file.
57793         * lib/unistr/u8-strncpy.c: New file.
57794         * lib/unistr/u16-strncpy.c: New file.
57795         * lib/unistr/u32-strncpy.c: New file.
57796         * lib/unistr/u-strncpy.h: New file.
57797
57798         * modules/unistr/u8-strnlen: New file.
57799         * modules/unistr/u16-strnlen: New file.
57800         * modules/unistr/u32-strnlen: New file.
57801         * lib/unistr/u8-strnlen.c: New file.
57802         * lib/unistr/u16-strnlen.c: New file.
57803         * lib/unistr/u32-strnlen.c: New file.
57804         * lib/unistr/u-strnlen.h: New file.
57805
57806         * modules/unistr/u8-strpbrk: New file.
57807         * modules/unistr/u16-strpbrk: New file.
57808         * modules/unistr/u32-strpbrk: New file.
57809         * lib/unistr/u8-strpbrk.c: New file.
57810         * lib/unistr/u16-strpbrk.c: New file.
57811         * lib/unistr/u32-strpbrk.c: New file.
57812         * lib/unistr/u-strpbrk.h: New file.
57813
57814         * modules/unistr/u8-strrchr: New file.
57815         * modules/unistr/u16-strrchr: New file.
57816         * modules/unistr/u32-strrchr: New file.
57817         * lib/unistr/u8-strrchr.c: New file.
57818         * lib/unistr/u16-strrchr.c: New file.
57819         * lib/unistr/u32-strrchr.c: New file.
57820
57821         * modules/unistr/u8-strspn: New file.
57822         * modules/unistr/u16-strspn: New file.
57823         * modules/unistr/u32-strspn: New file.
57824         * lib/unistr/u8-strspn.c: New file.
57825         * lib/unistr/u16-strspn.c: New file.
57826         * lib/unistr/u32-strspn.c: New file.
57827         * lib/unistr/u-strspn.h: New file.
57828
57829         * modules/unistr/u8-strstr: New file.
57830         * modules/unistr/u16-strstr: New file.
57831         * modules/unistr/u32-strstr: New file.
57832         * lib/unistr/u8-strstr.c: New file.
57833         * lib/unistr/u16-strstr.c: New file.
57834         * lib/unistr/u32-strstr.c: New file.
57835         * lib/unistr/u-strstr.h: New file.
57836
57837         * modules/unistr/u8-strtok: New file.
57838         * modules/unistr/u16-strtok: New file.
57839         * modules/unistr/u32-strtok: New file.
57840         * lib/unistr/u8-strtok.c: New file.
57841         * lib/unistr/u16-strtok.c: New file.
57842         * lib/unistr/u32-strtok.c: New file.
57843         * lib/unistr/u-strtok.h: New file.
57844
57845         * modules/unistr/u8-uctomb: New file.
57846         * modules/unistr/u16-uctomb: New file.
57847         * modules/unistr/u32-uctomb: New file.
57848         * lib/unistr/u8-uctomb.c: New file.
57849         * lib/unistr/u16-uctomb.c: New file.
57850         * lib/unistr/u32-uctomb.c: New file.
57851
57852         * MODULES.html.sh (Unicode string functions): Add the new modules.
57853
57854 2007-01-08  Bruno Haible  <bruno@clisp.org>
57855
57856         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
57857         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
57858         subdirectories.
57859
57860 2007-01-08  Karl Berry  <karl@gnu.org>
57861
57862         * doc/error.texi: mention that main() fns must set program_name
57863         when progname is used.
57864
57865 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
57866
57867         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
57868         WCTYPE_H is empty, for the benefit of builds from non-distclean
57869         directories.  Problem reported by Eric Blake in
57870         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
57871
57872 2007-01-08  Bruno Haible  <bruno@clisp.org>
57873
57874         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
57875         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
57876         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
57877         PROVIDE_CANONICALIZE_FILENAME_MODE.
57878         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
57879
57880 2007-01-08  Bruno Haible  <bruno@clisp.org>
57881
57882         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
57883         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
57884         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
57885         * lib/fts.c: Likewise.
57886         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
57887
57888 2006-12-25  Bruno Haible  <bruno@clisp.org>
57889
57890         * modules/utf8-ucs4-safe: New file.
57891         * lib/utf8-ucs4-safe.h: New file.
57892         * lib/unistr/utf8-ucs4-safe.c: New file.
57893
57894         * modules/utf16-ucs4-safe: New file.
57895         * lib/utf16-ucs4-safe.h: New file.
57896         * lib/unistr/utf16-ucs4-safe.c: New file.
57897
57898         * MODULES.html.sh (Unicode string functions): Add the new modules.
57899
57900 2007-01-08  Bruno Haible  <bruno@clisp.org>
57901
57902         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
57903         (Depends-on): Add unitypes.
57904         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
57905         (u8_mbtouc_aux): Move out to separate file.
57906         (u8_mbtouc): Use ucs4_t, uint8_t types.
57907         * lib/unistr/utf8-ucs4.c: New file.
57908
57909         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
57910         (Depends-on): Add unitypes.
57911         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
57912         (u16_mbtouc_aux): Move out to separate file.
57913         (u16_mbtouc): Use ucs4_t, uint16_t types.
57914         * lib/unistr/utf16-ucs4.c: New file.
57915
57916         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
57917         (Depends-on): Add unitypes.
57918         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
57919         (u8_uctomb_aux): Move out to separate file.
57920         (u8_uctomb): Use ucs4_t, uint8_t types.
57921         * lib/unistr/ucs4-utf8.c: New file.
57922
57923         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
57924         (Depends-on): Add unitypes.
57925         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
57926         (u16_uctomb_aux): Move out to separate file.
57927         (u16_uctomb): Use ucs4_t, uint16_t types.
57928         * lib/unistr/ucs4-utf16.c: New file.
57929
57930 2006-12-25  Bruno Haible  <bruno@clisp.org>
57931
57932         * modules/unitypes: New file.
57933         * lib/unitypes.h: New file.
57934         * MODULES.html.sh (func_all_modules): New section "Unicode string
57935         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
57936         this section. Add unitypes.
57937
57938 2007-01-08  Bruno Haible  <bruno@clisp.org>
57939
57940         Avoid variable names that conflict with those from libtool.
57941         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
57942         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
57943         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
57944         library_names_spec to acl_library_names_spec, hardcode_* to
57945         acl_hardcode_*.
57946         Reported by Ralf Wildenhues.
57947
57948 2007-01-08  Bruno Haible  <bruno@clisp.org>
57949
57950         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
57951         definition.
57952         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
57953         definition.
57954         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
57955         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
57956         definition.
57957         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
57958         definition.
57959         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
57960         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
57961         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
57962         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
57963         definition.
57964         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
57965         definition.
57966         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
57967         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
57968         GC_USE_<algorithm>.
57969         * lib/gc-libgcrypt.c: Likewise.
57970         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
57971         * modules/gc-arctwo (configure.ac): Likewise.
57972         * modules/gc-des (configure.ac): Likewise.
57973         * modules/gc-hmac-md5 (configure.ac): Likewise.
57974         * modules/gc-hmac-sha1 (configure.ac): Likewise.
57975         * modules/gc-md2 (configure.ac): Likewise.
57976         * modules/gc-md4 (configure.ac): Likewise.
57977         * modules/gc-md5 (configure.ac): Likewise.
57978         * modules/gc-random (configure.ac): Likewise.
57979         * modules/gc-rijndael (configure.ac): Likewise.
57980         * modules/gc-sha1 (configure.ac): Likewise.
57981
57982 2007-01-08  Bruno Haible  <bruno@clisp.org>
57983
57984         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
57985         macro definition.
57986         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
57987         definition.
57988         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
57989         definition.
57990         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
57991         * modules/fcntl-safer (configure.ac): Likewise.
57992         * modules/fopen-safer (configure.ac): Likewise.
57993         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
57994         GNULIB_FWRITEERROR macro definition.
57995
57996 2007-01-08  Bruno Haible  <bruno@clisp.org>
57997
57998         * m4/gnulib-common.m4: New file.
57999         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
58000         (func_get_filelist): Add m4/gnulib-common.m4.
58001
58002 2007-01-08  Bruno Haible  <bruno@clisp.org>
58003
58004         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
58005         command.
58006
58007 2007-01-08  Jim Meyering  <jim@meyering.net>
58008
58009         Use a more robust test for a "can't happen" condition.
58010         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
58011         narrowed the st_size value.  Presuming the "can't happen" condition
58012         is true, that narrowing could conceivably convert an invalid st_size
58013         value into a valid one.  Instead, use a change based on Matthew
58014         Woehlke's original patch.
58015
58016         Slight readability improvement: use an assert-like macro
58017         in place of literal "abort ()" uses.
58018         * lib/fts.c (fts_assert): Define.
58019         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
58020         Use this macro instead of a bare 'abort'.
58021
58022 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
58023
58024         Don't worry about using IRIX 5.3's wctype.h broken definitions;
58025         simply work around them.
58026         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
58027         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
58028         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
58029         declaring.
58030         Don't bother to define as macros, since the standard doesn't require it.
58031         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
58032         longer worry about IRIX 5.3.
58033         (HAVE_WCTYPE_CTMP_BUG): Remove.
58034
58035 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
58036
58037         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
58038         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
58039         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
58040         Problems reported by Georg Schwarz for IRIX 5.3.
58041
58042         * gnulib-tool (autoconf_minversion): Take the maximum version number
58043         found, not the minimum.  Problem reported by James Youngman.
58044
58045 2007-01-03  Karl Berry  <karl@gnu.org>
58046
58047         * doc/error.texi: new file, explaining interaction with progname.
58048         * doc/gnulib.texi: include it.  Update copyright.
58049
58050 2007-01-03  Simon Josefsson  <simon@josefsson.org>
58051
58052         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
58053         AC_CANONICAL_HOST, to improve autobuild outputs.
58054
58055 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
58056             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
58057
58058         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
58059         sockets, server sockets, and other file descriptors.  Count errors
58060         to compute the return value.  Reorder the code a bit to be easier
58061         to follow.  Don't set event bits that were not requested (except
58062         POLLERR and POLLHUP).
58063
58064 2007-01-01  Bruno Haible  <bruno@clisp.org>
58065
58066         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
58067
58068 2007-01-03  Jim Meyering  <jim@meyering.net>
58069
58070         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
58071
58072 2007-01-02  Bruno Haible  <bruno@clisp.org>
58073
58074         * modules/settime (Include): Require timespec.h.
58075         * modules/nanosleep (Include): Likewise.
58076
58077 2007-01-01  Bruno Haible  <bruno@clisp.org>
58078
58079         * gnulib-tool (func_emit_copyright_notice): Bump year.
58080         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
58081
58082 2007-01-01  Bruno Haible  <bruno@clisp.org>
58083
58084         Improve support for OpenBSD.
58085         * build-aux/config.rpath (libname_spec): Export.
58086         (library_names_spec): New variable. Export.
58087         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
58088         library_names_spec from the config.rpath output. Locate shared library
58089         through the name pattern in library_names_spec.
58090
58091 2007-01-01  Eric Blake  <ebb9@byu.net>
58092
58093         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
58094
58095 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
58096
58097         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
58098         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
58099         assume the C locale, and avoid an "eval" that could cause trouble.
58100         Problem with SORT reported by Bob Proulx.
58101
58102         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
58103         Define.  Trivial patch from Henning Nielsen Lund, originally
58104         sent to bug-grep@gnu.org today.
58105
58106 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
58107
58108         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
58109         struct stat.  Problem reported by Henning Nielsen Lund.
58110         * lib/acl.c: Include acl.h first, to check interface.  Don't
58111         bother to include sys/types.h and sys/stat.h again.
58112
58113 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
58114
58115         Import the following change from libc; problem reported by
58116         Sven Verdoolaege.
58117
58118         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
58119
58120         [BZ #1373]
58121         * lib/argp.h: Remove __NTH for __argp_usage inline function.
58122
58123 2006-12-28  Jim Meyering  <jim@meyering.net>
58124
58125         * build-aux/announce-gen: Do not assume that the package
58126         builds any of tar.gz, tar.bz2, and .xdelta files.
58127         Suggestion from Simon Josefsson.
58128
58129 2006-12-28  Simon Josefsson  <simon@josefsson.org>
58130
58131         * modules/announce-gen: New file.
58132
58133 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
58134
58135         * lib/mbchar.h: Just include <wctype.h>; the wctype module
58136         handles its gotchas now.
58137         * lib/mbswidth.c: Likewise.
58138         * lib/wcwidth.h: Likewise.
58139         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
58140         and iswcntrl; the wctype module does this stuff now.
58141         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
58142         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
58143         * modules/mbchar (Depends-on): Add wctype.
58144         * modules/mbswidth (Depends-on): Likewise.
58145         * modules/wcwidth (Depends-on): Likewise.
58146
58147 2006-12-27  Eric Blake  <ebb9@byu.net>
58148
58149         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
58150         module uses more than what <wctype.h> is required to provide.
58151
58152 2006-12-26  Eric Blake  <ebb9@byu.net>
58153
58154         * gnulib-tool (sed_extract_prog): Avoid space-tab.
58155
58156 2006-12-26  Eric Blake  <ebb9@byu.net>
58157
58158         * modules/absolute-header: New module.
58159         * modules/fcntl (Depends-on): Depend on it.
58160         * modules/inttypes (Depends-on): Likewise.
58161         * modules/stdint (Depends-on): Likewise.
58162         * modules/sys_stat (Depends-on): Likewise.
58163         * modules/wctype (Depends-on): Likewise.
58164         * MODULES.html.sh (Support for building libraries and
58165         executables): Document it.
58166
58167 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
58168
58169         * gnulib-tool (SED): Remove, undoing previous change.
58170         The problem was that it broke coreutils on Solaris, because
58171         "sed --posix" leaked into a makefile.
58172         (sed): New alias, if 'alias' and GNU sed.
58173
58174 2006-12-24  Jim Meyering  <jim@meyering.net>
58175
58176         Work around an fchownat bug in glibc-2.4:
58177         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
58178         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
58179         in spite of the -P option.
58180         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
58181         New macros.
58182         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
58183         * modules/openat (Files): Add lib/fchownat.c.
58184         * lib/openat.c (fchownat): Don't define here.  Move to...
58185         * lib/fchownat.c: ...this new file.
58186
58187 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
58188
58189         Fix bug reported by Bruno Haible in
58190         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
58191         where quotearg.c didn't compile on Mac OS X 10.2 because it
58192         lacks <wchar.h> and wint_t.
58193         * lib/wctype_.h (__wctype_wint_t): New type.
58194         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
58195         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
58196         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
58197         Arg is now of type __wctype_wint_t, not wint_t.
58198         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
58199         substitute HAVE_WINT_T.
58200         * modules/wctype (Files): Add m4/wint_t.m4.
58201         (wctype.h): Substitute HAVE_WINT_T.
58202
58203 2006-12-23  Bruno Haible  <bruno@clisp.org>
58204
58205         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
58206
58207 2006-12-23  Bruno Haible  <bruno@clisp.org>
58208
58209         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
58210         S_ISLNK.
58211         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
58212         mingw.
58213
58214 2006-12-22  Bruno Haible  <bruno@clisp.org>
58215
58216         * lib/copy-file.c: Include acl.h.
58217         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
58218         Close the file descriptors only after being done with copy_acl.
58219         * modules/copy-file (Depends-on): Add acl.
58220
58221 2006-12-22  Bruno Haible  <bruno@clisp.org>
58222
58223         * gnulib-tool (SED): New variable.
58224         Use $SED instead of sed everywhere.
58225
58226 2006-12-22  Bruno Haible  <bruno@clisp.org>
58227
58228         * modules/no-c++: New file.
58229         * m4/no-c++.m4: New file.
58230         * MODULES.html.sh (Support for building libraries and executables):
58231         Add no-c++.
58232
58233 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
58234
58235         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
58236         Include <limits.h>, and use its INT_MAX to rewrite the
58237         j loop so that it does not overflow 'int'.  Problem reported by
58238         Ralf Wildenhues in
58239         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
58240         Play it safe by shifting left by 1 rather than multiplying by 2,
58241         as GCC is less likely to optimize this away when the value
58242         is signed (when it assumes overflow leads to undefined behavior).
58243         Also, don't assume time_t uses two's complement.
58244
58245 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
58246
58247         * MODULES.html.sh: New module wctype.
58248         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
58249         * lib/fnmatch.c: Don't bother to include <wchar.h> before
58250         <wctype.h>, since the new wctype module should fix this.
58251         * lib/quotearg.c: Include <wctype.h> unconditionally, since
58252         the wctype module should arrange for it.
58253         * lib/regex_internal.h: Likewise.
58254         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
58255         since the wctype module should handle this now.
58256         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
58257         * modules/fnmatch (Depends-on): Add wctype.
58258         * modules/quotearg (Depends-on): Likewise.
58259         * modules/regex (Depends-on): Likewise.
58260
58261 2006-12-19  Bruno Haible  <bruno@clisp.org>
58262
58263         * lib/strdup.h [C++]: Wrap definitions in extern "C".
58264         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
58265
58266 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58267
58268         * modules/savewd (Depends-on): Fix dependency on fcntl.
58269
58270 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
58271
58272         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
58273         conforms to C99, rather than relying on the user's environment
58274         setting of STDINT_H.
58275
58276 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
58277         and Eric Blake  <ebb9@byu.net>
58278
58279         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
58280         This is more consistent with the other defines here.
58281         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
58282         Port to z/OS.  Problem reported by Paul Gilmartin.
58283         Change local vars to use gl_ prefix rather than ac_.
58284         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
58285         with other defines.
58286         * modules/double-slash-root: New module.
58287         * modules/dirname (Files): Remove m4/double-slash-root.m4.
58288         (Depends-on): Add double-slash-root.
58289         * MODULES.html.sh (File system functions): Mention new module.
58290
58291 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
58292
58293         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
58294         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
58295         This is for the benefit of gzip, which doesn't do i18n.
58296
58297 2006-12-12  Jim Meyering  <jim@meyering.net>
58298
58299         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
58300         Reported by Andreas Schwab <schwab@suse.de>.
58301
58302 2006-12-12  Bruno Haible  <bruno@clisp.org>
58303
58304         Merge these changes.
58305         2006-09-05  Bruno Haible  <bruno@clisp.org>
58306         * lib/iconvme.c (iconv_string): No need to save and restore errno when
58307         iconv_alloc succeeded.
58308         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
58309         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
58310         test for " && dest " at the end - dest is always != NULL there. Call
58311         iconv with 4xNULL arguments initially, to reset the state. Call iconv
58312         with 2xNULL arguments, also to flush the state storage. Handle the
58313         IRIX iconv behaviour. Realloc the final result, to throw away unused
58314         memory.
58315
58316 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
58317
58318         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
58319         and fchmodat unconditionally, since glibc 2.4 has them.
58320         Problem reported by Arkadiusz Miskiewicz.
58321
58322 2006-12-10  Bruno Haible  <bruno@clisp.org>
58323
58324         * gnulib-tool (func_import): Show the include files only for those
58325         modules that are copied and specified.
58326         Reported by Karl Berry.
58327
58328 2006-12-08  Jim Meyering  <jim@meyering.net>
58329
58330         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
58331         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
58332
58333         * build-aux/announce-gen: Add two new options, both optional:
58334         --bootstrap-tools=TOOL_LIST
58335               a comma-separated list of tools, e.g.,
58336               autoconf,automake,bison,gnulib
58337         --gnulib-snapshot-date=DATE
58338               if gnulib is in the bootstrap tool list,
58339               then report this as the snapshot date.
58340               If not specified, use the current date/time.
58341               If you specify a date here, be sure it's UTC.
58342
58343 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58344
58345         * tests/test-argp-2.sh: Fix test to match actual output.
58346         (func_compare): Fix sed script to be portable.
58347
58348 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
58349
58350         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
58351         workaround for this case.  It is not autoconfigured now; offhand
58352         it's hard to see how to autoconfigure it.
58353
58354 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
58355
58356         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
58357         a directory that is about to be chowned.  Such a directory's
58358         initial file permissions should permit the owner only and this
58359         should not be changed until after the chown, since the group and
58360         other bits would be incorrect if they granted permission before
58361         the chown.
58362
58363         Fix porting problem for iswctype reported by Georg Schwarz in:
58364         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
58365         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
58366         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
58367         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
58368         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
58369
58370 2006-12-03  Jim Meyering  <jim@meyering.net>
58371
58372         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
58373         p->fts_statp may not yet be defined.
58374         (fts_read): Instead, set it in the caller, once p->fts_statp is
58375         sure to be defined, and corresponds to a top-level directory.
58376         This bug made du -x fail.  Here's the coreutils test case:
58377         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
58378         Reported by Mike Frysinger.
58379
58380 2006-12-01  Jim Meyering  <jim@meyering.net>
58381
58382         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
58383         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
58384         Reported by Simon Josefsson.
58385
58386 2006-11-30  Jim Meyering  <jim@meyering.net>
58387
58388         * m4/warning.m4: Use the all-permissive copyright notice
58389         recommended by RMS (rather than LGPL).
58390         * m4/vararrays.m4: Likewise.
58391         * m4/flexmember.m4: Likewise.
58392
58393 2006-11-29  Bruno Haible  <bruno@clisp.org>
58394
58395         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
58396         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
58397         using +=.
58398         Reported by Simon Josefsson <simon@josefsson.org>.
58399
58400 2006-11-28  James Youngman <jay@gnu.org>
58401
58402         * README: Advise users that they might find the bug-gnulib@gnu.org
58403         and autotools-announce@gnu.org mailing lists useful.
58404
58405 2006-11-28  Bruno Haible  <bruno@clisp.org>
58406
58407         * m4/ptrdiff_max.m4: Remove file.
58408
58409 2006-11-21  Bruno Haible  <bruno@clisp.org>
58410
58411         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
58412         _AC_COMPUTE_INT.
58413         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
58414         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
58415         _AC_COMPUTE_INT.
58416         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
58417         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
58418         _AC_COMPUTE_INT.
58419         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
58420
58421 2006-11-28  Jim Meyering  <jim@meyering.net>
58422
58423         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
58424         warning from "gcc -Wshadow" about shadowing the builtin.
58425
58426 2006-11-27  Bruno Haible  <bruno@clisp.org>
58427
58428         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
58429         _AC_COMPUTE_INT.
58430         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
58431
58432 2006-11-27  Bruno Haible  <bruno@clisp.org>
58433             Paul Eggert  <eggert@cs.ucla.edu>
58434
58435         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
58436
58437 2006-11-26  Bruno Haible  <bruno@clisp.org>
58438
58439         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
58440         noinst_LTLIBRARIES.
58441
58442 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
58443             Bruno Haible  <bruno@clisp.org>
58444
58445         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
58446         if compiling with "gcc -ansi".
58447
58448 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
58449
58450         Fix some incompatibilities with gcc -ansi -pedantic.
58451         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
58452         if compiling pedantically with GCC, unless it's C99 or later.
58453         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
58454         it mishandles gcc -ansi -pedantic as well.
58455         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
58456         if gcc -pedantic.
58457         * lib/regexec.c (check_node_accept_bytes): Don't use auto
58458         initializers for struct if -pedantic, unless it's C99 or later.
58459
58460 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
58461
58462         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
58463         Don't close an fd more than once. Identical atimes indicate
58464         success, not failure.
58465
58466 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
58467
58468         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
58469
58470 2006-11-23  Jim Meyering  <jim@meyering.net>
58471
58472         * build-aux/announce-gen: New file.  From coreutils.
58473
58474 2006-11-22  Jim Meyering  <jim@meyering.net>
58475
58476         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
58477         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
58478         (fts_read): Use a temporary to narrow the overused st_size member
58479         before using it in a switch statement.  Reported by Matthew Woehlke.
58480
58481         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
58482         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
58483
58484 2006-11-20  Bruno Haible  <bruno@clisp.org>
58485
58486         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
58487         changequote instead of pairs of brackets.
58488         Reported by Andreas Schwab <schwab@suse.de>.
58489
58490 2006-11-21  Jim Meyering  <jim@meyering.net>
58491
58492         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
58493         so as to remain compatible with older compilers.
58494         Patch from Michael Deutschmann.
58495
58496 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
58497
58498         * MODULES.html.sh (File system functions): Add openat.
58499
58500         * lib/openat.h (rpl_fstatat): New macro, if
58501         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
58502         (fstatat): Define to rpl_fstatat under the same conditions,
58503         unless COMPILING_FSTATAT.
58504         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
58505         seems to have the bug.
58506         * lib/fstatat.c: New file.
58507         * modules/openat (Files): Add it.
58508
58509 2006-11-20  Bruno Haible  <bruno@clisp.org>
58510
58511         * Makefile: New file.
58512
58513 2006-11-20  Jim Meyering  <jim@meyering.net>
58514
58515         The beginnings of syntax-related checks for gnulib.
58516         * lib/Makefile: New file.
58517         * lib/t-idcache: New script.  Ensure that the two halves of
58518         idcache.c stay in sync.
58519
58520         * lib/idcache.c: Adjust comments in user- and group- portions to
58521         be more accurate, and to be consistent with one another.
58522
58523 2006-11-20  Jim Meyering  <jim@meyering.net>
58524
58525         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
58526         continue using the flexible array member (thus, this module performs
58527         half as many malloc calls), with the addition that...
58528         (getgroup, getuser): Consistently record a non-match via an empty
58529         "name" string, and map an empty string match to a NULL return value.
58530         * modules/idcache (Depends-on): Re-add flexmember.
58531
58532         * lib/idcache.c (getuser): Remove all uses of the register keyword.
58533         (getuidbyname, getgroup, getgidbyname): Likewise.
58534
58535         Use cleaner syntax: NULL rather than 0.
58536         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
58537
58538 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
58539
58540         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
58541         It mishandled the case where the group was missing.
58542         Problem reported by Greg Schafer.
58543         * modules/idcache: Likewise.
58544
58545 2006-11-18  Jim Meyering  <jim@meyering.net>
58546
58547         * check-module (%exempt_header): Add exception for some
58548         conditionally-included headers.
58549
58550         * modules/i-ring (Depends-on): Add verify.
58551         (License): Change to LGPL.
58552
58553 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
58554
58555         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
58556         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
58557         and inttostr.h.  Use snprintf rather than uinttostr, so that
58558         LGPLed code doesn't depend on GPLed.
58559
58560 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
58561
58562         * modules/inline (License): Change from GPL to LGPL.
58563
58564 2006-11-17  Jim Meyering  <jim@meyering.net>
58565
58566         * modules/d-type (License): Switch to LGPL.
58567
58568 2006-11-15  Bruno Haible  <bruno@clisp.org>
58569
58570         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
58571
58572 2006-11-15  Eric Blake  <ebb9@byu.net>
58573
58574         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
58575         the module dependency.
58576
58577 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
58578             Bruno Haible  <bruno@clisp.org>
58579
58580         * gnulib-tool (func_create_testdir): Add license consistency check.
58581
58582 2006-11-15  Eric Blake  <ebb9@byu.net>
58583
58584         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
58585         random "(cached)" in configure output.
58586
58587 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58588
58589         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
58590         test for conforming inttypes.h is both announced and cached.
58591
58592         * MODULES.html.sh (seen_modules, seen_files): New variables.
58593         (func_module): Rewrite to use a few less gnulib-tool and sed
58594         invocations.  Avoid a couple of quadratic algorithms for ...
58595         (missed_modules, missed_files): ... these, with ...
58596         (func_append, func_tmpdir): ... these new functions, from
58597         gnulib-tool.  Analogously, install traps for cleanup.
58598
58599         * tests/test-gc.c (main): Remove unused variables.
58600         * tests/test-read-file.c: Include stdlib.h, for 'free'.
58601
58602 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
58603
58604         * modules/inttostr (License): Change to LGPL.
58605
58606 2006-11-14  Eric Blake  <ebb9@byu.net>
58607
58608         * modules/tempname (License): Change to LGPL.
58609
58610 2006-11-14  Eric Blake  <ebb9@byu.net>
58611
58612         * doc/functions.texi (Function Portability): *printf functions on
58613         Cygwin now understand all POSIX size specifiers.
58614
58615 2006-11-14  Bruno Haible  <bruno@clisp.org>
58616
58617         * modules/c-ctype (License): Change to LGPL.
58618
58619 2006-11-12  Bruno Haible  <bruno@clisp.org>
58620
58621         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
58622         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
58623         for GNOME libraries, for which the include files are installed in
58624         subdirectories of $prefix/include.
58625
58626 2006-11-12  Bruno Haible  <bruno@clisp.org>
58627
58628         * m4/lib-link.m4: Require at least autoconf-2.54.
58629         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
58630         name to underscores for the --with option.
58631
58632 2006-11-13  Bruno Haible  <bruno@clisp.org>
58633
58634         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
58635         the tests directory.
58636         Reported by Ralf Wildenhues.
58637
58638 2006-11-13  Bruno Haible  <bruno@clisp.org>
58639
58640         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
58641         (func_emit_initmacro_end): Undo the override here.
58642         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
58643         Works around the famous automake error in coreutils.
58644
58645 2006-11-13  Eric Blake  <ebb9@byu.net>
58646
58647         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
58648         element, not its node.
58649
58650 2006-11-12  Bruno Haible  <bruno@clisp.org>
58651
58652         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
58653         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
58654
58655 2006-11-12  Bruno Haible  <bruno@clisp.org>
58656
58657         * gnulib-tool: New option --local-symlink.
58658         (func_usage): Document it.
58659         (lsymbolic): New variable.
58660         (func_import, func_create_testdir): If --symlink was not specified,
58661         test whether --local-symlink was specified and the file comes from
58662         the local_gnulib_dir.
58663
58664 2006-11-12  Bruno Haible  <bruno@clisp.org>
58665
58666         * gnulib-tool (func_ln): New function.
58667         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
58668
58669 2006-11-12  Bruno Haible  <bruno@clisp.org>
58670
58671         Finish support for source files in subdirectories.
58672         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
58673         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
58674         AUTOMAKE_OPTIONS.
58675         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
58676
58677 2006-11-12  Bruno Haible  <bruno@clisp.org>
58678
58679         * gnulib-tool (func_get_automake_snippet): Synthesize also an
58680         EXTRA_lib_SOURCES augmentation.
58681         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
58682
58683 2006-11-12  Jim Meyering  <jim@meyering.net>
58684
58685         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
58686         file descriptors.  This also averts a failure on systems with
58687         native openat support when a traversed directory lacks "x" access.
58688         * lib/fts_.h: Include "i-ring.h"
58689         (struct FTS) [fts_fd_ring]: New member.
58690         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
58691         (FCHDIR): Add parentheses.
58692         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
58693         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
58694         When descending, rather than simply closing the previous
58695         fts_cwd_fd value, push that file descriptor onto the ring.
58696         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
58697         (fts_open): Initialize the new fd_ring member.
58698         (fts_close): Clear the ring.
58699         (fts_safe_changedir): When possible, use our new fd_ring to skip
58700         the diropen and fstat and dev/ino comparison that would normally
58701         accompany a virtual `chdir ("..")'.
58702
58703         * modules/fts (Depends-on): Add i-ring.
58704         * modules/i-ring: New module.
58705         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
58706         * m4/i-ring.m4: New file.
58707
58708 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58709
58710         * gnulib-tool (func_create_testdir): Fix replacement of
58711         `build-aux' in configure.ac.  Run autotools in gltests
58712         subdirectory.
58713         (func_create_testdir, func_create_megatestdir, test): There is
58714         no need for '--force' in most autotool invocations in a new
58715         tree.  Actually fail the whole test if any of the tools, or the
58716         configure or make stages fail.
58717
58718         Sync from Automake.
58719         * build-aux/gnupload: Revert last change.  Add pointer to upload
58720         instructions of the GNU Maintenance Instructions.
58721         Suggestion by Karl Berry.
58722
58723 2006-11-10  Jim Meyering  <jim@meyering.net>
58724
58725         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
58726
58727 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
58728
58729         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
58730         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
58731         (bind_textdomain_codeset) [! ENABLE_NLS]:
58732         Evaluate all the arguments.  That way, callers get compatible behavior
58733         if the arguments have side effects.  Also, it avoids some GCC
58734         diagnostics in some cases; Joel E. Denny reported problems when Bison
58735         was configured with --enable-gcc-warnigs.
58736
58737 2006-11-10  Jim Meyering  <jim@meyering.net>
58738
58739         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
58740         relevant options in CFLAGS (like -O, -fno-inline) are taken into
58741         account.
58742
58743 2006-11-10  Jim Meyering  <jim@meyering.net>
58744
58745         * modules/inline: New file/module.
58746         * modules/xalloc (Files): Remove m4/inline.m4.
58747         (Depends-on): Add inline, instead.
58748         * modules/oset: Likewise.
58749         * modules/list: Likewise.
58750
58751 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
58752
58753         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
58754         Problem reported by Matthew Woehlke.
58755
58756 2006-11-09  Bruno Haible  <bruno@clisp.org>
58757
58758         * lib/tempname.c (gen_tempname): Remove variant that invokes
58759         __gen_tempname.
58760         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
58761         __gen_tempname.
58762
58763 2006-11-08  Bruno Haible  <bruno@clisp.org>
58764
58765         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
58766         to 'yes' instead of 'cross-compiling'.
58767
58768 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
58769
58770         * lib/quotearg.h (quotearg_free): New decl.
58771         * lib/quotearg.c (quotearg_free): New function.
58772         (slot0, nslots, slotvec0, slotvec):
58773         Now file-scope so that quotearg_free can get at them.
58774
58775 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58776
58777         Sync from Automake.
58778         * build-aux/gnupload: Add missing 'gnu' to example URL.
58779         Report by Karl Berry.
58780
58781 2006-11-08  Bruno Haible  <bruno@clisp.org>
58782
58783         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
58784         Suggested by Paul Eggert.
58785
58786 2006-11-08  Jim Meyering  <jim@meyering.net>
58787
58788         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
58789         It's already included if !_LIBC.
58790         (fts_safe_changedir): Add a comment.
58791
58792 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
58793
58794         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
58795         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
58796         Matthew Woehlke.
58797
58798         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
58799         definitions up, to avoid colliding with change below.
58800         (static_inline) [HAVE_INLINE]: New macro.
58801         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
58802         Provide extern decls when !HAVE_INLINE.  Do not define unless
58803         static_inline is defined, either by us or by xmalloc.c.  Use
58804         static_inline rather than static inline.
58805         (XCALLOC): Optimize sizeof(T) = 1 case.
58806         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
58807
58808 2006-11-07  Bruno Haible  <bruno@clisp.org>
58809
58810         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
58811         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
58812         AC_C_INLINE.
58813         * modules/xalloc (Files): Add m4/inline.m4.
58814
58815 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58816
58817         * README: Fix typo.
58818         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
58819         (Miscellanous Notes): ...from this.
58820
58821 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
58822
58823         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
58824         Mention that offsetof should be used instead of sizeof.
58825         From Bruno Haible.
58826
58827 2006-11-07  Bruno Haible  <bruno@clisp.org>
58828
58829         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
58830
58831 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
58832
58833         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
58834         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
58835         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
58836         (gl_tree_add_before, gl_tree_add_after):
58837         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
58838         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
58839         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
58840         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
58841         (gl_linked_add_after, gl_linked_add_at): Likewise.
58842         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
58843         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
58844         (gl_tree_add_before, gl_tree_add_after): Likewise.
58845         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
58846         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
58847         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
58848
58849 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58850
58851         * lib/gl_oset.h: Use C comment style, not C++ comment style.
58852
58853 2006-11-06  Bruno Haible  <bruno@clisp.org>
58854
58855         * m4/inline.m4: New file.
58856         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
58857         * modules/list (Files): Add m4/inline.m4.
58858         * modules/oset (Files): Likewise.
58859
58860 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
58861
58862         * lib/idcache.c: Include <stddef.h>, for offsetof.
58863         (struct userid.name): Change from char * to a flexible array member.
58864         All uses changed.
58865         * modules/idcache (Depends-on): Add flexmember.
58866
58867         * MODULES.html.sh (Core language properties): New module flexmember.
58868         * modules/flexmember, m4/flexmember.m4: New files.
58869
58870         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
58871         inline functions that are identical with the old xnmalloc_inline,
58872         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
58873         that we can avoid some unnecessary integer multiplications and
58874         divisions in the common case where the element size is known at
58875         compile time.
58876         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
58877         needed.
58878         (xnboundedmalloc): Remove.
58879         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
58880         arguments, for consistency with rest of this header.
58881         (xcharalloc): Rewrite using XNMALLOC.
58882         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
58883         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
58884         versions have been moved to lib/xalloc.h and renamed to be the
58885         non-*_inline versions.
58886         (xmalloc, xrealloc): Implement without reference to the xnmalloc
58887         and xnrealloc functions, since those functions are now inline and
58888         now call us.
58889         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
58890         renaming described above.
58891         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
58892         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
58893         captures the dependency in AC_C_INLINE.
58894
58895         New module canonicalize-lgpl, proposed by Charles Wilson in
58896         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
58897         with a few small changes afterwards.
58898         * MODULES.html.sh (File system functions): New module
58899         canonicalize-lgpl.
58900         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
58901         and canonicalize_file_name.
58902         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
58903         * modules/canonicalize-lgpl: New files.
58904
58905 2006-11-05  Bruno Haible  <bruno@clisp.org>
58906
58907         * gnulib-tool (func_import, func_create_testdir): Create directories
58908         also for files in subdirectories of lib/.
58909
58910 2006-11-05  Bruno Haible  <bruno@clisp.org>
58911
58912         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
58913         ANSI C compliant.
58914
58915 2006-11-03  Bruno Haible  <bruno@clisp.org>
58916
58917         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
58918         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
58919         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
58920         (xnboundedmalloc): New inline function.
58921         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
58922         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
58923         xmalloc.
58924         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
58925         xmalloc.
58926         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
58927         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
58928         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
58929         xmalloc.
58930         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
58931         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
58932         xmalloc.
58933         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
58934         gl_tree_add_after): Use XMALLOC instead of xmalloc.
58935         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
58936         xmalloc.
58937         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
58938         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
58939         gl_tree_add_after): Use XMALLOC instead of xmalloc.
58940         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
58941         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
58942         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
58943         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
58944
58945 2006-11-03  Bruno Haible  <bruno@clisp.org>
58946
58947         * lib/c-ctype.h [C++]: Define functions without name mangling.
58948         * lib/fwriteerror.h [C++]: Likewise.
58949         * lib/gcd.h [C++]: Likewise.
58950         * lib/linebreak.h [C++]: Likewise.
58951
58952 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
58953
58954         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
58955         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
58956         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
58957         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
58958         Check for functions and headers just once.
58959         Check for declaration of canonicalize_file_name.
58960         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
58961
58962 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
58963
58964         * gnulib-tool (func_import): Fix typo in actioncmd.
58965
58966 2006-11-02  Bruno Haible  <bruno@clisp.org>
58967
58968         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
58969         newline sequence in the Makefile.am snippet as a space, like "make"
58970         does.
58971         Reported by Roger Persson <perrog@gmail.com>.
58972
58973 2006-11-01  Bruno Haible  <bruno@clisp.org>
58974
58975         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
58976         already declared in <string.h>.
58977         * lib/strcase.h (strncasecmp): Don't declare it if yes.
58978
58979 2006-11-01  Bruno Haible  <bruno@clisp.org>
58980
58981         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
58982         * lib/strcase.h: Include <string.h>.
58983         (strcasecmp): Define to rpl_strcasecmp here.
58984
58985 2006-11-01  Bruno Haible  <bruno@clisp.org>
58986
58987         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
58988
58989 2006-11-01  Eric Blake  <ebb9@byu.net>
58990
58991         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
58992
58993         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
58994
58995 2006-10-29  Bruno Haible  <bruno@clisp.org>
58996
58997         Make it compile in C++ mode.
58998         * lib/full-write.c (full_rw): Add a cast.
58999
59000 2006-11-01  Bruno Haible  <bruno@clisp.org>
59001
59002         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
59003         be POSIX compliant.
59004         Reported by Roger Persson <perrog@gmail.com>.
59005
59006 2006-11-01  Eric Blake  <ebb9@byu.net>
59007
59008         * lib/getopt_.h: Fix comments.
59009
59010 2006-10-31  Eric Blake  <ebb9@byu.net>
59011
59012         * modules/tmpdir (Depends-on): Add sys_stat.
59013         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
59014         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
59015         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
59016         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
59017         tempname.
59018
59019 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
59020
59021         Avoid some C++ diagnostics reported by Bruno Haible.
59022         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
59023         xmalloc.
59024         (quotearg_alloc): Use xcharalloc rather than xmalloc.
59025         (struct slotvec): Move to top level.
59026         (quotearg_n_options): Rewrite to avoid xmalloc.
59027         * lib/xalloc.h (xcharalloc): New function.
59028         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
59029         [defined __cplusplus]: Add function template that provides result
59030         type propagation.  This part of the change is from Bruno Haible.
59031
59032 2006-10-29  Bruno Haible  <bruno@clisp.org>
59033
59034         Make it compile in C++ mode.
59035         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
59036         * lib/strnlen1.c (strnlen1): Cast memchr result.
59037         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
59038         * lib/clean-temp.c (string_equals, string_hash): Add casts.
59039         (create_temp_dir): Rename local variable 'template'.
59040         (compile_csharp_using_sscli): Add cast.
59041         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
59042         * lib/findprog.c (find_in_path): Likewise.
59043         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
59044         * lib/wait-process.c (register_slave_subprocess): Likewise.
59045
59046 2006-10-22  Bruno Haible  <bruno@clisp.org>
59047
59048         * modules/tsearch: New file.
59049         * lib/tsearch.h: New file.
59050         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
59051         * m4/tsearch.m4: New file.
59052         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
59053
59054 2006-10-29  Eric Blake  <ebb9@byu.net>
59055
59056         * lib/arcfour.c: Assume config.h.
59057         * lib/arctwo.c: Likewise.
59058         * lib/base64.c: Likewise.
59059         * lib/check-version.c: Likewise.
59060         * lib/crc.c: Likewise.
59061         * lib/des.c: Likewise.
59062         * lib/gc-gnulib.c: Likewise.
59063         * lib/gc-libgcrypt.c: Likewise.
59064         * lib/gc-pbkdf2-sha1.c: Likewise.
59065         * lib/getaddrinfo.c: Likewise.
59066         * lib/getdelim.c: Likewise.
59067         * lib/getline.c: Likewise.
59068         * lib/hmac-md5.c: Likewise.
59069         * lib/hmac-sha1.c: Likewise.
59070         * lib/iconvme.c: Likewise.
59071         * lib/md2.c: Likewise.
59072         * lib/md4.c: Likewise.
59073         * lib/memxor.c: Likewise.
59074         * lib/read-file.c: Likewise.
59075         * lib/readline.c: Likewise.
59076         * lib/rijndael-alg-fst.c: Likewise.
59077         * lib/rijndael-api-fst.c: Likewise.
59078         * lib/xgetdomainname.c: Likewise.
59079
59080 2006-10-28  Eric Blake  <ebb9@byu.net>
59081
59082         * lib/xstrndup.c: Assume config.h.
59083
59084 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
59085
59086         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
59087         stat-macros.h is now for our own macros, whereas stat_h is for
59088         macros in the <sys/stat.h> name space.
59089         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
59090         (STAT_MACROS_H): Remove.
59091         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
59092         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
59093         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
59094         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
59095         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
59096         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
59097         Move these macros to ...
59098         * lib/stat_.h: here.  Don't include stat-macros.h.
59099         * lib/canonicalize.c: Don't include stat-macros.h.
59100         * lib/chown.c: Likewise.
59101         * lib/euidaccess.c: Likewise.
59102         * lib/file-type.c: Likewise.
59103         * lib/filemode.c: Likewise.
59104         * lib/glob.c: Likewise.
59105         * lib/isapipe.c: Likewise.
59106         * lib/lchown.c: Likewise.
59107         * lib/lstat.c: Likewise.
59108         * lib/mkdir-p.c: Likewise.
59109         * lib/rmdir.c: Likewise.
59110         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
59111         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
59112         unless mkdir isn't declared, to speed up 'configure'.
59113         Always create sys/stat.h, since it's unlikely any real sys/stat.h
59114         would define all the S_* symbols.
59115         * modules/canonicalize (Depends-on):
59116         Depend on sys_stat, not stat-macros.
59117         * modules/chown: Likewise.
59118         * modules/euidaccess: Likewise.
59119         * modules/filemode: Likewise.
59120         * modules/file-type: Likewise.
59121         * modules/glob: Likewise.
59122         * modules/isapipe: Likewise.
59123         * modules/lchown: Likewise.
59124         * modules/lstat: Likewise.
59125         * modules/mkancesdirs: Likewise.
59126         * modules/rmdir: Likewise.
59127         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
59128         * modules/modechange: Likewise.
59129         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
59130         (configure.ac): Remove gl_STAT_MACROS.
59131         * modules/sys_stat (Depends-on): Remove stat-macros.
59132
59133 2006-10-27  Bruno Haible  <bruno@clisp.org>
59134
59135         * m4/signed.m4: Remove file.
59136         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
59137         invocation.
59138         * modules/vasnprintf (Files): Remove m4/signed.m4.
59139
59140 2006-10-27  Bruno Haible  <bruno@clisp.org>
59141
59142         Update to GNU gettext 0.16.
59143         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
59144         m4/inttypes-h.m4, m4/signed.m4.
59145         * m4/gettext.m4: Update to GNU gettext 0.16.
59146         * m4/intl.m4: New file, from GNU gettext.
59147         * m4/intldir.m4: New file, from GNU gettext.
59148         * config/srclist.txt: Update
59149
59150 2006-10-27  Eric Blake  <ebb9@byu.net>
59151
59152         * MODULES.html.sh: Document tempname.
59153         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
59154         dependencies.
59155         (Files): Move lib/tempname.c...
59156         * modules/tempname: ...to this new module.
59157         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
59158         (gl_PREREQ_TEMPNAME): Move...
59159         * m4/tempname.m4: ...to this new file.
59160         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
59161         * modules/sys_stat (Depends-on): Add stat-macros.
59162         * lib/stat_.h (includes): Pick up stat macros.
59163         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
59164         if stat macros are broken.
59165         * lib/tempname.c (includes): No need to include "stat-macros.h".
59166         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
59167         (direxists, __path_search) [!_LIBC]: Don't compile these in
59168         gnulib; the tmpdir module covers that.
59169         * lib/tempname.h: New file.
59170
59171 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
59172
59173         * COPYING: Explain how gnulib-tool converts licence headers.
59174         Almost all wording by Eric Blake.
59175
59176 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
59177
59178         * lib/mbchar.h (is_basic_table): Make read-only.
59179         * lib/mbchar.c (is_basic_table): Likewise.
59180         Reported by John Darrington.
59181
59182 2006-10-25  Bruno Haible  <bruno@clisp.org>
59183
59184         * lib/progname.h (set_program_name): Undefine before defining.
59185
59186 2006-10-25  Bruno Haible  <bruno@clisp.org>
59187
59188         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
59189         false for non-gcc C++ compilers.
59190         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
59191
59192 2006-10-24  Bruno Haible  <bruno@clisp.org>
59193
59194         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
59195         iconv implementations like Irix iconv.
59196
59197 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
59198
59199         * modules/vararrays: New file.
59200         * m4/vararrays.m4: New file, taken from diffutils.
59201         * MODULES.html.sh: New module vararrays.
59202
59203 2006-10-24  Karl Berry  <karl@gnu.org>
59204
59205         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
59206         Don't call GNU Unix.
59207
59208 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59209
59210         * users.txt: Add Libtool.
59211
59212         Sync from Libtool:
59213
59214         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
59215
59216         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
59217         to gnulib's policy of including config.h unconditionally.
59218
59219 2006-10-24  Bruno Haible  <bruno@clisp.org>
59220
59221         * modules/wcwidth (Files): Add m4/wint_t.m4.
59222         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
59223         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
59224
59225 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
59226
59227         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
59228         to pacify GCC with some -W flags enabled.  Problem reported by
59229         Bruno Haible.
59230
59231 2006-10-24  Jim Meyering  <jim@meyering.net>
59232
59233         * MODULES.html.sh: Remove uinttostr.  It's not a module.
59234         Reported by Karl Berry.
59235
59236 2006-10-23  Bruno Haible  <bruno@clisp.org>
59237
59238         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
59239
59240 2006-10-24  Bruno Haible  <bruno@clisp.org>
59241
59242         * lib/gl_list.h: Use C comment style, not C++ comment style.
59243
59244 2006-10-23  Eric Blake  <ebb9@byu.net>
59245
59246         * lib/getaddrinfo.c (includes): Add missing include.
59247
59248 2006-10-23  Bruno Haible  <bruno@clisp.org>
59249             Paul Eggert  <eggert@cs.ucla.edu>
59250
59251         Ability to rename obstack_free.
59252         * lib/obstack.h (__obstack_free): New macro. Declare instead of
59253         obstack_free.
59254         (obstack_free): Invoke the __obstack_free macro.
59255         * lib/obstack.c (obstack_free): Use __obstack_free macro.
59256
59257 2006-10-23  Bruno Haible  <bruno@clisp.org>
59258             Paul Eggert  <eggert@cs.ucla.edu>
59259
59260         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
59261         __argc, __argv from the declaration. (They are defined as macros on
59262         mingw.)
59263
59264 2006-10-22  Bruno Haible  <bruno@clisp.org>
59265
59266         * doc/gnulib-intro.texi: New file.
59267         * doc/gnulib.texi: Include it.
59268
59269 2006-10-21  Bruno Haible  <bruno@clisp.org>
59270
59271         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
59272         "Introduction", "Miscellanous Notes", "Particular Modules".
59273
59274 2006-10-21  Bruno Haible  <bruno@clisp.org>
59275
59276         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
59277         Change mostlyclean-local rule to avoid sh syntax error from bash
59278         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
59279
59280 2006-10-23  Jim Meyering  <jim@meyering.net>
59281
59282         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
59283         in place of snprintf.
59284
59285         * modules/inttostr (Files): Add lib/uinttostr.c.
59286         * lib/uinttostr.c (inttostr): New file/function.
59287         * lib/inttostr.h (uinttostr): Declare.
59288         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
59289         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
59290         Add uinttostr.
59291         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
59292
59293 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
59294
59295         * lib/canonicalize.c (ELOOP): Define if not already defined.
59296         Problem reported by Bruno Haible in
59297         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
59298
59299 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
59300
59301         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
59302         Problem reported by Perry Smith and Ville Laurikari.
59303
59304         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
59305         uses.
59306
59307 2006-10-19  Bruno Haible  <bruno@clisp.org>
59308
59309         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
59310         for mingw.
59311
59312 2006-10-19  Bruno Haible  <bruno@clisp.org>
59313
59314         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
59315         Needed for mingw.
59316
59317 2006-10-19  Bruno Haible  <bruno@clisp.org>
59318
59319         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
59320
59321 2006-10-19  Bruno Haible  <bruno@clisp.org>
59322
59323         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
59324         it.
59325
59326 2006-10-19  Bruno Haible  <bruno@clisp.org>
59327
59328         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
59329         invocation.
59330
59331 2006-10-19  Bruno Haible  <bruno@clisp.org>
59332
59333         * gnulib-tool (func_create_testdir): Don't include ftruncate and
59334         mountlist by default.
59335
59336 2006-10-16  Bruno Haible  <bruno@clisp.org>
59337
59338         * lib/c-strstr.c: Include c-strstr.h.
59339
59340 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
59341
59342         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
59343         in a slash.
59344
59345 2006-10-18  Bruno Haible  <bruno@clisp.org>
59346
59347         * lib/lock.h [C++]: Wrap definitions in extern "C".
59348
59349 2006-10-18  Bruno Haible  <bruno@clisp.org>
59350
59351         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
59352         gl_LIBOBJS list.
59353
59354 2006-10-18  Bruno Haible  <bruno@clisp.org>
59355
59356         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
59357
59358 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
59359
59360         * lib/xstrtol.h: Include gettext.h.
59361         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
59362         Problem reported by Eric Blake.
59363         * modules/xstrtol (Depends-on): Add gettext-h.
59364
59365 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
59366
59367         * lib/strftime.c (advance): New macro.
59368         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
59369         incomplete type, so you can't add 0 to it.  Problem and patch
59370         reported by Eelco Dolstra for dietlibc.
59371
59372 2006-10-18  Jim Meyering  <jim@meyering.net>
59373
59374         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
59375         type for a local, and rename it: s/up/user_proc/.
59376
59377 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
59378
59379         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
59380         READ_UTMP_USER_PROCESS.
59381         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
59382
59383 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
59384
59385         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
59386         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
59387
59388 2006-10-17  Eric Blake  <ebb9@byu.net>
59389
59390         * lib/sigprocmask.c (sigprocmask): Fix typo.
59391
59392         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
59393
59394         * modules/clean-temp (Makefile.am): Don't add to make output...
59395         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
59396         config.h.
59397
59398 2006-10-17  Bruno Haible  <bruno@clisp.org>
59399
59400         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
59401         differently if DEFAULT_TEXT_DOMAIN is set.
59402
59403 2006-10-16  Bruno Haible  <bruno@clisp.org>
59404
59405         * lib/clean-temp.c: Include fwriteerror.h.
59406
59407 2006-10-16  Bruno Haible  <bruno@clisp.org>
59408
59409         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
59410
59411 2006-10-16  Bruno Haible  <bruno@clisp.org>
59412
59413         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
59414         * lib/sigprocmask.h: Include <sys/types.h>.
59415         (sigset_t): Use the system's definition if present.
59416
59417 2006-10-17  Eric Blake  <ebb9@byu.net>
59418
59419         * lib/xvasprintf.c (includes): Assume config.h.
59420         * lib/xasprintf.c (includes): Likewise.
59421
59422 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
59423
59424         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
59425         at least as wide as intmax_t.
59426
59427 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
59428
59429         (Imported from Automake.)
59430         * build-aux/gnupload: Update to version 1.1 of directive file.
59431
59432 2006-10-16  Eric Blake  <ebb9@byu.net>
59433
59434         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
59435         match Automake 1.10a.
59436
59437 2006-10-14  Bruno Haible  <bruno@clisp.org>
59438
59439         * modules/sigprocmask: New file.
59440         * lib/sigprocmask.h: New file.
59441         * lib/sigprocmask.c: New file.
59442         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
59443         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
59444         request sigprocmask.o.
59445         (gl_PREREQ_SIGPROCMASK): New macro.
59446         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
59447         (Depends-on): Add sigprocmask.
59448         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
59449         gt_SIGNALBLOCKING. Test for 'raise' only once.
59450         * lib/fatal-signal.c: Include sigprocmask.h.
59451         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
59452         unblock_fatal_signals): Define always.
59453         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
59454         sigprocmask.
59455
59456 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
59457
59458         Sync from Automake.
59459         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
59460         which incorrectly sets the mode of an existing destination
59461         directory.  In some cases the unpatched install-sh could do the
59462         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
59463         system.  We hope this is rare in practice, but it's clearly worth
59464         fixing.  Problem reported by Alex Unleashed in
59465         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
59466         Also, don't bother to check for -m bugs unless we're using -m;
59467         suggested by Stepan Kasal.
59468
59469 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59470
59471         Sync from Automake.
59472         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
59473         `-c' flag, so they appear at the same position as in %FASTDEP%
59474         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
59475         which ignores unknown options only after the first non-option.
59476         Bug report against M4 by Nelson H. F. Beebe.
59477
59478 2006-10-13  Jim Meyering  <jim@meyering.net>
59479
59480         Fix a bug in yesterday's change.
59481         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
59482         p->fts_statp->st_dev would be used uninitialized.
59483         Ensures that we always call fts_stat on the very first entry.
59484         Miklos Szeredi reported that find -xdev stopped working.
59485
59486 2006-10-12  Bruno Haible  <bruno@clisp.org>
59487
59488         * gnulib-tool (func_get_automake_snippet): Append an automatically
59489         computed EXTRA_DIST augmentation.
59490         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
59491         * modules/alloca-opt (Makefile.am): Likewise.
59492         * modules/allocsa (Makefile.am): Likewise.
59493         * modules/arcfour (Makefile.am): Likewise.
59494         * modules/arctwo (Makefile.am): Likewise.
59495         * modules/argmatch (Makefile.am): Likewise.
59496         * modules/argz (Makefile.am): Likewise.
59497         * modules/atexit (Makefile.am): Likewise.
59498         * modules/backupfile (Makefile.am): Likewise.
59499         * modules/byteswap (Makefile.am): Likewise.
59500         * modules/c-strtod (Makefile.am): Likewise.
59501         * modules/c-strtold (Makefile.am): Likewise.
59502         * modules/calloc (Makefile.am): Likewise.
59503         * modules/canon-host (Makefile.am): Likewise.
59504         * modules/canonicalize (Makefile.am): Likewise.
59505         * modules/chdir-long (Makefile.am): Likewise.
59506         * modules/chdir-safer (Makefile.am): Likewise.
59507         * modules/check-version (Makefile.am): Likewise.
59508         * modules/chown (Makefile.am): Likewise.
59509         * modules/cloexec (Makefile.am): Likewise.
59510         * modules/close-stream (Makefile.am): Likewise.
59511         * modules/closeout (Makefile.am): Likewise.
59512         * modules/crc (Makefile.am): Likewise.
59513         * modules/csharpexec (Makefile.am): Likewise.
59514         * modules/cycle-check (Makefile.am): Likewise.
59515         * modules/des (Makefile.am): Likewise.
59516         * modules/dev-ino (Makefile.am): Likewise.
59517         * modules/dirfd (Makefile.am): Likewise.
59518         * modules/dirname (Makefile.am): Likewise.
59519         * modules/dup2 (Makefile.am): Likewise.
59520         * modules/eealloc (Makefile.am): Likewise.
59521         * modules/error (Makefile.am): Likewise.
59522         * modules/euidaccess (Makefile.am): Likewise.
59523         * modules/exclude (Makefile.am): Likewise.
59524         * modules/exitfail (Makefile.am): Likewise.
59525         * modules/fcntl-safer (Makefile.am): Likewise.
59526         * modules/fcntl (Makefile.am): Likewise.
59527         * modules/file-type (Makefile.am): Likewise.
59528         * modules/fileblocks (Makefile.am): Likewise.
59529         * modules/filemode (Makefile.am): Likewise.
59530         * modules/filenamecat (Makefile.am): Likewise.
59531         * modules/fnmatch (Makefile.am): Likewise.
59532         * modules/fopen-safer (Makefile.am): Likewise.
59533         * modules/fpending (Makefile.am): Likewise.
59534         * modules/fprintftime (Makefile.am): Likewise.
59535         * modules/free (Makefile.am): Likewise.
59536         * modules/fsusage (Makefile.am): Likewise.
59537         * modules/ftruncate (Makefile.am): Likewise.
59538         * modules/fts (Makefile.am): Likewise.
59539         * modules/gc-arcfour (Makefile.am): Likewise.
59540         * modules/gc-des (Makefile.am): Likewise.
59541         * modules/gc-hmac-md5 (Makefile.am): Likewise.
59542         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
59543         * modules/gc-md4 (Makefile.am): Likewise.
59544         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
59545         * modules/gc-sha1 (Makefile.am): Likewise.
59546         * modules/gc (Makefile.am): Likewise.
59547         * modules/getaddrinfo (Makefile.am): Likewise.
59548         * modules/getcwd (Makefile.am): Likewise.
59549         * modules/getdelim (Makefile.am): Likewise.
59550         * modules/getdomainname (Makefile.am): Likewise.
59551         * modules/getgroups (Makefile.am): Likewise.
59552         * modules/gethostname (Makefile.am): Likewise.
59553         * modules/gethrxtime (Makefile.am): Likewise.
59554         * modules/getline (Makefile.am): Likewise.
59555         * modules/getloadavg (Makefile.am): Likewise.
59556         * modules/getlogin_r (Makefile.am): Likewise.
59557         * modules/getndelim2 (Makefile.am): Likewise.
59558         * modules/getopt (Makefile.am): Likewise.
59559         * modules/getpagesize (Makefile.am): Likewise.
59560         * modules/getpass-gnu (Makefile.am): Likewise.
59561         * modules/getpass (Makefile.am): Likewise.
59562         * modules/getsubopt (Makefile.am): Likewise.
59563         * modules/gettime (Makefile.am): Likewise.
59564         * modules/gettimeofday (Makefile.am): Likewise.
59565         * modules/getugroups (Makefile.am): Likewise.
59566         * modules/getusershell (Makefile.am): Likewise.
59567         * modules/glob (Makefile.am): Likewise.
59568         * modules/group-member (Makefile.am): Likewise.
59569         * modules/hard-locale (Makefile.am): Likewise.
59570         * modules/hash (Makefile.am): Likewise.
59571         * modules/hmac-md5 (Makefile.am): Likewise.
59572         * modules/hmac-sha1 (Makefile.am): Likewise.
59573         * modules/human (Makefile.am): Likewise.
59574         * modules/idcache (Makefile.am): Likewise.
59575         * modules/imaxabs (Makefile.am): Likewise.
59576         * modules/imaxdiv (Makefile.am): Likewise.
59577         * modules/inet_ntop (Makefile.am): Likewise.
59578         * modules/inet_pton (Makefile.am): Likewise.
59579         * modules/intprops (Makefile.am): Likewise.
59580         * modules/inttostr (Makefile.am): Likewise.
59581         * modules/inttypes (Makefile.am): Likewise.
59582         * modules/isapipe (Makefile.am): Likewise.
59583         * modules/javaversion (Makefile.am): Likewise.
59584         * modules/lchmod (Makefile.am): Likewise.
59585         * modules/lchown (Makefile.am): Likewise.
59586         * modules/localcharset (Makefile.am): Likewise.
59587         * modules/long-options (Makefile.am): Likewise.
59588         * modules/lstat (Makefile.am): Likewise.
59589         * modules/malloc (Makefile.am): Likewise.
59590         * modules/mathl (Makefile.am): Likewise.
59591         * modules/mbchar (Makefile.am): Likewise.
59592         * modules/md2 (Makefile.am): Likewise.
59593         * modules/md4 (Makefile.am): Likewise.
59594         * modules/md5 (Makefile.am): Likewise.
59595         * modules/memcasecmp (Makefile.am): Likewise.
59596         * modules/memchr (Makefile.am): Likewise.
59597         * modules/memcmp (Makefile.am): Likewise.
59598         * modules/memcoll (Makefile.am): Likewise.
59599         * modules/memcpy (Makefile.am): Likewise.
59600         * modules/memmem (Makefile.am): Likewise.
59601         * modules/memmove (Makefile.am): Likewise.
59602         * modules/mempcpy (Makefile.am): Likewise.
59603         * modules/memrchr (Makefile.am): Likewise.
59604         * modules/memset (Makefile.am): Likewise.
59605         * modules/memxor (Makefile.am): Likewise.
59606         * modules/mkancesdirs (Makefile.am): Likewise.
59607         * modules/mkdir-p (Makefile.am): Likewise.
59608         * modules/mkdir (Makefile.am): Likewise.
59609         * modules/mkdtemp (Makefile.am): Likewise.
59610         * modules/mkstemp (Makefile.am): Likewise.
59611         * modules/mktime (Makefile.am): Likewise.
59612         * modules/modechange (Makefile.am): Likewise.
59613         * modules/mountlist (Makefile.am): Likewise.
59614         * modules/nanosleep (Makefile.am): Likewise.
59615         * modules/obstack (Makefile.am): Likewise.
59616         * modules/openat (Makefile.am): Likewise.
59617         * modules/pagealign_alloc (Makefile.am): Likewise.
59618         * modules/pathmax (Makefile.am): Likewise.
59619         * modules/physmem (Makefile.am): Likewise.
59620         * modules/poll (Makefile.am): Likewise.
59621         * modules/posixtm (Makefile.am): Likewise.
59622         * modules/posixver (Makefile.am): Likewise.
59623         * modules/putenv (Makefile.am): Likewise.
59624         * modules/quote (Makefile.am): Likewise.
59625         * modules/quotearg (Makefile.am): Likewise.
59626         * modules/raise (Makefile.am): Likewise.
59627         * modules/read-file (Makefile.am): Likewise.
59628         * modules/readline (Makefile.am): Likewise.
59629         * modules/readlink (Makefile.am): Likewise.
59630         * modules/readtokens (Makefile.am): Likewise.
59631         * modules/readutmp (Makefile.am): Likewise.
59632         * modules/realloc (Makefile.am): Likewise.
59633         * modules/regex (Makefile.am): Likewise.
59634         * modules/rename-dest-slash (Makefile.am): Likewise.
59635         * modules/rename (Makefile.am): Likewise.
59636         * modules/rijndael (Makefile.am): Likewise.
59637         * modules/rmdir (Makefile.am): Likewise.
59638         * modules/rpmatch (Makefile.am): Likewise.
59639         * modules/safe-read (Makefile.am): Likewise.
59640         * modules/safe-write (Makefile.am): Likewise.
59641         * modules/same-inode (Makefile.am): Likewise.
59642         * modules/same (Makefile.am): Likewise.
59643         * modules/save-cwd (Makefile.am): Likewise.
59644         * modules/savedir (Makefile.am): Likewise.
59645         * modules/setenv (Makefile.am): Likewise.
59646         * modules/settime (Makefile.am): Likewise.
59647         * modules/sha1 (Makefile.am): Likewise.
59648         * modules/sig2str (Makefile.am): Likewise.
59649         * modules/snprintf (Makefile.am): Likewise.
59650         * modules/stat-macros (Makefile.am): Likewise.
59651         * modules/stat-time (Makefile.am): Likewise.
59652         * modules/stdbool (Makefile.am): Likewise.
59653         * modules/stdint (Makefile.am): Likewise.
59654         * modules/stdlib-safer (Makefile.am): Likewise.
59655         * modules/stpcpy (Makefile.am): Likewise.
59656         * modules/stpncpy (Makefile.am): Likewise.
59657         * modules/strcase (Makefile.am): Likewise.
59658         * modules/strcasestr (Makefile.am): Likewise.
59659         * modules/strchrnul (Makefile.am): Likewise.
59660         * modules/strcspn (Makefile.am): Likewise.
59661         * modules/strdup (Makefile.am): Likewise.
59662         * modules/strerror (Makefile.am): Likewise.
59663         * modules/strftime (Makefile.am): Likewise.
59664         * modules/strndup (Makefile.am): Likewise.
59665         * modules/strnlen (Makefile.am): Likewise.
59666         * modules/strpbrk (Makefile.am): Likewise.
59667         * modules/strsep (Makefile.am): Likewise.
59668         * modules/strstr (Makefile.am): Likewise.
59669         * modules/strtod (Makefile.am): Likewise.
59670         * modules/strtoimax (Makefile.am): Likewise.
59671         * modules/strtok_r (Makefile.am): Likewise.
59672         * modules/strtol (Makefile.am): Likewise.
59673         * modules/strtoll (Makefile.am): Likewise.
59674         * modules/strtoul (Makefile.am): Likewise.
59675         * modules/strtoull (Makefile.am): Likewise.
59676         * modules/strtoumax (Makefile.am): Likewise.
59677         * modules/strverscmp (Makefile.am): Likewise.
59678         * modules/sys_socket (Makefile.am): Likewise.
59679         * modules/sys_stat (Makefile.am): Likewise.
59680         * modules/sysexits (Makefile.am): Likewise.
59681         * modules/time_r (Makefile.am): Likewise.
59682         * modules/timegm (Makefile.am): Likewise.
59683         * modules/timespec (Makefile.am): Likewise.
59684         * modules/tmpfile-safer (Makefile.am): Likewise.
59685         * modules/trim (Makefile.am): Likewise.
59686         * modules/unistd-safer (Makefile.am): Likewise.
59687         * modules/unlinkdir (Makefile.am): Likewise.
59688         * modules/unlocked-io (Makefile.am): Likewise.
59689         * modules/userspec (Makefile.am): Likewise.
59690         * modules/utime (Makefile.am): Likewise.
59691         * modules/utimecmp (Makefile.am): Likewise.
59692         * modules/utimens (Makefile.am): Likewise.
59693         * modules/vasnprintf (Makefile.am): Likewise.
59694         * modules/vasprintf (Makefile.am): Likewise.
59695         * modules/vsnprintf (Makefile.am): Likewise.
59696         * modules/xalloc (Makefile.am): Likewise.
59697         * modules/xgetcwd (Makefile.am): Likewise.
59698         * modules/xnanosleep (Makefile.am): Likewise.
59699         * modules/xreadlink (Makefile.am): Likewise.
59700         * modules/xstrtod (Makefile.am): Likewise.
59701         * modules/xstrtol (Makefile.am): Likewise.
59702         * modules/xstrtold (Makefile.am): Likewise.
59703         * modules/yesno (Makefile.am): Likewise.
59704         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
59705
59706 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
59707
59708         * modules/error (Makefile.am): Distribute files through
59709         EXTRA_DIST, not lib_SOURCES.
59710
59711 2006-10-12  Eric Blake  <ebb9@byu.net>
59712
59713         * modules/error (Makefile.am): Distribute files in /lib.
59714         * modules/obstack (Makefile.am): Likewise.
59715
59716 2006-10-12  Bruno Haible  <bruno@clisp.org>
59717
59718         * modules/acl (Makefile.am): Distribute all files in lib/ through
59719         EXTRA_DIST.
59720         * modules/arcfour (Makefile.am): Likewise.
59721         * modules/arctwo (Makefile.am): Likewise.
59722         * modules/argmatch (Makefile.am): Likewise.
59723         * modules/argz (Makefile.am): Likewise.
59724         * modules/atexit (Makefile.am): Likewise.
59725         * modules/backupfile (Makefile.am): Likewise.
59726         * modules/c-strtod (Makefile.am): Likewise.
59727         * modules/c-strtold (Makefile.am): Likewise.
59728         * modules/calloc (Makefile.am): Likewise.
59729         * modules/canon-host (Makefile.am): Likewise.
59730         * modules/canonicalize (Makefile.am): Likewise.
59731         * modules/chdir-long (Makefile.am): Likewise.
59732         * modules/chdir-safer (Makefile.am): Likewise.
59733         * modules/check-version (Makefile.am): Likewise.
59734         * modules/chown (Makefile.am): Likewise.
59735         * modules/cloexec (Makefile.am): Likewise.
59736         * modules/close-stream (Makefile.am): Likewise.
59737         * modules/closeout (Makefile.am): Likewise.
59738         * modules/crc (Makefile.am): Likewise.
59739         * modules/cycle-check (Makefile.am): Likewise.
59740         * modules/des (Makefile.am): Likewise.
59741         * modules/dirfd (Makefile.am): Likewise.
59742         * modules/dirname (Makefile.am): Likewise.
59743         * modules/dup2 (Makefile.am): Likewise.
59744         * modules/euidaccess (Makefile.am): Likewise.
59745         * modules/exclude (Makefile.am): Likewise.
59746         * modules/exitfail (Makefile.am): Likewise.
59747         * modules/fcntl-safer (Makefile.am): Likewise.
59748         * modules/file-type (Makefile.am): Likewise.
59749         * modules/fileblocks (Makefile.am): Likewise.
59750         * modules/filemode (Makefile.am): Likewise.
59751         * modules/filenamecat (Makefile.am): Likewise.
59752         * modules/fnmatch (Makefile.am): Likewise.
59753         * modules/fopen-safer (Makefile.am): Likewise.
59754         * modules/fpending (Makefile.am): Likewise.
59755         * modules/fprintftime (Makefile.am): Likewise.
59756         * modules/free (Makefile.am): Likewise.
59757         * modules/fsusage (Makefile.am): Likewise.
59758         * modules/ftruncate (Makefile.am): Likewise.
59759         * modules/fts (Makefile.am): Likewise.
59760         * modules/gc (Makefile.am): Likewise.
59761         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
59762         * modules/getaddrinfo (Makefile.am): Likewise.
59763         * modules/getcwd (Makefile.am): Likewise.
59764         * modules/getdelim (Makefile.am): Likewise.
59765         * modules/getdomainname (Makefile.am): Likewise.
59766         * modules/getgroups (Makefile.am): Likewise.
59767         * modules/gethostname (Makefile.am): Likewise.
59768         * modules/gethrxtime (Makefile.am): Likewise.
59769         * modules/getline (Makefile.am): Likewise.
59770         * modules/getloadavg (Makefile.am): Likewise.
59771         * modules/getlogin_r (Makefile.am): Likewise.
59772         * modules/getopt (Makefile.am): Likewise.
59773         * modules/getpass (Makefile.am): Likewise.
59774         * modules/getpass-gnu (Makefile.am): Likewise.
59775         * modules/getsubopt (Makefile.am): Likewise.
59776         * modules/gettime (Makefile.am): Likewise.
59777         * modules/gettimeofday (Makefile.am): Likewise.
59778         * modules/getugroups (Makefile.am): Likewise.
59779         * modules/getusershell (Makefile.am): Likewise.
59780         * modules/glob (Makefile.am): Likewise.
59781         * modules/group-member (Makefile.am): Likewise.
59782         * modules/hard-locale (Makefile.am): Likewise.
59783         * modules/hash (Makefile.am): Likewise.
59784         * modules/hmac-md5 (Makefile.am): Likewise.
59785         * modules/hmac-sha1 (Makefile.am): Likewise.
59786         * modules/human (Makefile.am): Likewise.
59787         * modules/idcache (Makefile.am): Likewise.
59788         * modules/imaxabs (Makefile.am): Likewise.
59789         * modules/imaxdiv (Makefile.am): Likewise.
59790         * modules/inet_ntop (Makefile.am): Likewise.
59791         * modules/inet_pton (Makefile.am): Likewise.
59792         * modules/inttostr (Makefile.am): Likewise.
59793         * modules/isapipe (Makefile.am): Likewise.
59794         * modules/lchown (Makefile.am): Likewise.
59795         * modules/long-options (Makefile.am): Likewise.
59796         * modules/lstat (Makefile.am): Likewise.
59797         * modules/malloc (Makefile.am): Likewise.
59798         * modules/mathl (Makefile.am): Likewise.
59799         * modules/mbchar (Makefile.am): Likewise.
59800         * modules/md2 (Makefile.am): Likewise.
59801         * modules/md4 (Makefile.am): Likewise.
59802         * modules/md5 (Makefile.am): Likewise.
59803         * modules/memcasecmp (Makefile.am): Likewise.
59804         * modules/memchr (Makefile.am): Likewise.
59805         * modules/memcmp (Makefile.am): Likewise.
59806         * modules/memcoll (Makefile.am): Likewise.
59807         * modules/memcpy (Makefile.am): Likewise.
59808         * modules/memmem (Makefile.am): Likewise.
59809         * modules/memmove (Makefile.am): Likewise.
59810         * modules/mempcpy (Makefile.am): Likewise.
59811         * modules/memrchr (Makefile.am): Likewise.
59812         * modules/memset (Makefile.am): Likewise.
59813         * modules/memxor (Makefile.am): Likewise.
59814         * modules/mkancesdirs (Makefile.am): Likewise.
59815         * modules/mkdir (Makefile.am): Likewise.
59816         * modules/mkdir-p (Makefile.am): Likewise.
59817         * modules/mkdtemp (Makefile.am): Likewise.
59818         * modules/mkstemp (Makefile.am): Likewise.
59819         * modules/mktime (Makefile.am): Likewise.
59820         * modules/modechange (Makefile.am): Likewise.
59821         * modules/mountlist (Makefile.am): Likewise.
59822         * modules/nanosleep (Makefile.am): Likewise.
59823         * modules/openat (Makefile.am): Likewise.
59824         * modules/pagealign_alloc (Makefile.am): Likewise.
59825         * modules/physmem (Makefile.am): Likewise.
59826         * modules/poll (Makefile.am): Likewise.
59827         * modules/posixtm (Makefile.am): Likewise.
59828         * modules/posixver (Makefile.am): Likewise.
59829         * modules/putenv (Makefile.am): Likewise.
59830         * modules/quote (Makefile.am): Likewise.
59831         * modules/quotearg (Makefile.am): Likewise.
59832         * modules/raise (Makefile.am): Likewise.
59833         * modules/read-file (Makefile.am): Likewise.
59834         * modules/readline (Makefile.am): Likewise.
59835         * modules/readlink (Makefile.am): Likewise.
59836         * modules/readtokens (Makefile.am): Likewise.
59837         * modules/readutmp (Makefile.am): Likewise.
59838         * modules/realloc (Makefile.am): Likewise.
59839         * modules/regex (Makefile.am): Likewise.
59840         * modules/rename (Makefile.am): Likewise.
59841         * modules/rename-dest-slash (Makefile.am): Likewise.
59842         * modules/rijndael (Makefile.am): Likewise.
59843         * modules/rmdir (Makefile.am): Likewise.
59844         * modules/rpmatch (Makefile.am): Likewise.
59845         * modules/safe-read (Makefile.am): Likewise.
59846         * modules/safe-write (Makefile.am): Likewise.
59847         * modules/same (Makefile.am): Likewise.
59848         * modules/save-cwd (Makefile.am): Likewise.
59849         * modules/savedir (Makefile.am): Likewise.
59850         * modules/setenv (Makefile.am): Likewise.
59851         * modules/settime (Makefile.am): Likewise.
59852         * modules/sha1 (Makefile.am): Likewise.
59853         * modules/sig2str (Makefile.am): Likewise.
59854         * modules/snprintf (Makefile.am): Likewise.
59855         * modules/stdlib-safer (Makefile.am): Likewise.
59856         * modules/stpcpy (Makefile.am): Likewise.
59857         * modules/stpncpy (Makefile.am): Likewise.
59858         * modules/strcase (Makefile.am): Likewise.
59859         * modules/strcasestr (Makefile.am): Likewise.
59860         * modules/strchrnul (Makefile.am): Likewise.
59861         * modules/strcspn (Makefile.am): Likewise.
59862         * modules/strdup (Makefile.am): Likewise.
59863         * modules/strerror (Makefile.am): Likewise.
59864         * modules/strftime (Makefile.am): Likewise.
59865         * modules/strndup (Makefile.am): Likewise.
59866         * modules/strnlen (Makefile.am): Likewise.
59867         * modules/strpbrk (Makefile.am): Likewise.
59868         * modules/strsep (Makefile.am): Likewise.
59869         * modules/strstr (Makefile.am): Likewise.
59870         * modules/strtod (Makefile.am): Likewise.
59871         * modules/strtoimax (Makefile.am): Likewise.
59872         * modules/strtok_r (Makefile.am): Likewise.
59873         * modules/strtol (Makefile.am): Likewise.
59874         * modules/strtoll (Makefile.am): Likewise.
59875         * modules/strtoul (Makefile.am): Likewise.
59876         * modules/strtoull (Makefile.am): Likewise.
59877         * modules/strtoumax (Makefile.am): Likewise.
59878         * modules/strverscmp (Makefile.am): Likewise.
59879         * modules/time_r (Makefile.am): Likewise.
59880         * modules/timegm (Makefile.am): Likewise.
59881         * modules/tmpfile-safer (Makefile.am): Likewise.
59882         * modules/unistd-safer (Makefile.am): Likewise.
59883         * modules/unlinkdir (Makefile.am): Likewise.
59884         * modules/userspec (Makefile.am): Likewise.
59885         * modules/utime (Makefile.am): Likewise.
59886         * modules/utimecmp (Makefile.am): Likewise.
59887         * modules/utimens (Makefile.am): Likewise.
59888         * modules/vasnprintf (Makefile.am): Likewise.
59889         * modules/vasprintf (Makefile.am): Likewise.
59890         * modules/vsnprintf (Makefile.am): Likewise.
59891         * modules/xalloc (Makefile.am): Likewise.
59892         * modules/xgetcwd (Makefile.am): Likewise.
59893         * modules/xnanosleep (Makefile.am): Likewise.
59894         * modules/xreadlink (Makefile.am): Likewise.
59895         * modules/xstrtod (Makefile.am): Likewise.
59896         * modules/xstrtol (Makefile.am): Likewise.
59897         * modules/xstrtold (Makefile.am): Likewise.
59898         * modules/yesno (Makefile.am): Likewise.
59899
59900 2006-10-12  Jim Meyering  <jim@meyering.net>
59901
59902         * m4/getloadavg.m4: Revert the change below.
59903
59904         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
59905         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
59906         fail with a symlink, which is what coreutils' ./bootstrap now
59907         creates by default.
59908
59909 2006-10-12  Bruno Haible  <bruno@clisp.org>
59910
59911         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
59912         mingw.
59913         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
59914         MSVC and mingw explicitly.
59915
59916 2006-10-11  Simon Josefsson  <jas@extundo.com>
59917             Bruno Haible  <bruno@clisp.org>
59918
59919         Add support for multiple gnulib-tool invocations in the scope of a
59920         single configure.ac file.
59921         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
59922         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
59923         with the same contents as the _LIBADD variable.
59924         (func_emit_initmacro_start, func_emit_initmacro_end,
59925         func_emit_initmacro_done): New functions.
59926         (func_import, func_create_testdir): Invoke them. Allow the identifiers
59927         gl_LIBOBJS and gl_LTLIBOBJS.
59928
59929 2006-10-11  Bruno Haible  <bruno@clisp.org>
59930
59931         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
59932         (func_create_testdir): Don't create po/Makefile.am, don't invoke
59933         autoreconf. Instead, invoke autopoint explicitly but move back the
59934         *.m4 files from gnulib.
59935
59936 2006-10-11  Bruno Haible  <bruno@clisp.org>
59937
59938         * gnulib-tool (func_usage): Make module names after --create-testdir
59939         optional.
59940         (func_create_testdir): If no module was specified, use nearly all
59941         modules.
59942
59943 2006-10-12  Jim Meyering  <jim@meyering.net>
59944
59945         Big performance improvement for fts-based tools that use FTS_NOSTAT.
59946         Avoid spurious inode-mismatch problems on non-POSIX file systems.
59947         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
59948         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
59949         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
59950         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
59951         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
59952         (fts_set_stat_required): New function.
59953         (fts_open): Defer the calls to fts_stat, if possible or requested.
59954         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
59955         into fts_stat itself.
59956         (fts_read): Perform any required (deferred) fts_stat call.
59957         (fts_build): Likewise, for the directory we're about to open and read.
59958         In the readdir loop, carefully decide whether each entry will require
59959         an eventual call to fts_stat, using dirent.d_type info if available.
59960         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
59961         a command line argument into this function.  Update all callers.
59962         Map a return value of FTS_DOT to FTS_D for a command line argument.
59963         * modules/fts (Depends-on): Add d-type.  Alphabetize.
59964         Thanks to Miklos Szeredi for his tenacity and for the initial
59965         bug report about "find" failing on a FUSE-based file system.
59966
59967         * lib/fts.c (fts_open): Use consistent indentation.
59968
59969 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
59970
59971         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
59972         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
59973         reported by Jim Meyering.  All uses of cache variables renamed
59974         to match Autoconf's.
59975         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
59976         the other one.
59977
59978         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
59979         Fix misspelling in diagnostic.
59980
59981 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
59982
59983         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
59984         defined.  Problem reported by Matthew Woehlke.
59985
59986         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
59987         Add support for Tandem NonStop R series.
59988         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
59989         Use new macro.
59990
59991         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
59992         (has_trailing_slash): Omit size arg; all callers changed.
59993         Omit 'inline', since it doesn't help performance and we'd
59994         need to configure it.
59995         Don't count //, ///, etc. as having a trailing slash.
59996         As a side effect, this removes a C99ism reported by Matthew Woehlke.
59997         (rpl_rename_dest_slash): On failure, use rename's errno rather
59998         than (in some cases) an incorrect or junk errno.
59999         Simplify code by removing need to compute length; this does
60000         cause it to make two passes instead of one over the file name,
60001         but it's worth it.
60002
60003         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
60004         change, since Autoconf's version may no longer be appropriate now
60005         that we are using CVS Autoconf's version.  Add support for Tandem.
60006
60007 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
60008             Bruno Haible  <bruno@clisp.org>
60009
60010         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
60011         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
60012         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
60013         gl_AC_TYPE_LONG_LONG.
60014
60015         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
60016         instead of HAVE_LONG_LONG.
60017         * lib/printf-args.c (printf_fetchargs): Likewise.
60018         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
60019         * lib/vasnprintf.c (VASNPRINTF): Likewise.
60020         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
60021         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
60022         gl_AC_TYPE_LONG_LONG.
60023
60024 2006-10-11  Bruno Haible  <bruno@clisp.org>
60025
60026         * m4/longlong.m4: Add comments.
60027         * m4/ulonglong.m4: Likewise.
60028
60029 2006-10-10  Bruno Haible  <bruno@clisp.org>
60030
60031         Make it possible to #define stpcpy, strdup to aliases.
60032         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
60033         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
60034
60035 2006-10-10  Bruno Haible  <bruno@clisp.org>
60036
60037         Make it possible to #define gcd to an alias.
60038         * lib/gcd.c: Include config.h.
60039
60040 2006-10-10  Bruno Haible  <bruno@clisp.org>
60041
60042         Make it possible to #define c_isascii to an alias.
60043         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
60044         defined. Undefine the macros before defining them, to avoid gcc
60045         warnings.
60046         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
60047         define NO_C_CTYPE_MACROS early.
60048
60049 2006-10-10  Bruno Haible  <bruno@clisp.org>
60050
60051         Make it possible to #define set_program_name to an alias.
60052         * lib/progname.c: Don't undefine set_program_name; instead, undefine
60053         ENABLE_RELOCATABLE early.
60054
60055 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
60056
60057         Port to Tandem NSK OSS, which has 64-bit signed int but at most
60058         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
60059         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
60060         More generally, don't assume that 64-bit signed int is available
60061         if unsigned int is, and vice versa.
60062         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
60063         unsigned symbols, not on their signed counterparts.
60064         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
60065         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
60066         (UINT64_C, UINTMAX_C):
60067         Likewise.
60068         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
60069         unsigned counterparts.
60070         (Have_long_long, Unsigned): New macros.
60071         (Int): Renamed from INT.
60072         (strtoimax): Use the new macros.
60073         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
60074         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
60075         * modules/inttypes (inttypes.h): Substitute
60076         HAVE_UNSIGNED_LONG_LONG_INT.
60077         * modules/stdint (stdint.h): Likewise.
60078         (Files): Add m4/ulonglong.m4.
60079
60080 2006-10-10  Bruno Haible  <bruno@clisp.org>
60081
60082         Fix a gcc -Wshadow warning.
60083         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
60084         to 'bucket'.
60085         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
60086         gl_linked_indexof_from_to): Likewise.
60087         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
60088         Likewise.
60089         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
60090         Likewise.
60091         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
60092         Reported by Eric Blake.
60093
60094 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
60095
60096         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
60097         for NetBSD.  Problem reported by Bruno Haible.
60098
60099 2006-10-09  Jim Meyering  <jim@meyering.net>
60100
60101         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
60102         Patch from Bruno Haible.
60103
60104 2006-10-09  Jim Meyering  <jim@meyering.net>
60105
60106         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
60107         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
60108         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
60109
60110 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
60111
60112         Don't include <config.h> twice; this doesn't work in some cases,
60113         e.g., when config.h has "#define intmax_t long long int" and
60114         we include <config.h>, <inttypes.h>, <config.h> in that order.
60115         Problem reported by Matthew Woehlke in:
60116         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
60117         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
60118         * lib/fts-cycle.c: Don't include config.h.
60119         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
60120         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
60121         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
60122         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
60123         inttypes.h.
60124         * lib/xstrtoumax.c: Likewise.
60125         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
60126         __strtol and the like, so that this module is more like its siblings.
60127         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
60128         Remove; no longer needed now that we assume gnulib inttypes.h.
60129
60130 2006-10-08  Bruno Haible  <bruno@clisp.org>
60131
60132         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
60133         option.
60134
60135 2006-10-07  Jim Meyering  <jim@meyering.net>
60136
60137         * modules/inttypes (inttypes.h): Revert what seems to have been
60138         an inadvertent part of today's change: use "|", not "/" in the
60139         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
60140
60141 2006-10-07  Bruno Haible  <bruno@clisp.org>
60142
60143         * modules/sublist: New file.
60144
60145 2006-10-07  Bruno Haible  <bruno@clisp.org>
60146
60147         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
60148         * modules/argz (argz.h): Likewise.
60149         * modules/arpa_inet (arpa/inet.h): Likewise.
60150         * modules/byteswap (byteswap.h): Likewise.
60151         * modules/configmake (configmake.h): Likewise.
60152         * modules/fcntl (fcntl.h): Likewise.
60153         * modules/fnmatch (fnmatch.h): Likewise.
60154         * modules/getopt (getopt.h): Likewise.
60155         * modules/glob (glob.h): Likewise.
60156         * modules/inttypes (inttypes.h): Likewise.
60157         * modules/netinet_in (netinet/in.h): Likewise.
60158         * modules/poll (poll.h): Likewise.
60159         * modules/stdbool (stdbool.h): Likewise.
60160         * modules/stdint (stdint.h): Likewise.
60161         * modules/sys_select (sys/select.h): Likewise.
60162         * modules/sys_socket (sys/socket.h): Likewise.
60163         * modules/sys_stat (sys/stat.h): Likewise.
60164         * modules/sysexits (sysexits.h): Likewise.
60165         * modules/unistd (unistd.h): Likewise.
60166         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
60167         Add a "DO NOT EDIT" comment to the generated file.
60168         (func_import): Likewise for gnulib-comp.m4.
60169
60170 2006-10-07  Bruno Haible  <bruno@clisp.org>
60171
60172         * lib/gl_sublist.h: New file.
60173         * lib/gl_sublist.c: New file.
60174
60175 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
60176
60177         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
60178         name (relative to the original working directory) and the file
60179         name component (relative to the temporary working directory).  All
60180         callers changed.
60181         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
60182         * lib/mkdir-p.c (make_dir_parents): Likewise.
60183         * lib/mkdir-p.h (make_dir_parents): Likewise.
60184
60185 2006-10-06  Eric Blake  <ebb9@byu.net>
60186
60187         Define several macros for use by the clean-temp module.
60188         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
60189         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
60190         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
60191
60192         * lib/clean-temp.h (close_stream_temp): New declaration.
60193         * lib/clean-temp.c (includes): Pull in headers according to what
60194         other modules are in use.
60195         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
60196
60197 2006-10-06  Bruno Haible  <bruno@clisp.org>
60198
60199         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
60200         instead of fopen, fwriteerror.
60201
60202 2006-10-06  Bruno Haible  <bruno@clisp.org>
60203
60204         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
60205         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
60206         int.
60207         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
60208         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
60209         Return an error indicator.
60210         Suggested by Eric Blake.
60211
60212 2006-10-06  Bruno Haible  <bruno@clisp.org>
60213
60214         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
60215         Reported by Eric Blake.
60216
60217 2006-10-06  Bruno Haible  <bruno@clisp.org>
60218
60219         * modules/closeout (Description): Mention stderr too.
60220
60221 2006-10-06  Bruno Haible  <bruno@clisp.org>
60222         and Paul Eggert  <eggert@cs.ucla.edu>
60223
60224         * lib/closeout.c (close_stdout): Also close stderr.
60225         * lib/closeout.h: Update comment.
60226
60227 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
60228
60229         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
60230         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
60231         * lib/dirchownmod.c: Include lchown.h.
60232         * lib/lchown.c: Don't include files that lchown.h now includes.
60233         Don't declare chown, since lchown.h now does that.
60234         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
60235         (lchown): Define to rpl_chown if lchown is declared but
60236         does not exist.  Declare using a prototype if lchown is not
60237         declared.  Add a copyright notice.
60238         * lib/mkstemp.h: Include <unistd.h>.
60239         * lib/openat.c: Include lchown.h.
60240
60241         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
60242         we now test for that separately.
60243         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
60244         rather than O_NOFOLLOW, when testing whether it's possible to
60245         avoid a race condition reliably.
60246         * lib/savewd.c (savewd_chdir): Likewise.
60247
60248         Remove macros that are no longer needed now that stdint.h is
60249         reliable.
60250         * lib/fsusage.c (UINTMAX_MAX): Remove.
60251         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
60252         * lib/utimecmp.c (SIZE_MAX): Remove.
60253
60254         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
60255
60256         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
60257         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
60258         O_NOATIME works.
60259
60260 2006-10-05  Bruno Haible  <bruno@clisp.org>
60261
60262         * lib/gl_list.h (gl_sortedlist_search_from_to,
60263         gl_sortedlist_indexof_from_to): New declarations.
60264         (gl_list_implementation): New fields sortedlist_search_from_to,
60265         sortedlist_indexof_from_to.
60266         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
60267         inline functions.
60268         * lib/gl_list.c (gl_sortedlist_search_from_to,
60269         gl_sortedlist_indexof_from_to): New functions.
60270         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
60271         function.
60272         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
60273         (gl_array_sortedlist_search_from_to): New function.
60274         (gl_array_list_implementation): Update.
60275         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
60276         function.
60277         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
60278         (gl_carray_sortedlist_search_from_to): New function.
60279         (gl_carray_list_implementation): Update.
60280         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
60281         gl_linked_sortedlist_indexof_from_to): New functions.
60282         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
60283         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
60284         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
60285         gl_tree_sortedlist_indexof_from_to): New functions.
60286         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
60287         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
60288         Update.
60289         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
60290         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
60291         Update.
60292
60293 2006-10-05  Bruno Haible  <bruno@clisp.org>
60294
60295         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
60296         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
60297         (struct gl_list_implementation): Add fields search_from_to,
60298         indexof_from_to. Remove fields search, indexof.
60299         (gl_list_search): Use the search_from_to method.
60300         (gl_list_search_from, gl_list_search_from_to): New functions.
60301         (gl_list_indexof): Use the indexof_from_to method.
60302         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
60303         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
60304         (gl_list_search_from, gl_list_search_from_to): New functions.
60305         (gl_list_indexof): Use the indexof_from_to method.
60306         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
60307         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
60308         gl_array_indexof. Add start_index, end_index arguments.
60309         (gl_array_search_from_to): Renamed from gl_array_search. Add
60310         start_index, end_index arguments.
60311         (gl_array_remove, gl_array_list_implementation): Update.
60312         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
60313         gl_carray_indexof. Add start_index, end_index arguments.
60314         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
60315         start_index, end_index arguments.
60316         (gl_carray_remove, gl_carray_list_implementation): Update.
60317         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
60318         gl_linked_search. Add start_index, end_index arguments.
60319         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
60320         start_index, end_index arguments.
60321         (gl_linked_remove): Update.
60322         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
60323         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
60324         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
60325         field to 'size_t'.
60326         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
60327         gl_tree_search. Add start_index, end_index arguments.
60328         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
60329         start_index, end_index arguments.
60330         (gl_tree_remove): Update.
60331         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
60332         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
60333         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
60334         function.
60335         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
60336         gl_tree_search. Add start_index, end_index arguments.
60337         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
60338         start_index, end_index arguments.
60339         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
60340         Update.
60341         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
60342
60343 2006-10-05  Bruno Haible  <bruno@clisp.org>
60344
60345         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
60346
60347         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
60348         fwriteerror_temp): New declarations.
60349         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
60350         (descriptors): New variable.
60351         (cleanup): First, close the descriptors.
60352         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
60353         fclose_temp, fwriteerror_temp): New functions.
60354
60355 2006-10-04  Jim Meyering  <jim@meyering.net>
60356
60357         * lib/fts.c (fts_open): Tiny comment change.
60358
60359 2006-10-04  Bruno Haible  <bruno@clisp.org>
60360
60361         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
60362         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
60363         gl_LOCK_BODY.
60364         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
60365         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
60366         gl_LOCK_EARLY_BODY.
60367         (gl_LOCK): Require gl_LOCK_BODY.
60368
60369 2006-10-04  Bruno Haible  <bruno@clisp.org>
60370
60371         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
60372         (gl_oset_search_atleast): New declaration.
60373         (struct gl_oset_implementation): Add field 'search_atleast'.
60374         (gl_oset_search_atleast): New inline function.
60375         * lib/gl_oset.c (gl_oset_search_atleast): New function.
60376         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
60377         (gl_array_oset_implementation): Update.
60378         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
60379         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
60380         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
60381
60382 2006-10-04  Bruno Haible  <bruno@clisp.org>
60383
60384         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
60385
60386 2006-10-03  Bruno Haible  <bruno@clisp.org>
60387
60388         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
60389         from gl_avltreehash_list_implementation.
60390
60391 2006-10-03  Bruno Haible  <bruno@clisp.org>
60392
60393         * lib/gl_oset.c (gl_oset_add): Fix return type.
60394
60395 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
60396
60397         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
60398
60399 2006-10-02  Eric Blake  <ebb9@byu.net>
60400
60401         * modules/strnlen (Depends-on): Add extensions.
60402
60403 2006-10-02  Eric Blake  <ebb9@byu.net>
60404
60405         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
60406         definition in 2.60+.
60407
60408 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
60409
60410         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
60411         checks.
60412
60413 2006-10-02  Bruno Haible  <bruno@clisp.org>
60414
60415         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
60416         to the AUTOMAKE_OPTIONS.
60417         Reported by Jim Meyering.
60418
60419 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
60420
60421         Work around bug in Solaris 10 /proc file system:
60422         /proc/self/fd/NNN/.. isn't the parent directory of
60423         the directory whose file descriptor is NNN.  This needs to
60424         be worked around at run time, not compile time, since a
60425         program might be built on Solaris 8, where things work, and
60426         run on Solaris 10.
60427         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
60428         to use the following interface instead:
60429         (OPENAT_BUFFER_SIZE): New macro.
60430         (openat_proc_name): New function.
60431         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
60432         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
60433         Likewise.
60434         * lib/openat-proc.c: New file.
60435         * modules/openat (Files): Add lib/openat-proc.c.
60436         (Depends-on): Add same-inode, stdbool.
60437         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
60438
60439 2006-09-29  Bruno Haible  <bruno@clisp.org>
60440
60441         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
60442         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
60443         argument. Set stdout_closed before testing for ferror, not after.
60444         (fwriteerror, fwriteerror_no_ebadf): New functions.
60445
60446 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60447
60448         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
60449
60450 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
60451
60452         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
60453         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
60454
60455 2006-09-28  Jim Meyering  <jim@meyering.net>
60456
60457         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
60458         Include <unistd.h>.
60459
60460 2006-09-28  Bruno Haible  <bruno@clisp.org>
60461
60462         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
60463         * modules/linkedhash-list (Depends-on): Likewise.
60464         * modules/rbtreehash-list (Depends-on): Likewise.
60465
60466 2006-09-28  Bruno Haible  <bruno@clisp.org>
60467
60468         * lib/strndup.h: Simplify the redefinition of strndup.
60469         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
60470         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
60471
60472 2006-09-28  Bruno Haible  <bruno@clisp.org>
60473
60474         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
60475         * lib/gl_linkedhash_list.c: Likewise.
60476         * lib/gl_rbtreehash_list.c: Likewise.
60477
60478 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
60479
60480         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
60481         getaddrinfo.
60482
60483         * lib/__fpending.h: Don't include <stdio_ext.h> unless
60484         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
60485         it causes <stdio_ext.h> to cause a compile-time error.
60486         Problem reported by Nelson H. F. Beebe.
60487         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
60488         of HAVE_DECL___PENDING.
60489
60490         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
60491         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
60492         declaration.
60493
60494 2006-09-27  Jim Meyering  <jim@meyering.net>
60495
60496         This file could end up with a definition for a function
60497         named __strndup, rather than rpl_strndup on a system with
60498         incomplete weak_alias support.
60499         * lib/strndup.c (strndup): Rename from __strndup.
60500         Remove #defines that used to map __strndup to strndup.
60501         Don't use K&R prototypes.
60502         Remove LIBC-related code, since this file is not sync'd with glibc.
60503         * lib/strndup.h: Revamp, accordingly.
60504         * m4/strndup.m4: Modernize.
60505
60506 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
60507
60508         * modules/savewd (Depends-on): Add 'raise'.
60509         * lib/savewd.c: Include <signal.h>, for 'raise'.
60510
60511 2006-09-26  Jim Meyering  <jim@meyering.net>
60512
60513         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
60514         when we detect Darwin 8.7.0's acl_get_file bug.
60515         Rearrange to perform the new (below) run-test while $LIBS
60516         contains any acl-related library.  Set USE_ACL at the end.
60517         (gl_ACL_GET_FILE): New function.
60518
60519 2006-09-26  Eric Blake  <ebb9@byu.net>
60520
60521         * lib/verror.c: Include <config.h> unconditionally.
60522
60523 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
60524
60525         * modules/clock-time (Maintainer): Add self.
60526         * modules/getlogin_r (Depends-on): Add extensions.
60527
60528 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60529
60530         * modules/clock-time: New module.
60531         * modules/nanosleep (Depends-on): Add clock-time.
60532         * modules/gethrxtime (Depends-on): Likewise.
60533         * modules/gettime (Depends-on): Likewise.
60534         * modules/settime (Depends-on): Likewise.
60535
60536         * modules/fts-lgpl: Depend on openat.
60537         * modules/mkancesdirs: Depend on savewd.
60538         * modules/mkdir-p: Likewise.
60539
60540 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60541
60542         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
60543
60544         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
60545         `gl_have_arbitrary_file_name_length_limit' to
60546         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
60547         actually works between configure runs.
60548
60549 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60550             Bruno Haible  <bruno@clisp.org>
60551
60552         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
60553
60554 2006-09-25  Jim Meyering  <jim@meyering.net>
60555
60556         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
60557         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
60558
60559 2006-09-25  Eric Blake  <ebb9@byu.net>
60560
60561         * gnulib-tool (func_import, func_create_testdir): Fix typos in
60562         exec's in 2006-09-18 patch when shuffling fds.
60563
60564 2006-09-25  Bruno Haible  <bruno@clisp.org>
60565
60566         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
60567         Reported by Jim Meyering.
60568
60569 2006-09-24  Jim Meyering  <jim@meyering.net>
60570
60571         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
60572         compare a pointer against a literal "0".  That caused failures with
60573         at least HP-UX's hpcc.
60574
60575 2006-09-22  Simon Josefsson  <jas@extundo.com>
60576
60577         * modules/gc-sha1:
60578         * modules/gc-md4:
60579         * modules/gc-hmac-sha1:
60580         * modules/gc-hmac-md5:
60581         * modules/gc-des:
60582         * modules/gc-arcfour: Distribute more files.
60583
60584 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60585
60586         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
60587         (gl_linked_iterator_from_to): Initialize struct completely.
60588         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
60589         (gl_tree_iterator_from_to): Likewise
60590         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
60591         * lib/gl_array_list.c [lint] (gl_array_iterator)
60592         (gl_array_iterator_from_to): Likewise.
60593         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
60594         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
60595         (gl_carray_iterator_from_to): Likewise.
60596
60597         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
60598         * lib/md4.c (md4_process_block): Remove unused variable.
60599         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
60600         parentheses for clarity.
60601
60602 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60603
60604         * modules/bison-i18n (Depends-on): Add gettext.
60605
60606 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60607
60608         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
60609         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
60610         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
60611         also add missing comma that caused broken test.
60612         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
60613         stdlib.h, for `abort'.
60614         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
60615         variables.
60616         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
60617         include unistd.h if present, for `rmdir'.
60618         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
60619         variables.
60620         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
60621         in the process include standard headers for prototypes.
60622         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
60623         gets declared on GNU/Linux.
60624         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
60625         unistd.h, for `rmdir'.
60626         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
60627
60628         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
60629         always true.
60630         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
60631
60632         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
60633
60634 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60635
60636         * gnulib-tool (func_version): Create output all at once.  This
60637         may help avoid triggering unnecessary SIGPIPEs, and at any
60638         rate it doesn't hurt.
60639
60640 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60641             Bruno Haible  <bruno@clisp.org>
60642
60643         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
60644         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
60645         * m4/signed.m4 (bh_C_SIGNED): Likewise.
60646
60647         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
60648         (gl_FUNC_VASPRINTF): Invoke it.
60649
60650 2006-09-22  Bruno Haible  <bruno@clisp.org>
60651
60652         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
60653         getloadavg.c as first argument.
60654
60655 2006-09-22  Bruno Haible  <bruno@clisp.org>
60656
60657         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
60658         at the beginning of the gl_INIT macro.
60659         * modules/getloadavg (configure.ac): Pass $gl_source_base to
60660         gl_GETLOADAVG.
60661
60662 2006-09-22  Bruno Haible  <bruno@clisp.org>
60663
60664         * gnulib-tool (func_create_megatestdir): Don't include the config-h
60665         module.
60666         Suggested by Ralf Wildenhues.
60667
60668 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
60669
60670         Import this patch from libc:
60671
60672         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
60673
60674         * lib/regex_internal.c (re_string_reconstruct): Handle
60675         offset < pstr->valid_raw_len && pstr->offsets_needed case.
60676         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
60677         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
60678         re_string_context_at.
60679
60680         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
60681         now requires it.
60682         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
60683         gl_REGEX now does it for us.
60684         (gl_REGEX): Add test taken from
60685         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
60686
60687         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
60688         Check that large offsets work.  Modernize Autoconf usages.
60689         Prefer "yes" to mean a good thing rather than a bad.
60690         Don't put "#define mkstemp" in config.h, as this might interfere
60691         with standard system headers that "#define mkstemp mkstemp64".
60692
60693         * modules/mkstemp (Depends-on): Add extensions, so that
60694         mkstemp is visible on some platforms.
60695         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
60696         (Include): Change to "mkstemp.h" from <stdlib.h>.
60697         (Files): Add mkstemp.h.
60698
60699         * lib/mkstemp.h: New file, since some standard headers
60700         #define mkstemp.
60701         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
60702         Include "mkstemp.h".
60703         Make the _LIBC code resemble glibc original more,
60704         e.g., use K&R style.
60705         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
60706         (mkstemp): Remove, since mkstemp.h does this for us.
60707         * lib/stdlib--.h: Include mkstemp.h.
60708
60709         Import this patch from libc:
60710
60711         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
60712
60713         * lib/tempname.c (__gen_tempname): Change attempts_min
60714         into a macro.  Use preprocessor to decide how to initialize
60715         attempts [Coverity CID 67].
60716
60717 2006-09-20  Bruno Haible  <bruno@clisp.org>
60718
60719         * lib/mkdtemp.c: Import from libc.
60720         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
60721                 * sysdeps/posix/tempname.c (__gen_tempname): Change
60722                 attempts_min into a macro.  Use preprocessor to decide how to
60723                 initialize attempts [Coverity CID 67].
60724         2001-11-27  Paul Eggert  <eggert@twinsun.com>
60725                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
60726                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
60727
60728 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60729
60730         * gnulib-tool (func_exit): New function, to allow to pass the
60731         exit status portably through the trap.  Use everywhere.
60732         (--help, --version): Signal a write error.
60733         (trap): catch SIGPIPE, for write errors.
60734         Exit at the end of the trap, with the correct exit status.
60735
60736 2006-09-19  Karl Berry  <karl@gnu.org>
60737
60738         * doc/gnulib.texi: note about the license texinfo files.
60739
60740 2006-09-19  Eric Blake  <ebb9@byu.net>
60741
60742         * gnulib-tool: Avoid space-tab.
60743
60744 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
60745
60746         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
60747         that prevented coreutils 6.1 from building.  Problem reported
60748         by Petter Reinholdtsen.
60749
60750 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
60751
60752         * gnulib-tool (avoidlist): Fix typo that broke options like
60753         --avoid=lock that are used by coreutils bootstrap.
60754
60755 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
60756
60757         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
60758         more systematically.
60759
60760 2006-09-18  Jim Meyering  <jim@meyering.net>
60761
60762         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
60763
60764 2006-09-18  Bruno Haible  <bruno@clisp.org>
60765
60766         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
60767
60768 2006-09-18  Bruno Haible  <bruno@clisp.org>
60769
60770         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
60771         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
60772         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
60773         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
60774         * m4/gettext.m4: Require autoconf >= 2.52.
60775         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
60776         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
60777         of gl_cv_header_inttypes_h.
60778
60779 2006-09-18  Bruno Haible  <bruno@clisp.org>
60780
60781         * lib/javaversion.c: Include configmake.h.
60782
60783 2006-09-18  Bruno Haible  <bruno@clisp.org>
60784
60785         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
60786         avoid that the while loops be executed in a subshell.
60787
60788 2006-09-18  Bruno Haible  <bruno@clisp.org>
60789
60790         * MODULES.html.sh (func_module): Break long lines.
60791         Suggested by Bruce Korb <bkorb@gnu.org>.
60792
60793 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60794
60795         Speed up by a factor of 1.12.
60796         * gnulib-tool (nl): New variable.
60797         (func_import): Rewrite include directive extraction to only read each
60798         directive once.
60799
60800 2006-09-17  Bruno Haible  <bruno@clisp.org>
60801
60802         * modules/javaversion (Makefile.am): Remove DEFS setting.
60803         (Depends-on): Add configmake, for PKGDATADIR definition.
60804
60805 2006-09-17  Bruno Haible  <bruno@clisp.org>
60806
60807         * gnulib-tool (func_create_testdir): Rewrite all files at once.
60808
60809 2006-09-17  Bruno Haible  <bruno@clisp.org>
60810
60811         * gnulib-tool (func_append): New function, stolen from libtool.m4.
60812         (func_modules_transitive_closure, func_modules_add_dummy,
60813         func_modules_to_filelist, func_import, func_create_testdir,
60814         func_create_megatestdir, ...): Use it wherever possible.
60815         Suggested by Ralf Wildenhues.
60816
60817 2006-09-16  Karl Berry  <karl@gnu.org>
60818
60819         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
60820         to avoid sectioning errors.
60821         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
60822         [ifinfo]: blank line after @center-ed titles.
60823         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
60824         Spell FSF address consistently with others.
60825         (These changes approved by rms.)
60826
60827 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60828
60829         Speed up by a factor of 1.61.
60830         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
60831         already checked module names again.
60832
60833 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60834
60835         Speed up by a factor of 1.13.
60836         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
60837         for new_files, and the input to func_add_or_update.
60838
60839 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60840
60841         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
60842         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
60843
60844 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
60845
60846         * modules/mkancesdirs (Depends-on): Add fcntl.
60847         * modules/savewd: New file.
60848         * MODULES.html.sh (File system functions): Add savewd.
60849
60850         * modules/configmake (Makefile.am): Add support for the
60851         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
60852
60853 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
60854
60855         * m4/savewd.m4: New file.
60856
60857 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
60858
60859         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
60860         (dirchownmod): New arg FD.  All callers changed.
60861         Use FD rather than opening the directory ourself, as opening is
60862         now the caller's responsibility.
60863         * lib/dirchownmod.h: Likewise.
60864         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
60865         hosts that require <sys/types.h> before <sys/stat.h>.  Include
60866         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
60867         (test_dir): Remove.
60868         (mkancesdirs): Return length of prefix of FILE that has already
60869         been made, or -2 if there is a child doing the work.  Redo
60870         algorithm so that it is O(N) rather than O(N**2).  Optimize away
60871         ".", and treat ".." specially since it might stray back into
60872         already-created areas.  Use a subprocess if necessary.  New arg
60873         WD; all users changed.  MAKE_DIR function should now return 1
60874         if it creates a directory that is not readable.  Return -2 if
60875         a child process is spun off.
60876         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
60877         Adjust signature to match code.
60878         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
60879         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
60880         all users changed.
60881         * lib/savewd.c, lib/savewd.h: New files.
60882
60883 2006-09-15  Jim Meyering  <jim@meyering.net>
60884
60885         * modules/rename-dest-slash: New module.
60886         * MODULES.html.sh (posix_compat): Add it here.
60887
60888         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
60889
60890 2006-09-15  Jim Meyering  <jim@meyering.net>
60891
60892         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
60893         file.
60894
60895         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
60896
60897 2006-09-15  Jim Meyering  <jim@meyering.net>
60898
60899         * lib/rename-dest-slash.c (has_trailing_slash): Use
60900         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
60901         (rpl_rename_dest_slash): Perform the cheaper trailing slash
60902         test before testing whether SRC is a directory.
60903         Suggestions from Bruno Haible.
60904
60905         Avoid a warning about an unused variable.
60906         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
60907         into the #ifdef block where it's used.
60908
60909         * lib/rename-dest-slash.c: New file.
60910
60911 2006-09-14  Bruno Haible  <bruno@clisp.org>
60912
60913         * lib/allocsa.c: Include <config.h> unconditionally.
60914         * lib/asnprintf.c: Likewise.
60915         * lib/asprintf.c: Likewise.
60916         * lib/c-strcasecmp.c: Likewise.
60917         * lib/c-strcasestr.c: Likewise.
60918         * lib/c-strncasecmp.c: Likewise.
60919         * lib/c-strstr.c: Likewise.
60920         * lib/classpath.c: Likewise.
60921         * lib/clean-temp.c: Likewise.
60922         * lib/concatpath.c: Likewise.
60923         * lib/copy-file.c: Likewise.
60924         * lib/csharpcomp.c: Likewise.
60925         * lib/csharpexec.c: Likewise.
60926         * lib/execute.c: Likewise.
60927         * lib/fatal-signal.c: Likewise.
60928         * lib/findprog.c: Likewise.
60929         * lib/fwriteerror.c: Likewise.
60930         * lib/gl_array_list.c: Likewise.
60931         * lib/gl_array_oset.c: Likewise.
60932         * lib/gl_avltree_list.c: Likewise.
60933         * lib/gl_avltree_oset.c: Likewise.
60934         * lib/gl_avltreehash_list.c: Likewise.
60935         * lib/gl_carray_list.c: Likewise.
60936         * lib/gl_linked_list.c: Likewise.
60937         * lib/gl_linkedhash_list.c: Likewise.
60938         * lib/gl_list.c: Likewise.
60939         * lib/gl_oset.c: Likewise.
60940         * lib/gl_rbtree_list.c: Likewise.
60941         * lib/gl_rbtree_oset.c: Likewise.
60942         * lib/gl_rbtreehash_list.c: Likewise.
60943         * lib/imaxabs.c: Likewise.
60944         * lib/imaxdiv.c: Likewise.
60945         * lib/javacomp.c: Likewise.
60946         * lib/javaexec.c: Likewise.
60947         * lib/javaversion.c: Likewise.
60948         * lib/linebreak.c: Likewise.
60949         * lib/localcharset.c: Likewise.
60950         * lib/lock.c: Likewise.
60951         * lib/mbchar.c: Likewise.
60952         * lib/mbswidth.c: Likewise.
60953         * lib/mkdtemp.c: Likewise.
60954         * lib/pipe.c: Likewise.
60955         * lib/printf-args.c: Likewise.
60956         * lib/printf-parse.c: Likewise.
60957         * lib/progname.c: Likewise.
60958         * lib/progreloc.c: Likewise.
60959         * lib/readlink.c: Likewise.
60960         * lib/sh-quote.c: Likewise.
60961         * lib/stpcpy.c: Likewise.
60962         * lib/stpncpy.c: Likewise.
60963         * lib/strcasecmp.c: Likewise.
60964         * lib/strcasestr.c: Likewise.
60965         * lib/strcspn.c: Likewise.
60966         * lib/striconv.c: Likewise.
60967         * lib/strncasecmp.c: Likewise.
60968         * lib/strnlen1.c: Likewise.
60969         * lib/strstr.c: Likewise.
60970         * lib/strtok_r.c: Likewise.
60971         * lib/tls.c: Likewise.
60972         * lib/tmpdir.c: Likewise.
60973         * lib/unicodeio.c: Likewise.
60974         * lib/unsetenv.c: Likewise.
60975         * lib/vasnprintf.c: Likewise.
60976         * lib/vasprintf.c: Likewise.
60977         * lib/wait-process.c: Likewise.
60978         * lib/xallocsa.c: Likewise.
60979         * lib/xsetenv.c: Likewise.
60980         * lib/xstriconv.c: Likewise.
60981
60982 2006-09-13  Simon Josefsson  <jas@extundo.com>
60983
60984         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
60985         that internally, suggested by Ralf Wildenhues
60986         <Ralf.Wildenhues@gmx.de>.
60987
60988 2006-09-13  Simon Josefsson  <jas@extundo.com>
60989
60990         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
60991         @LIBOBJS@.
60992         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
60993
60994 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
60995
60996         * lib/_fpending.c: Include <config.h> unconditionally, since we no
60997         longer worry about uses that don't define HAVE_CONFIG_H.
60998         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
60999         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
61000         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
61001         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
61002         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
61003         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
61004         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
61005         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
61006         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
61007         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
61008         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
61009         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
61010         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
61011         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
61012         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
61013         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
61014         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
61015         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
61016         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
61017         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
61018         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
61019         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
61020         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
61021         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
61022         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
61023         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
61024         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
61025         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
61026         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
61027         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
61028         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
61029         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
61030         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
61031         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
61032         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
61033         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
61034         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
61035         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
61036         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
61037         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
61038         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
61039         Likewise.
61040
61041 2006-09-13  Eric Blake  <ebb9@byu.net>
61042
61043         * lib/getopt.c: Fix typo in last commit.
61044
61045 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
61046
61047         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
61048         dgettext.
61049
61050 2006-09-12  Jim Meyering  <jim@meyering.net>
61051
61052         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
61053         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
61054         Reported by Nelson H. F. Beebe.
61055
61056 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
61057
61058         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
61059         program_invocation_name and program_invocation_short_name are
61060         initialized.
61061         * lib/argp-namefrob.h: Move declarations of program_invocation_name
61062         and program_invocation_short_name to argp.h, so they are visible
61063         to user programs.
61064         * lib/argp.h: Likewise
61065
61066 2006-09-10  Bruno Haible  <bruno@clisp.org>
61067
61068         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
61069         m4/inttypes_h.m4, m4/uintmax_t.m4.
61070
61071 2006-09-10  Bruno Haible  <bruno@clisp.org>
61072
61073         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
61074         gl_AC_TYPE_UINTMAX_T.
61075
61076 2006-09-10  Bruno Haible  <bruno@clisp.org>
61077
61078         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
61079
61080 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
61081
61082         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
61083         convention.  Text proposed by Bruno Haible.
61084         (struct argp_option): Document the use of N_() wrappers.
61085
61086         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
61087         '\v', and translate the two parts separately, instead of feeding
61088         the whole string to gettext.  This allows to exclude
61089         '\v' from the strings visible to the translator by writing doc
61090         strings as N_("..") "\v" N_("..").
61091
61092 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
61093
61094         * config/srclist.txt: Undo latest change; the bug was fixed.
61095
61096 2006-09-09  Bruno Haible  <bruno@clisp.org>
61097
61098         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
61099         assignments if building a library without libtool.
61100         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
61101         in func_emit_lib_Makefile_am.
61102         (func_import): When building a static library libfoo.a, arrange to
61103         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
61104         (func_create_testdir): Likewise.
61105         * modules/gc (configure.ac, Makefile.am): If building statically,
61106         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
61107         * modules/iconvme (configure.ac, Makefile.am): Likewise.
61108         * modules/striconv (configure.ac, Makefile.am): Likewise.
61109         Based on a suggestion by Ralf Wildenhues.
61110
61111 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
61112
61113         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
61114         Check for unistd.h too, since Autoconf doesn't assume POSIX.
61115         Also:
61116
61117         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
61118         Add year_2050_test to catch glibc bug 2821
61119         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
61120
61121         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
61122         Prefer #ifdef to #if.
61123
61124         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
61125         Return from 'main' instead of calling 'exit'.
61126
61127 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
61128
61129         * lib/mktime.c (guess_time_tm): Fix bug where mktime
61130         returned the maximum time_t value rather than (time_t) -1.
61131         Problem originally reported by William Bardwell
61132         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
61133
61134         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
61135         Moved to here ...
61136         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
61137         ... from here.
61138
61139 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
61140
61141         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
61142         2821 is fixed.
61143
61144 2006-09-08  Jim Meyering  <jim@meyering.net>
61145
61146         Don't make generated files read-only.  That would bother too many
61147         people.  However, do retain the ability to work when targets are
61148         read-only: remove the destination and temporary files before writing
61149         them (when generated via sed or echo), or by using the -f option for
61150         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
61151         * modules/alloca-opt, modules/argz, modules/arpa_inet:
61152         * modules/byteswap, modules/configmake, modules/fcntl:
61153         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
61154         * modules/localcharset, modules/netinet_in, modules/poll:
61155         * modules/stdbool, modules/stdint, modules/sys_select:
61156         * modules/sys_socket, modules/sys_stat, modules/sysexits:
61157
61158 2006-09-08  Jim Meyering  <jim@meyering.net>
61159
61160         Avoid new build failure on FreeBSD 6.0.
61161         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
61162         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
61163         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
61164
61165 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61166
61167         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
61168
61169 2006-09-07  Jim Meyering  <jim@meyering.net>
61170
61171         Fix global typo in last change: use chmod u-w, not chmod u-x.
61172         Spotted by Paul Eggert and Bruce Korb.
61173         * modules/alloca-opt, modules/argz, modules/arpa_inet:
61174         * modules/byteswap, modules/configmake, modules/fcntl:
61175         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
61176         * modules/localcharset, modules/netinet_in, modules/poll:
61177         * modules/stdbool, modules/stdint, modules/sys_select:
61178         * modules/sys_socket, modules/sys_stat, modules/sysexits:
61179
61180 2006-09-06  Jim Meyering  <jim@meyering.net>
61181
61182         Make generated files be read-only.
61183         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
61184         Ensure that each generated file is now read-only.
61185         * modules/argz: Likewise.
61186         * modules/arpa_inet: Likewise.
61187         * modules/byteswap: Likewise.
61188         * modules/configmake: Likewise.
61189         * modules/fcntl: Likewise.
61190         * modules/fnmatch: Likewise.
61191         * modules/getopt: Likewise.
61192         * modules/glob: Likewise.
61193         * modules/inttypes: Likewise.
61194         * modules/netinet_in: Likewise.
61195         * modules/poll: Likewise.
61196         * modules/stdbool: Likewise.
61197         * modules/stdint: Likewise.
61198         * modules/sys_select: Likewise.
61199         * modules/sys_socket: Likewise.
61200         * modules/sys_stat: Likewise.
61201         * modules/sysexits: Likewise.
61202         * modules/localcharset: Same as above, but continue using temporary
61203         file named "t-$@" (why different?) rather than the "$@-t" used
61204         everywhere else.
61205
61206         * modules/sysexits (Makefile.am): Replace literal occurrences
61207         of "sysexit.h" more readable, and more consistent, "$@".
61208
61209 2006-09-06  Bruno Haible  <bruno@clisp.org>
61210
61211         * modules/striconv: New file.
61212         * modules/xstriconv: New file.
61213         * MODULES.html.sh (Internationalization functions): Add striconv,
61214         xstriconv.
61215
61216 2006-09-06  Bruno Haible  <bruno@clisp.org>
61217
61218         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
61219         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
61220         not using libtool correctly.
61221
61222 2006-09-06  Bruno Haible  <bruno@clisp.org>
61223
61224         * lib/striconv.h: New file.
61225         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
61226         iconvstring.c.
61227         * lib/xstriconv.h: New file.
61228         * lib/xstriconv.c: New file.
61229
61230 2006-09-06  Bruno Haible  <bruno@clisp.org>
61231
61232         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
61233         lib_..._LDFLAGS.
61234
61235 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61236
61237         * lib/argz_.h: Sync from Libtool.
61238
61239         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
61240                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
61241
61242         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
61243
61244 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
61245
61246         * modules/trim: New file.
61247
61248 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
61249
61250         * lib/trim.h: New file.
61251         * lib/trim.c: New file.
61252
61253 2006-09-05  Bruno Haible  <bruno@clisp.org>
61254
61255         * MODULES.html.sh (String handling): Add trim.
61256
61257 2006-09-04  Karl Berry  <karl@gnu.org>
61258
61259         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
61260         until next release.
61261
61262 2006-09-03  Bruno Haible  <bruno@clisp.org>
61263
61264         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
61265         correctly.
61266
61267 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
61268
61269         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
61270         not gl_GETLOADAVG.  Omit unneeded semicolons.
61271         Problems reported by Ralf Wildenhues in
61272         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
61273         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
61274         at the end, which is the usual gnulib style.
61275
61276         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
61277         of doing all the work ourselves.
61278         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
61279         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
61280
61281 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
61282
61283         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
61284         Problem reported by Ralf Wildenhues in
61285         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
61286
61287         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
61288         HAVE_STRUCT_STATFS_F_FSTYPENAME.
61289
61290 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
61291
61292         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
61293         yesterday's patch by changing test -n to test -z.
61294
61295 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
61296
61297         * modules/getloadavg (Files): Add m4/getloadavg.m4.
61298         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
61299         the former is now obsolescent.
61300
61301         * modules/chdir-long (Depends-on): Add fcntl.
61302
61303 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
61304
61305         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
61306         obsolescent, and programs should use gnulib instead.
61307         * m4/getloadavg.m4: New file, with contents taken from Autoconf
61308         but with prefixes changed.
61309
61310 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
61311
61312         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
61313         or stdbool.h, because they might not exist while configuring.
61314
61315         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
61316         Don't include unistd.h or limits.h; not needed, since chdir-long.h
61317         does that for us.
61318         (O_DIRECTORY): Remove.
61319
61320 2006-08-31  Eric Blake  <ebb9@byu.net>
61321
61322         * gnulib-tool: Don't let emacs change spaces to TAB.
61323
61324 2006-08-31  Bruno Haible  <bruno@clisp.org>
61325
61326         * gnulib-tool: When calling func_import more than once, do it in a
61327         subshell.
61328         Reported by Eric Blake <ebb9@byu.net>.
61329
61330 2006-08-31  Bruno Haible  <bruno@clisp.org>
61331
61332         * gnulib-tool (nl): Remove variable.
61333         (sed_transform_lib_file): Use more robust test for config-h module.
61334         (func_import): Fix typo in 2006-08-25 patch.
61335
61336 2006-08-31  Bruno Haible  <bruno@clisp.org>
61337
61338         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
61339         specified, augment Makefile.am variables instead of assigning them.
61340
61341 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
61342
61343         Work around a bug in both the Linux and SunOS 64-bit kernels:
61344         nanosleep mishandles sleeps for longer than 2**31 seconds.
61345         Problem reported by Frank v Waveren in
61346         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
61347         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
61348         Check for nanosleep bug.
61349         (LIB_NANOSLEEP): Append clock_gettime library if needed.
61350
61351 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
61352
61353         Work around a bug in both the Linux and SunOS 64-bit kernels:
61354         nanosleep mishandles sleeps for longer than 2**31 seconds.
61355         Problem reported by Frank v Waveren in
61356         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
61357         * lib/nanosleep.c (BILLION): New constant.
61358         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
61359         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
61360         implementation.
61361
61362 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
61363
61364         * modules/nanosleep (Depends-on): Add gettime.
61365
61366 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
61367         and Simon Josefsson  <jas@extundo.com>
61368         and Oskar Liljeblad  <oskar@osk.mine.nu>
61369
61370         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
61371         * gnulib-tool (func_import): New license type 'unmodifiable license
61372         text'.
61373         * modules/fdl: Use it.  Longer description.
61374         * module/gpl, module/lgpl: New files.
61375
61376 2006-08-30  Jim Meyering  <jim@meyering.net>
61377
61378         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
61379         shadowing the parameter.
61380
61381 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61382
61383         Sync from Libtool:
61384
61385         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61386
61387         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
61388         sharing with gnulib.  Report by Eric Blake.
61389
61390 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
61391
61392         * modules/isapipe: New file.
61393         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
61394
61395 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
61396
61397         * modules/configmake (Makefile.am): Add a comment, and omit
61398         the CONFIGMAKE_ prefix from generated macro names.  Suggested
61399         by Bruno Haible.
61400
61401 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
61402
61403         * m4/isapipe.m4: New file.
61404
61405 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
61406
61407         * lib/isapipe.c, lib/isapipe.h: New files.
61408
61409 2006-08-29  Jim Meyering  <jim@meyering.net>
61410
61411         * modules/configmake (Makefile.am): Make configmake.h depend on
61412         Makefile.  Otherwise, a stale configmake.h could hang around.
61413
61414 2006-08-29  Eric Blake  <ebb9@byu.net>
61415
61416         * lib/error.c (error_at_line, print_errno_message): Match libc, after
61417         resolution of upstream bug 3044.
61418
61419 2006-08-29  Bruno Haible  <bruno@clisp.org>
61420
61421         * modules/localcharset (Depends-on): Add configmake.
61422         (Makefile.am): Remove setting of LIBDIR through DEFS.
61423
61424 2006-08-29  Bruno Haible  <bruno@clisp.org>
61425
61426         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
61427         defined.
61428
61429 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
61430
61431         * modules/fcntl: New file.
61432         * modules/chdir-safer (Depends-on): Add fcntl.
61433         * modules/fts: Likewise.
61434         * modules/mkdir-p: Likewise.
61435
61436         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
61437         This undoes the most recent change, since we're now addressing the
61438         problem in a different way.
61439
61440         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
61441         into output, since the output might be called Makefile.am even
61442         if $makefile_name is something different.
61443         (func_import): Use $makefile_am rather than
61444         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
61445         empty.
61446
61447         * modules/inttypes (Files): Add m4/inttypes-h.m4.
61448
61449 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
61450
61451         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
61452         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
61453         recent change to stdint.m4, since we're now addressing the problem in a
61454         different way.
61455
61456 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
61457
61458         * m4/fcntl_h.m4: New file.
61459
61460 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
61461
61462         * lib/fcntl_.h: New file.
61463         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
61464         the fcntl module.
61465         * lib/dirchownmod.c: Likewise.
61466         * lib/fts.c: Likewise.
61467
61468         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
61469         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
61470         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
61471         just before including <inttypes.h>, to avoid circular inclusion.
61472
61473 2006-08-28  Jim Meyering  <jim@meyering.net>
61474
61475         * doc/visibility.texi: Actually read and correct the grammar of the
61476         sentence affected by yesterday's change.
61477
61478 2006-08-28  Eric Blake  <ebb9@byu.net>
61479
61480         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
61481         needs wrapper.
61482
61483 2006-08-28  Eric Blake  <ebb9@byu.net>
61484
61485         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
61486
61487 2006-08-28  Eric Blake  <ebb9@byu.net>
61488
61489         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
61490
61491 2006-08-28  Bruno Haible  <bruno@clisp.org>
61492
61493         * modules/c-strstr: New file, from GNU gettext.
61494         * MODULES.html.sh (String handling): Add c-strstr.
61495
61496 2006-08-28  Bruno Haible  <bruno@clisp.org>
61497
61498         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
61499         macros.
61500         Reported by Eric Blake.
61501
61502 2006-08-28  Bruno Haible  <bruno@clisp.org>
61503
61504         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
61505         (VASNPRINTF): Return a string of length > INT_MAX without failing.
61506         * lib/vasprintf.c: Include errno.h, limits.h.
61507         (EOVERFLOW): New fallback definition.
61508         (vasprintf): Test here whether the string length is > INT_MAX.
61509         * lib/vsnprintf.c: Include errno.h, limits.h.
61510         (EOVERFLOW): New fallback definition.
61511         (vsnprintf): Fix bug when generated string was too long for the buffer.
61512         Test here whether the string length is > INT_MAX.
61513
61514 2006-08-28  Bruno Haible  <bruno@clisp.org>
61515
61516         * lib/inttypes_.h (SCNX*): Remove definitions.
61517         Reported by Eric Blake.
61518
61519 2006-08-28  Bruno Haible  <bruno@clisp.org>
61520
61521         * lib/c-strstr.h: New file, from GNU gettext.
61522         * lib/c-strstr.c: New file, from GNU gettext.
61523
61524 2006-08-28  Bruno Haible  <bruno@clisp.org>
61525
61526         * gnulib-tool: Reorder some statements.
61527
61528 2006-08-28  Bruno Haible  <bruno@clisp.org>
61529
61530         * gnulib-tool: New option --makefile-name.
61531         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
61532         $makefile_name.
61533         (func_import): Write $makefile_name to the cache file, and read it from
61534         there unless explicitly specified. Use $makefile_name as file name
61535         instead of Makefile.am. Adjust the recommendations accordingly.
61536
61537 2006-08-28  Bruno Haible  <bruno@clisp.org>
61538
61539         * gnulib-tool (func_verify_module): Check against misapplying patch.
61540
61541 2006-08-28  Bruno Haible  <bruno@clisp.org>
61542
61543         * gnulib-tool (func_relativize, func_relconcat): New functions.
61544         Give an error if --local-dir is given with --update.
61545         Remove trailing slashes from $local_gnulib_dir.
61546         (func_import): Store the relativized $local_gnulib_dir in
61547         gnulib-cache.m4, and read it from there if not specified explicitly.
61548
61549 2006-08-28  Bruno Haible  <bruno@clisp.org>
61550
61551         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
61552         is the current directory. Respect also $local_gnulib_dir.
61553
61554 2006-08-28  Bruno Haible  <bruno@clisp.org>
61555             Simon Josefsson  <jas@extundo.com>
61556
61557         BeOS portability.
61558         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
61559
61560 2006-08-27  Jim Meyering  <jim@meyering.net>
61561
61562         * doc/visibility.texi: Remove duplicate word: "pointer".
61563
61564 2006-08-26  Bruno Haible  <bruno@clisp.org>
61565
61566         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
61567         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
61568         (Makefile.am): Create inttypes.h from inttypes_.h.
61569         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
61570
61571         * modules/imaxabs: New file.
61572
61573         * modules/imaxdiv: New file.
61574
61575 2006-08-26  Bruno Haible  <bruno@clisp.org>
61576
61577         * m4/inttypes.m4: New file.
61578         * m4/_inttypes_h.m4: Remove file.
61579         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
61580         PRI_MACROS_BROKEN.
61581         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
61582
61583         * m4/imaxabs.m4: New file.
61584
61585         * m4/imaxdiv.m4: New file.
61586
61587 2006-08-26  Bruno Haible  <bruno@clisp.org>
61588
61589         * lib/inttypes_.h: New file.
61590         * lib/inttypes.h: Remove file.
61591         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
61592
61593         * lib/imaxabs.c: New file.
61594
61595         * lib/imaxdiv.c: New file.
61596
61597 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
61598
61599         New config-h module, so that "make" output needn't be cluttered
61600         by -DHAVE_CONFIG_H.
61601         * MODULES.html.sh (Support for building libraries and executables):
61602         Add config-h.
61603         * modules/config-h: New file.
61604         * gnulib-tool (nl, sed_transform_lib_file): New vars.
61605         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
61606         the config-h module is used.
61607
61608         New configmake module, so that "make" output needn't be cluttered
61609         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
61610         * MODULES.html.sh (Support for building libraries and executables):
61611         Add configmake.
61612         * modules/configmake: New file.
61613
61614 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
61615
61616         * m4/config-h.m4: New file.
61617
61618 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
61619
61620         * config/srclist.txt: Add elisp-comp.
61621
61622 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
61623
61624         * MODULES.html.sh (Support for building libraries and executables):
61625         Add elisp-comp.
61626         * build-aux/elisp-comp: New file.
61627         * modules/elisp-comp: New file.
61628
61629 2006-08-24  Bruno Haible  <bruno@clisp.org>
61630
61631         * gnulib-tool (func_create_testdir): Use non-default values of
61632         sourcebase and m4base.
61633
61634 2006-08-24  Bruno Haible  <bruno@clisp.org>
61635
61636         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
61637         HTML structure.
61638
61639 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
61640
61641         * modules/openat (Depends-on): Add lchown.
61642
61643 2006-08-23  Bruno Haible  <bruno@clisp.org>
61644
61645         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
61646         of gl_LOCK_EARLY instead of gl_LOCK.
61647
61648 2006-08-23  Bruno Haible  <bruno@clisp.org>
61649
61650         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
61651         on OSF/1 to no.
61652         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
61653
61654 2006-08-23  Bruno Haible  <bruno@clisp.org>
61655
61656         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
61657         as unusable.
61658
61659         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
61660         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
61661         (gl_LOCK): New macro.
61662
61663 2006-08-22  Simon Josefsson  <jas@extundo.com>
61664
61665         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
61666         to md5 module.
61667
61668 2006-08-22  Simon Josefsson  <jas@extundo.com>
61669
61670         * MODULES.html.sh: Add "Support for maintaining and release
61671         projects".
61672
61673         * build-aux/gnupload: New file, from coreutils.
61674
61675 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
61676
61677         Avoid the need for AC_LIBSOURCES in m4 macros.
61678         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
61679         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
61680         * modules/check-version (EXTRA_DIST): Add check-version.h.
61681         * modules/crc (EXTRA_DIST): Add crc.h.
61682         * modules/des (EXTRA_DIST): Add des.h.
61683         * modules/gc (EXTRA_DIST): Add gc.h.
61684         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
61685         * modules/getline (EXTRA_DIST): Add getline.h.
61686         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
61687         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
61688         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
61689         * modules/md2 (EXTRA_DIST): Add md2.h.
61690         * modules/md4 (EXTRA_DIST): Add md4.h.
61691         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
61692         * modules/read-file (EXTRA_DIST): Add read-file.h.
61693         * modules/readline (EXTRA_DIST): Add readline.h.
61694         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
61695         rijndael-api-fst.h.
61696
61697 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
61698
61699         * m4/rijndael.m4 (gl_ARCFOUR):
61700         * m4/arctwo.m4 (gl_ARCTWO):
61701         * m4/check-version.m4 (gl_CHECK_VERSION):
61702         * m4/crc.m4 (gl_CRC):
61703         * m4/des.m4 (gl_DES):
61704         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
61705         * m4/gc.m4 (gl_GC):
61706         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
61707         * m4/getline.m4 (gl_FUNC_GETLINE):
61708         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
61709         * m4/hmac-md5.m4 (gl_HMAC_MD5):
61710         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
61711         * m4/md2.m4 (gl_MD2):
61712         * m4/md4.m4 (gl_MD4):
61713         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
61714         * m4/read-file.m4 (gl_FUNC_READ_FILE):
61715         * m4/readline.m4 (gl_FUNC_READLINE):
61716         * m4/rijndael.m4 (gl_RIJNDAEL):
61717         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
61718         to get the necessary .h files and whatnot.
61719
61720 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
61721
61722         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
61723         gnulib rather than the other way around.
61724         * config/srclistvars.sh (COREUTILS): Remove.
61725
61726 2006-08-22  Jim Meyering  <jim@meyering.net>
61727
61728         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
61729
61730         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
61731
61732 2006-08-22  Eric Blake  <ebb9@byu.net>
61733
61734         * modules/regexprops-generic: New file.
61735         * MODULES.html.sh (Support for building documentation): List it.
61736
61737 2006-08-22  Eric Blake  <ebb9@byu.net>
61738
61739         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
61740         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
61741         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
61742         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
61743
61744 2006-08-22  Bruno Haible  <bruno@clisp.org>
61745
61746         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
61747         and lib_LTLIBRARIES like the other lib_* variables.
61748
61749 2006-08-22  Bruno Haible  <bruno@clisp.org>
61750
61751         * build-aux/x-to-1.in: New file, from GNU gettext.
61752
61753 2006-08-22  Bruno Haible  <bruno@clisp.org>
61754
61755         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
61756         <utmpx.h> exists.
61757
61758 2006-08-22  Bruno Haible  <bruno@clisp.org>
61759
61760         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
61761         <utmpx.h> exists.
61762
61763 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
61764
61765         BeOS portability.
61766         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
61767         exist.
61768         Problem reported by Bruno Haible.
61769
61770 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
61771
61772         Avoid the need for AC_LIBSOURCES in m4 macros.
61773         * modules/acl (EXTRA_DIST): Add acl.h.
61774         * modules/argmatch (Files): Add m4/argmatch.m4.
61775         (configure.ac): Add gl_ARGMATCH.
61776         (EXTRA_DIST): Renamed from lib_SOURCES, for
61777         consistency with the other modules.  Remove argmatch.c.
61778         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
61779         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
61780         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
61781         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
61782         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
61783         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
61784         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
61785         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
61786         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
61787         * modules/closeout (EXTRA_DIST): Add closeout.h.
61788         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
61789         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
61790         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
61791         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
61792         dirname.h; remove basename.c and stripslash.c.
61793         * modules/exclude (EXTRA_DIST): Add exclude.h.
61794         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
61795         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
61796         * modules/file-type (EXTRA_DIST): Add file-type.h.
61797         * modules/filemode (EXTRA_DIST): Add filemode.h.
61798         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
61799         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
61800         * modules/fpending (EXTRA_DIST): Add __fpending.h.
61801         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
61802         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
61803         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
61804         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
61805         * modules/getdate (EXTRA_DIST): Add getdate.c.
61806         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
61807         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
61808         * modules/getpass (EXTRA_DIST): Add getpass.h.
61809         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
61810         * modules/group-member (EXTRA_DIST): Add group-member.h.
61811         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
61812         * modules/hash (EXTRA_DIST): Add hash.h.
61813         * modules/human (EXTRA_DIST): Add human.h.
61814         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
61815         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
61816         * modules/lchown (EXTRA_DIST): Add lchown.h.
61817         * modules/long-options (EXTRA_DIST): Add long-options.h.
61818         * modules/lstat (EXTRA_DIST): Add lstat.h.
61819         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
61820         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
61821         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
61822         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
61823         * modules/memxor (EXTRA_DIST): Add memxor.h.
61824         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
61825         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
61826         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
61827         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
61828         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
61829         * modules/physmem (EXTRA_DIST): Add physmem.h.
61830         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
61831         * modules/posixver (EXTRA_DIST): Add posixver.h.
61832         * modules/quote (EXTRA_DIST): Add quote.h.
61833         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
61834         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
61835         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
61836         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
61837         regex_internal.h regexec.c.
61838         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
61839         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
61840         * modules/same (EXTRA_DIST): Add same.h.
61841         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
61842         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
61843         * modules/savedir (EXTRA_DIST): Add savedir.h.
61844         * modules/sha1 (EXTRA_DIST): Add sha1.h.
61845         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
61846         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
61847         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
61848         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
61849         * modules/strdup (EXTRA_DIST): Add strdup.h.
61850         * modules/strftime (EXTRA_DIST): Add strftime.h.
61851         * modules/strndup (EXTRA_DIST): Add strndup.h.
61852         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
61853         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
61854         * modules/time_r (EXTRA_DIST): Add time_r.h.
61855         * modules/timespec (EXTRA_DIST): Add timespec.h.
61856         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
61857         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
61858         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
61859         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
61860         * modules/userspec (EXTRA_DIST): Add userspec.h.
61861         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
61862         * modules/utimens (EXTRA_DIST): Add utimens.h.
61863         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
61864         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
61865         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
61866         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
61867         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
61868         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
61869         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
61870         * modules/yesno (EXTRA_DIST): Add yesno.h.
61871
61872 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
61873
61874         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
61875
61876         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
61877         * m4/dev-ino.m4, same-inode.m4: Remove.
61878
61879         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
61880         * m4/acl.m4 (AC_FUNC_ACL):
61881         * m4/backupfile.m4 (gl_BACKUPFILE):
61882         * m4/c-strtod.m4 (gl_C99_STRTOLD):
61883         * m4/canon-host.m4 (gl_CANON_HOST):
61884         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
61885         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
61886         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
61887         * m4/cloexec.m4 (gl_CLOEXEC):
61888         * m4/close-stream.m4 (gl_CLOSE_STREAM):
61889         * m4/closeout.m4 (gl_CLOSEOUT):
61890         * m4/dirfd.m4 (gl_FUNC_DIRFD):
61891         * m4/dirname.m4 (gl_DIRNAME):
61892         * m4/exclude.m4 (gl_EXCLUDE):
61893         * m4/exitfail.m4 (gl_EXITFAIL):
61894         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
61895         * m4/file-type.m4 (gl_FILE_TYPE):
61896         * m4/filemode.m4 (gl_FILEMODE):
61897         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
61898         * m4/fpending.m4 (gl_FUNC_FPENDING):
61899         * m4/fprintftime.m4 (gl_FPRINTFTIME):
61900         * m4/fts.m4 (gl_FUNC_FTS):
61901         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
61902         * m4/getdate.m4 (gl_GETDATE):
61903         * m4/gethrxtime.m4 (gl_GETHRXTIME):
61904         * m4/getpagesize.m4 (gl_GETPAGESIZE):
61905         * m4/getpass.m4 (gl_FUNC_GETPASS):
61906         * m4/gettime.m4 (gl_GETTIME):
61907         * m4/getugroups.m4 (gl_GETUGROUPS):
61908         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
61909         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
61910         * m4/hard-locale.m4 (gl_HARD_LOCALE):
61911         * m4/hash.m4 (gl_HASH):
61912         * m4/idcache.m4 (gl_IDCACHE):
61913         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
61914         * m4/lchown.m4 (gl_FUNC_LCHOWN):
61915         * m4/long-options.m4 (gl_LONG_OPTIONS):
61916         * m4/lstat.m4 (gl_FUNC_LSTAT):
61917         * m4/md5.m4 (gl_MD5):
61918         * m4/memcasecmp.m4 (gl_MEMCASECMP):
61919         * m4/memcoll.m4 (gl_MEMCOLL):
61920         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
61921         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
61922         * m4/memxor.m4 (gl_MEMXOR):
61923         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
61924         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
61925         * m4/modechange.m4 (gl_MODECHANGE):
61926         * m4/mountlist.m4 (gl_MOUNTLIST):
61927         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
61928         * m4/openat.m4 (gl_FUNC_OPENAT):
61929         * m4/pathmax.m4 (gl_PATHMAX):
61930         * m4/physmem.m4 (gl_PHYSMEM):
61931         * m4/posixtm.m4 (gl_POSIXTM):
61932         * m4/posixver.m4 (gl_POSIXVER):
61933         * m4/quote.m4 (gl_QUOTE):
61934         * m4/quotearg.m4 (gl_QUOTEARG):
61935         * m4/readtokens.m4 (gl_READTOKENS):
61936         * m4/readutmp.m4 (gl_READUTMP):
61937         * m4/regex.m4 (gl_REGEX):
61938         * m4/safe-read.m4 (gl_SAFE_READ):
61939         * m4/safe-write.m4 (gl_SAFE_WRITE):
61940         * m4/same.m4 (gl_SAME):
61941         * m4/save-cwd.m4 (gl_SAVE_CWD):
61942         * m4/savedir.m4 (gl_SAVEDIR):
61943         * m4/settime.m4 (gl_SETTIME):
61944         * m4/sha1.m4 (gl_SHA1):
61945         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
61946         * m4/stat-macros.m4 (gl_STAT_MACROS):
61947         * m4/stat-time.m4 (gl_STAT_TIME):
61948         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
61949         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
61950         * m4/strdup.m4 (gl_FUNC_STRDUP):
61951         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
61952         * m4/strndup.m4 (gl_FUNC_STRNDUP):
61953         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
61954         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
61955         * m4/time_r.m4 (gl_TIME_R):
61956         * m4/timespec.m4 (gl_TIMESPEC):
61957         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
61958         * m4/unlinkdir.m4 (gl_UNLINKDIR):
61959         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
61960         * m4/userspec.m4 (gl_USERSPEC):
61961         * m4/utimecmp.m4 (gl_UTIMECMP):
61962         * m4/utimens.m4 (gl_UTIMENS):
61963         * m4/xalloc.m4 (gl_XALLOC):
61964         * m4/xgetcwd.m4 (gl_XGETCWD):
61965         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
61966         * m4/xreadlink.m4 (gl_XREADLINK):
61967         * m4/xstrtod.m4 (gl_XSTRTOD):
61968         * m4/yesno.m4 (gl_YESNO):
61969         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
61970         to get the necessary .h files and whatnot.
61971
61972 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
61973             Bruno Haible  <bruno@clisp.org>
61974
61975         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
61976         /bin/sh understanding of '!' conditional negation.
61977
61978 2006-08-21  Jim Meyering  <jim@meyering.net>
61979
61980         * modules/openat (Depends-on): Really alphabetize.
61981
61982         * modules/acl (Depends-on): Add error and quote.
61983
61984         * check-module (find_included_lib_files): Add at-func.c to the
61985         ok-to-include-more-than-once white list.
61986
61987         * modules/openat (Depends-on): Add lstat.  Alphabetize.
61988
61989 2006-08-21  Bruno Haible  <bruno@clisp.org>
61990
61991         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
61992         Emit a pkgdata_DATA variable only if some snippets add contents to it.
61993         Reported by Martin Lambers <marlam@marlam.de>.
61994
61995 2006-08-21  Bruno Haible  <bruno@clisp.org>
61996
61997         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
61998         specify an installation location, don't emit a noinst_LIBRARIES or
61999         noinst_LTLIBRARIES assignment.
62000
62001 2006-08-21  Bruno Haible  <bruno@clisp.org>
62002
62003         BeOS portability.
62004         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
62005         BeOS has mbrtowc() but no <wctype.h>.
62006
62007 2006-08-21  Bruno Haible  <bruno@clisp.org>
62008
62009         BeOS portability.
62010         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
62011         exist.
62012
62013 2006-08-21  Bruno Haible  <bruno@clisp.org>
62014
62015         BeOS portability.
62016         * lib/mbchar.h: Include <wctype.h> only if it exists.
62017
62018 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
62019
62020         Remove files that are no longer needed by their respective modules.
62021         * m4/obstack.m4: Remove.
62022         * m4/strerror_r.m4: Remove.
62023         * m4/uint32_t.m4: Remove.
62024         * m4/uintptr_t.m4: Remove.
62025         * m4/ullong_max.m4: Remove.
62026         * m4/xstrtoimax.m4: Remove.
62027         * m4/xstrtoumax.m4: Remove.
62028
62029         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
62030         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
62031         dependencies now capture this.
62032
62033         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
62034         Do not use AC_LIBSOURCES, since gnulib modules now do this.
62035         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
62036         * m4/human.m4 (gl_HUMAN): Likewise.
62037         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
62038         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
62039
62040         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
62041
62042         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
62043         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
62044         stdint.
62045         * m4/human.m4 (gl_HUMAN): Likewise.
62046         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
62047         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
62048         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
62049         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
62050         * m4/xstrtol (gl_XSTRTOL): Likewise.
62051
62052         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
62053         AC_TYPE_LONG_LONG_INT.
62054         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
62055         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
62056         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
62057         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
62058
62059         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
62060         on stdbool.
62061
62062         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
62063         (gl_PREREQ_XSTRTOUL): Remove.
62064
62065         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
62066
62067         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
62068         mode.
62069
62070 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
62071
62072         Add and change modules to make it easier for coreutils to use
62073         gnulib-tool.
62074         * modules/backupfile (Files): Remove m4/d-ino.m4.
62075         (Depends-on): Add d-ino.
62076         * modules/cycle-check (Depends-on): Add stdint.
62077         (lib_SOURCES): Add cycle-check.h.
62078         * modules/d-ino: New module.
62079         * modules/d-type: New module.
62080         * modules/error (Files): Remove m4/strerror_r.m4.
62081         * modules/filemode (Files): Add m4/st_dm_mode.m4.
62082         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
62083         m4/inttypes_h.m4, m4/uintmax_t.m4.
62084         (Depends-on): Add stdint.
62085         (lib_SOURCES): Add fsusage.h.
62086         * modules/getcwd (Files): Remove d-ino.m4.
62087         (Depends-on): Add d-ino.
62088         * modules/getndelim2 (Depends-on): Add stdint.
62089         * modules/glob (Files): Remove m4/d-type.m4.
62090         (Depends-on): Add d-type.
62091         * modules/host-os: New module.
62092         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
62093         m4/inttypes_h.m4, m4/uintmax_t.m4.
62094         * Depends-on: Add stdint.
62095         (lib_SOURCES): Add human.h.
62096         * modules/inttostr (Files): Remove m4/intmax_t.m4,
62097         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
62098         m4/uintmax_t.m4, m4/ulonglong.m4.
62099         (Depends-on): Add stdint.
62100         (EXTRA_DIST): Add inttostr.h.
62101         * modules/lchmod: New module.
62102         * modules/link-follow: New module.
62103         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
62104         (Depends-on): Add lchmod.
62105         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
62106         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
62107         (Depends-on): Add stdint.
62108         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
62109         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
62110         (Depends-on): Add stdint.
62111         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
62112         * modules/perl: New module.
62113         * modules/regex (Depends-on): Add stdint.
62114         * modules/rmdir-errno: New module.
62115         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
62116         m4/intmax_t.m4.
62117         (Depends-on): Add stdint.
62118         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
62119         m4/uintmax_t.m4.
62120         (Depends-on): Add stdint.
62121         * modules/unlink-busy: New module.
62122         * modules/utimecmp (Depends-on): Add stdint.
62123         * modules/uptime: New module.
62124         * modules/winsz-ioctl: New module.
62125         * modules/winsz-termios: New module.
62126         * modules/xnanosleep (Depends-on): Add nanosleep.
62127         * modules/ullong_max: Remove.
62128         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
62129         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
62130         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
62131         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
62132         (Depends-on): Add inttypes.
62133         (lib_SOURCES): Add xstrtol.h.
62134         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
62135         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
62136         * MODULES.html.sh: Move 'assert' into the assert section.
62137         Move 'dummy' into the linking section.
62138         Remove ullong_max.
62139         Add section for compatibility checks for POSIX:2001 functions,
62140         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
62141         winsz-ioctl, and winsz-termios into it.
62142         Add lchmod.
62143         Add top-level Misc section and put host-os, perl, and uptime
62144         into it.
62145
62146 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
62147
62148         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
62149         now assume the stdint module.  Do not include inttypes.h.
62150         * lib/fsusage.h: Likewise.
62151         * lib/getndelim2.c: Likewise.
62152         * lib/human.h: Likewise.
62153         * lib/inttostr.h: Likewise.
62154         * lib/obstack.c: Likewise.
62155         * lib/regex_internal.h: Likewise.
62156         * lib/tempname.c: Likewise.
62157         * lib/utimecmp.c: Likewise.
62158         * lib/xstrtol.h: Likewise.
62159
62160         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
62161
62162         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
62163         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
62164         * lib/xtime.h: Likewise.
62165
62166 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
62167
62168         * modules/openat (Files): Add lib/fchmodat.c.
62169         Fixes problem reported by Jay Youngman.
62170
62171 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
62172
62173         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
62174         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
62175
62176 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
62177             Bruno Haible  <bruno@clisp.org>
62178
62179         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
62180         and is a script that invokes bison. Tighten the code. Add comments.
62181
62182 2006-08-18  Jim Meyering  <jim@meyering.net>
62183
62184         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
62185         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
62186         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
62187         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
62188
62189 2006-08-18  Bruno Haible  <bruno@clisp.org>
62190
62191         * modules/bison-i18n: New file.
62192         * MODULES.html.sh (Internationalization functions): Add it.
62193
62194 2006-08-18  Bruno Haible  <bruno@clisp.org>
62195
62196         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
62197         sys/statvfs.h. When getmntinfo was found, check its declaration and
62198         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
62199
62200 2006-08-18  Bruno Haible  <bruno@clisp.org>
62201
62202         * m4/bison-i18n.m4: New file, from bison.
62203
62204 2006-08-18  Bruno Haible  <bruno@clisp.org>
62205
62206         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
62207         (ME_DUMMY): Treat "kernfs" as a dummy.
62208         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
62209
62210 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
62211
62212         Update from coreutils.
62213
62214         2006-08-15  Jim Meyering  <jim@meyering.net>
62215
62216         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
62217
62218         2006-01-17  Jim Meyering  <jim@meyering.net>
62219
62220         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
62221
62222         2006-01-11  Jim Meyering  <jim@meyering.net>
62223
62224         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
62225         Check for the lchmod function.
62226
62227 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
62228
62229         Update from coreutils.
62230
62231         * lib/__fpending.h: Add copyright notice.
62232         * lib/fprintftime.h: Likewise.
62233         * lib/savedir.c: Use (C) in copyright notice.
62234         * lib/savedir.h: Likewise.
62235
62236         2006-08-15  Jim Meyering  <jim@meyering.net>
62237
62238         * lib/at-func.c: New file, with the logic of all emulated at-functions.
62239         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
62240         in support of the EXPECTED_ERRNO macro.
62241         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
62242         definitions.  Instead, define the appropriate symbols and include
62243         "at-func.c".
62244         * lib/mkdirat.c (mkdirat): Likewise.
62245         * lib/fchmodat.c (fchmodat): Likewise.
62246         (ENOSYS): Remove definition.
62247         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
62248         it.  Don't include "unistd--.h" -- it wasn't ever used.
62249
62250         2006-01-17  Jim Meyering  <jim@meyering.net>
62251
62252         Rewrite fts.c not to change the current working directory,
62253         by using openat, fstatat, fdopendir, etc..
62254
62255         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
62256         (HAVE_OPENAT_SUPPORT): Define.
62257         [_LIBC] (fchdir): Don't undef or define; no longer used.
62258         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
62259         Now, this `function' always succeeds, and consumes its file descriptor
62260         parameter -- so callers must not close such FDs.  Update callers.
62261         (diropen_fd, opendirat, cwd_advance_fd): New functions.
62262         (diropen): Add parameter, SP.  Adjust all callers.
62263         Implement using diropen_fd, rather than open.
62264         (fts_open): Initialize new member, fts_cwd_fd.
62265         Remove fts_rft-setting code.
62266         (fts_close): Close fts_cwd_fd, if necessary.
62267         (__opendir2): Define in terms of opendir or opendirat,
62268         depending on whether the FST_NOCHDIR flag is set.
62269         (fts_build): Since fts_safe_changedir consumes its FD, and since
62270         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
62271         and close the dup'd file descriptor upon failure.
62272         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
62273         (fts_safe_changedir): Tweak semantics to reflect that this function
62274         now calls cwd_advance_fd and hence consumes its FD argument.
62275         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
62276         [struct FTS] (fts_rft): Remove now-unused member.
62277         [struct FTS] (fts_cycle.state): Improve comment.
62278
62279         * lib/openat.c (openat_needs_fchdir): New function.
62280         * lib/openat.h (openat_needs_fchdir): Declare it.
62281
62282 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
62283
62284         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
62285         Problem and fix reported by Pádraig Brady in
62286         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
62287
62288 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
62289
62290         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
62291
62292 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
62293
62294         * lib/memcoll.c (memcoll): Optimize for the common case where the
62295         arguments are bytewise equal.
62296
62297 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
62298
62299         * doc/regexprops-generic.texi: Add a copyright notice.
62300
62301 2006-08-15  Bruno Haible  <bruno@clisp.org>
62302
62303         * modules/tmpdir (License): Change to LGPL.
62304
62305 2006-08-15  Bruno Haible  <bruno@clisp.org>
62306
62307         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
62308         module.
62309
62310 2006-08-14  Simon Josefsson  <jas@extundo.com>
62311
62312         * config/srclist.txt: Add gnupload.
62313
62314 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
62315
62316         Change copyright notice from LGPL 2 to GPL 2, since that's the
62317         standard form used in the gnulib repository.
62318         * tests/test-lock.c: Likewise.
62319         * tests/test-stdint.c: Likewise.
62320         * tests/test-tls.c: Likewise.
62321
62322         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
62323         prelude-manager.  User shorter URLs for GNU projects, without '?'.
62324         Add copyright notice.
62325
62326         * check-module: Add copyright notice.  Output a copyright
62327         notice if "--version" is specified.
62328         * modules/COPYING: New file.
62329         * tests/test-getaddrinfo.c: Add copyright notice.
62330         * tests/test-verify.c: Likewise.
62331
62332 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
62333
62334         Change copyright notice from LGPL 2 to GPL 2, since that's the
62335         standard form used in the gnulib repository.
62336         * lib/lock.c: LGPL -> GPL.
62337         * lib/lock.h: Likewise.
62338         * lib/strnlen1.c: Likewise.
62339         * lib/strnlen1.h: Likewise.
62340         * lib/tls.c: Likewise.
62341         * lib/tls.h: Likewise.
62342         * lib/tmpdir.c: Likewise.
62343
62344         * lib/TODO: Remove; this belongs only in coreutils.
62345
62346 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
62347
62348         Add copyright notices to long-enough files that lack them, since
62349         otherwise the files aren't clearly free.  Use the same notice that
62350         getdate.texi already uses.
62351         * doc/alloca-opt.texi: Add copyright notice.
62352         * doc/alloca.texi: Likewise.
62353         * doc/ctime.texi: Likewise.
62354         * doc/functions.texi: Likewise.
62355         * doc/gcd.texi: Likewise.
62356         * doc/gnulib-tool.texi: Likewise.
62357         * doc/inet_ntoa.texi: Likewise.
62358         * doc/visibility.texi: Likewise.
62359
62360         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
62361         * doc/quote.texi: Add copyright notice.
62362
62363         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
62364         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
62365         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
62366         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
62367         is now obsolete, and give a pointer to the Sun list.
62368         Add copyright notice.
62369
62370 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
62371
62372         * config/srclistvars.sh: Add copyright notice.
62373
62374 2006-08-14  Eric Blake  <ebb9@byu.net>
62375
62376         Import the following change from libc:
62377
62378         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
62379
62380         Upstream bug 2997.
62381         * lib/misc/error.c: Add space between program name and message if file
62382         name is missing.
62383
62384 2006-08-12  Karl Berry  <karl@gnu.org>
62385
62386         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
62387         remove, these originate in gnulib now.
62388
62389 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62390
62391         * doc/Makefile (standards.info standards.html standards.dvi):
62392         Also depend on make-stds.texi.
62393
62394 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
62395
62396         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
62397         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
62398
62399         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
62400         in wchar_t.  Problem reported by Eric Blake.
62401
62402         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
62403         LEN is smaller than SIZE.  Suggested by Bruno Haible.
62404         Also, help the compiler to keep LEN in a register.
62405
62406 2006-08-11  Eric Blake  <ebb9@byu.net>
62407
62408         * users.txt: Sort.  Add tar.
62409
62410 2006-08-11  Bruno Haible  <bruno@clisp.org>
62411
62412         * users.txt: New file.
62413
62414 2006-08-11  Bruno Haible  <bruno@clisp.org>
62415
62416         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
62417         before <wchar.h>. Needed for OSF/1 and BSD/OS.
62418
62419 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
62420
62421         * modules/snprintf (Depends-on): Remove minmax.
62422         (Maintainer): Add self and Bruno.
62423
62424 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
62425
62426         * lib/.cppi-disable: Add snprintf.h, socket_.h.
62427         * lib/snprintf.c: Include <errno.h> and <limits.h>.
62428         (EOVERFLOW): Define if the system does not.
62429         Do not include "minmax.h"; it wasn't used.
62430         (snprintf): Don't assume size_t promotes to an unsigned type.
62431         Fix bug when generated string was too long for the buffer: the
62432         buffer's contents are supposed to be the initial prefix of the
62433         output.  Don't assume vasnprintf returns EOVERFLOW if the size
62434         exceeds INT_MAX; do the check ourselves.
62435
62436         Import the following changes from libc:
62437
62438         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
62439
62440         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
62441         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
62442         set wc to the byte which couldn't be converted.
62443         (re_string_reconstruct): Don't clear valid_raw_len before calling
62444         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
62445         tip_context using re_string_context_at.
62446
62447         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
62448
62449         * lib/posix/regex.h: g++ still cannot handled [restrict].
62450
62451         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
62452
62453         * lib/posix/regex.h: Remove special handling for VMS.
62454
62455 2006-08-10  Jim Meyering  <jim@meyering.net>
62456
62457         * modules/same-inode: New module.
62458         * modules/dev-ino: New module.
62459         * modules/cycle-check: Depend on these modules, rather than simply
62460         including their .h files.
62461         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
62462         required via m4/cycle-check.m4.
62463         * modules/same: Depend on new same-inode module, rather than
62464         including same-inode.h.
62465         * modules/chdir-safer: New file.
62466
62467         * modules/chown (Depends-on): Add stat-macros.
62468
62469 2006-08-10  Jim Meyering  <jim@meyering.net>
62470
62471         * m4/cycle-check.m4: New file.
62472         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
62473         * m4/dev-ino.m4, m4/same-inode.m4: New files.
62474
62475 2006-08-10  Eric Blake  <ebb9@byu.net>
62476
62477         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
62478         in from original proposal.
62479
62480 2006-08-10  Eric Blake  <ebb9@byu.net>
62481         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
62482
62483         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
62484         namespace.
62485
62486 2006-08-10  Bruno Haible  <bruno@clisp.org>
62487
62488         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
62489         as well.
62490
62491 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
62492
62493         Sync from coreutils.
62494
62495         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
62496
62497         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
62498         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
62499
62500 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
62501
62502         * modules/restrict: Remove; no longer needed now that we assume
62503         Autoconf 2.59 or later.
62504         * MODULES.html.sh: Remove 'restrict'.
62505         * modules/argp (Depends-on): Remove 'restrict'.
62506         * modules/base64 (Depends-on): Likewise.
62507         * modules/gc (Depends-on): Likewise.
62508         * modules/getaddrinfo (Depends-on): Likewise.
62509         * modules/glob (Depends-on): Likewise.
62510         * modules/inet_ntop (Depends-on): Likewise.
62511         * modules/inet_pton (Depends-on): Likewise.
62512         * modules/memxor (Depends-on): Likewise.
62513         * modules/regex (Depends-on): Likewise.
62514         * modules/strtok_r (Depends-on): Likewise.
62515         * modules/time_r (Depends-on): Likewise.
62516
62517 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
62518
62519         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
62520         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
62521         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
62522         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
62523         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
62524         * m4/memxor.m4 (gl_MEMXOR): Likewise.
62525         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
62526         gl_C_RESTRICT replaced by AC_C_RESTRICT.
62527
62528         Merge from coreutils.
62529         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
62530         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
62531         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
62532         * m4/time_r.m4 (gl_TIME_R): Likewise.
62533
62534 2006-08-09  Karl Berry  <karl@gnu.org>
62535
62536         * config/srclist.txt: no more gettext-tools, per Bruno.
62537
62538 2006-08-08  Eric Blake  <ebb9@byu.net>
62539
62540         * modules/verror: New module.
62541         * MODULES.html.sh: Document it.
62542
62543 2006-08-08  Eric Blake  <ebb9@byu.net>
62544
62545         * lib/verror.h, lib/verror.c: New files.
62546
62547 2006-08-08  Eric Blake  <ebb9@byu.net>
62548
62549         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
62550         verror_at_line output complies with GNU Coding Standards even when
62551         file is NULL.
62552
62553 2006-08-07  Bruno Haible  <bruno@clisp.org>
62554
62555         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
62556         versions of AIX.
62557         Reported by Ralf Wildenhues.
62558
62559 2006-08-07  Bruno Haible  <bruno@clisp.org>
62560
62561         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
62562         in an AC_DEFUN. Needed so that the autoconf snippets can use
62563         AC_REQUIRE.
62564
62565 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62566
62567         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
62568         Initialize pkgdata_DATA.
62569         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
62570         overriding it.
62571
62572 2006-08-06  Eric Blake  <ebb9@byu.net>
62573
62574         * lib/error.h: Fold in some upstream changes from glibc.
62575         * lib/error.c: Likewise.
62576
62577 2006-08-04  Bruno Haible  <bruno@clisp.org>
62578
62579         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
62580         Make the mostlyclean-local rule depend on mostlyclean-generic.
62581         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
62582
62583 2006-07-31  Bruno Haible  <bruno@clisp.org>
62584
62585         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
62586         <stdlib.h>, <string.h>.
62587
62588 2006-07-30  Bruno Haible  <bruno@clisp.org>
62589
62590         * modules/readlink (License): Change to LGPL.
62591
62592 2006-07-30  Bruno Haible  <bruno@clisp.org>
62593
62594         * modules/javaversion (Makefile.am): Distribute javaversion.java and
62595         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
62596         set PKGDATADIR to point to it.
62597
62598 2006-07-30  Bruno Haible  <bruno@clisp.org>
62599
62600         * modules/csharpexec (configure.ac): Comment out macro invocation.
62601         * modules/javaexec (configure.ac): Likewise.
62602         * modules/javacomp-script (configure.ac): Likewise.
62603
62604         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
62605
62606 2006-07-30  Bruno Haible  <bruno@clisp.org>
62607
62608         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
62609         linked-list.
62610
62611 2006-07-30  Bruno Haible  <bruno@clisp.org>
62612
62613         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
62614
62615 2006-07-30  Bruno Haible  <bruno@clisp.org>
62616
62617         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
62618         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
62619         get removed.
62620
62621 2006-07-29  Bruno Haible  <bruno@clisp.org>
62622
62623         Make it possible for gnulib-tool to work with locally modified or
62624         augmented gnulib repositories.
62625         * gnulib-tool (func_usage): Document --local-dir option.
62626         (local_gnulib_dir): New variable.
62627         Handle --local-dir option.
62628         (func_lookup_file): New function.
62629         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
62630         (func_get_description, func_get_filelist, func_get_description,
62631         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
62632         func_get_automake_snippet, func_get_include_directive,
62633         func_get_license, func_get_maintainer): Use func_lookup_file.
62634         (func_import, func_create_testdir): Use func_lookup_file.
62635
62636 2006-07-29  Bruno Haible  <bruno@clisp.org>
62637
62638         * modules/setenv (Depends-on): Add unistd.
62639
62640 2006-07-29  Bruno Haible  <bruno@clisp.org>
62641
62642         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
62643
62644 2006-07-29  Bruno Haible  <bruno@clisp.org>
62645
62646         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
62647
62648 2006-07-29  Bruno Haible  <bruno@clisp.org>
62649
62650         * gnulib-tool (import, update): If there is no Makefile.am, look at
62651         aclocal.m4, instead of bailing out.
62652
62653 2006-07-29  Bruno Haible  <bruno@clisp.org>
62654
62655         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
62656         Categorize the options by when they are useful.
62657
62658 2006-07-29  Bruno Haible  <bruno@clisp.org>
62659
62660         * gnulib-tool (func_usage): Document option --no-libtool.
62661         Handle option --no-libtool.
62662         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
62663         for changed semantics of $libtool variable.
62664         (func_import): Likewise. If libtool is not used, show this through
62665         an option --no-libtool.
62666         (func_create_testdir): Update.
62667
62668 2006-07-29  Bruno Haible  <bruno@clisp.org>
62669
62670         * gnulib-tool (func_import): Extend error message about missing
62671         --doc-base.
62672
62673 2006-07-29  Bruno Haible  <bruno@clisp.org>
62674
62675         * gnulib-tool (func_import): Don't create the $docbase directory if
62676         there is no file to store there.
62677
62678 2006-07-29  Bruno Haible  <bruno@clisp.org>
62679
62680         * gnulib-tool (autoconf_minversion): If a --dir option is given and
62681         relevant, look for configure.ac there, not in the current directory.
62682         Also use a simple search for AC_PREREQ, not "autoconf --trace".
62683
62684 2006-07-29  Bruno Haible  <bruno@clisp.org>
62685
62686         * gnulib-tool (SORT): New variable.
62687         (func_usage): Undocument --assume-autoconf option.
62688         Remove --assume-autoconf option handling.
62689         (autoconf_minversion): Determine from the contents of configure.ac.
62690         (func_import): Remove autoconf_minversion handling.
62691         Suggested by Eric Blake.
62692
62693 2006-07-29  Bruno Haible  <bruno@clisp.org>
62694
62695         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
62696
62697 2006-07-29  Bruno Haible  <bruno@clisp.org>
62698
62699         * config/srclist.txt (*setenv.[ch]): Remove rules.
62700
62701 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
62702
62703         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
62704
62705 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
62706
62707         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
62708         arpa/inet.h.
62709
62710 2006-07-28  Simon Josefsson  <jas@extundo.com>
62711
62712         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
62713         * modules/inet_pton (Depends-on): Likewise.
62714
62715 2006-07-28  Simon Josefsson  <jas@extundo.com>
62716
62717         * m4/netinet_in_h.m4: New file.
62718
62719 2006-07-28  Simon Josefsson  <jas@extundo.com>
62720
62721         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
62722         #include's.
62723
62724 2006-07-28  Simon Josefsson  <jas@extundo.com>
62725
62726         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
62727         #include's.
62728
62729 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
62730
62731         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
62732         setgid on directories only if they set these bits.
62733         * lib/modechange.h: Remove obsolete comment about masks.
62734
62735 2006-07-28  Eric Blake  <ebb9@byu.net>
62736
62737         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
62738         macro expansion.
62739
62740 2006-07-28  Bruno Haible  <bruno@clisp.org>
62741
62742         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
62743
62744 2006-07-28  Bruno Haible  <bruno@clisp.org>
62745
62746         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
62747
62748 2006-07-28  Bruno Haible  <bruno@clisp.org>
62749
62750         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
62751         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
62752         Define fallbacks.
62753         Avoids link error on FreeBSD 4.x.
62754         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
62755
62756         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
62757         encoding.
62758         * lib/mbswidth.c (iswcntrl): Likewise.
62759
62760 2006-07-27  Bruno Haible  <bruno@clisp.org>
62761
62762         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
62763         test.
62764
62765 2006-07-27  Bruno Haible  <bruno@clisp.org>
62766
62767         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
62768         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
62769         defined.
62770
62771 2006-07-26  Eric Blake  <ebb9@byu.net>
62772
62773         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
62774
62775 2006-07-26  Eric Blake  <ebb9@byu.net>
62776
62777         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
62778         like mingw that lack mkstemp.
62779         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
62780         avoid compilation warning on mingw.
62781
62782 2006-07-26  Bruno Haible  <bruno@clisp.org>
62783
62784         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
62785         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
62786         INT_FAST*_MIN, INTPTR_MIN.
62787
62788 2006-07-25  Bruno Haible  <bruno@clisp.org>
62789
62790         * modules/version-etc (Depends-on): Add stdarg.
62791
62792 2006-07-25  Bruno Haible  <bruno@clisp.org>
62793
62794         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
62795         complex commands.
62796
62797 2006-07-25  Bruno Haible  <bruno@clisp.org>
62798
62799         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
62800         defined in <stdarg.h> or config.h.
62801
62802 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
62803
62804         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
62805         (gl_STDIO_SAFER): Remove.
62806
62807 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
62808
62809         * MODULES.html.sh (File stream based Input/Output):
62810         Add fopen-safer, tmpfile-safer; remove stdio-safer.
62811         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
62812         * modules/fopen-safer, modules/tmpfile-safer: New files.
62813         * modules/stdio-safer: Remove.
62814
62815 2006-07-24  Bruno Haible  <bruno@clisp.org>
62816
62817         * modules/tmpdir: New file.
62818         * MODULES.html.sh (File system functions): Add it.
62819
62820 2006-07-24  Bruno Haible  <bruno@clisp.org>
62821
62822         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
62823         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
62824
62825 2006-07-24  Bruno Haible  <bruno@clisp.org>
62826
62827         * modules/clean-temp: New file.
62828
62829 2006-07-24  Bruno Haible  <bruno@clisp.org>
62830
62831         * m4/tmpdir.m4: New file, from GNU gettext.
62832
62833 2006-07-24  Bruno Haible  <bruno@clisp.org>
62834
62835         * lib/tmpdir.h: New file, from GNU gettext.
62836         * lib/tmpdir.c: New file, from GNU gettext.
62837
62838 2006-07-24  Bruno Haible  <bruno@clisp.org>
62839
62840         * lib/clean-temp.h: New file, from GNU gettext.
62841         * lib/clean-temp.c: New file, from GNU gettext.
62842
62843 2006-07-23  Eric Blake  <ebb9@byu.net>
62844
62845         * modules/stdio-safer (Files): Add tmpfile-safer.c.
62846         (Depends-on): Add binary-io.
62847
62848 2006-07-23  Eric Blake  <ebb9@byu.net>
62849
62850         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
62851
62852 2006-07-23  Eric Blake  <ebb9@byu.net>
62853
62854         * lib/tmpfile-safer.c: New file.
62855         * lib/stdio-safer.h (fopen_safer): Add prototype.
62856         * lib/stdio--.h (tmpfile): Make safer.
62857
62858 2006-07-23  Bruno Haible  <bruno@clisp.org>
62859
62860         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
62861         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
62862         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
62863         gl_linked_remove_at): Use it.
62864
62865 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
62866         and Simon Josefsson <jas@extundo.com>
62867
62868         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
62869
62870         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
62871
62872 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
62873
62874         * modules/close-stream: New file.
62875         * modules/closeout (Description): Make it clear that it exits
62876         with a diagnostic on error.
62877         (Depends-on): Add close-stream.  Remove fpending, stdbool.
62878         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
62879
62880 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
62881
62882         * m4/close-stream.m4: New file.
62883
62884 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
62885
62886         * lib/close-stream.c, lib/close-stream.h: New files.
62887
62888 2006-07-22  Bruno Haible  <bruno@clisp.org>
62889
62890         Merge from GNU gettext 0.15.
62891
62892         2006-05-01  Bruno Haible  <bruno@clisp.org>
62893
62894                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
62895
62896         2006-07-22  Bruno Haible  <bruno@clisp.org>
62897
62898                 * modules/javaversion: New file.
62899                 * MODULES.html.sh (Java): Add javaversion.
62900
62901         2006-03-12  Bruno Haible  <bruno@clisp.org>
62902
62903                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
62904
62905         2005-12-04  Bruno Haible  <bruno@clisp.org>
62906
62907                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
62908                 (untested).
62909
62910         2006-06-21  Bruno Haible  <bruno@clisp.org>
62911
62912                 Avoid warnings from recent versions of mcs.
62913                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
62914                 -o, -L, -r any more. Use options documented since mcs-1.0
62915                 instead. Similarly for -g.
62916
62917         2005-12-04  Bruno Haible  <bruno@clisp.org>
62918
62919                 * build-aux/csharpcomp.sh.in: Suffix for resources is
62920                 .resources, not .resource.
62921
62922         2005-07-09  Bruno Haible  <bruno@clisp.org>
62923
62924                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
62925                 add a .dll suffix.
62926                 Reported by Mark Junker <mjscod@gmx.de>.
62927
62928         2006-07-22  Bruno Haible  <bruno@clisp.org>
62929
62930                 * modules/gettext: Upgrade to gettext-0.15.
62931                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
62932                 m4/visibility.m4.
62933                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
62934
62935 2006-07-22  Bruno Haible  <bruno@clisp.org>
62936
62937         Merge from GNU gettext 0.15.
62938
62939         2006-03-25  Bruno Haible  <bruno@clisp.org>
62940
62941                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
62942
62943         2006-07-21  Bruno Haible  <bruno@clisp.org>
62944
62945                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
62946                 "1.1".
62947
62948         2006-05-09  Bruno Haible  <bruno@clisp.org>
62949
62950                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
62951                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
62952                 for the conftestver execution.
62953
62954         2006-05-01  Bruno Haible  <bruno@clisp.org>
62955
62956                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
62957                 optional target-version argument. Verify that the compiler
62958                 groks source of the specified source-version, or add -source
62959                 option as necessary. Verify that the compiler produces
62960                 bytecode in the specified target-version, or add -target and
62961                 -source options as necessary. Make the result of the test
62962                 available as variable CONF_JAVAC. Also log error output in
62963                 config.log.
62964
62965         2006-03-11  Bruno Haible  <bruno@clisp.org>
62966
62967                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
62968
62969         2006-05-09  Bruno Haible  <bruno@clisp.org>
62970
62971                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
62972                 CLASSPATH_SEPARATOR to a semicolon.
62973
62974         2006-03-12  Bruno Haible  <bruno@clisp.org>
62975
62976                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
62977                 available as variable CONF_JAVA, for subsequent autoconf
62978                 tests. Also log error output in config.log.
62979
62980         2006-07-19  Bruno Haible  <bruno@clisp.org>
62981
62982                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
62983                 that getline works on glibc2 systems. Needed to avoid trouble
62984                 in relocatable.c.
62985                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
62986
62987         2005-12-04  Bruno Haible  <bruno@clisp.org>
62988
62989                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
62990                 launcher (untested).
62991
62992         2005-12-04  Bruno Haible  <bruno@clisp.org>
62993
62994                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
62995
62996         2006-07-22  Bruno Haible  <bruno@clisp.org>
62997
62998                 * gettext.m4: Update from GNU gettext-0.15.
62999                 * nls.m4: Likewise.
63000                 * po.m4: Likewise.
63001                 * inttypes-pri.m4: Likewise.
63002                 * inttypes-h.m4: Renamed from inttypes.m4.
63003                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
63004
63005 2006-07-22  Bruno Haible  <bruno@clisp.org>
63006
63007         Merge from GNU gettext 0.15.
63008
63009         2005-07-05  Bruno Haible  <bruno@clisp.org>
63010
63011                 * printf-args.c (printf_fetchargs): Work around broken
63012                 definition of wint_t on mingw.
63013
63014         2005-02-12  Bruno Haible  <bruno@clisp.org>
63015
63016                 * xallocsa.h: Add extern "C" for C++.
63017
63018         2006-05-17  Bruno Haible  <bruno@clisp.org>
63019
63020                 Cygwin portability.
63021                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
63022
63023         2006-04-30  Bruno Haible  <bruno@clisp.org>
63024
63025                 * progreloc.c: Include <mach-o/dyld.h> if available.
63026                 (find_executable): Use _NSGetExecutablePath when possible.
63027
63028         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
63029
63030                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
63031                 function.
63032
63033         2005-12-29  Bruno Haible  <bruno@clisp.org>
63034
63035                 * progreloc.c (set_program_name_and_installdir): Fix
63036                 compilation error.
63037
63038         2005-12-04  Bruno Haible  <bruno@clisp.org>
63039
63040                 Cygwin portability.
63041                 * progreloc.c: Include <windows.h> also on Cygwin.
63042                 (find_executable): Add support for Cygwin.
63043                 (set_program_name_and_installdir): Handle also platforms with
63044                 nonempty EXEEXT.
63045
63046         2006-07-11  Bruno Haible  <bruno@clisp.org>
63047
63048                 * javacomp.c: Fix a comment.
63049                 Reported by Jim Meyering.
63050
63051         2006-04-30  Bruno Haible  <bruno@clisp.org>
63052
63053                 * javacomp.h (compile_java_class): Add source_version,
63054                 target_version arguments.
63055                 * javacomp.c: Rewritten to choose only a compiler that
63056                 respects the specified source_version and target_version.
63057
63058         2006-06-27  Bruno Haible  <bruno@clisp.org>
63059
63060                 Assume correct S_ISDIR macro.
63061                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
63062
63063         2006-07-22  Bruno Haible  <bruno@clisp.org>
63064
63065                 * javaversion.h: New file, from GNU gettext.
63066                 * javaversion.c: New file, from GNU gettext.
63067                 * javaversion.java: New file, from GNU gettext.
63068                 * javaversion.class: New file, from GNU gettext.
63069
63070         2006-05-17  Bruno Haible  <bruno@clisp.org>
63071
63072                 Cygwin portability.
63073                 * javaexec.c (execute_java_class): Test for jview program
63074                 also on Cygwin.
63075
63076         2006-04-09  Bruno Haible  <bruno@clisp.org>
63077
63078                 * fatal-signal.c: Don't include string.h.
63079                 (at_fatal_signal): Use a copying loop instead of memcpy.
63080
63081         2005-12-04  Bruno Haible  <bruno@clisp.org>
63082
63083                 * csharpexec.c: Add support for 'clix' launcher (untested).
63084                 (execute_csharp_using_sscli): New function.
63085                 (execute_csharp_program): Call it.
63086
63087         2006-06-21  Bruno Haible  <bruno@clisp.org>
63088
63089                 Avoid warnings from recent versions of mcs.
63090                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
63091                 -o, -L, -r any more. Use options documented since mcs-1.0
63092                 instead. Similarly for -g.
63093
63094         2005-07-09  Bruno Haible  <bruno@clisp.org>
63095
63096                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
63097                 add a .dll suffix.
63098                 Reported by Mark Junker <mjscod@gmx.de>.
63099
63100         2006-06-17  Bruno Haible  <bruno@clisp.org>
63101
63102                 * config.charset: Update for NetBSD 3.0.
63103
63104         2006-05-17  Bruno Haible  <bruno@clisp.org>
63105
63106                 Cygwin portability.
63107                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
63108
63109         2006-05-16  Bruno Haible  <bruno@clisp.org>
63110
63111                 * localcharset.c [CYGWIN]: Include <windows.h>.
63112                 (get_charset_aliases): For Cygwin, return the same CPxxx
63113                 aliases list as under WIN32.
63114                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
63115                 the environment variables. Fall back to GetACP().
63116
63117         2006-04-05  Bruno Haible  <bruno@clisp.org>
63118
63119                 * config.charset: Update Juan Manuel Guerrero's address.
63120
63121         2005-02-12  Bruno Haible  <bruno@clisp.org>
63122
63123                 * allocsa.h: Add extern "C" for C++.
63124
63125         2005-02-10  Bruno Haible  <bruno@clisp.org>
63126
63127                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
63128                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
63129
63130         2006-07-22  Bruno Haible  <bruno@clisp.org>
63131
63132                 * gettext.h: Update to GNU gettext-0.15.
63133
63134 2006-07-22  Bruno Haible  <bruno@clisp.org>
63135
63136         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
63137         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
63138         lib-prefix.m4, longdouble.m4, ssize_t.m4.
63139
63140 2006-07-21  Eric Blake  <ebb9@byu.net>
63141
63142         * modules/stdlib-safer: New file.
63143         * MODULES.html.sh (File stream based Input/Output): Add
63144         stdlib-safer.
63145
63146 2006-07-21  Eric Blake  <ebb9@byu.net>
63147
63148         * lib/stdlib-safer.h: New file from coreutils, required by
63149         stdlib--.h.
63150
63151 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
63152
63153         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
63154
63155 2006-07-20  Bruno Haible  <bruno@clisp.org>
63156
63157         * gnulib-tool: Recognize new option --assume-autoconf.
63158         (autoconf_minversion): New variable.
63159         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
63160
63161 2006-07-20  Bruno Haible  <bruno@clisp.org>
63162
63163         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
63164
63165 2006-07-19  Derek R. Price  <derek@ximbiot.com>
63166
63167         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
63168         Reindent and repaginate.
63169
63170 2006-07-19  Derek Price  <derek@ximbiot.com>
63171
63172         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
63173         Correct grammar.
63174
63175 2006-07-17  Bruno Haible  <bruno@clisp.org>
63176
63177         * modules/list: New file.
63178         * modules/array-list: New file.
63179         * modules/carray-list, modules/carray-list-tests: New files.
63180         * modules/linked-list, modules/linked-list-tests: New files.
63181         * modules/avltree-list, modules/avltree-list-tests: New files.
63182         * modules/rbtree-list, modules/rbtree-list-tests: New files.
63183         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
63184         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
63185         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
63186         * modules/oset: New file.
63187         * modules/array-oset: New file.
63188         * modules/avltree-oset, modules/avltree-oset-tests: New files.
63189         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
63190         * tests/test-carray_list.c: New file.
63191         * tests/test-linked_list.c: New file.
63192         * tests/test-avltree_list.c: New file.
63193         * tests/test-rbtree_list.c: New file.
63194         * tests/test-linkedhash_list.c: New file.
63195         * tests/test-avltreehash_list.c: New file.
63196         * tests/test-rbtreehash_list.c: New file.
63197         * tests/test-avltree_oset.c: New file.
63198         * tests/test-rbtree_oset.c: New file.
63199         * MODULES.html.sh (Container data structures): New section.
63200
63201 2006-07-17  Bruno Haible  <bruno@clisp.org>
63202
63203         * m4/gl_list.m4: New file.
63204
63205 2006-07-17  Bruno Haible  <bruno@clisp.org>
63206
63207         * lib/gl_list.h: New file.
63208         * lib/gl_list.c: New file.
63209         * lib/gl_array_list.h: New file.
63210         * lib/gl_array_list.c: New file.
63211         * lib/gl_carray_list.h: New file.
63212         * lib/gl_carray_list.c: New file.
63213         * lib/gl_linked_list.h: New file.
63214         * lib/gl_linked_list.c: New file.
63215         * lib/gl_anylinked_list1.h: New file.
63216         * lib/gl_anylinked_list2.h: New file.
63217         * lib/gl_avltree_list.h: New file.
63218         * lib/gl_avltree_list.c: New file.
63219         * lib/gl_anyavltree_list1.h: New file.
63220         * lib/gl_anyavltree_list2.h: New file.
63221         * lib/gl_rbtree_list.h: New file.
63222         * lib/gl_rbtree_list.c: New file.
63223         * lib/gl_anyrbtree_list1.h: New file.
63224         * lib/gl_anyrbtree_list2.h: New file.
63225         * lib/gl_anytree_list1.h: New file.
63226         * lib/gl_anytree_list2.h: New file.
63227         * lib/gl_linkedhash_list.h: New file.
63228         * lib/gl_linkedhash_list.c: New file.
63229         * lib/gl_anyhash_list1.h: New file.
63230         * lib/gl_anyhash_list2.h: New file.
63231         * lib/gl_avltreehash_list.h: New file.
63232         * lib/gl_avltreehash_list.c: New file.
63233         * lib/gl_rbtreehash_list.h: New file.
63234         * lib/gl_rbtreehash_list.c: New file.
63235         * lib/gl_anytreehash_list1.h: New file.
63236         * lib/gl_anytreehash_list2.h: New file.
63237
63238         * lib/gl_oset.h: New file.
63239         * lib/gl_oset.c: New file.
63240         * lib/gl_array_oset.h: New file.
63241         * lib/gl_array_oset.c: New file.
63242         * lib/gl_avltree_oset.h: New file.
63243         * lib/gl_avltree_oset.c: New file.
63244         * lib/gl_rbtree_oset.h: New file.
63245         * lib/gl_rbtree_oset.c: New file.
63246         * lib/gl_anytree_oset.h: New file.
63247
63248 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
63249
63250         * m4/mkancesdirs.m4: New file.
63251         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
63252         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
63253         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
63254         it.
63255
63256 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
63257
63258         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
63259         * lib/mkancesdirs.h: New files.
63260         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
63261         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
63262         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
63263         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
63264         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
63265         callers changed.  Revamp internals significantly, by not
63266         attempting to create directories that are temporarily more
63267         permissive than the final results.  Do not attempt to use
63268         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
63269         This removes some race conditions, fixes some bugs, and simplifies
63270         things.  Use new dirchownmod function to do owner and mode changes.
63271         * lib/mkdir-p.h: Likewise.
63272         * lib/modechange.c (octal_to_mode): New function.
63273         (struct mode_change): New member mentioned.
63274         (make_node_op_equals): New arg mentioned.  All callers changed.
63275         (mode_compile): Keep track of which mode bits the user has explicitly
63276         mentioned.
63277         (mode_adjust): New arg DIR, so that we implement the X op correctly.
63278         New arg PMODE_BITS, to keep track of which mode bits the user
63279         mentioned; it treats S_ISUID and S_ISGID speciall.
63280         All callers changed.
63281         * lib/modechange.h: Likewise.
63282
63283 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
63284
63285         * MODULES.html.sh: Add mkancestors.
63286         * modules/mkancesdirs: New module.
63287         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
63288         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
63289         The chdir-safer and afs files are now orphans; I'll remove them
63290         unless someone speaks up.
63291         Add lib/dirchownmod.c, lib/dirchownmod.h.
63292         (Depends-on): Remove alloca, chown, save-cwd, dirname.
63293         Add lchown, mkancesdirs.
63294         (Maintainer): Add self.
63295
63296 2006-07-15  Karl Berry  <karl@gnu.org>
63297
63298         * gnulib-tool: help message wording/arrangement.
63299
63300 2006-07-14  Simon Josefsson  <jas@extundo.com>
63301
63302         * doc/gnulib.texi (Libtool and Windows): New section.
63303
63304 2006-07-12  Simon Josefsson  <jas@extundo.com>
63305
63306         * modules/gendocs (License): Fix license, approved by Karl.
63307
63308 2006-07-12  Eric Blake  <ebb9@byu.net>
63309
63310         * MODULES.html.sh: Add gendocs.
63311
63312 2006-07-11  Eric Blake  <ebb9@byu.net>
63313
63314         * modules/fdl: New module, to install doc/fdl.texi.
63315         * MODULES.html.sh: Add new section for documentation modules.
63316         * gnulib-tool: Avoid space-tab.
63317         (--doc-base): New option, to manage files from doc.
63318
63319 2006-07-11  Eric Blake  <ebb9@byu.net>
63320
63321         * m4/absolute-header.m4: Fix comments to match recent change.
63322
63323 2006-07-11  Eric Blake  <ebb9@byu.net>
63324
63325         * gnulib-tool: List --doc-base before --tests-base.
63326
63327 2006-07-11  Derek R. Price  <derek@ximbiot.com>
63328
63329         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
63330
63331 2006-07-11  Bruno Haible  <bruno@clisp.org>
63332
63333         * README: Mention where to put documentation.
63334
63335 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63336
63337         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
63338
63339 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
63340
63341         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
63342         to stdint.m4.
63343
63344 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
63345
63346         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
63347         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
63348         "no/such/file/stdint.h" when there is no such file, so that
63349         the resulting C code can be parsed by dodgy compilers.
63350         Problems reported by Bob Proulx.
63351
63352 2006-07-10  Derek R. Price  <derek@ximbiot.com>
63353
63354         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
63355         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
63356         macros into the GNU _D_EXACT_NAMLEN.
63357         * lib/savedir.c:  Likewise.
63358         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
63359
63360 2006-07-10  Derek R. Price  <derek@ximbiot.com>
63361         and Paul Eggert  <eggert@cs.ucla.edu>
63362
63363         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
63364         * m4/savedir.m4:
63365         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
63366         macros into the GNU _D_EXACT_NAMLEN.
63367
63368 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
63369
63370         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
63371         around the absolute name, to work around a problem with the HP-UX
63372         11.23 native C compiler, reported by Bob Proulx.
63373
63374 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
63375
63376         * doc/maintain.texi, make-stds.texi: Sync from
63377         <http://savannah.gnu.org/projects/gnustandards>.
63378
63379 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
63380
63381         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
63382
63383 2006-07-09  Jim Meyering  <jim@meyering.net>
63384
63385         * m4/glob.m4: Remove a doubled word in a comment.
63386
63387 2006-07-09  Jim Meyering  <jim@meyering.net>
63388
63389         * lib/argp-pv.c: Remove a doubled word in a comment.
63390         * lib/check-version.c (check_version): Likewise.
63391         * lib/javacomp.c (compile_java_class): Likewise.
63392
63393 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
63394
63395         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
63396         for the benefit of people using Autoconf 2.60.  If you want to
63397         support older Autoconf versions you can copy m4/onceonly_2_57.m4
63398         (or m4/onceonly.m4, if pre-2.57) manually.
63399
63400 2006-07-08  Jim Meyering  <jim@meyering.net>
63401
63402         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
63403         comment.
63404         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
63405         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
63406         comment.
63407
63408 2006-07-08  Jim Meyering  <jim@meyering.net>
63409
63410         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
63411
63412 2006-07-07  Simon Josefsson  <jas@extundo.com>
63413
63414         * tests/test-crc.c: Change expected crc value, the test vector
63415         were probably computed using the old broken crc.c?
63416
63417 2006-07-06  Simon Josefsson  <jas@extundo.com>
63418
63419         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
63420         now the canonical place for the M4 file).
63421
63422         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
63423         from the sys_socket dependency now.
63424
63425         * modules/inet_pton (Files): Ditto.
63426
63427         * modules/inet_ntop (Files): Ditto.
63428
63429 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
63430
63431         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
63432         not gl_PREREQ_GETUSERSHELL.
63433
63434 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63435
63436         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
63437         with only one argument, for Autoconf 2.60.
63438         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
63439         expand to nothing, so add a shell command to avoid syntax error.
63440         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
63441
63442 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63443
63444         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
63445
63446 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
63447
63448         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
63449         no longer needed.  Check for isblank decl.
63450         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
63451         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
63452         of existence.
63453
63454 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
63455
63456         * lib/getloadavg.c: Use __VMS, not VMS.
63457         * lib/getopt.c: Likewise.
63458         * lib/getpagesize.h: Likewise.
63459         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
63460         and probably does not work.
63461
63462 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
63463
63464         * lib/.cppi-disable: Add wcwidth.
63465         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
63466         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
63467         (ISGRAPH): Remove.  All uses changed to isgraph.
63468         (FOLD) [!defined _LIBC]: Remove special case.
63469         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
63470         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
63471         HAVE_ISBLANK.
63472         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
63473         case.
63474
63475 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
63476
63477         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
63478         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
63479         brackets.  Other minor changes to suppress some compiler
63480         warnings.
63481
63482 2006-07-06  Derek R. Price  <derek@ximbiot.com>
63483         and Paul Eggert  <eggert@cs.ucla.edu>
63484
63485         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
63486         of invoking obsolescent AC_HEADER_DIRENT macro.
63487         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
63488         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
63489         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
63490         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
63491         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
63492         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
63493         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
63494         * m4/readdir.m4: Remove; no longer needed.
63495
63496 2006-07-06  Derek R. Price  <derek@ximbiot.com>
63497         and Paul Eggert  <eggert@cs.ucla.edu>
63498
63499         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
63500         Don't worry about this obsolete case any more.
63501         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
63502         directories.
63503         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
63504         worry about this obsolete case any more.
63505         * lib/fts.c: Likewise.
63506         * lib/getcwd.c: Likewise.
63507         * lib/glob.h: Likewise.
63508         * lib/savedir.c: Likewise.
63509
63510 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
63511
63512         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
63513         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
63514         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
63515         needed.
63516         All uses removed.
63517         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
63518         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
63519         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
63520         needed.
63521         * m4/getdate.m4 (gl_GETDATE): Likewise.
63522         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
63523         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
63524         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
63525         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
63526         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
63527         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
63528         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
63529         needed.
63530
63531 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
63532
63533         * lib/memcasecmp.c: Include <limits.h>.
63534         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
63535         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
63536         Don't assume isdigit succeeds only on '0' through '9'.
63537
63538 2006-07-05  Eric Blake  <ebb9@byu.net>
63539
63540         * modules/getaddrinfo (Depends-on): Add snprintf.
63541
63542 2006-07-05  Eric Blake  <ebb9@byu.net>
63543
63544         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
63545         to avoid 'header present but could not be compiled' on cygwin.
63546
63547 2006-07-05  Eric Blake  <ebb9@byu.net>
63548
63549         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
63550         missing from netdb.h.
63551         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
63552
63553 2006-07-05  Derek R. Price  <derek@ximbiot.com>
63554
63555         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
63556         no longer needed.
63557         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
63558         * m4/getdate.m4 (gl_GETDATE): Likewise.
63559         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
63560         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
63561         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
63562         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
63563         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
63564
63565 2006-07-05  Derek R. Price  <derek@ximbiot.com>
63566
63567         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
63568         All uses of is_space replaced by isspace.
63569         * lib/exit.h: Don't talk about STDC_HEADERS.
63570         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
63571         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
63572         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
63573         replaced by isprint etc.
63574         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
63575         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
63576         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
63577         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
63578         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
63579         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
63580
63581 2006-07-05  Bruno Haible  <bruno@clisp.org>
63582
63583         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
63584         the function exists, before testing against AIX.
63585         Reported by Martin Lambers <marlam@marlam.de>.
63586
63587 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
63588
63589         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
63590         From Mark D. Baushke.
63591
63592 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
63593
63594         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
63595         to the absolute name, not just one, to bypass Sun C 5.8's
63596         "warning: #include of /usr/include/... may be non-portable".
63597
63598 2006-07-04  Eric Blake  <ebb9@byu.net>
63599
63600         * modules/dirname-tests: New test module.
63601         * tests/test-dirname.c: New file, replacing dirname.c
63602         TEST_DIRNAME section that was recently deleted.
63603
63604 2006-07-04  Bruno Haible  <bruno@clisp.org>
63605
63606         Assume ANSI C header files and <ctype.h> functions.
63607         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
63608         (mbsnwidth): Use isprint, iscntrl instead.
63609
63610 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
63611
63612         Merge from coreutils.
63613         * MODULES.html.sh: Add xstrtold.
63614         * modules/xstrtold: New file.
63615         * modules/cycle-check (Files): Add lib/same-inode.h.
63616         * modules/dirname (Files): Add m4/double-slash-root.m4.
63617         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
63618         * modules/mkdir-p (Files): Add lib/same-inode.h.
63619         * modules/same (Files): Add lib/same-inode.h.
63620
63621 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
63622
63623         * m4/absolute-header.m4: Renamed from full-header-path.m4.
63624         This is to keep the terminology clean; POSIX talks about
63625         "absolute pathnames", not "full pathnames", but the GNU
63626         Coding Standards say to use "path" for something else;
63627         so use "absolute" to keep both sides happy.
63628         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
63629         Set gl_absolute_header, not gl_full_header_path.
63630         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
63631         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
63632         All uses changed.
63633
63634         Merge from coreutils.
63635
63636         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
63637
63638         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
63639         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
63640         want to require the building of c-strtod.o.
63641         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
63642         needs -lm directly.
63643         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
63644
63645         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
63646
63647         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
63648         --as-needed option if available.  Problem reported by Albert Chin in
63649         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
63650         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
63651         cc merely issues a bunch of annoying warnings for --as-needed
63652         (this problem was reported by Bob Proulx).  Also, try linking with
63653         -lm to detect a bug in binutils 2.16 (this problem was reported
63654         by Ralf Wildenhues).
63655
63656         2006-06-18  Jim Meyering  <jim@meyering.net>
63657
63658         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
63659         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
63660         macro.
63661         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
63662         also check for glibc-2.4's abort-inducing bug.
63663
63664         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
63665         Low-probability clean-up should be to use rmdir to get rid of
63666         the just-created directory, not unlink.
63667
63668         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
63669         configure fail, and request a bug report to inform us about it.
63670         Add a comment that, barring reports to the contrary, in 2007 we'll
63671         assume ftruncate is universally available.
63672
63673         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
63674
63675         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
63676
63677         2006-03-12  Jim Meyering  <jim@meyering.net>
63678
63679         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
63680         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
63681         * m4/same.m4 (gl_SAME): Likewise.
63682         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
63683
63684         2006-03-11  Eric Blake  <ebb9@byu.net>
63685
63686         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
63687         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
63688         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
63689         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
63690
63691 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
63692
63693         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
63694         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
63695         reported by Mark D. Baushke, one in
63696         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
63697
63698         Merge from coreutils.
63699
63700         * lib/.cppi-disable: Add stdint_.h.
63701         * lib/.cvsignore: Add stdint.h.
63702
63703         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
63704
63705         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
63706         both double and long double versions.
63707         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
63708         * lib/xstrtold.c: New file.
63709         * lib/xstrtod.h (xstrtold): New decl.
63710
63711         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
63712
63713         * lib/filemode.c (setst): Remove.
63714         (strmode): Rewrite to avoid setst.  This makes the code shorter,
63715         (arguably) clearer, and the generated code is a bit smaller on my
63716         Debian GNU/Linux stable x86 host.
63717
63718         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
63719
63720         * lib/filemode.c: Include "filemode.h" first, to test the interface.
63721         Assume that filemode.h includes sys/types.h and sys/stat.h.
63722         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
63723         (ftypelet): Reorder to put common cases first, for efficiency.
63724         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
63725         to do 'M'.
63726         (strmode): Renamed from mode_string, and now stores 12 bytes instead
63727         of 10, for compatibility with FreeBSD.  All callers changed.
63728         (filemodestring): Now stores 12 bytes instead of 10, and sets file
63729         types that can't be deduced solely from st_mode.  First arg is now a
63730         const pointer.
63731         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
63732         (strmode): Renamed from mode_string.
63733         (filemodestring): New decl.
63734         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
63735         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
63736         needed.
63737         (S_ISPORT, S_ISWHT): New macros, if not already defined.
63738
63739         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
63740
63741         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
63742         fsusage.h now does that.  Include fsusage.h first, to test interface.
63743         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
63744         at most one method (the old code could have generated decls that
63745         didn't conform to C89, not that this was ever exercised).
63746         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
63747
63748         2006-03-19  Jim Meyering  <jim@meyering.net>
63749
63750         Work even in a chroot where d_ino values for entries in "/"
63751         don't match the stat.st_ino values for the same names.
63752         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
63753         number, iterate through all entries again, using lstat instead.
63754         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
63755         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
63756
63757         * lib/getcwd.c (__getcwd): Clarify a comment.
63758         Use memcpy in place of a call to strcpy.
63759
63760         2006-03-12  Jim Meyering  <jim@meyering.net>
63761
63762         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
63763         matches that of the current directory (which we're about to chdir ".."
63764         out of), then save the dev-ino of the parent, instead.
63765
63766         * lib/same-inode.h (SAME_INODE): New file/macro.
63767         * lib/chdir-safer.c (SAME_INODE): Remove definition.
63768         Include "same-inode.h", instead.
63769         * lib/same.c: Likewise.
63770         * lib/cycle-check.h: Include "same-inode.h".
63771         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
63772         * lib/cycle-check.c (SAME_INODE): Remove definition.
63773         * lib/root-dev-ino.h: Include "same-inode.h".
63774
63775         2006-03-11  Eric Blake  <ebb9@byu.net>
63776
63777         * lib/same.c (same_name): s/base_name/last_component/
63778         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
63779         * lib/filenamecat.c (file_name_concat): Likewise.
63780
63781         2006-03-11  Eric Blake  <ebb9@byu.net>,
63782                     Paul Eggert  <eggert@cs.ucla.edu>
63783
63784         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
63785         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
63786         drive prefix.
63787         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
63788         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
63789         (last_component): New method.
63790         * lib/dirname.c (dir_len): Determine when drive letters need a
63791         subsequent slash.  Preserve // when it is special.
63792         (dir_name): Don't append dot when drive letter is absolute.
63793         [TEST_DIRNAME]: Move into a full-blown gnulib test.
63794         * lib/basename.c (base_name): New semantics - malloc the result.
63795         Preserve // when it is special.  Preserve relative files that look
63796         like drive letters.
63797         (base_len): Preserve // when it is special.
63798         (last_component): New method, similar to old base_name semantics.
63799         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
63800         base_name.  Strip redundant slashes from ///.
63801
63802 2006-07-03  Jim Meyering  <jim@meyering.net>
63803
63804         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
63805         macro is used before the first cycle_check call.
63806
63807 2006-07-03  Eric Blake  <ebb9@byu.net>
63808
63809         * modules/dirname (Depends-on): Add xstrndup.
63810
63811 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
63812
63813         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
63814         test cases, so that config.log is a bit easier to follow.
63815
63816 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
63817
63818         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
63819         both are 64 bits, since this seems to be the tradition, and this
63820         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
63821         we ever run into a host that prefers long long to long in this
63822         case, we'll need another configure-time test.  Problem reported by
63823         Jim Meyering.
63824
63825 2006-07-02  Eric Blake  <ebb9@byu.net>
63826
63827         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
63828
63829 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
63830
63831         * modules/inttypes (Depends-on): No longer depends on stdint.
63832         * modules/stdint (Description): Say more about assumptions.
63833         Say that the fast types might differ.  Say macros are used.
63834         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
63835         (Makefile.am): Revise list of substituted symbols to match
63836         new stdint.m4.
63837         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
63838         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
63839         * tests/test-stdint.c (verify_same_types)
63840         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
63841         the code conforms to C99/C89.
63842         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
63843         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
63844
63845 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
63846
63847         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
63848         but fix a bug, by requiring at least 64 bits.
63849         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
63850         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
63851         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
63852         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
63853
63854         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
63855         changes.  Make 2.59 a prerequisite.  Check and substitute for
63856         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
63857         inttypes.h.  Do not use special include files; just use the
63858         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
63859         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
63860         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
63861         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
63862         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
63863         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
63864         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
63865         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
63866         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
63867         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
63868         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
63869         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
63870         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
63871         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
63872         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
63873         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
63874         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
63875         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
63876         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
63877         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
63878         WINT_MAX.  Check for C99 conformance more strictly, by detecting
63879         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
63880         not check for things that C99 does not require, e.g., int8_t.  If
63881         a test isn't needed unless <stdint.h> isn't working, and is
63882         unlikely to be needed for any other reason, then don't do it
63883         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
63884         size_t, since we assume C89 freestanding at least.  Do not check
63885         for sig_atomic_t, wchar_t, or wint_t, since the code now does
63886         the right thing even if the types are not defined.  Instead use:
63887         (gl_STDINT_TYPE_PROPERTIES): New macro.
63888         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
63889         testing whether <sys/types.h> clashes, as Autoconf does this for
63890         us now.  All uses removed.
63891         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
63892         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
63893         (gl_CHECK_TYPE_SAME):
63894         Remove; no longer needed.
63895         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
63896         exists, since we'll return 0 anyway in that case.
63897         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
63898
63899 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
63900
63901         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
63902         possible collision with system files.
63903         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
63904         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
63905         WCHAR_MIN and WCHAR_MAX in this case.
63906         (<stddef.h>): Do not include; no longer needed.
63907         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
63908         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
63909         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
63910         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
63911         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
63912         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
63913         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
63914         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
63915         !defined(__c99))]: Include in this case too, since it's harmless
63916         now.
63917         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
63918         dangerous to do so.
63919         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
63920         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
63921         (_STDINT_MIN, _STDINT_MAX): New macros.
63922         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
63923         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
63924         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
63925         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
63926         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
63927         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
63928         macros, not typedefs; this simplifies things quite a bit.
63929         Use long int for all types narrower than int64_t.
63930         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
63931         Define in terms of long long int or int64_t or long int,
63932         not int64_t or int32_t.  This saves some compile-time testing.
63933         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
63934         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
63935         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
63936         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
63937         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
63938         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
63939         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
63940         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
63941         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
63942         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
63943         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
63944         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
63945         undef any previous version and define our own version, for
63946         simplicity and consistency with the new macros for types.
63947         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
63948         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
63949         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
63950         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
63951         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
63952         @WINT_T_SUFFIX@ to keep things simple here.
63953         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
63954         Simplify by assuming typical 8/16/32/64 host, since we're
63955         already doing that elsewhere anyway.
63956         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
63957         and assume long long int is 64 bits if available.  This
63958         speeds up 'configure'.
63959
63960 2006-07-01  Eric Blake  <ebb9@byu.net>
63961
63962         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
63963         Reported by Andreas Buening.
63964
63965 2006-07-01  Eric Blake  <ebb9@byu.net>
63966
63967         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
63968
63969 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
63970
63971         * lib/getaddrinfo.c: fixed typo
63972
63973 2006-06-29  Jim Meyering  <jim@meyering.net>
63974
63975         * modules/strftime (Maintainer): Add my name, since with the
63976         FPRINTFTIME changes strftime.c has forked from glibc.
63977
63978 2006-06-29  Eric Blake  <ebb9@byu.net>
63979
63980         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
63981
63982 2006-06-29  Eric Blake  <ebb9@byu.net>
63983
63984         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
63985
63986 2006-06-29  Eric Blake  <ebb9@byu.net>
63987
63988         * lib/stat_.h: New file.
63989
63990 2006-06-29  Eric Blake  <ebb9@byu.net>
63991
63992         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
63993         unused static function.
63994
63995 2006-06-29  Eric Blake  <ebb9@byu.net>
63996
63997         * doc/functions.texi (Function Portability): Document missing lstat
63998         on mingw.
63999
64000 2006-06-29  Eric Blake  <ebb9@byu.net>
64001
64002         * MODULES.html.sh: Add sys_stat.
64003         * modules/sys_stat: New module.
64004         * modules/mkstemp (Depends-on): Add sys_stat.
64005
64006 2006-06-29  Derek R. Price  <derek@ximbiot.com>
64007
64008         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
64009
64010 2006-06-29  Derek R. Price  <derek@ximbiot.com>
64011
64012         * m4/c-bs-a.m4: Removed.
64013
64014 2006-06-29  Derek R. Price  <derek@ximbiot.com>
64015
64016         * lib/strftime.c: Assume strftime() exists.
64017
64018 2006-06-29  Derek Price  <derek@ximbiot.com>
64019
64020         * modules/c-bs-a: Removed - \a is C89.
64021         * MODULES.html.sh: Remove c-bs-a.
64022
64023 2006-06-29  Bruno Haible  <bruno@clisp.org>
64024
64025         * modules/wcwidth (License): Change to LGPL.
64026
64027 2006-06-28  Simon Josefsson  <jas@extundo.com>
64028
64029         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
64030         on _WIN32.
64031
64032         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
64033         getnameinfo.
64034
64035 2006-06-28  Simon Josefsson  <jas@extundo.com>
64036
64037         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
64038
64039 2006-06-28  Simon Josefsson  <jas@extundo.com>
64040
64041         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
64042         functions there.  It will succeed on Windows XP, but on Windows
64043         2000 and (presumably) earlier, it will fail, and use the internal
64044         re-implementation.
64045         (use_win32_p): New function.
64046         (getaddrinfo): Use strtoul on servname, to support numeric ports.
64047         Support AI_NUMERICSERV to disable getservbyname.
64048         (getnameinfo): New function, only supports
64049         NI_NUMERICHOST|NI_NUMERICSERV for now.
64050
64051         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
64052         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
64053         getnameinfo.
64054
64055 2006-06-28  Eric Blake  <ebb9@byu.net>
64056
64057         * modules/wcwidth: New file.
64058         * modules/mbchar (Depends-on): Add wcwidth.
64059         * modules/mbswidth (Depends-on): Add wcwidth.
64060         * MODULES.html.sh: Add wcwidth.
64061
64062 2006-06-28  Eric Blake  <ebb9@byu.net>
64063
64064         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
64065         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
64066
64067 2006-06-28  Eric Blake  <ebb9@byu.net>
64068
64069         * lib/xvasprintf.h: Fix comments.
64070
64071 2006-06-28  Eric Blake  <ebb9@byu.net>
64072
64073         * lib/mbchar.h (wcwidth): Include wcwidth.h.
64074         * lib/mbswidth.c (wcwidth): Move from here...
64075         * lib/wcwidth.h: ...to this new file.
64076
64077 2006-06-28  Derek R. Price  <derek@ximbiot.com>
64078
64079         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
64080
64081         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
64082         it's obsolete.
64083         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
64084
64085 2006-06-28  Derek R. Price  <derek@ximbiot.com>
64086
64087         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
64088         Autoconf 2.60 says this stuff was obsolete.
64089
64090 2006-06-28  Bruno Haible  <bruno@clisp.org>
64091
64092         * modules/wcwidth (Files): Add m4/wchar_t.m4.
64093
64094 2006-06-28  Bruno Haible  <bruno@clisp.org>
64095
64096         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
64097         gt_TYPE_WCHAR_T.
64098
64099 2006-06-28  Bruno Haible  <bruno@clisp.org>
64100
64101         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
64102         declaration for wcwidth.
64103         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
64104
64105 2006-06-28  Bruno Haible  <bruno@clisp.org>
64106
64107         * lib/mkdtemp.c [MINGW]: Include <io.h>.
64108         (mkdir): Define using _mkdir.
64109
64110 2006-06-28  Bruno Haible  <bruno@clisp.org>
64111
64112         * lib/getaddrinfo.h: Fix POSIX URL.
64113         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
64114         _WIN32.
64115         (use_win32_p): Make static.
64116         (getaddrinfo): Reject service name if it is empty or does not consist
64117         solely of decimal digits, or if its value is > 65535.
64118         (getnameinfo): Remove useless casts.
64119
64120 2006-06-27  Simon Josefsson  <jas@extundo.com>
64121
64122         * modules/sys_select: New file, suggested by Bruno Haible, Paul
64123         Eggert and Martin Lambers.
64124
64125 2006-06-27  Simon Josefsson  <jas@extundo.com>
64126
64127         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
64128         Eggert and Martin Lambers.
64129
64130 2006-06-27  Bruno Haible  <bruno@clisp.org>
64131
64132         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
64133         result to 0, not to empty.
64134         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
64135
64136 2006-06-27  Bruno Haible  <bruno@clisp.org>
64137
64138         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
64139
64140 2006-06-26  Simon Josefsson  <jas@extundo.com>
64141
64142         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
64143         present.
64144
64145 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
64146
64147         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
64148         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
64149         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
64150
64151 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
64152
64153         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
64154
64155 2006-06-26  Bruno Haible  <bruno@clisp.org>
64156
64157         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
64158
64159 2006-06-26  Bruno Haible  <bruno@clisp.org>
64160
64161         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
64162
64163 2006-06-26  Bruno Haible  <bruno@clisp.org>
64164
64165         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
64166         SGI C compiler in pre-C99 mode.
64167         Suggested by Mark D. Baushke and Larry Jones.
64168
64169 2006-06-26  Bruno Haible  <bruno@clisp.org>
64170
64171         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
64172         WCHAR_MAX.
64173         Reported by Mark D. Baushke and Larry Jones.
64174
64175 2006-06-26  Bruno Haible  <bruno@clisp.org>
64176
64177         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
64178         in pre-C99 mode.
64179         Suggested by Mark D. Baushke and Larry Jones.
64180
64181 2006-06-23  Simon Josefsson  <jas@extundo.com>
64182             Bruno Haible  <bruno@clisp.org>
64183
64184         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
64185         Emit mostlyclean-local rule.
64186         (func_emit_tests_Makefile_am): Likewise.
64187         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
64188
64189 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
64190
64191         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
64192
64193 2006-06-23  Bruno Haible  <bruno@clisp.org>
64194
64195         * tests/test-stdint.c: Update to match ISO C 99 Technical
64196         Corrigendum 1.
64197
64198 2006-06-23  Bruno Haible  <bruno@clisp.org>
64199
64200         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
64201
64202 2006-06-23  Bruno Haible  <bruno@clisp.org>
64203
64204         * lib/stdint_.h: Treat IRIX like OpenBSD.
64205
64206 2006-06-23  Bruno Haible  <bruno@clisp.org>
64207
64208         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
64209         ISO C 99 Technical Corrigendum 1.
64210
64211 2006-06-22  Simon Josefsson  <jas@extundo.com>
64212
64213         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
64214         MinGW.
64215
64216 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
64217
64218         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
64219         needed.  Some compiler complained about some of them.  Problem reported
64220         by Larry Jones in
64221         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
64222
64223 2006-06-21  Simon Josefsson  <jas@extundo.com>
64224
64225         * tests/test-getaddrinfo.c: New file.
64226
64227         * modules/getaddrinfo-tests: New file.
64228
64229         * MODULES.html.sh: Add inet_pton.
64230
64231         * modules/inet_pton: New file.
64232
64233 2006-06-21  Simon Josefsson  <jas@extundo.com>
64234
64235         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
64236         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
64237         of using the (limited) gnulib implementation on Windows XP.
64238
64239         * m4/inet_pton.m4: New file.
64240
64241 2006-06-21  Simon Josefsson  <jas@extundo.com>
64242
64243         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
64244         variable.
64245
64246         * lib/socket_.h: Don't define WINVER.
64247
64248         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
64249         slightly modified to work in gnulib.
64250
64251 2006-06-21  Simon Josefsson  <jas@extundo.com>
64252
64253         * doc/gnulib.texi (Windows sockets): Add.
64254
64255 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
64256
64257         * lib/read-file.c (fread_file): Start with buffer allocation of
64258         0 bytes rather than 1 byte; this simplifies the code.
64259         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
64260         code to free buffer and save/restore errno.
64261         (internal_read_file): Remove unused local.
64262
64263 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
64264
64265         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
64266         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
64267         Problem reported by Denis Excoffier in
64268         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
64269
64270 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
64271
64272         * modules/sys_socket, modules/socklen: Include sys/types since
64273         FreeBSD 4.x's sys/socket.h needs it.
64274
64275 2006-06-19  Simon Josefsson  <jas@extundo.com>
64276
64277         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
64278
64279 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
64280
64281         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
64282
64283 2006-06-19  Bruno Haible  <bruno@clisp.org>
64284
64285         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
64286         and FULL_PATH_INTTYPES_H in angle brackets.
64287         Reported by Mark D. Baushke <mdb@gnu.org>.
64288
64289 2006-06-17  Eric Blake  <ebb9@byu.net>
64290
64291         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
64292         errno.
64293
64294 2006-06-17  Bruno Haible  <bruno@clisp.org>
64295
64296         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
64297         <sys/inttypes.h>.
64298
64299 2006-06-17  Bruno Haible  <bruno@clisp.org>
64300
64301         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
64302         whether errno is declared. Assume <errno.h> declares errno.
64303
64304 2006-06-17  Bruno Haible  <bruno@clisp.org>
64305
64306         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
64307
64308 2006-06-17  Bruno Haible  <bruno@clisp.org>
64309
64310         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
64311         problem on Solaris 2.5.1.
64312
64313 2006-06-16  Eric Blake  <ebb9@byu.net>
64314
64315         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
64316         * lib/unicodeio.c [!defined errno]: Likewise.
64317         * lib/strtol.c [!defined errno]: Likewise.
64318         * lib/strtod.c [!defined errno]: Likewise.
64319
64320 2006-06-15  Eric Blake  <ebb9@byu.net>
64321
64322         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
64323
64324 2006-06-15  Eric Blake  <ebb9@byu.net>
64325
64326         * config/srclist.txt (ssize_t.m4): Lose sync.
64327
64328 2006-06-15  Bruno Haible  <bruno@clisp.org>
64329
64330         * modules/stdint (Files): Include m4/full-header-path.m4,
64331         m4/size_max.m4, m4/wchar_t.m4.
64332         (Makefile.am): Many more substitutions.
64333         * modules/stdint-tests: New file.
64334         * tests/test-stdint.c: New file.
64335
64336 2006-06-15  Bruno Haible  <bruno@clisp.org>
64337
64338         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
64339         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
64340         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
64341         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
64342         gl_CHECK_TYPE_SAME): New macros.
64343
64344 2006-06-15  Bruno Haible  <bruno@clisp.org>
64345
64346         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
64347
64348 2006-06-15  Bruno Haible  <bruno@clisp.org>
64349
64350         * lib/stdint_.h: Rewritten to be fully auto-configured.
64351         Fixes bug on HP-UX/IA64.
64352
64353 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
64354
64355         * lib/getdate.y (__attribute__): Don't define if already defined.
64356         Problem reported by Larry Jones.
64357         * lib/utimens.c (__attribute__): Likewise.
64358
64359 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
64360
64361         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
64362         reported by Andreas Schwab.
64363
64364 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64365             Bruno Haible  <bruno@clisp.org>
64366
64367         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
64368         check for the declaration of strnlen and a run test that exposes the
64369         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
64370         rpl_strndup.
64371
64372 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64373             Bruno Haible  <bruno@clisp.org>
64374
64375         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
64376
64377 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64378
64379         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
64380         compile test, for Tru64 4.0D.
64381
64382 2006-05-28  Karl Berry  <karl@gnu.org>
64383
64384         * config/srclist.txt (printf-args.c): lose sync.
64385
64386 2006-05-26  Martin Lambers  <marlam@marlam.de>
64387
64388         * lib/getpass.c: Updates the test for the native W32 API, and adds
64389         missing includes, thus fixing compilation warnings.
64390
64391 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
64392
64393         * lib/exclude.c (exclude_fnmatch): New function.
64394         (excluded_file_name): Call exclude_fnmatch.
64395         * lib/exclude.h (excluded_file_name): New prototype
64396
64397 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
64398
64399         * lib/tempname.c (small_open, large_open): New macros.
64400         (__open, __open64) [!_LIBC]: Remove.
64401         (__gen_tempname): Use small_open and large_open instead of __open
64402         and __open64.  This fixes a portability bug on HP-UX 11.11i
64403         reported by Simon Wing-Tang in
64404         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
64405
64406 2006-05-24  Bruno Haible  <bruno@clisp.org>
64407
64408         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
64409         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
64410         Reported by Thorsten Maerz <torte@netztorte.de> via
64411         Aaron Stone <aaron@serendipity.cx>.
64412
64413 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
64414
64415         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
64416         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
64417         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
64418         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
64419         not really conditional on the cache.
64420         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
64421
64422 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
64423
64424         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
64425         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
64426         (my_usleep): Don't mishandle maximum value.
64427
64428 2006-05-19  Jim Meyering  <jim@meyering.net>
64429
64430         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
64431
64432 2006-05-17  Bruno Haible  <bruno@clisp.org>
64433
64434         Cygwin portability.
64435         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
64436
64437 2006-05-17  Bruno Haible  <bruno@clisp.org>
64438
64439         * lib/stdint_.h: Fix recognition of Cygwin.
64440
64441 2006-05-15  Bruno Haible  <bruno@clisp.org>
64442
64443         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
64444         on libtool patch by Ralf Wildenhues.
64445
64446 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
64447
64448         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
64449         test for C99 conformance; (bool) 0.5 is an integer constant
64450         expression, but (bool) -0.5 is not.  Problem reported by Fedor
64451         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
64452
64453 2006-05-11  Simon Josefsson  <jas@extundo.com>
64454
64455         * m4/xvasprintf.m4: Fix obvious typo.
64456
64457 2006-05-11  Jim Meyering  <jim@meyering.net>
64458
64459         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
64460         James Lemley.
64461
64462 2006-05-10  Simon Josefsson  <jas@extundo.com>
64463
64464         * lib/md4.c: Typo fix, update copyright years.
64465         (K1, K2): Don't use L because it turn computations into 64-bit on
64466         64-bit platforms.
64467
64468 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
64469
64470         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
64471         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
64472         unwanted sign propagation, e.g., on hosts with 64-bit int.
64473         There still are some problems with reeelly weird theoretical hosts
64474         (e.g., 33-bit int) but it's not worth worrying about now.
64475         * lib/sha1.c (rol): Likewise.
64476         (K1, K2, K3, K4): Remove unnecessary L suffix.
64477
64478 2006-05-10  Bruno Haible  <bruno@clisp.org>
64479
64480         * lib/des.c: Cast to avoid warnings.
64481
64482 2006-05-09  Bruno Haible  <bruno@clisp.org>
64483
64484         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
64485         (Depends-on): Depend also on xsize, stdarg.
64486         (configure.ac): Add gl_XVASPRINTF.
64487
64488 2006-05-09  Bruno Haible  <bruno@clisp.org>
64489
64490         * m4/xvasprintf.m4: New file.
64491
64492 2006-05-09  Bruno Haible  <bruno@clisp.org>
64493
64494         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
64495         (EOVERFLOW): Define fallback value.
64496         (xstrcat): New function.
64497         (xvasprintf): Recognize the special case of a string concatenation.
64498
64499 2006-05-08  Eric Blake  <ebb9@byu.net>
64500
64501         * gnulib-tool (func_version): Base copyright year on CVS date.
64502         (func_emit_copyright_notice): New function.
64503         (func_emit_lib_Makefile_am): Use it.
64504         (func_emit_tests_Makefile_am): Likewise.
64505         (func_import): Likewise.
64506
64507 2006-05-08  Bruno Haible  <bruno@clisp.org>
64508
64509         * modules/stdarg: New file.
64510         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
64511
64512 2006-05-08  Bruno Haible  <bruno@clisp.org>
64513
64514         * m4/stdarg.m4: New file, from GNU gettext.
64515
64516 2006-05-08  Bruno Haible  <bruno@clisp.org>
64517
64518         * config/srclist.txt (build-aux/config.rpath): different from latest
64519         release.
64520
64521 2006-05-08  Bruno Haible  <bruno@clisp.org>
64522
64523         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
64524
64525 2006-05-05  Jim Meyering  <jim@meyering.net>
64526
64527         * m4/warning.m4: New file, derived from bison's file by the same name.
64528
64529 2006-05-03  Bruno Haible  <bruno@clisp.org>
64530
64531         * lib/stdint_.h: Shorter URL.
64532         * lib/inttypes.h: Likewise.
64533
64534 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
64535
64536         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
64537
64538 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
64539
64540         * lib/verify.h: Document the internals better.  Most of this change
64541         was written by Bruno Haible.
64542
64543 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
64544
64545         * doc/verify.texi: New file, partly based on a proposal by
64546         Bruno Haible.
64547
64548 2006-05-02  Bruno Haible  <bruno@clisp.org>
64549
64550         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
64551         test from here...
64552         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
64553
64554 2006-04-29  Bruno Haible  <bruno@clisp.org>
64555
64556         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
64557         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
64558
64559 2006-04-29  Bruno Haible  <bruno@clisp.org>
64560
64561         * gnulib-tool: Make --update option actually work.
64562
64563 2006-04-29  Bruno Haible  <bruno@clisp.org>
64564
64565         * doc/gcd.texi: New file.
64566         * doc/gnulib.texi: Include it.
64567
64568 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
64569
64570         * lib/getdate.y (get_date): When adding relative date, start with the
64571         initial time, not with the result of the first mktime call.
64572
64573 2006-04-25  Bruno Haible  <bruno@clisp.org>
64574
64575         * gnulib-tool (func_import): Output the include directives in three
64576         blocks, sorted separately.
64577         Reported by Ben Pfaff <blp@cs.stanford.edu>.
64578
64579 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
64580
64581         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
64582         to define main with arguments, for C++.  Reported by Eric Blake.
64583         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
64584         Prefer 'int main ()' to 'int main (void)', for C++.
64585         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
64586         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
64587         for 'main', for C99 and C++.
64588
64589 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
64590
64591         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
64592         Don't assume that exit status -1 is valid.
64593         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
64594         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
64595         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
64596         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
64597         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
64598         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
64599         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
64600         functions can be used without declaring them, or that you can
64601         exit with status -1.
64602         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
64603
64604 2006-04-24  Karl Berry  <karl@gnu.org>
64605
64606         * config/srclist.txt (longdouble.m4): sync lost.
64607
64608 2006-04-24  Eric Blake  <ebb9@byu.net>
64609
64610         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
64611
64612 2006-04-24  Bruno Haible  <bruno@clisp.org>
64613
64614         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
64615         poll() implementation in AIX.
64616         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
64617
64618 2006-04-24  Bruno Haible  <bruno@clisp.org>
64619
64620         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
64621         assigned exactly once.
64622
64623 2006-04-23  Claudio Fontana  <claudio@gnu.org>
64624             Bruno Haible  <bruno@clisp.org>
64625
64626         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
64627         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
64628         for AM_CPPFLAGS.
64629
64630 2006-04-23  Bruno Haible  <bruno@clisp.org>
64631
64632         * modules/copy-file: Depend on unistd.
64633         * modules/execute: Likewise.
64634         * modules/fatal-signal: Likewise.
64635         * modules/findprog: Likewise.
64636         * modules/mkdtemp : Likewise.
64637         * modules/pipe: Likewise.
64638         * modules/wait-process: Likewise.
64639
64640 2006-04-23  Bruno Haible  <bruno@clisp.org>
64641
64642         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
64643         condition was already detected.
64644         Reported by Ben Pfaff <blp@cs.stanford.edu>.
64645
64646 2006-04-23  Bruno Haible  <bruno@clisp.org>
64647
64648         * lib/copy-file.c: Include <unistd.h> unconditionally.
64649         * lib/execute.c: Likewise.
64650         * lib/fatal-signal.c: Likewise.
64651         * lib/findprog.c: Likewise.
64652         * lib/mkdtemp.c: Likewise.
64653         * lib/pipe.h: Likewise.
64654         * lib/pipe.c: Likewise.
64655         * lib/wait-process.h: Likewise.
64656
64657 2006-04-23  Bruno Haible  <bruno@clisp.org>
64658
64659         * gnulib-tool (func_usage): Fix --import description. Document
64660         --update.
64661         (func_import): Create temporary file in a temporary directory, if
64662         --dry-run is specified. Silence errors from 'grep' when there are no
64663         m4 files in $m4dir.
64664         (func_create_testdir): Silence errors from 'grep' when there are no
64665         m4 files in $m4dir.
64666         Reported by Karl Berry <karl@freefriends.org>.
64667
64668 2006-04-20  Bruno Haible  <bruno@clisp.org>
64669
64670         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
64671         one argument, so that the code will be portable to Autoconf 2.60.
64672         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
64673         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
64674         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
64675
64676 2006-04-19  Derek Price  <derek@ximbiot.com>
64677             Eric Blake  <ebb9@byu.net>
64678
64679         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
64680         rather than "/full/path.h".  Update comment to match.  Shorten &
64681         generalize m4_translit call via AS_TR_CPP.
64682
64683 2006-04-19  Derek Price  <derek@ximbiot.com>
64684             Eric Blake  <ebb9@byu.net>
64685
64686         * lib/inttypes.h: Correct grammar in comment.
64687
64688 2006-04-18  Derek Price  <derek@ximbiot.com>
64689             Paul Eggert  <eggert@cs.ucla.edu>
64690
64691         * modules/inttypes: New file.
64692         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
64693
64694 2006-04-18  Derek Price  <derek@ximbiot.com>
64695             Paul Eggert  <eggert@cs.ucla.edu>
64696
64697         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
64698         New files.
64699
64700 2006-04-18  Derek Price  <derek@ximbiot.com>
64701             Paul Eggert  <eggert@cs.ucla.edu>
64702
64703         * lib/inttypes.h: New file.
64704         * lib/strtoimax.c: Assume <inttypes.h>.
64705
64706 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
64707
64708         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
64709         isn't mounted.  Problem reported by Kir Kolyshkin.
64710
64711 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
64712
64713         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
64714         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
64715         Derek R. Price.
64716         * lib/regex.h (RE_DUP_MAX): Update comment to match current
64717         implementation.
64718
64719 2006-04-12  Eric Blake  <ebb9@byu.net>
64720
64721         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
64722         is now done automatically by the corresponding Autoconf macro.
64723
64724 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
64725
64726         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
64727         time_r.h.
64728
64729 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
64730
64731         Merge regex changes from libc, removing some of our
64732         POSIX-conformance changes that were rejected and redoing them in a
64733         less-intrusive way.
64734
64735         * lib/regcomp.c (re_compile_internal, init_dfa):
64736         Length arg is now size_t, not Idx.  All uses changed.
64737         (peek_token): Forward decl now says internal_function.
64738         (__re_error_msgid, __re_error_msgid_idx):
64739         Now static rather than extern with attribute_hidden.
64740         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
64741         For some reason libc prefers K&R style defns for external functions.
64742         (regerror) [!defined _LIBC]: Likewise.
64743         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
64744         (seek_collating_symbol_entry, lookup_collation_sequence_value):
64745         (build_range_exp, build_collating_symbol):
64746         Use K&R-style defn.
64747         (re_compile_fastmap): Use '\0' to memset, not 0.
64748         (utf8_sb_map): Make the calculations more obvious.
64749         (init_dfa, parse_bracket_exp, build_charclass_op):
64750         Call calloc and cast result, as glibc does.
64751         (init_word_char, fetch_token, peek_token, peek_token_bracket):
64752         (build_range_exp, build_collating_symbol):
64753         Now internal functions.
64754
64755         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
64756
64757         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
64758         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
64759         Don't depend on VMS; depend on __VMS instead, for POSIX
64760         namespace cleanness.
64761         (regoff_t): Define to ssize_t, not long int.
64762
64763         Remove the REG_ macros named below.  Instead, make the old names
64764         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
64765         __USE_GNU_REGEX.
64766         (REG_BACKSLASH_ESCAPE_IN_LISTS):
64767         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
64768         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
64769         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
64770         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
64771         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
64772         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
64773         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
64774         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
64775         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
64776         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
64777         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
64778         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
64779         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
64780         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
64781         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
64782         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
64783         (REG_NREGS):
64784         Remove.  All uses replaced by the old RE_* names.
64785         (RE_BACKSLASH_ESCAPE_IN_LISTS):
64786         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
64787         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
64788         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
64789         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
64790         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
64791         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
64792         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
64793         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
64794         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
64795         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
64796         Don't bother having these macros be independent of each others'
64797         values, since they no longer exist in the POSIX name space.
64798
64799         Rename the following member names back to their old names,
64800         unless !__USE_GNU_REGEX.  All uses changed back.
64801         (buffer): Renamed from re_buffer.
64802         (allocated): Renamed from re_allocated.
64803         (used): Renamed from re_used.
64804         (syntax): Renamed from re_syntax.
64805         (fastmap): Renamed from re_fastmap.
64806         (translate): Renamed from re_translate.
64807         (can_be_null): Renamed from re_can_be_null.
64808         (regs_allocated): Renamed from re_regs_allocated.
64809         (fastmap_accurate): Renamed from re_fastmap_accurate.
64810         (no_sub): Renamed from re_no_sub.
64811         (not_bol): Renamed from re_not_bol.
64812         (not_eol): Renamed from re_not_eol.
64813         (newline_anchor): Renamed from re_newline_anchor.
64814         (num_regs): Renamed from rm_num_regs.
64815         (start): Renamed from rm_start.
64816         (end): Renamed from rm_end.
64817
64818         (free_state): Move up a bit.
64819
64820         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
64821         #define to be empty.
64822         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
64823         when that is what is intended.
64824         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
64825         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
64826         (MAX): New macro.
64827         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
64828         All uses changed back to re_malloc, etc.  It's now the caller's
64829         responsibility to check for overflow; all callers changed.
64830         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
64831         (re_x2nrealloc): Remove.
64832         (free_state): Remove decl.
64833
64834         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
64835         (re_set_registers, re_exec):
64836         Use K&R-style defn.
64837
64838         2006-01-31  Roland McGrath  <roland@redhat.com>
64839
64840         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
64841         Reported by Mike Frysinger <vapier@gentoo.org>.
64842
64843         2006-01-15  Andreas Jaeger  <aj@suse.de>
64844
64845         [BZ #1950]
64846         * lib/regex_internal.c (re_string_reconstruct): Adjust for
64847         build_wcs_upper_buffer change.
64848         (build_wcs_upper_buffer): Change return type.
64849
64850         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
64851
64852         * lib/regex_internal.h: Include <stdint.h> if available.
64853
64854         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
64855
64856         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
64857
64858         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
64859
64860         * lib/regcomp.c: Adjust for changed secondary hash function.
64861
64862         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
64863
64864         * lib/regex.h: Pretty printing.
64865         Clean up namespace a bit.
64866
64867         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
64868
64869         * lib/regexec.c (update_cur_sifted_state, check_arrival,
64870         check_arrival_add_next_nodes): Avoid using uninitialized variable.
64871
64872         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
64873                     Ulrich Drepper  <drepper@redhat.com>
64874
64875         [BZ #1302]
64876         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
64877         changed.
64878         (bitset_word_t): Renamed from bitset_word.  All uses changed.
64879
64880         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
64881
64882         [BZ #281]
64883         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
64884         * lib/regcomp.c: Remove unnecessary uses of
64885         unsigned RE_TRANSLATE_TYPE.
64886         * lib/regex_internal.h: Likewise.
64887         * lib/regex_internal.c: Likewise.
64888         * lib/regexec.c: Likewise.
64889         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
64890
64891         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
64892
64893         * lib/regexec.c (find_recover_state): Remove unnecessary
64894         initialization.
64895         (transit_state_bkref): Make DFA a const pointer.
64896         (get_subexp): Likewise.
64897         (check_arrival): Likewise.
64898         (update_cur_sifted_state): Likewise.
64899         (re_search_internal): Likewise.
64900         (prune_impossible_nodes): Likewise.
64901         (acquire_init_state_context): Likewise.
64902         (proceed_next_node): Likewise.
64903         (set_regs): Likewise.
64904         (free_fail_stack_return): Likewise.
64905         (check_arrival_expand_ecl): Mark DFA parameter as const.
64906         (check_arrival_expand_ecl_sub): Likewise.
64907         (check_subexp_limits): Likewise.
64908         (sub_epsilon_src_nodes):  Likewise.
64909         (add_epsilon_src_nodes):  Likewise.
64910         (merge_state_array): Likewise.
64911         (update_regs): Likewise.
64912         (build_trtable): Likewise.
64913         (sift_states_backward): Mark MCTX parameter as const.
64914         (build_sifted_states): Likewise.
64915         (update_cur_sifted_state): Likewise.
64916         (sift_states_mkref): Likewise.
64917         (check_arrival_expand_ecl): Mark eclosure as const.
64918         (check_dst_limits_calc_pos_1): Likewise.
64919         * lib/regex_internal.h (re_match_context_t): Make dfa a const
64920         pointer.
64921
64922         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
64923
64924         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
64925         (transit_state_sb): Likewise.
64926         (transit_state_mb): Likewise.
64927         (sift_states_iter_mb): Likewise.
64928         (check_arrival_add_next_nodes): Likewise.
64929         (check_node_accept_bytes): Change first parameter to pointer-to-const.
64930         [_LIBC] (re_search_2_stub): Use mempcpy.
64931
64932         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
64933         mbrtowc for very simple UTF-8 case.
64934
64935         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
64936         a pointer-to-const.
64937         (re_acquire_state_context): Likewise.
64938         * lib/regex_internal.h: Adjust prototypes.
64939
64940         * lib/regex.c: Prevent using C++ compilers.
64941
64942         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
64943         (re_acquire_state_context): Likewise.
64944
64945 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
64946
64947         * modules/regex (Depends-on): Add ssize_t.
64948
64949 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
64950
64951         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
64952         translation table.
64953
64954 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
64955
64956         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
64957
64958 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
64959             Bruno Haible  <bruno@clisp.org>
64960
64961         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
64962         <sys/types.h> and <inttypes.h>.
64963
64964 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64965
64966         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
64967         `__error_t_defined', so argp.h will not typedef the former.
64968
64969 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
64970
64971         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
64972         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
64973         glibc names.  Even if glibc is changed to conform to POSIX, the
64974         traditional names will be available anyway, since regex depends on
64975         the extensions module.  Also, fix a longstanding typo in the
64976         implementation of Spencer ERE test #75 from grep 2.3.  Problems
64977         reported by Emanuele Giaquinta.  Also, change sense of cached
64978         variable, so that the message makes sense.
64979
64980 2006-03-24  Simon Josefsson  <jas@extundo.com>
64981
64982         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
64983         including some doc fixes.
64984         (base64_encode_alloc): Fix +1 bug on allocation failures.
64985
64986 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64987
64988         * lib/base64.c (base64_encode): Do not read past end of array with
64989         unsanitized input on systems with CHAR_BIT > 8.
64990
64991 2006-03-24  Eric Blake  <ebb9@byu.net>
64992
64993         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
64994
64995 2006-03-22  Karl Berry  <karl@gnu.org>
64996
64997         * config/srclist.txt (*setenv.[ch]): get from coreutils.
64998         * config/srclistvars.sh (COREUTILS): new var.
64999
65000 2006-03-17  Jim Meyering  <jim@meyering.net>
65001
65002         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
65003         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
65004
65005 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
65006
65007         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
65008         no longer needs it.  Instead, check that regoff_t is as least
65009         as wide as ptrdiff_t.
65010
65011         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
65012         so that our regex.h stays compatible with the installed regex.
65013         This is helpful for installers who configure --without-included-regex.
65014         Problem reported by Emanuele Giaquinta.
65015
65016 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
65017
65018         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
65019         Typedef to long int, not to off_, as POSIX will likely change
65020         in that direction.
65021
65022 2006-03-15  Eric Blake  <ebb9@byu.net>
65023
65024         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
65025
65026 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
65027
65028         * lib/argp-help.c (validate_uparams): Fix typo
65029         * lib/argp-parse.c (argp_default_options): Consistently begin help
65030         messages with a lowercase letter.
65031
65032 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
65033
65034         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
65035         overrun buffers and shouldn't be used (much as gets shouldn't be
65036         used).
65037         * lib/time_r.c (asctime_r, ctime_r): Likewise.
65038
65039 2006-03-08  Simon Josefsson  <jas@extundo.com>
65040
65041         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
65042         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
65043
65044 2006-03-08  Simon Josefsson  <jas@extundo.com>
65045
65046         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
65047         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
65048
65049 2006-03-08  Simon Josefsson  <jas@extundo.com>
65050
65051         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
65052         signal that configure disabled the device.
65053
65054 2006-03-08  Simon Josefsson  <jas@extundo.com>
65055
65056         * build-aux/maint.mk: Fix refresh-po, to handle no translated
65057         languages.
65058
65059 2006-03-07  Simon Josefsson  <jas@extundo.com>
65060
65061         * modules/getopt (Depends-on): Add unistd.
65062
65063         * modules/unistd: New file.
65064
65065 2006-03-07  Simon Josefsson  <jas@extundo.com>
65066
65067         * modules/gc-random: New file.
65068
65069 2006-03-07  Simon Josefsson  <jas@extundo.com>
65070
65071         * m4/unistd_h.m4: New file.
65072
65073 2006-03-07  Simon Josefsson  <jas@extundo.com>
65074
65075         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
65076         test to be side-effect free by storing the result in the cache
65077         variable gl_cv_lib_readline, and moving the assignment of
65078         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
65079         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
65080
65081 2006-03-07  Simon Josefsson  <jas@extundo.com>
65082
65083         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
65084         error on missing devices (the functions will return an error).
65085
65086         * m4/gc.m4: Move random stuff to gc-random.m4
65087
65088 2006-03-07  Simon Josefsson  <jas@extundo.com>
65089
65090         * lib/unistd_.h: New file.
65091
65092 2006-03-07  Simon Josefsson  <jas@extundo.com>
65093
65094         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
65095
65096 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
65097
65098         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
65099         Problem reported by Juan Manuel Guerrero.
65100
65101 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
65102
65103         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
65104         the unistd module.
65105         * lib/getlogin_r.c: Likewise.
65106         * lib/getlogin_r.h: Likewise.
65107         * lib/glob.c: Likewise.
65108         * lib/pagealign_alloc.c: Likewise.
65109         * lib/unistd_.h: Remove; no longer needed.
65110
65111 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
65112
65113         * MODULES.html.sh (Support for systems lacking POSIX:2001):
65114         Add unistd.
65115         * modules/c-stack (Depends-on): Add unistd.
65116         * modules/getlogin_r: Likewise.
65117         * modules/glob: Likewise.
65118         * modules/pagealign_alloc: Likewise.
65119         * modules/unistd (Files): Remove lib/unistd_.h.
65120         (EXTRA_DIST): Remove.
65121         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
65122         need unistd_.h.
65123         (MOSTLYCLEANFILES): Remove unistd.h-t.
65124
65125 2006-03-03  Simon Josefsson  <jas@extundo.com>
65126
65127         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
65128
65129 2006-03-03  Simon Josefsson  <jas@extundo.com>
65130
65131         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
65132         libidn and bison.
65133
65134 2006-03-03  Simon Josefsson  <jas@extundo.com>
65135
65136         * build-aux/maint.mk: Add indent target.
65137
65138 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
65139
65140         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
65141         our replacement poll.h in any case, to avoid a differing
65142         declaration from a system header.  Seen on AIX.
65143
65144 2006-03-01  Simon Josefsson  <jas@extundo.com>
65145
65146         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
65147         <kasal@ucw.cz>.
65148
65149 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
65150
65151         * modules/gettime (Depends-on): Add extensions module.
65152         * modules/nanosleep (Depends-on): Likewise.
65153         * modules/settime (Depends-on): Likewise.
65154
65155 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
65156
65157         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
65158         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
65159         pedantically.
65160         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
65161         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
65162
65163         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
65164         not "==".  Reported by Ralf Wildenhues.
65165
65166 2006-03-01  Karl Berry  <karl@gnu.org>
65167
65168         * doc/Copyright/request-*: new files, synced from gnuorg.
65169
65170 2006-03-01  Karl Berry  <karl@gnu.org>
65171
65172         * config/srclist.txt (Copyright/*): new entries.
65173
65174 2006-02-28  Simon Josefsson  <jas@extundo.com>
65175
65176         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
65177
65178 2006-02-27  Simon Josefsson  <jas@extundo.com>
65179
65180         * lib/base64.h: Indent #define's.  From Jim Meyering
65181         <jim@meyering.net>.
65182
65183 2006-02-27  Jim Meyering  <jim@meyering.net>
65184
65185         Revert the change of 2006-02-24, so these files can continue
65186         to be sync'd from gettext.
65187         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
65188         of `config.h'.
65189
65190 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
65191
65192         * modules/intprops: New file.
65193         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
65194         Add intprops.
65195         * modules/getloadavg (Files): Remove lib/intprops.h.
65196         (Depends-on): Add intprops.
65197         * modules/human: Likewise.
65198         * modules/inttostr: Likewise.
65199         * modules/openat: Likewise.
65200         * modules/sig2str: Likewise.
65201         * modules/userspec: Likewise.
65202         * modules/utimecmp: Likewise.
65203         * modules/xnanosleep: Likewise.
65204         * modules/xstrtol: Likewise.
65205
65206 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
65207
65208         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
65209         * modules/lock-tests (TESTS): Use $(EXEEXT).
65210         * modules/tls-tests: Likewise.
65211         * modules/argp-tests: Likewise.
65212         (check_PROGRAMS): New var, replacing...
65213         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
65214
65215 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65216
65217         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
65218         `config.h'.
65219
65220 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
65221
65222         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
65223
65224 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65225
65226         Sync from coreutils.
65227         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
65228         gl_CHDIR_SAFER.
65229
65230 2006-02-22  Jim Meyering  <jim@meyering.net>
65231
65232         Sync from coreutils.
65233         * m4/chdir-safer.m4: New file.
65234
65235 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
65236
65237         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
65238         AT_FDCWD exceeds INT_MAX.
65239         * lib/openat.h (AT_FDCWD): Likewise.
65240
65241 2006-02-17  Eric Blake  <address@hidden>
65242
65243         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
65244
65245 2006-02-16  Simon Josefsson  <jas@extundo.com>
65246
65247         * modules/getaddrinfo (Depends-on): Add sys_socket.
65248
65249 2006-02-15  Simon Josefsson  <jas@extundo.com>
65250
65251         * build-aux/maint.mk: Add dsyntax-check rule.
65252
65253 2006-02-15  Eric Blake  <ebb9@byu.net>
65254
65255         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
65256         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
65257         'present but cannot compile' warnings on cygwin.
65258         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
65259         use ws2tcpip.h if sys/socket.h works.
65260         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
65261         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
65262
65263 2006-02-14  Simon Josefsson  <jas@extundo.com>
65264
65265         * modules/maintainer-makefile (Files): Rename.
65266
65267         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
65268         and (the local) Makefile.cfg to maint-cfg.mk.
65269
65270         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
65271         to the latter.
65272
65273         * modules/maintainer-makefile: New module.
65274
65275         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
65276         severaly stripped to make it possible to build it up from scratch
65277         with reliable tests.
65278
65279         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
65280         fixes to permit overriding the default actions when configure and
65281         makefile are not available.
65282
65283 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
65284
65285         Sync from coreutils.
65286         * modules/lstat (Depends-on): Don't depend on xalloc.
65287         (License): Change from GPL to LGPL, since this is now simply a
65288         replacement for a libc function.
65289
65290 2006-02-14  Jim Meyering  <jim@meyering.net>
65291
65292         Sync from coreutils.
65293
65294         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
65295         failure on deficient systems, and simplify gnulib lgpl dependencies.
65296         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
65297         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
65298
65299         * lib/xalloc-die.c: Remove unused definition of N_.
65300
65301 2006-02-14  Jim Meyering  <jim@meyering.net>
65302
65303         Sync from coreutils.
65304         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
65305         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
65306         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
65307         double-quote uses of that variable, to accommodate the rare case in
65308         which getmntent is available in none of the libraries checked.  This
65309         happens at least on FreeBSD 5.0.
65310
65311 2006-02-13  Simon Josefsson  <jas@extundo.com>
65312
65313         * gnulib-tool (Usage): Fix --import, from
65314         karl@freefriends.org (Karl Berry).
65315
65316 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
65317
65318         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
65319
65320 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
65321
65322         * lib/argp-namefrob.h: Restore changes accidentally lost during the
65323         "autoupdate" on 2005-12-12.
65324
65325 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
65326
65327         * modules/closeout (Depends-on): Remove atexit.
65328
65329 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
65330
65331         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
65332         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
65333
65334 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
65335
65336         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
65337         __EXTENSIONS__ if this causes compilation to fail.  Problem
65338         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
65339         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
65340
65341 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
65342
65343         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
65344         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
65345         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
65346         All uses changed.
65347
65348 2006-01-26  Simon Josefsson  <jas@extundo.com>
65349
65350         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
65351         prototype is visible on mingw32.
65352
65353         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
65354         for mingw32.
65355
65356         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
65357         mingw32).
65358
65359 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
65360
65361         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
65362         attempt to open for write; this always fails, at least on POSIX
65363         hosts.  This reinstates the 2006-01-09 change, which was
65364         inadvertently removed.
65365
65366 2006-01-26  Bruno Haible  <bruno@clisp.org>
65367
65368         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
65369         Reported by Paul Eggert.
65370
65371 2006-01-26  Bruno Haible  <bruno@clisp.org>
65372             Paul Eggert  <eggert@cs.ucla.edu>
65373
65374         * lib/stdbool_.h (_Bool)
65375         [(! (defined __cplusplus || defined __BEOS__)
65376           && !defined __GNUC__
65377           && !(defined __HP_cc || defined __xlc__
65378                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
65379                || defined __sgi))]:
65380         #define to signed char in these cases too; this simplifies
65381         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
65382         etc., separately) and makes it more conservative.
65383
65384 2006-01-25  Simon Josefsson  <jas@extundo.com>
65385
65386         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
65387         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
65388         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
65389
65390 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
65391
65392         * lib/argp-namefrob.h: Bugfix. Remove stray #
65393
65394 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
65395
65396         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
65397         so that we test the test.
65398         Check for yet another HP-UX cc bug involving *bool |= bool.
65399
65400 2006-01-25  Karl Berry  <karl@gnu.org>
65401
65402         * config/srclist.txt (vasnprintf.c): sync lost.
65403
65404 2006-01-25  Jim Meyering  <jim@meyering.net>
65405
65406         Sync from the stable (b5) branch of coreutils:
65407
65408         * lib/fts.c (fts_children): Don't let close() clobber errno from
65409         failed fchdir().
65410
65411         * lib/fts.c (fts_stat): When following a symlink-to-directory,
65412         don't necessarily interpret stat-fails+lstat-succeeds as indicating
65413         a dangling symlink.  That can also happen at least for ELOOP.
65414         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
65415         FYI, this bug predates the inclusion of fts.c in coreutils.
65416
65417         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
65418         in their own block, so pre-c99 compilers don't object.
65419
65420         Avoid the double-free (first in fts_read, second in fts_close) that
65421         would occur when an `active' directory is made inaccessible (e.g.,
65422         via chmod a-x) during a traversal.
65423         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
65424         before returning.  Reproduce this failure by
65425         mkdir -p a/b; cd a; chmod a-x . b
65426         Reported by Stavros Passas.
65427
65428 2006-01-25  Jim Meyering  <jim@meyering.net>
65429
65430         * lib/fileblocks.c: Remove more useless parentheses.
65431         * lib/readutmp.h: Likewise.
65432
65433 2006-01-25  Bruno Haible  <bruno@clisp.org>
65434
65435         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
65436         warnings.
65437         Reported by Paul Eggert.
65438
65439 2006-01-25  Bruno Haible  <bruno@clisp.org>
65440
65441         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
65442         rid of a trap command. For Solaris sh.
65443         Reported by Mark D. Baushke <mdb@gnu.org>.
65444
65445 2006-01-24  Simon Josefsson  <jas@extundo.com>
65446
65447         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
65448         Bruno.
65449
65450 2006-01-24  Karl Berry  <karl@gnu.org>
65451
65452         * config/srclist.txt (argp-namefrob.h): sync lost.
65453
65454 2006-01-24  Jim Meyering  <jim@meyering.net>
65455
65456         * modules/openat (Files): Add lib/intprops.h.
65457         From Mark D. Baushke.
65458
65459 2006-01-24  Jim Meyering  <jim@meyering.net>
65460
65461         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
65462         Reported by Mark D. Baushke.
65463
65464 2006-01-24  Jim Meyering  <jim@meyering.net>
65465
65466         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
65467
65468 2006-01-24  Bruno Haible  <bruno@clisp.org>
65469
65470         * modules/strnlen (Maintainer): Change from glibc to all.
65471
65472 2006-01-24  Bruno Haible  <bruno@clisp.org>
65473
65474         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
65475         Patch by Paul Eggert.
65476
65477 2006-01-24  Bruno Haible  <bruno@clisp.org>
65478
65479         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
65480         already has it.
65481         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
65482         2005-11-26.
65483
65484         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
65485         'signed char' to avoid problems with the built-in _Bool type.
65486         Reported by Paul Eggert on 2005-11-26.
65487
65488 2006-01-24  Bruno Haible  <bruno@clisp.org>
65489
65490         * gnulib-tool (func_import): Avoid constructing complicated sed
65491         expressions inside backquote.
65492         Report and solution by Mark D. Baushke <mdb@gnu.org>.
65493
65494 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
65495
65496         These changes imported from libc.
65497         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
65498         test and two separate function calls.
65499         * lib/strndup.c (__strndup): Add libc_hidden_def.
65500
65501 2006-01-23  Simon Josefsson  <jas@extundo.com>
65502
65503         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
65504         Remove the test_*_SOURCES variable: automake infers it by default.
65505         * modules/tls-tests: Likewise.
65506
65507 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
65508
65509         Work around porting bugs reported by Dieter in
65510         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
65511         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
65512         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
65513         Include "getopt.h" first, to check interface.
65514         (getenv): Declare only if defined HAVE_DECL_GETENV &&
65515         !HAVE_DECL_GETENV.
65516         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
65517         (__strndup): Revert to K&R-style function dfns, the glibc style.
65518         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
65519         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
65520         Include strnlen.h first, to get prototype properly.
65521         (strnlen): Renamed from __strnlen.
65522         Remove weak alias.
65523
65524 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
65525
65526         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
65527
65528 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
65529
65530         * config/srclist.txt: Adjust to reflect glibc reorganization.
65531         This affects only comments.
65532
65533 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
65534
65535          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
65536          Reported by Bruce Korb <bkorb@gnu.org>.
65537
65538 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
65539
65540         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
65541         to pacify gcc -Wswitch-default.
65542
65543 2006-01-22  Bruno Haible  <bruno@clisp.org>
65544
65545         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
65546         temporary buffer for sprintf, take into account the precision also
65547         for 'd', 'i', 'u', 'o', 'x', 'X'.
65548
65549 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
65550
65551         * modules/argp-tests: New module
65552         * tests/test-argp.c: New file
65553         * tests/test-argp-2.sh: New file
65554
65555 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
65556
65557         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
65558         (__argp_base_name): Removed
65559         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
65560         typo.
65561         (__argp_base_name): Provide macro definition or extern declaration
65562         depending on the configuration
65563
65564 2006-01-20  Simon Josefsson  <jas@extundo.com>
65565
65566         * modules/inet_ntop (Depends-on): Depend on sys_socket.
65567
65568 2006-01-20  Simon Josefsson  <jas@extundo.com>
65569
65570         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
65571
65572 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
65573
65574         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
65575         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
65576         Suggested by Bruno Haible.
65577
65578 2006-01-20  Karl Berry  <karl@gnu.org>
65579
65580         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
65581         until changes propagate, I guess.
65582
65583 2006-01-19  Simon Josefsson  <jas@extundo.com>
65584
65585         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
65586
65587 2006-01-19  Simon Josefsson  <jas@extundo.com>
65588
65589         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
65590
65591 2006-01-19  Simon Josefsson  <jas@extundo.com>
65592
65593         * gnulib-tool: Set check_PROGRAMS.
65594
65595         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
65596         modules/des-tests, modules/gc-arcfour-tests,
65597         modules/gc-arctwo-tests, modules/gc-des-tests,
65598         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
65599         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
65600         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
65601         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
65602         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
65603         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
65604         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
65605         test_*_SOURCES.
65606
65607 2006-01-18  Simon Josefsson  <jas@extundo.com>
65608
65609         * modules/socklen (Depends-on): Depend on sys_socket.
65610
65611 2006-01-18  Simon Josefsson  <jas@extundo.com>
65612
65613         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
65614         modules/des-tests, modules/gc-arcfour-tests,
65615         modules/gc-arctwo-tests, modules/gc-des-tests,
65616         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
65617         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
65618         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
65619         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
65620         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
65621         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
65622         $(EXEEXT) to automake TESTS variable, for mingw32.
65623
65624 2006-01-17  Simon Josefsson  <jas@extundo.com>
65625
65626         * modules/socklen (Include): Need sys/socket.h.
65627
65628 2006-01-17  Bruno Haible  <bruno@clisp.org>
65629
65630         * modules/ssize_t (Include): Add <sys/types.h>.
65631
65632 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
65633
65634         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
65635         it's not portable and it doesn't work with cross-compiles.
65636         Problem reported by Bruno Haible.  Fix missing-$ typo in
65637         'test "gl_cv_ignore_unused_libraries" ...' that prevented
65638         -zignore from being used with Sun's C compiler.
65639
65640 2006-01-12  Simon Josefsson  <jas@extundo.com>
65641
65642         * lib/base64.c: Fix warning, reported by Bruno Haible
65643         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
65644
65645 2006-01-12  Bruno Haible  <bruno@clisp.org>
65646
65647         * modules/ldd: New file.
65648         * build-aux/ldd.sh.in: New file.
65649         * MODULES.html.sh (Support for building libraries and executables): Add
65650         ldd.
65651
65652 2006-01-12  Bruno Haible  <bruno@clisp.org>
65653
65654         * m4/ldd.m4: New file.
65655
65656 2006-01-12  Bruno Haible  <bruno@clisp.org>
65657
65658         * gnulib-tool (func_import, func_create_testdir): Don't go into an
65659         endless loop while replacing $auxdir with build-aux.
65660
65661 2006-01-11  Simon Josefsson  <jas@extundo.com>
65662
65663         * lib/stdint_.h (SIZE_MAX): Add missing (.
65664
65665 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
65666
65667         Sync from coreutils.
65668         * lib/md5.c: Fix commentary typos.
65669         (alignof, UNALIGNED_P): No need for a GCC-specific version.
65670         * lib/md5.h (__attribute__): Remove; unused.
65671         * lib/sha1.c: Fix commentary to match md5 better.
65672         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
65673         so that we don't need to worry about alignment.  All uses changed.
65674         This merges the 2005-10-28 md5 change into sha1.
65675
65676 2006-01-11  Jim Meyering  <jim@meyering.net>
65677
65678         Sync from coreutils.
65679         * lib/md5.c (OP): Fix spacing.
65680
65681 2006-01-11  Bruno Haible  <bruno@clisp.org>
65682
65683         Ensure automatic ordering between gl_LOCK and gl_ARGP.
65684         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
65685         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
65686
65687 2006-01-11  Bruno Haible  <bruno@clisp.org>
65688
65689         Ensure automatic ordering between gl_LOCK and gl_ARGP.
65690         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
65691         the "early" section as well.
65692
65693 2006-01-11  Bruno Haible  <bruno@clisp.org>
65694
65695         Avoid "ar: no archive members specified" error on MacOS X.
65696         * gnulib-tool (func_modules_add_dummy): New function.
65697         (func_import, func_create_testdir): Invoke it.
65698
65699 2006-01-11  Bruno Haible  <bruno@clisp.org>
65700
65701         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
65702         with $auxdir in AC_CONFIG_FILES statements.
65703
65704 2006-01-11  Bruno Haible  <bruno@clisp.org>
65705
65706         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
65707         Initialize also noinst_HEADERS to empty.
65708
65709 2006-01-11  Bruno Haible  <bruno@clisp.org>
65710
65711         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
65712         variables.
65713         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
65714         autoreconf.
65715
65716 2006-01-11  Bruno Haible  <bruno@clisp.org>
65717
65718         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
65719         overridable by the user.
65720         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
65721
65722 2006-01-10  Simon Josefsson  <jas@extundo.com>
65723
65724         * modules/sys_socket: New file.
65725
65726 2006-01-10  Simon Josefsson  <jas@extundo.com>
65727
65728         * m4/sys_socket_h.m4: New file.
65729
65730 2006-01-10  Simon Josefsson  <jas@extundo.com>
65731
65732         * lib/socket_.h: New file.
65733
65734 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
65735
65736         * modules/readutmp (Maintainer): Add myself.
65737
65738 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
65739
65740         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
65741         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
65742         People who are still concerned with buggy memcmp implementations
65743         can invoke gl_FUNC_MEMCMP themselves.
65744
65745 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
65746
65747         * lib/regex_internal.h (BITSET_WORD_BITS):
65748         Work around a bug in 64-bit PGC (before version 6.1-2), where the
65749         preprocessor mishandles large unsigned values as if they were signed.
65750         Problem reported by Claudio Fontana in
65751         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
65752
65753 2006-01-10  Jim Meyering  <jim@meyering.net>
65754
65755         Avoid the double-free (first in fts_read, second in fts_close) that
65756         would occur when an `active' directory is made inaccessible (e.g.,
65757         via chmod a-x) during a traversal.
65758         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
65759         before returning.  Reproduce this failure by
65760         mkdir -p a/b; cd a; chmod a-x . b
65761         Reported by Stavros Passas.
65762
65763         Sync from coreutils.
65764         * lib/sha1.c: Tweak grammar in a comment.
65765
65766 2006-01-10  Jim Meyering  <jim@meyering.net>
65767
65768         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
65769         Patch by Joerg Sonnenberger.
65770
65771 2006-01-10  Bruno Haible  <bruno@clisp.org>
65772
65773         * modules/readutmp: Depend on module free.
65774         * modules/strtok_r: Depend on module restrict.
65775
65776 2006-01-10  Bruno Haible  <bruno@clisp.org>
65777
65778         * modules/gettext (configure.ac): Add an invocation of
65779         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
65780
65781 2006-01-10  Bruno Haible  <bruno@clisp.org>
65782
65783         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
65784         Reported by Werner Lemberg <wl@gnu.org>.
65785
65786 2006-01-10  Bruno Haible  <bruno@clisp.org>
65787
65788         * lib/localcharset.c: Update from GNU gettext.
65789
65790 2006-01-10  Bruno Haible  <bruno@clisp.org>
65791
65792         * lib/argp.h (__const): Remove macro. Use const instead.
65793         * lib/argp-fmtstream.h (__const): Likewise.
65794         * lib/glob_.h (__const): Remove macro.
65795         * lib/glob-libc.h: Use const instead of __const.
65796
65797 2006-01-10  Bruno Haible  <bruno@clisp.org>
65798
65799         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
65800         variable.
65801         Needed to avoid an automake error regarding the 'gettext' module.
65802
65803 2006-01-09  Simon Josefsson  <jas@extundo.com>
65804
65805         * modules/inet_ntop (Depends-on): Add restrict.
65806
65807 2006-01-09  Simon Josefsson  <jas@extundo.com>
65808
65809         * modules/gc-rijndael-tests (License): Put under LGPL.
65810
65811         * modules/gc-des-tests (License): Likewise.
65812
65813         * modules/gc-arcfour-tests (License): Likewise.
65814
65815         * modules/gc-arctwo-tests (License): Likewise.
65816
65817         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
65818
65819         * modules/gc-hmac-sha1-tests (Files): Likewise.
65820
65821         * modules/gc-hmac-md5-tests (License): Likewise.
65822
65823         * modules/gc-sha1-tests (License): Likewise.
65824
65825         * modules/gc-md5-tests (License): Likewise.
65826
65827         * modules/gc-md4-tests (License): Likewise.
65828
65829         * modules/gc-md2-tests (License): Likewise.
65830
65831         * modules/gc-tests (License): Likewise.
65832
65833         * modules/des-tests (License): Likewise.
65834
65835         * modules/md4-tests (License): Likewise.
65836
65837         * modules/md2-tests (License): Likewise.
65838
65839 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
65840
65841         Sync from coreutils:
65842
65843         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
65844         * modules/lib-ignore: New file.
65845         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
65846         chdir-safer.m4, lchmod.m4.
65847         * modules/openat: Add mkdirat.c, openat-priv.h.
65848
65849 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
65850
65851         Sync from coreutils.
65852         * m4/lib-ignore.m4: New file.
65853         * m4/lchmod.m4: New file.
65854
65855 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
65856
65857         Sync from coreutils.
65858         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
65859         for write access: POSIX says that must fail.
65860         * lib/fts.c (diropen): Likewise.
65861         * lib/save-cwd.c (save_cwd): Likewise.
65862         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
65863         well, for minor improvements on hosts that lack O_DIRECTORY.
65864         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
65865         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
65866         Fall back on chown if open failed with EACCES.
65867
65868         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
65869         Report an error at compile-time if only a 1-second nominal clock
65870         resolution is found.
65871
65872         * lib/lchmod.h: New file.
65873         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
65874         (make_dir_parents): Use lchown rather than chown, and
65875         lchmod rather than chmod.
65876
65877         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
65878         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
65879         "proc" reported by n0dalus.
65880
65881         * lib/mountlist.c: Include <limits.h>.
65882         (dev_from_mount_options)
65883         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
65884         New function.  It no longer assumes "dev=" has the System V meaning
65885         on Linux (since it doesn't).  It also parses "dev=" more carefully.
65886         (read_file_system_list)
65887         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
65888         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
65889         dev= in that case.
65890
65891         * lib/posixtm.h (PDS_PRE_2000): New macro.
65892         * lib/posixtm.c (year): Arg is now syntax_bits rather than
65893         allow_century.  All usages changed.  Reject dates outside the range
65894         1969-1999 if PDS_PRE_2000 is used.
65895
65896 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
65897
65898         Sync from coreutils.
65899         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
65900         (Time of day items): Mention the possibility of leap seconds.
65901         Problem reported by Dr. David Alan Gilbert.
65902
65903 2006-01-09  Jim Meyering  <jim@meyering.net>
65904
65905         Sync from coreutils.
65906
65907         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
65908
65909         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
65910
65911         * lib/modechange.c (mode_compile): Reject an invalid mode string
65912         that starts with an octal digit.  From Andreas Gruenbacher.
65913
65914         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
65915         and dup to open_safer and dup_safer, respectively.
65916         (openat_permissive): Fix typo in comment.
65917
65918         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
65919         "gettext.h"; either no longer needed or are guaranteed by openat.h.
65920         (_): Remove; no longer needed.
65921         (openat): Renamed from rpl_openat; no need for rpl_openat
65922         since openat.h renames openat for us.
65923         Replace most of the body with a call to openat_permissive,
65924         to avoid duplicate code.
65925         Port to (probably hypothetical) environments were mode_t is
65926         wider than int.
65927         (openat_permissive): Require mode arg, so that we can check
65928         types better.  Put it just after flags.  Change cwd failure
65929         indicator from pointer-to-bool to pointer-to-errno-value.
65930         All callers changed.
65931         Invoke openat_save_fail and/or openat_restore_fail if
65932         cwd_errno is null, so that openat can call us.
65933         (openat_permissive, fdopendir, fstatat, unlinkat):
65934         Simplify errno handling to avoid some duplicate code,
65935         as it's OK to set errno on success.
65936         * lib/openat.h: Revamp code so that function macros depend on
65937         __OPENAT_PREFIX only, not also on AT_FDCWD.
65938         (openat_ro): Remove.  Caller changed to use openat_permissive.
65939         (openat_permissive): Now a macro, if not a function.
65940         (openat_restore_fail, openat_save_fail): Now always functions,
65941         since mkdirat needs them even if __OPENAT_PREFIX is defined.
65942
65943         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
65944         and openat.c.
65945         * lib/mkdirat.c: Include openat-priv.h.
65946         Remove definitions of macros defined therein.
65947         * lib/openat.c: Likewise.
65948
65949         * lib/mkdirat.c (mkdirat): New file and function.
65950         * lib/openat.h (mkdirat): Declare.
65951
65952         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
65953
65954         * lib/openat.h (openat_permissive): Declare.
65955         (openat_ro): Define.
65956
65957         * lib/openat.c (EXPECTED_ERRNO): New macro.
65958         (openat_permissive): New function -- used in remove.c rewrite.
65959         (all functions): Set errno just before returning, only if there
65960         was an actual failure.
65961         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
65962
65963         Emulate openat-family functions using Linux's procfs, if possible.
65964         Idea and some code based on Ulrich Drepper's glibc changes.
65965
65966         * lib/openat.c: (BUILD_PROC_NAME): New macro.
65967         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
65968         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
65969         before falling back on save_cwd and restore_cwd.
65970         (fdopendir, fstatat, unlinkat): Likewise.
65971
65972         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
65973         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
65974
65975         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
65976         as second argument to va_arg.  Otherwise, some versions of gcc
65977         warn that `if this code is reached, the program will abort'.
65978
65979 2006-01-09  Jim Meyering  <jim@meyering.net>
65980
65981         Sync from coreutils.
65982         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
65983         Require openat-priv.h.
65984
65985 2006-01-09  Bruno Haible  <bruno@clisp.org>
65986
65987         * modules/strnlen (Include): Use strnlen.h.
65988
65989 2006-01-09  Bruno Haible  <bruno@clisp.org>
65990
65991         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
65992
65993 2006-01-09  Bruno Haible  <bruno@clisp.org>
65994
65995         * lib/sysexit_.h (EX_OK): New macro.
65996         Suggested by Martin Lambers <marlam@marlam.de>.
65997
65998 2006-01-09  Bruno Haible  <bruno@clisp.org>
65999
66000         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
66001         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
66002
66003 2006-01-09  Bruno Haible  <bruno@clisp.org>
66004
66005         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
66006         numbers.
66007
66008 2006-01-09  Bruno Haible  <bruno@clisp.org>
66009
66010         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
66011         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
66012         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
66013         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
66014
66015 2006-01-09  Bruno Haible  <bruno@clisp.org>
66016
66017         * build-aux/javacomp.sh.in: New file, moved from lib/.
66018         * modules/javacomp-script (Files): Update.
66019         (configure.ac): Add AC_CONFIG_FILES invocation.
66020         (EXTRA_DIST): Remove variable.
66021
66022         * build-aux/javaexec.sh.in: New file, moved from lib/.
66023         * modules/javaexec (Files): Update.
66024         (configure.ac): Add AC_CONFIG_FILES invocation.
66025         (EXTRA_DIST): Remove javaexec.sh.in.
66026
66027         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
66028         * modules/csharpcomp-script (Files): Update.
66029         (configure.ac): Add AC_CONFIG_FILES invocation.
66030         (EXTRA_DIST): Remove variable.
66031
66032         * build-aux/csharpexec.sh.in: New file, moved from lib/.
66033         * modules/csharpexec (Files): Update.
66034         (configure.ac): Add AC_CONFIG_FILES invocation.
66035         (EXTRA_DIST): Remove csharpexec.sh.in.
66036
66037 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
66038
66039         Sync from coreutils.
66040
66041         Add POSIX ACL support
66042         * lib/acl.h (copy_acl, set_acl): Add declarations.
66043         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
66044         systems other than Linux.
66045         (chmod_or_fchmod): New function: use fchmod when possible,
66046         and chmod otherwise.
66047         (file_has_acl): Add a POSIX ACL implementation, with a
66048         Linux-specific subcase.
66049         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
66050         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
66051         acls are unsupported.
66052         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
66053         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
66054         are unsupported.
66055
66056 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
66057
66058         Sync from coreutils.
66059         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
66060
66061 2006-01-07  Bruno Haible  <bruno@clisp.org>
66062
66063         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
66064         gl_EARLY.
66065
66066 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
66067
66068         * lib/strftime.c (tzname): Don't declare if it is already #defined.
66069         Problem reported for Mingw by Mark Junker.
66070
66071 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
66072
66073         * README: Gnulib normally doesn't generate a tarball.
66074
66075 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
66076
66077         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
66078         long int, not int, for nanosecond counts, so that people who are
66079         used to POSIX struct timespec won't be surprised.  Reported by Jim
66080         Meyering.
66081
66082 2005-12-28  Bruno Haible  <bruno@clisp.org>
66083
66084         * build-aux/config.rpath: Update from GNU gettext.
66085
66086 2005-12-16  Jim Meyering  <jim@meyering.net>
66087
66088         * modules/fprintftime: New module.
66089         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
66090
66091 2005-12-16  Jim Meyering  <jim@meyering.net>
66092
66093         * m4/fprintftime.m4: New file.
66094
66095 2005-12-16  Jim Meyering  <jim@meyering.net>
66096
66097         * lib/fprintftime.c, lib/fprintftime.h: New files.
66098
66099 2005-12-15  Simon Josefsson  <jas@extundo.com>
66100
66101         * modules/socklen (configure.ac): Fix M4 macro name, to align with
66102         new m4/socklen.m4.
66103
66104 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
66105
66106         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
66107         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
66108
66109 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
66110
66111         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
66112         * lib/argp-help.c (fill_in_uparams): Check if the constructed
66113         struct uparams is valid. Fall back to the default values if it is
66114         not.
66115
66116 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
66117
66118         * modules/argp (Files): Add argp-pin.c
66119         (Depends-on): dirname
66120         (lib_SOURCES): Add argp-pin.c
66121
66122 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
66123
66124         * m4/argp.m4:  Check if program_invocation_name and
66125         program_invocation_short_name are declared and define appropriate
66126         macros if they are not.
66127
66128 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
66129
66130         * lib/argp-help.c (__argp_base_name): New function
66131         (__argp_short_program_name): Rewrite using __argp_base_name
66132         * lib/argp-namefrob.h: Define program_invocation_name and
66133         program_invocation_short_name if requested
66134         (__argp_base_name): Add prototype
66135         * lib/argp-parse.c (argp_def): Use gettext wrappers
66136         (argp_default_parser): Use __argp_base_name
66137         * lib/argp-pin.c: New file. Defines program_invocation_name and
66138         program_invocation_short_name on systems that lack them.
66139
66140 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
66141
66142         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
66143         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
66144         porting problem reported by Georg Schwarz in
66145         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
66146
66147 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
66148
66149         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
66150         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
66151         porting problem reported by Georg Schwarz in
66152         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
66153
66154 2005-12-05  Bruno Haible  <bruno@clisp.org>
66155
66156         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
66157         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
66158         Reported by Mark Junker <mjscod@gmx.de>.
66159
66160 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
66161
66162         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
66163         Use implementation from Albert Chin, with some
66164         comments/corrections by Stepan Kasal and myself.
66165
66166 2005-12-02  Bruno Haible  <bruno@clisp.org>
66167
66168         * gnulib-tool (func_import): Accept GPLed build tool modules when
66169         --lgpl is given.
66170         * modules/csharpcomp-script: New file.
66171         * modules/csharpcomp: Depend on it.
66172         * modules/javacomp-script: New file.
66173         * modules/javacomp: Depend on it.
66174         Suggested by Simon Josefsson.
66175
66176 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
66177
66178         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
66179         statement, to work around an HP-UX 10.20 compiler bug reported by
66180         Peter O'Gorman.
66181
66182 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
66183
66184         * modules/savedir (Depends-on): Add openat.
66185
66186 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
66187
66188         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
66189         (uintmax_t) [defined uintmax_t]: Do not declare.
66190         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
66191         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
66192         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
66193         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
66194         sake of portability to weird hosts that C allows (though we don't
66195         know of any practical examples).
66196
66197         * lib/savedir.h (fdsavedir): New decl.
66198         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
66199         contains most of the former guts of savedir.
66200         (savedir): Use savedirstream.
66201         Include "openat.h".
66202
66203 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
66204
66205         * modules/obstack (Files): Add m4/ulonglong.m4.
66206         Problem reported by Davide Angelocola.
66207
66208 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
66209
66210         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
66211         coreutils no longer futzes with rounding modes.
66212
66213 2005-11-14  Jim Meyering  <jim@meyering.net>
66214
66215         * lib/mkstemp-safer.c: Include <config.h>, required for possible
66216         replacement of mkstemp.
66217
66218 2005-11-10  Simon Josefsson  <jas@extundo.com>
66219
66220         * lib/readline.c: Remove EOL.
66221
66222 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
66223
66224         * modules/gethrxtime (Depends-on): Add gettime.
66225
66226 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
66227
66228         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
66229         or gettimeofday; no longer needed.
66230
66231 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
66232
66233         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
66234         time business.
66235         (gethrxtime) [! (HAVE_NANOUPTIME
66236         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
66237         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
66238         our own approximation.
66239
66240 2005-11-08  Eric Blake  <ebb9@byu.net>
66241
66242         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
66243
66244 2005-11-08  Eric Blake  <ebb9@byu.net>
66245
66246         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
66247
66248 2005-11-04  Bruno Haible  <bruno@clisp.org>
66249
66250         * gnulib-tool: Implement --update mode.
66251
66252 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
66253
66254         Fix porting problem reported by Theodoros V. Kalamatianos.
66255         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
66256         Don't assume that futimes failing means we must fail.
66257
66258 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
66259
66260         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
66261         variables to suggest the intended function of the PATH_MAX check.
66262
66263 2005-10-30  Kean Johnston  <jkj@sco.com>
66264
66265         Trivial changes to support SCO systems.
66266         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
66267         as PATH_MAX.
66268         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
66269         where __ptr is null when no I/O is pending.
66270
66271 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
66272
66273         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
66274         leave errno alone.  Problem reported by Dmitry V. Levin.
66275
66276 2005-10-28  Simon Josefsson  <jas@extundo.com>
66277
66278         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
66279         Test more.
66280
66281         * tests/test-gc-md2.c, tests/test-md2.c: New files.
66282
66283         * modules/md2, modules/md2-tests: New files.
66284
66285 2005-10-28  Simon Josefsson  <jas@extundo.com>
66286
66287         * m4/inet_ntop.m4: More tests.
66288
66289         * m4/gc-md2.m4, md2.m4: New file.
66290
66291 2005-10-28  Simon Josefsson  <jas@extundo.com>
66292
66293         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
66294         "restrict" keywords, as per POSIX.  Protect the function
66295         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
66296         Don't use K&R prototypes.  Check the sprintf return values.
66297         Re-define EAFNOSUPPORT if not present.  Indent.
66298
66299         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
66300         suggested by Bruno Haible <bruno@clisp.org>.
66301
66302         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
66303
66304         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
66305
66306         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
66307         libgcrypt).
66308
66309         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
66310
66311         * lib/md2.h, lib/md2.c: New files.
66312
66313 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
66314
66315         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
66316         errno alone.  Problem reported by Frederic Jolliton.
66317
66318 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
66319
66320         * modules/verify (License): Change from GPL to LGPL.  This is a
66321         tiny module and there are apparently near-equivalents that are
66322         under the BSD license.
66323
66324 2005-10-24  Simon Josefsson  <jas@extundo.com>
66325
66326         * modules/sha1: Relicense to LGPL.
66327
66328 2005-10-24  Simon Josefsson  <jas@extundo.com>
66329
66330         * lib/md4.h: Shrink buffer size, now that we changed the type.
66331
66332 2005-10-23  Simon Josefsson  <jas@extundo.com>
66333
66334         * gnulib-tool (func_import): Fix --tests-base.
66335
66336 2005-10-22  Simon Josefsson  <jas@extundo.com>
66337
66338         * modules/arcfour (Depends-on): Need stdint.
66339
66340 2005-10-22  Simon Josefsson  <jas@extundo.com>
66341
66342         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
66343         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
66344
66345 2005-10-22  Simon Josefsson  <jas@extundo.com>
66346
66347         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
66348         suggested by Bruno Haible <bruno@clisp.org>.
66349
66350 2005-10-22  Simon Josefsson  <jas@extundo.com>
66351
66352         * lib/crc.h: Include stddef.h, for size_t.
66353
66354 2005-10-22  Simon Josefsson  <jas@extundo.com>
66355
66356         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
66357         arcfour_context struct (simplify test vector testing in GNU
66358         Shishi).
66359
66360 2005-10-21  Simon Josefsson  <jas@extundo.com>
66361
66362         * modules/des, modules/des-tests: New files.
66363
66364         * modules/gc-des, modules/gc-des-tests: New files.
66365
66366         * tests/test-des.c, tests/test-gc-des.c: New file.
66367
66368 2005-10-21  Simon Josefsson  <jas@extundo.com>
66369
66370         * modules/arctwo, modules/arctwo-tests: New files.
66371
66372         * tests/test-arctwo.c: New file.
66373
66374         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
66375
66376         * tests/test-gc-arctwo.c: New file.
66377
66378 2005-10-21  Simon Josefsson  <jas@extundo.com>
66379
66380         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
66381         Bruno Haible <bruno@clisp.org>.
66382
66383         * m4/gc-des.m4: New file.
66384
66385 2005-10-21  Simon Josefsson  <jas@extundo.com>
66386
66387         * m4/arctwo.m4: New file.
66388
66389         * m4/gc-arctwo.m4: New file.
66390
66391 2005-10-21  Simon Josefsson  <jas@extundo.com>
66392
66393         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
66394         block.
66395
66396 2005-10-21  Simon Josefsson  <jas@extundo.com>
66397
66398         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
66399         <bruno@clisp.org>.
66400
66401         * lib/hmac-sha1.c (hmac_sha1): Likewise.
66402
66403         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
66404         Bruno Haible <bruno@clisp.org>.
66405
66406         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
66407         <bruno@clisp.org>.
66408
66409 2005-10-21  Simon Josefsson  <jas@extundo.com>
66410
66411         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
66412
66413 2005-10-21  Simon Josefsson  <jas@extundo.com>
66414
66415         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
66416
66417 2005-10-21  Simon Josefsson  <jas@extundo.com>
66418
66419         * lib/des.h, lib/des.c: New files.
66420
66421         * lib/gc-gnulib.c: Support DES.c
66422
66423 2005-10-21  Simon Josefsson  <jas@extundo.com>
66424
66425         * lib/arctwo.h, lib/arctwo.c: New files.
66426
66427         * lib/gc-gnulib.c: Support ARCTWO.
66428
66429 2005-10-21  Simon Josefsson  <jas@extundo.com>
66430
66431         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
66432         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
66433
66434 2005-10-21  Simon Josefsson  <jas@extundo.com>
66435
66436         * gnulib-tool (func_import, func_create_testdir): Define automake
66437         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
66438         Makefile.am snippet),
66439         suggested by Bruno Haible <bruno@clisp.org>.
66440
66441         * modules/gc (Makefile.am): Use it.
66442
66443 2005-10-21  Bruno Haible  <bruno@clisp.org>
66444
66445         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
66446         patch.
66447
66448 2005-10-19  Simon Josefsson  <jas@extundo.com>
66449
66450         * tests/test-gc-rijndael.c: New file.
66451
66452         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
66453
66454 2005-10-19  Simon Josefsson  <jas@extundo.com>
66455
66456         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
66457         interface too.
66458
66459 2005-10-19  Simon Josefsson  <jas@extundo.com>
66460
66461         * tests/test-gc-arcfour.c: New file.
66462
66463         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
66464
66465 2005-10-19  Simon Josefsson  <jas@extundo.com>
66466
66467         * modules/gc-md4, modules/gc-md4-tests: New file.
66468
66469         * tests/test-gc-md4.c: New file.
66470
66471 2005-10-19  Simon Josefsson  <jas@extundo.com>
66472
66473         * m4/gc-md4.m4: New file.
66474
66475 2005-10-19  Simon Josefsson  <jas@extundo.com>
66476
66477         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
66478         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
66479         <kasal@ucw.cz>.
66480
66481 2005-10-19  Simon Josefsson  <jas@extundo.com>
66482
66483         * m4/gc-arcfour.m4: New file.
66484
66485         * m4/gc-rijndael.m4: New file.
66486
66487 2005-10-19  Simon Josefsson  <jas@extundo.com>
66488
66489         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
66490
66491 2005-10-19  Simon Josefsson  <jas@extundo.com>
66492
66493         * lib/gc-gnulib.c: Support ARCFOUR.
66494
66495 2005-10-19  Simon Josefsson  <jas@extundo.com>
66496
66497         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
66498         support.
66499
66500         * lib/gc.h: Add ECB enum type.
66501
66502         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
66503
66504 2005-10-18  Simon Josefsson  <jas@extundo.com>
66505
66506         * tests/test-md5.c: New file.
66507
66508         * modules/md5-tests: New file.
66509
66510 2005-10-18  Simon Josefsson  <jas@extundo.com>
66511
66512         * tests/test-md4.c: New file.
66513
66514         * modules/md4, modules/md4-tests: New files.
66515
66516 2005-10-18  Simon Josefsson  <jas@extundo.com>
66517
66518         * m4/md4.m4: New file.
66519
66520 2005-10-18  Simon Josefsson  <jas@extundo.com>
66521
66522         * lib/md4.h, lib/md4.c: New files, based on md5.?.
66523
66524 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
66525
66526         * gnulib-tool (func_create_testdir): Omit the second check whether
66527         BUILT_SOURCES in nonempty.
66528
66529 2005-10-17  Simon Josefsson  <jas@extundo.com>
66530
66531         * tests/test-rijndael.c: New file.
66532
66533 2005-10-17  Simon Josefsson  <jas@extundo.com>
66534
66535         * modules/sha1: Depend on stdint instead of md5.
66536
66537         * modules/md5: Depend on stdint, remove uint32_t.
66538
66539 2005-10-17  Simon Josefsson  <jas@extundo.com>
66540
66541         * modules/gc-sha1-tests: New file.
66542
66543         * tests/test-gc-sha1.c: New file.
66544
66545 2005-10-17  Simon Josefsson  <jas@extundo.com>
66546
66547         * m4/md5.m4: Remove call to uint32_t.m4.
66548
66549 2005-10-17  Simon Josefsson  <jas@extundo.com>
66550
66551         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
66552
66553         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
66554         md5.h.
66555
66556         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
66557
66558         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
66559
66560 2005-10-17  Simon Josefsson  <jas@extundo.com>
66561
66562         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
66563
66564 2005-10-17  Simon Josefsson  <jas@extundo.com>
66565
66566         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
66567
66568 2005-10-17  Simon Josefsson  <jas@extundo.com>
66569
66570         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
66571
66572         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
66573
66574 2005-10-17  Bruno Haible  <bruno@clisp.org>
66575
66576         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
66577         that it can also be used in a test.
66578
66579 2005-10-16  Bruno Haible  <bruno@clisp.org>
66580
66581         * gnulib-tool (func_emit_tests_Makefile_am): Also define
66582         TESTS_ENVIRONMENT, so that individual tests can augment it.
66583
66584         * gnulib-tool (func_create_testdir): Use an intermediate target for
66585         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
66586         macros, like $(ALLOCA_H), which cannot be passed through the command
66587         line.
66588
66589 2005-10-15  Simon Josefsson  <jas@extundo.com>
66590
66591         * modules/rijndael-tests: New file.
66592
66593         * modules/rijndael: New file.
66594
66595 2005-10-15  Simon Josefsson  <jas@extundo.com>
66596
66597         * m4/rijndael.m4: New file.
66598
66599 2005-10-15  Simon Josefsson  <jas@extundo.com>
66600
66601         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
66602
66603         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
66604
66605 2005-10-14  Simon Josefsson  <jas@extundo.com>
66606
66607         * tests/test-arcfour.c: New file.
66608
66609         * modules/arcfour, modules/arcfour-tests: New files.
66610
66611 2005-10-14  Simon Josefsson  <jas@extundo.com>
66612
66613         * m4/arcfour.m4: New file.
66614
66615 2005-10-14  Simon Josefsson  <jas@extundo.com>
66616
66617         * lib/arcfour.h, lib/arcfour.c: New files.
66618
66619 2005-10-14  Roland McGrath  <roland@redhat.com>
66620
66621         Import from libc.  [BZ #1331]
66622         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
66623         macro argument.
66624         Reported by Matej Vela <vela@debian.org>.
66625
66626 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
66627
66628         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
66629         include <wchar.h>; no longer needed.
66630
66631 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
66632
66633         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
66634
66635 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
66636         and  Ulrich Drepper  <drepper@redhat.com>
66637
66638         Import from libc.
66639         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
66640         instead of inline stream orientation test and two separate
66641         function calls.  Pay no attention to USE_IN_LIBIO.
66642
66643 2005-10-13  Simon Josefsson  <jas@extundo.com>
66644
66645         * modules/gc-hmac-md5-tests: New file.
66646
66647         * tests/test-gc-hmac-sha1.c: New file.
66648
66649         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
66650
66651         * modules/gc-hmac-md5-tests: New file.
66652
66653         * tests/test-gc-md5.c: New file.
66654
66655         * modules/gc-md5-tests: New file.
66656
66657 2005-10-13  Simon Josefsson  <jas@extundo.com>
66658
66659         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
66660         Move memory allocation outside of loop.
66661
66662 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
66663
66664         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
66665         intermediate directory is in a read-only file system.  Problem
66666         reported by Eric Blake.
66667
66668 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
66669
66670         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
66671
66672 2005-10-12  Simon Josefsson  <jas@extundo.com>
66673
66674         * tests/test-hmac-sha1.c: New file.
66675
66676         * modules/hmac-sha1-tests: New file.
66677
66678         * modules/hmac-sha1: New file.
66679
66680 2005-10-12  Simon Josefsson  <jas@extundo.com>
66681
66682         * modules/gc-sha1: New file.
66683
66684 2005-10-12  Simon Josefsson  <jas@extundo.com>
66685
66686         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
66687
66688         * tests/test-gc-pbkdf2-sha1.c: New file.
66689
66690 2005-10-12  Simon Josefsson  <jas@extundo.com>
66691
66692         * modules/gc-md5, modules/gc-hmac-md5: New files.
66693
66694         * modules/gc (Files): Remove md5, memxor and hmac files.
66695
66696 2005-10-12  Simon Josefsson  <jas@extundo.com>
66697
66698         * m4/gc-pbkdf2-sha1.m4: New file.
66699
66700         * m4/gc-hmac-sha1.m4: New file.
66701
66702         * m4/gc-sha1: New file.
66703
66704         * m4/hmac-sha1.m4: New file.
66705
66706 2005-10-12  Simon Josefsson  <jas@extundo.com>
66707
66708         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
66709
66710         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
66711
66712 2005-10-12  Simon Josefsson  <jas@extundo.com>
66713
66714         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
66715         suggested by Bruno Haible <bruno@clisp.org>.
66716
66717 2005-10-12  Simon Josefsson  <jas@extundo.com>
66718
66719         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
66720
66721 2005-10-12  Simon Josefsson  <jas@extundo.com>
66722
66723         * lib/gc-pbkdf2-sha1.c: New file.
66724
66725         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
66726
66727 2005-10-12  Simon Josefsson  <jas@extundo.com>
66728
66729         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
66730
66731         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
66732
66733 2005-10-12  Simon Josefsson  <jas@extundo.com>
66734
66735         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
66736         GC_USE_HMAC_MD5, respectively.
66737
66738         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
66739         (gc_md5): Fix typo.
66740
66741         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
66742
66743         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
66744
66745         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
66746
66747 2005-10-12  Bruno Haible  <bruno@clisp.org>
66748
66749         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
66750         Reported by Stepan Kasal <kasal@ucw.cz>.
66751
66752 2005-10-11  Simon Josefsson  <jas@extundo.com>
66753
66754         * tests/test-crc.c: New file.
66755
66756         * modules/crc, modules/crc-tests: New files.
66757
66758 2005-10-11  Simon Josefsson  <jas@extundo.com>
66759
66760         * m4/crc.m4: New file.
66761
66762 2005-10-11  Simon Josefsson  <jas@extundo.com>
66763
66764         * lib/gc.h: Add gc_hash and gc_hash_buffer.
66765
66766         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
66767
66768         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
66769
66770 2005-10-11  Simon Josefsson  <jas@extundo.com>
66771
66772         * lib/crc.h, lib/crc.c: New files.
66773
66774         * lib/gc.h (gc_hash_buffer): Add doc.
66775
66776 2005-10-11  Bruno Haible  <bruno@clisp.org>
66777
66778         * modules/c-strcasestr: New file.
66779         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
66780
66781 2005-10-11  Bruno Haible  <bruno@clisp.org>
66782
66783         * modules/c-strcase: New file.
66784         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
66785
66786 2005-10-11  Bruno Haible  <bruno@clisp.org>
66787
66788         * lib/strcasecmp.c: Include limits.h.
66789         (strcasecmp): Avoid integer overflow on exotic platforms.
66790         * lib/strncasecmp.c: Include limits.h.
66791         (strncasecmp): Avoid integer overflow on exotic platforms.
66792         Reported by Paul Eggert.
66793
66794 2005-10-11  Bruno Haible  <bruno@clisp.org>
66795
66796         * lib/c-strcasestr.h: New file, from GNU gettext.
66797         * lib/c-strcasestr.c: New file, from GNU gettext.
66798
66799 2005-10-11  Bruno Haible  <bruno@clisp.org>
66800
66801         * lib/c-strcase.h: New file, from GNU gettext.
66802         * lib/c-strcasecmp.c: New file, from GNU gettext.
66803         * lib/c-strncasecmp.c: New file, from GNU gettext.
66804
66805 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
66806
66807         * modules/mempcpy (License): GPL -> LGPL.
66808         * modules/strchrnul (License): Likewise.
66809         * modules/sysexits (License): Likewise.
66810
66811 2005-10-08  Simon Josefsson  <jas@extundo.com>
66812
66813         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
66814
66815 2005-10-07  Simon Josefsson  <jas@extundo.com>
66816
66817         * m4/memxor.m4: Remove gl_C_RESTRICT call.
66818
66819 2005-10-06  Simon Josefsson  <jas@extundo.com>
66820
66821         * tests/test-hmac-md5.c: New file.
66822
66823         * modules/hmac-md5-tests: New file.
66824
66825         * modules/hmac-md5: New file.
66826
66827 2005-10-06  Simon Josefsson  <jas@extundo.com>
66828
66829         * m4/hmac-md5.m4: New file.
66830
66831         * m4/memxor.m4: Require gl_C_RESTRICT.
66832
66833 2005-10-06  Simon Josefsson  <jas@extundo.com>
66834
66835         * lib/memxor.c (memxor): Avoid casts and warnings.
66836
66837 2005-10-06  Simon Josefsson  <jas@extundo.com>
66838
66839         * lib/hmac-md5.c: New file.
66840
66841         * lib/hmac.h: New file.
66842
66843 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
66844
66845         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
66846         promotes to int, not unsigned int, to catch the AIX 5.3
66847         compiler bug.
66848
66849 2005-10-05  Simon Josefsson  <jas@extundo.com>
66850
66851         * modules/memxor: New file.
66852
66853         * modules/iconv (Files): Move config.rpath to havelib, it is used
66854         there.
66855
66856         * modules/havelib (Files): Add config.rpath.
66857
66858 2005-10-05  Simon Josefsson  <jas@extundo.com>
66859
66860         * m4/memxor.m4: New file.
66861
66862 2005-10-05  Simon Josefsson  <jas@extundo.com>
66863
66864         * lib/memxor.c (memxor): Fix compiler error.
66865
66866         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
66867         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
66868
66869         * lib/memxor.h, lib/memxor.c: New files.
66870
66871         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
66872         we assume all systems have it, suggested by Jim Meyering
66873         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
66874         any systems lack sys/socket.h; mingw32 is known to lack it, but we
66875         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
66876         same reasons.
66877
66878 2005-10-05  Simon Josefsson  <jas@extundo.com>
66879
66880         * config/srclist.txt: Add glibc bug 1423 for md5.h.
66881
66882 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
66883
66884         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
66885         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
66886         needed, since the source code now assumes these .h files.
66887
66888 2005-10-05  Derek Price  <derek@ximbiot.com>
66889
66890         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
66891
66892 2005-10-05  Bruno Haible  <bruno@clisp.org>
66893
66894         * modules/stdint (License): Change to LGPL.
66895
66896 2005-10-04  Simon Josefsson  <jas@extundo.com>
66897
66898         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
66899         D. Baushke" <mdb@gnu.org>.
66900
66901 2005-10-04  Bruno Haible  <bruno@clisp.org>
66902
66903         * lib/verify.h (verify_true): Provide alternative definition for C++.
66904
66905 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
66906
66907         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
66908         (SSIZE_MAX): New macro, if not already defined.
66909         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
66910         than 2 GiB.
66911
66912 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
66913
66914         Sync from coreutils.
66915         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
66916         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
66917         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
66918         ULLONG_MAX doesn't work with 2.7.2.1.
66919
66920 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
66921
66922         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
66923         From Ben Pfaff.
66924
66925         * modules/exclude (Depends-on): Depend on verify.
66926         * modules/strtoimax (Depends-on): Likewise.
66927         * modules/utimecmp (Depends-on): Likewise.
66928
66929 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
66930
66931         * lib/exclude.c: Include verify.h.
66932         (verify): Remove.  All callers changed to use verify.h's version.
66933         * lib/strtoimax.c: Likewise.
66934         * lib/utimecmp.c: Likewis.e
66935
66936         Sync from coreutils.
66937         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
66938         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
66939         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
66940         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
66941         bother returning ENOSYS if settimeofday or stime fails; just let
66942         them return whatever errno they want to return.
66943         * lib/utimens.c: Include unistd.h, for dup2.
66944         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
66945         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
66946
66947 2005-10-02  Jim Meyering  <jim@meyering.net>
66948
66949         Sync from coreutils.
66950         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
66951         from glibc-2.2.5 that fails for read-only files.
66952
66953 2005-10-02  Jim Meyering  <jim@meyering.net>
66954
66955         Sync from coreutils.
66956         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
66957         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
66958         `#if HAVE_CONFIG_H'.
66959         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
66960         Remove AT_FDCWD test.
66961         Do not consume the fd unless successful.
66962         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
66963         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
66964         block, so that we don't even try to compile it if settimeofday is
66965         available.  This works around a compilation failure on OSF1 V5.1,
66966         due to stime requiring a `long int*' while tv_sec is `int'.
66967
66968 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
66969
66970         Sync from coreutils.
66971         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
66972         against `yes', rather than just testing for nonempty.
66973
66974 2005-10-01  Simon Josefsson  <jas@extundo.com>
66975
66976         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
66977         and Darwin.
66978
66979         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
66980         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
66981         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
66982         freeaddrinfo and gai_strerror are declared by the POSIX headers.
66983         Check if struct addrinfo is declared.
66984
66985 2005-10-01  Simon Josefsson  <jas@extundo.com>
66986
66987         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
66988         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
66989         AI_* and EAI_* definitions.  Protect function declarations.
66990
66991 2005-10-01  Jim Meyering  <jim@meyering.net>
66992
66993         Sync from coreutils.
66994
66995         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
66996         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
66997         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
66998         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
66999         in the inet and nsl libraries.  Required on Solaris 5.7.
67000
67001 2005-10-01  Jim Meyering  <jim@meyering.net>
67002
67003         Sync from coreutils.
67004         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
67005         in the inet and nsl libraries.  Required on Solaris 5.7.
67006
67007 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
67008
67009         * lib/getdelim.c (getdelim): Remove unused variables.
67010
67011 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
67012
67013         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
67014         so that the code works even with ancient cpp.  Portability problem
67015         with GCC 2.7.2.1 reported by Thomas M.Ott.
67016
67017 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
67018
67019         * modules/regex (Depends-on): Add strcase.
67020
67021         * modules/gethostname (Licence): Change from GPL to LGPL, since
67022         gethostname.c is a trivial implementation of a standard library
67023         function.
67024         * modules/poll (License): Change from GPL to LGPL, since it's
67025         derived from LGPL code.
67026
67027 2005-09-27  Jim Meyering  <jim@meyering.net>
67028
67029         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
67030         HAVE_CONFIG_H.
67031
67032         * lib/intprops.h (signed_type_or_expr__): Define.
67033         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
67034         for unsigned types.
67035
67036 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
67037
67038         * lib/verify.h (verify_expr): Remove, replacing with:
67039         (verify_true): New macro that returns true instead of void.
67040         (verify_type__): Remove.
67041         (verify): Use verify_true rather than verify_type__.
67042
67043 2005-09-26  Bruno Haible  <bruno@clisp.org>
67044
67045         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
67046         is necessary.
67047         (lib_SOURCES): Remove mbchar.c.
67048         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
67049         (Files): Add m4/mbrtowc.m4.
67050         * modules/mbiter: Likewise.
67051         * modules/mbuiter: Likewise.
67052
67053 2005-09-26  Bruno Haible  <bruno@clisp.org>
67054
67055         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
67056         compile mbchar.c if they are not both present.
67057         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
67058         * m4/mbiter.m4 (gl_MBITER): Likewise.
67059         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
67060         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
67061         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
67062
67063 2005-09-25  Jim Meyering  <jim@meyering.net>
67064
67065         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
67066         also uses socklen_t.
67067
67068 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
67069
67070         * lib/utimens.c (ENOSYS): Define if not already defined.
67071         (futimens): Support having a null PATH if the file descriptor
67072         is nonnegative.
67073
67074         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
67075         Remove.
67076         (__attribute): Define to empty unless GCC 3.1 or later.
67077         This works around a core dump on OpenBSD 3.4, which has GCC
67078         2.95.3, which dumps core when given __attribute__(()).  It also
67079         simplifies other tests, since we really don't want to bother with
67080         worrying about which ancient version of GCC supported what.
67081         Original problem reported by Yoann Vandoorselaere, with part of
67082         the fix suggested by Derek Price.
67083
67084 2005-09-24  Jim Meyering  <jim@meyering.net>
67085
67086         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
67087         so we can once again use a positive bitfield width of 1 -- now we
67088         don't have to explain why we were using a bitfield width of 2.
67089
67090 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
67091
67092         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
67093         and similarly for the other external symbols.  Problem reported
67094         by James Gallager.
67095
67096         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
67097         bug reported by Jim Meyering.
67098
67099         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
67100         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
67101         not needed, since socklen is a prerequisite module.
67102
67103 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
67104
67105         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
67106         Problem reported by Eric Blake.
67107         (getaddrinfo): Initialize se so that it's not garbage.
67108         Redo internal storage allocation so that it doesn't make unportable
67109         assumptions about alignment.
67110         Fix a memory leak.
67111
67112         * lib/utimens.c (futimens): Use futimesat if available.
67113         Prefer it to futimes since it doesn't have the futimes bug.
67114
67115         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
67116         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
67117         Instead, declare a function that returns a pointer to an array,
67118         and use verify_type__ to declare the size of the array.
67119         Problem and germ of a solution reported by Bruno Haible.
67120         (verify_type__): Use 2, not 1, for bitfield size, to avoid
67121         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
67122
67123 2005-09-23  Jim Meyering  <jim@meyering.net>
67124
67125         Sync from coreutils.
67126         Correct build failure (socklen_t not defined) on at least
67127         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
67128         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
67129
67130 2005-09-23  Jim Meyering  <jim@meyering.net>
67131
67132         * modules/getaddrinfo (Depends-on): Add socklen.
67133
67134 2005-09-23  Bruno Haible  <bruno@clisp.org>
67135
67136         * tests/test-verify.c: New file.
67137
67138 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
67139
67140         Sync from coreutils.
67141
67142         * modules/argmatch (Depends-on): Add verify.
67143         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
67144         unistd-safer.
67145         * modules/save-cwd (Depends-on): Likewise.
67146
67147         * modules/openat (Files): Add lib/openat-die.c.
67148         (Depends-on): Remove error, exitfail.
67149         Add dirname.
67150
67151         * modules/verify: New file.
67152         * MODULES.html.sh (Diagnostics <assert.h>): New section,
67153         with "verify" module.
67154
67155 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
67156
67157         Sync from coreutils.
67158
67159         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
67160         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
67161         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
67162         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
67163         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
67164         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
67165         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
67166         Don't bother checking for string.h, stdlib.h, unistd.h.
67167         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
67168         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
67169         module's job.
67170         * m4/jm-macros.m4 (gl_MACROS): Likewise.
67171         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
67172
67173         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
67174         (gl_GETDATE): Use it.
67175
67176         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
67177
67178 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
67179
67180         Sync from coreutils.
67181
67182         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
67183         stat-time.h.
67184         * lib/argmatch.h: Include verify.h
67185         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
67186         (ARGMATCH_ASSERT): Remove; unused.
67187         * lib/canonicalize.c: Assume STDC_HEADERS.
67188         * lib/exclude.c: Include "strcase.h".
67189         * lib/regex_internal.h [!defined _LIBC]: Likewise.
67190         * lib/getusershell.c: Include stdio--.h rather than stdio.h
67191         and stdio-safer.h.
67192         (getusershell): Call fopen, not fopen_safer.
67193         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
67194         Do not include unistd-safer.h.
67195         (save_cwd): Don't call fd_safer; no longer needed
67196         now that we include fcntl--.h.
67197
67198         * lib/getdate.y (relative_time): New type.
67199         (RELATIVE_TIME_0): New constant.
67200         (parser_control): Use relative_time instead of doing it ourselves.
67201         (%union): Add new relative_time rel member.
67202         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
67203         Now typeless.
67204         (relunit, relunit_snumber): Now of type rel.
67205         (zone, rel, relunit, get_date): Adjust to above changes.
67206
67207         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
67208         Do not include unistd-safer.h.
67209         (getloadavg): Don't call fd_safer; no longer needed
67210         now that we include fcntl--.h.
67211
67212         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
67213         (make_dir_parents): Treat ENOSYS like EEXIST.
67214
67215         Improve quality of diagnostics on restore_cwd failure.
67216         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
67217         (make_dir_parents): Last arg is now int * (for errno), not bool *.
67218         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
67219         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
67220         each time through the loop.  Do not diagnose restore_cwd failure;
67221         that is the caller's job (and perhaps the caller does not care).
67222
67223         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
67224         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
67225         If the file already exists but is not a directory, don't bother
67226         to try to make its parents.
67227         Close potential file descriptor leak if we can't chdir("/") (!).
67228         Don't always return true if chdir($PWD) fails; return true only
67229         if the requested action was done successfully (except for the
67230         chdir($PWD)).
67231         Don't log final directory unless we actually made it.
67232         Refactor to avoid duplicate code to fix up permissions.
67233         Don't attempt to fix up parent permissions if chdir($PWD) fails.
67234
67235         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
67236         to make it a bit faster and (I hope) clearer.
67237         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
67238         Fix bug in formats like %2N.
67239
67240         * lib/verify.h: New file.
67241
67242 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
67243
67244         Sync from coreutils.
67245         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
67246
67247 2005-09-22  Jim Meyering  <jim@meyering.net>
67248
67249         Sync from coreutils.
67250
67251         * m4/lstat.m4 (gl_FUNC_LSTAT):
67252         Use AC_LIBSOURCES to require lstat.c and lstat.h.
67253         Remove obsolete comment.
67254         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
67255         * m4/xstrtod.m4: Likewise.
67256
67257         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
67258
67259 2005-09-22  Jim Meyering  <jim@meyering.net>
67260
67261         Sync from coreutils.
67262
67263         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
67264
67265         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
67266         the .tm_year member, since otherwise gcc-4.0 would now warn about
67267         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
67268
67269         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
67270         order to avoid an unsuppressible warning from gcc on 64-bit systems.
67271
67272         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
67273         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
67274         when run in a time zone for which daylight savings time is in effect
67275         for the starting date.
67276
67277         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
67278         stop us from restricting permissions of just-created absolute-named
67279         directories.
67280         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
67281         to restore initial working directory.
67282         * lib/mkdir-p.c (make_dir_parents): New parameter:
67283         different_working_dir, to tell caller if/when we change the working
67284         directory and are unable to return to the initial one.
67285         * lib/mkdir-p.h (make_dir_parents): Update prototype.
67286         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
67287         `return false'.  This fixes a bug introduced on 2004-07-30.
67288
67289         * lib/openat.c (fdopendir): Be sure to close the supplied
67290         file descriptor before returning.  This makes our replacement
67291         implementation a little closer to Solaris's, where fdopendir
67292         ties the file descriptor to the returned DIR* pointer.
67293         * lib/openat.c (unlinkat): New function.
67294         * lib/openat.h (unlinkat): Add prototype.
67295         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
67296         (openat_restore_fail): Rename from openat_restore_die.
67297         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
67298
67299         Provide an alternative to exiting immediately upon save_cwd or
67300         restore_cwd failure.  Now, an application can arrange e.g.,
67301         to perform a longjump in that case.
67302         * lib/openat.c: Include dirname.h.
67303         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
67304         (rpl_openat, fdopendir, fstatat): Call openat_save_die
67305         and openat_restore_die rather than calling error directly.
67306         Don't include "error.h" or "exitfail.h"; they're no longer needed.
67307
67308         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
67309         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
67310         define.
67311
67312         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
67313         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
67314                             int utc, int nanoseconds);
67315         Background:
67316         date should not have to allocate a megabyte of virtual memory to
67317         handle a format argument like +%1048575T.  When implemented with
67318         strftime, it must allocate such a buffer, use strftime to fill it
67319         in, print it, then free it.
67320         With fprintftime, it simply prints everything and exits.
67321         With no need for memory allocation, that's one fewer way to fail.
67322         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
67323         optional field width, not before, so we accept %9:z, not %:9z.
67324         (my_strftime): Be sure to use L_('x') for literals.
67325
67326         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
67327         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
67328         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
67329         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
67330         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
67331         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
67332         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
67333         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
67334         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
67335         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
67336         * lib/xgethostname.c, lib/xreadlink.c:
67337         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
67338
67339         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
67340         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
67341         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
67342         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
67343         and don't include <sys/file.h>).
67344
67345 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
67346
67347         Sync from coreutils.
67348
67349         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
67350         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
67351         [!LDAV_DONE]: Avoid unused variable warning.
67352
67353 2005-09-21  Bruno Haible  <bruno@clisp.org>
67354
67355         * lib/unicodeio.h (unicode_to_mb): New declaration.
67356
67357 2005-09-20  Derek Price  <derek@ximbiot.com>
67358
67359         * lib/getaddrinfo.c: Don't include <netdb.h> included from
67360         getaddrinfo.h.
67361
67362 2005-09-20  Bruno Haible  <bruno@clisp.org>
67363
67364         * gnulib-tool: Remove trailing slashes from the values specified for
67365         --source-base, --m4-base, --tests-base, --aux-dir.
67366         Suggested by Simon Josefsson <jas@extundo.com>.
67367
67368 2005-09-20  Bruno Haible  <bruno@clisp.org>
67369
67370         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
67371         func_modules_to_filelist, func_import, func_create_testdir): Make all
67372         sorting results locale-independent, so that gnulib-cache.m4 doesn't
67373         change when gnulib-tool is invoked in a different locale.
67374
67375 2005-09-19  Simon Josefsson  <jas@extundo.com>
67376
67377         * m4/socklen.m4: Fix typo.
67378
67379 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67380
67381         Use a consistent style for including <config.h>.
67382         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
67383         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
67384         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
67385         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
67386         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
67387         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
67388         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
67389         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
67390         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
67391         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
67392         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
67393         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
67394         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
67395         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
67396         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
67397         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
67398         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
67399         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
67400         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
67401         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
67402         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
67403         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
67404         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
67405         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
67406         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
67407         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
67408         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
67409         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
67410         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
67411         lib/xstrtoumax.c, lib/yesno.c:
67412         Standardize inclusion of config.h.
67413         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
67414         lib/inttostr.h:  Removed inclusion of config.h from header files.
67415         * lib/inttostr.c:  Adjusted in-tree users.
67416         * lib/timespec.h: Remove superfluous warning to include config.h.
67417         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
67418         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
67419         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
67420         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
67421         config.h with HAVE_CONFIG_H.
67422
67423 2005-09-19  Jim Meyering  <jim@meyering.net>
67424
67425         * modules/pathmax (License): Change to LGPL.
67426
67427 2005-09-19  Derek Price  <derek@ximbiot.com>
67428
67429         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
67430
67431 2005-09-19  Bruno Haible  <bruno@clisp.org>
67432
67433         * gnulib-tool (import): Provide default for --tests-base.
67434
67435 2005-09-19  Bruno Haible  <bruno@clisp.org>
67436
67437         * doc/quote.texi: New file, extracted from gnulib.texi.
67438         * doc/ctime.texi: New file, extracted from gnulib.texi.
67439         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
67440         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
67441         * doc/gnulib.texi: Include them.
67442
67443 2005-09-18  Bruno Haible  <bruno@clisp.org>
67444
67445         Portability fix.
67446         * gnulib-tool (func_readlink): New function.
67447         (func_ln_if_changed): Use it.
67448
67449 2005-09-18  Bruno Haible  <bruno@clisp.org>
67450
67451         * gnulib-tool: Support --with-tests also with --import.
67452         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
67453         (func_import): Use variables $testsbase and $inctests. Emit a
67454         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
67455         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
67456         SUBDIRS += $testsdir.
67457         (func_create_testdir): Update.
67458
67459 2005-09-18  Bruno Haible  <bruno@clisp.org>
67460
67461         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
67462         instead of $dry_run.
67463         (func_cp_if_changed, func_mv_if_changed): Remove functions.
67464         (func_ln_if_changed): Don't handle dry-run here.
67465         (func_import): In dry-run mode, detect more precisely which actions
67466         would be performed, and don't use "...ing" verbs.
67467
67468 2005-09-18  Bruno Haible  <bruno@clisp.org>
67469
67470         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
67471         (func_import): Use join on two temporary files instead of three nested
67472         loops, in order to determine which files are new or old.
67473
67474 2005-09-18  Bruno Haible  <bruno@clisp.org>
67475
67476         * gnulib-tool (func_import): Comment out code that spits out the
67477         new files with --dry-run.
67478
67479 2005-09-18  Bruno Haible  <bruno@clisp.org>
67480
67481         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
67482
67483 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
67484
67485         * lib/stat-time.h: New file.
67486         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
67487         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
67488         in a different way.
67489         (timespec_cmp): New function.
67490         * lib/utimecmp.c: Include stat-time.h.
67491         (SYSCALL_RESOLUTION): Depend on whether various struct stat
67492         members exist, not on the obsolescent ST_MTIM_NSEC.
67493         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
67494
67495 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
67496
67497         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
67498
67499 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
67500
67501         * MODULES.html.sh (File system functions): Add stat-time.
67502         * modules/stat-time: New file.
67503         * modules/timespec (Files): Remove m4/st_mtim.m4; this
67504         is now done in a different way, by the stat-time module.
67505         * modules/utimecmp (Depends-on): Add stat-time.
67506
67507 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
67508
67509         * m4/st_mtim.m4: Remove.  Superseded by...
67510         * m4/stat-time.m4: New file.
67511         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
67512         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
67513
67514 2005-09-15  Derek Price  <derek@ximbiot.com>
67515
67516         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
67517
67518 2005-09-15  Derek Price  <derek@ximbiot.com>
67519
67520         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
67521         * lib/regex_internal.c: Ditto, using this...
67522         (__GNUC_PREREQ): ...new macro.
67523         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
67524         using...
67525         (__GNUC_PREREQ): ...this new macro.
67526
67527         * lib/strstr.h: Include string.h. Define strstr as a macro here.
67528
67529 2005-09-15  Derek Price  <derek@ximbiot.com>
67530             Paul Eggert  <eggert@cs.ucla.edu>
67531
67532         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
67533         changes, consolidating in...
67534         * lib/regex_internal.h: ...this file.
67535
67536 2005-09-13  Jim Meyering  <jim@meyering.net>
67537
67538         * lib/canon-host.c: Filter through gnu indent and reword comments
67539         slightly.
67540         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
67541
67542 2005-09-13  Derek Price  <derek@ximbiot.com>
67543
67544         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
67545         failure.
67546         Reported by Jim Meyering  <jim@meyering.net>.
67547
67548 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
67549
67550         * lib/base64.c: Typo.
67551         (base64_encode): Put b64str in initialized data section.
67552
67553 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
67554
67555         Merge glibc and coreutils changes into gnulib, plus a few
67556         extra fixes.
67557         * lib/md5.c: Use #error rather than a string.
67558         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
67559         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
67560         (__attribute__): Define to empty for non recent-GCC.
67561         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
67562         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
67563         Renamed from their non-__ counterparts, with new macros replacing
67564         them if not _LIBC.  Add __THROW attribute.
67565         (rol): Remove.
67566         (struct md5_ctx): Align buffer if using GCC.
67567         * lib/sha1.h (struct sha1_ctx): Likewise.
67568         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
67569         The old name was backwards.
67570         (NOTSWAP): Remove; not used.
67571         (rol): New macro, moved here from md5.h.
67572         (sha1_process_block): Remove a FIXME that doesn't make sense.
67573
67574 2005-09-12  Derek Price  <derek@ximbiot.com>
67575
67576         Return usable errors from canon-host.
67577         * lib/canon-host.h: New file.
67578         * lib/canon-host.c (canon_host): Wrap...
67579         (canon_host_r): ...this new function, which now relies exclusively on
67580         getaddrinfo.
67581         (ch_strerror): New function.
67582         (last_cherror): New global.
67583         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
67584         interface.
67585         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
67586         void *.
67587         (freeaddrinfo): Free ai->ai_canonname when set.
67588
67589 2005-09-12  Derek Price  <derek@ximbiot.com>
67590
67591         Make canon-host require getaddrinfo.
67592         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
67593         AC_LIBSOURCE canon-host.h.  Call...
67594         (gl_PREREQ_CANON_HOST): ...this new function, which requires
67595         gl_GETADDRINFO.
67596         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
67597
67598 2005-09-12  Derek Price  <derek@ximbiot.com>
67599
67600         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
67601         LGPL.
67602         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
67603
67604 2005-09-12  Derek Price  <derek@ximbiot.com>
67605
67606         * lib/gai_strerror.c: Include config.h when available.  Include
67607         getaddrinfo.h before other headers to test interface.
67608         Reported by Larry Jones <lawrence.jones@ugs.com>.
67609
67610 2005-09-12  Derek Price  <derek@ximbiot.com>
67611             Paul Eggert  <eggert@cs.ucla.edu>
67612
67613         * modules/glob (Files): Add glob-libc.h.
67614
67615 2005-09-12  Derek Price  <derek@ximbiot.com>
67616             Paul Eggert  <eggert@cs.ucla.edu>
67617
67618         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
67619         glob_.h, glob-libc.h.
67620         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
67621
67622 2005-09-12  Derek Price  <derek@ximbiot.com>
67623             Paul Eggert  <eggert@cs.ucla.edu>
67624
67625         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
67626         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
67627         protecting things that should be done only in gnulib contexts.
67628         * lib/glob_.h: New file, containing only the glob things needed for
67629         gnulib.
67630         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
67631         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
67632         (glob, globfree, glob_pattern_p): Now defined simply in terms of
67633         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
67634         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
67635         and to respect the namespace rules better.
67636
67637 2005-09-08  Simon Josefsson  <jas@extundo.com>
67638
67639         * modules/socklen: New file.
67640
67641 2005-09-08  Simon Josefsson  <jas@extundo.com>
67642
67643         * m4/socklen.m4: New file.
67644
67645 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
67646
67647         * modules/utimens (Files): Add m4/utimbuf.m4, since
67648         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
67649         Reported by Sergey Poznyakoff.
67650
67651 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
67652
67653         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
67654         definitions, since that's the preferred style in glibc.
67655         Fix a minor spacing issue, and update copyright notice to match
67656         glibc's.
67657
67658 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
67659
67660         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
67661
67662 2005-09-06  Simon Josefsson  <jas@extundo.com>
67663
67664         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
67665         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
67666
67667 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
67668
67669         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
67670         warning.
67671
67672 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
67673
67674         * config/srclist.txt: Add glibc bug 1302.
67675
67676 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
67677
67678         Change bitset word type from unsigned int to unsigned long int,
67679         as this has better performance on typical 64-bit hosts.
67680         Port bitset code to hosts with unusual word sizes.
67681         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
67682         (build_collating_symbol):
67683         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
67684         argument is a bitset.  This is merely a style issue, but it makes
67685         it clearer that an entire array is expected.
67686         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
67687         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
67688         Port to the case where bitset_word is not the same as unsigned int.
67689         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
67690         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
67691         Likewise.
67692         * lib/regexec.c (check_dst_limits_calc_pos_1,
67693         check_subexp_matching_top):
67694         (build_trtable, group_nodes_into_DFAstates):
67695         Likewise.
67696         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
67697         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
67698         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
67699         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
67700         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
67701         * lib/regcomp.c (optimize_subexps, lower_subexp):
67702         Work even if bitset_word has holes in its bitwise representation.
67703         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
67704         * lib/regexec.c (check_dst_limits_calc_pos_1,
67705         check_subexp_matching_top):
67706         Likewise.
67707         * lib/regex_internal.c (re_string_reconstruct):
67708         Don't assume UCHAR_MAX == 255.
67709         * lib/regex_internal.h (bitset_set_all): Likewise.
67710         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
67711         All uses changed.
67712         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
67713         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
67714         All uses changed.
67715         (BITSET_WORD_MAX): New macro.
67716         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
67717         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
67718         (bitset_empty, bitset_copy):
67719         Prefer sizeof (bitset) to multiplying it out ourselves.
67720         (bitset_not_merge): Remove; unused.
67721         (bitset_contain): Return bool, not unsigned int with one bit on.
67722         All callers changed.
67723         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
67724         alignment than re_node_set; do this by defining a new internal
67725         type struct dests_alloc and using it to allocate memory.
67726
67727 2005-09-05  Bruno Haible  <bruno@clisp.org>
67728
67729         * gnulib-tool (func_import): Fix comparison in handling of symbolic
67730         links.
67731
67732 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
67733
67734         * modules/size_max (Makefile.am): Add size_max.h
67735
67736 2005-09-04  Derek Price  <derek@ximbiot.com>
67737
67738         * gnulib-tool (func_import): Fix reversed $symbolic logic.
67739
67740 2005-09-03  Simon Josefsson  <jas@extundo.com>
67741
67742         * gnulib-tool: Fix typo.
67743
67744 2005-09-03  Simon Josefsson  <jas@extundo.com>
67745
67746         * config/srclist.txt: Add glibc bug 1293.
67747
67748 2005-09-03  Derek Price  <derek@ximbiot.com>
67749
67750         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
67751         From Larry Jones <lawrence.jones@ugs.com>.
67752
67753 2005-09-02  Simon Josefsson  <jas@extundo.com>
67754
67755         * modules/socklen: New file.
67756
67757 2005-09-02  Simon Josefsson  <jas@extundo.com>
67758
67759         * modules/havelib: New module.
67760
67761         * modules/gettext, modules/iconv, modules/lock, modules/readline:
67762         Use havelib.
67763
67764 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
67765
67766         Check for arithmetic overflow when calculating sizes, to prevent
67767         some buffer-overflow issues.  These patches are conservative, in the
67768         sense that when I couldn't determine whether an overflow was possible,
67769         I inserted a run-time check.
67770         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
67771         macros.
67772         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
67773         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
67774         (re_xnrealloc, re_x2nrealloc): New inline functions.
67775         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
67776         parse_bracket_exp):
67777         (build_equiv_class, build_charclass): Check for arithmetic overflow
67778         in size expression calculations.
67779         * lib/regex_internal.c (re_string_realloc_buffers):
67780         (build_wcs_upper_buffer, re_node_set_add_intersect):
67781         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
67782         (re_dfa_add_node, register_state): Likewise.
67783         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
67784         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
67785         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
67786         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
67787
67788 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
67789
67790         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
67791         m4/ulonglong.m4.  Problem reported by Martin Lambers.
67792
67793 2005-09-02  Bruno Haible  <bruno@clisp.org>
67794
67795         Support for lib vs. lib64 distinction on biarch platforms.
67796         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
67797         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
67798         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
67799
67800 2005-09-02  Bruno Haible  <bruno@clisp.org>
67801
67802         * gnulib-tool (import): In the other first-use case, provide defaults
67803         as well.
67804
67805 2005-09-02  Bruno Haible  <bruno@clisp.org>
67806
67807         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
67808         patches not yet found in the latest gettext release.
67809
67810 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
67811
67812         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
67813         to avoid a collision with bits/local_lim.h in glibc.
67814         All uses changed.  Problem reported by Dmitry V. Levin in
67815         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
67816
67817         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
67818         bugs in int versus size_t comparisons.
67819         (re_string_context_at): Fix bug where the code assumed that
67820         Idx is signed.
67821
67822         Use bool where appropriate.
67823         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
67824         All callers changed.
67825         (calc_eclosure_iter): Likewise, for ROOT arg.
67826         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
67827         (build_charclass_op): Likewise, for NON_MATCH arg.
67828         * lib/regex_internal.c (re_string_allocate, re_string_construct):
67829         (re_string_construct_common): Likewise, for ICASE arg.
67830         * lib/regexec.c (re_search_2_stub, re_search_stub):
67831         Likewise, for RET_LEN arg.
67832         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
67833         (set_regs): Likewise, for FL_BACKTRACK arg.
67834         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
67835         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
67836         (calc_eclosure_iter, parse_bracket_exp):
67837         Use bool for internal variables that are booleans.
67838         * lib/regexec.c (re_search_internal, check_matching,
67839         proceed_next_node):
67840         (set_regs, build_sifted_states, sift_states_bkref):
67841         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
67842         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
67843         (find_collation_sequence_value):
67844         Likewise.
67845         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
67846         (re_node_set_compare):
67847         Return bool, not int. All callers changed.
67848         * lib/regexec.c (check_halt_node_context, check_dst_limits):
67849         (build_trtable, check_node_accept): Likewise.
67850         * lib/regex_internal.h: Include stdbool.h.
67851
67852         Fix bugs uncovered when converting to bool.
67853         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
67854         failure instead of charging ahead blindly.
67855         * lib/regex_internal.c (register_state): Likewise.
67856         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
67857         for freeing internal storage.
67858         (group_nodes_into_DFA_states): Use unsigned int, not int, for
67859         bitset pieces used as boolean, to avoid undefined behavior
67860         on hosts that do int overflow checking.
67861
67862 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
67863
67864         * config/srclist.txt: Add glibc bugs 1285-1287.
67865
67866 2005-09-01  Jim Meyering  <jim@meyering.net>
67867
67868         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
67869         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
67870         Require gl_STAT_MACROS, too.
67871
67872 2005-09-01  Bruno Haible  <bruno@clisp.org>
67873
67874         * gnulib-tool (import): In the first-use case, provide defaults.
67875
67876 2005-09-01  Bruno Haible  <bruno@clisp.org>
67877
67878         * gnulib-tool (func_import): Remove the .tmp files.
67879
67880 2005-09-01  Bruno Haible  <bruno@clisp.org>
67881
67882         * gnulib-tool (func_import): Fix handling of symbolic links.
67883
67884 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
67885
67886         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
67887         old glibc regex code mishandles strings longer than 2**31 bytes.
67888         This patch fixes this when the regex code is used in gnulib
67889         (i.e., outside glibc).
67890
67891         This patch should not affect the use of the regex code inside
67892         glibc.  No doubt this problem also needs to be handled for glibc
67893         as well, but the result will be an incompatible change to the
67894         glibc ABI, and the old ABI will have to be supported too.  That
67895         can be the the subject for another patch.
67896
67897         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
67898         governing whether the rest of this patch is active.  By default,
67899         the macro is disabled and the patch has no effect.
67900         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
67901         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
67902         (struct re_pattern_buffer, re_search, re_search_2, re_match):
67903         (re_match_2, re_set_registers): Use the new types.
67904         * lib/regex_internal.h (Idx, re_hashval_t): New types.
67905         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
67906         New macros.
67907         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
67908         (re_string_context_at, bin_tree_t, re_dfastate_t):
67909         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
67910         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
67911         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
67912         (re_string_char_size_at, re_string_wchar_at):
67913         (re_string_elem_size_at):
67914         Use the new types and macros to port to 64-bit hosts.
67915         Use unsigned types for internal values, so that the code
67916         mostly works even for arrays larger than SSIZE_MAX.
67917         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
67918         (search_duplicated_node, calc_eclosure_iter, fetch_number):
67919         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
67920         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
67921         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
67922         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
67923         (calc_inveclosure, parse_dup_op, build_range_exp):
67924         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
67925         (fetch_number, create_token_tree, mark_opt_subexp):
67926         Likewise.
67927         * lib/regex_internal.c (re_string_construct_common,
67928         create_ci_newstate):
67929         (create_cd_newstate, re_string_allocate, re_string_construct):
67930         (re_string_realloc_buffers, build_wcs_upper_buffer):
67931         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
67932         (re_string_reconstruct, re_string_peek_byte_case):
67933         (re_string_fetch_byte_case, re_string_context_at):
67934         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
67935         (re_node_set_init_copy, re_node_set_add_intersect):
67936         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
67937         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
67938         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
67939         (re_acquire_state, re_acquire_state_context, register_state):
67940         Likewise.
67941         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
67942         search_cur_bkref_entry):
67943         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
67944         (re_search_internal, re_search_2_stub, re_search_stub)
67945         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
67946         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
67947         (update_cur_sifted_state, check_dst_limits):
67948         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
67949         (check_subexp_limits, sift_states_bkref, merge_state_array):
67950         (check_subexp_matching_top, get_subexp, get_subexp_sub):
67951         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
67952         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
67953         (expand_bkref_cache, check_node_accept_bytes):
67954         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
67955         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
67956         (acquire_init_state_context, check_halt_node_context):
67957         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
67958         (sift_states_backward, clean_state_log_if_needed):
67959         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
67960         (find_recover_state, transit_state_sb, transit_state_mb):
67961         (transit_state_bkref, build_trtable, match_ctx_clean):
67962         Likewise.
67963         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
67964         to work around an assumption that REG_MISSING is negative.
67965
67966         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
67967         (seek_collating_symbol_entry) [defined _LIBC]:
67968         (lookup_collation_sequence_value) [defined _LIBC]:
67969         (build_range_exp, build_collating_symbol) [defined _LIBC]:
67970         Use prototypes rather than old-style function definitions.
67971         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
67972         (transit_state_sb) [0]:
67973         (find_collation_sequence_value) [defined _LIBC]: Likewise.
67974
67975         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
67976         rm_eo.
67977
67978         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
67979         (optimize_subexps, lower_subexp):
67980         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
67981         since the signed shift might overflow.  Use 1u<<31 instead.
67982         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
67983         Likewise.
67984         * lib/regexec.c (check_dst_limits_calc_pos_1,
67985         check_subexp_matching_top): Likewise.
67986
67987         * lib/regcomp.c (optimize_subexps, lower_subexp):
67988         Use CHAR_BIT rather than 8, for clarity.
67989         * lib/regexec.c (check_dst_limits_calc_pos_1):
67990         (check_subexp_matching_top): Likewise.
67991         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
67992         have to worry about portability issues when shifting it left.
67993         Remove no-longer-needed test for table_size > 0.
67994         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
67995         in a word, as the resulting behavior is undefined.
67996         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
67997         in one case, a <= should have been an <, and in another case the
67998         whole test was missing.
67999         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
68000         the standard name CHAR_BIT.
68001         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
68002         this is not true on one's complement and signed-magnitude hosts.
68003
68004         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
68005         next_last_offset.
68006         (struct re_dfa_t): Remove unused member states_alloc.
68007         * lib/regcomp.c (init_dfa): Don't initialize unused members.
68008
68009 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
68010
68011         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
68012         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
68013         and large-file glibc and in 32-bit large-file Solaris.
68014
68015 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
68016
68017         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
68018         lengths fit in regoff_t; this isn't true if regoff_t is the same
68019         width as size_t.
68020         * lib/regex.c (re_search_internal): 5th arg is LAST_START
68021         (= START + RANGE) instead of RANGE.  This avoids overflow
68022         problems when regoff_t is the same width as size_t.
68023         All callers changed.
68024         (re_search_2_stub): Check for overflow when adding the
68025         sizes of the two strings.
68026         (re_search_stub): Check for overflow when adding START
68027         to RANGE; if it occurs, substitute the extreme value.
68028
68029 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
68030
68031         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
68032
68033 2005-08-31  Jim Meyering  <jim@meyering.net>
68034
68035         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
68036         a pointer-to-const.
68037         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
68038         (register_state): Likewise.
68039         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
68040         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
68041         (group_nodes_into_DFAstates): Likewise.
68042
68043 2005-08-31  Jim Meyering  <jim@meyering.net>
68044
68045         * check-module: Add a FIXME comment.
68046
68047 2005-08-31  Eric Blake  <ebb9@byu.net>
68048
68049         * modules/unistd-safer (Files): Add unistd--.h.
68050         * modules/stdio-safer (Files): Add stdio--.h.
68051
68052 2005-08-31  Derek Price  <derek@ximbiot.com>
68053
68054         * lib/getdelim.c (getdelim): Return EOF on EOF.
68055         Reported by Larry Jones <lawrence.jones@ugs.com>.
68056
68057 2005-08-31  Bruno Haible  <bruno@clisp.org>
68058
68059         Avoid unnecessary diffs in the generated lib/Makefile.am.
68060         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
68061         the generated files.
68062         (func_import): Don't set cmd.
68063
68064 2005-08-31  Bruno Haible  <bruno@clisp.org>
68065
68066         * lib/strstr.c: Include <stddef.h>, for NULL.
68067         * lib/strcasestr.c: Likewise.
68068         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
68069
68070 2005-08-31  Bruno Haible  <bruno@clisp.org>
68071
68072         * gnulib-tool: New option --macro-prefix.
68073         (func_import): Use macro_prefix.
68074         (import): Handle option --macro-prefix.
68075
68076 2005-08-31  Bruno Haible  <bruno@clisp.org>
68077
68078         * gnulib-tool (import): Rename most ac_* variables to cached_*.
68079         Also use new variables cached_lgpl, cached_libtool.
68080
68081 2005-08-31  Bruno Haible  <bruno@clisp.org>
68082
68083         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
68084         always instantiating them.
68085
68086 2005-08-31  Bruno Haible  <bruno@clisp.org>
68087
68088         * gnulib-tool (func_import): Read the previous cached settings
68089         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
68090         earlier added by gnulib but are now dropped. Warn when a gnulib file
68091         overwrites a non-gnulib file.
68092
68093 2005-08-31  Bruno Haible  <bruno@clisp.org>
68094
68095         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
68096         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
68097         projects that don't keep autogenerated files in CVS. Put into
68098         actioncmd only the specified modules, not the transitive closure.
68099
68100 2005-08-31  Bruno Haible  <bruno@clisp.org>
68101
68102         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
68103         Create directories that shall be filled.
68104         (import): Don't look for gl_* macros in configure.ac. Recurse across
68105         all directories containing a gnulib-cache.m4 files, if meaningful.
68106
68107 2005-08-31  Bruno Haible  <bruno@clisp.org>
68108
68109         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
68110         (import): Set seen_libtool when we see gl_LIBTOOL.
68111
68112 2005-08-31  Bruno Haible  <bruno@clisp.org>
68113
68114         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
68115         declaration macro definitions from generated gnulib.m4.
68116
68117 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
68118
68119         * lib/iconvme.h: Add prototype for iconv_alloc.
68120
68121 2005-08-29  Simon Josefsson  <jas@extundo.com>
68122
68123         * lib/iconvme.c: Fix errno.
68124
68125 2005-08-29  Bruno Haible  <bruno@clisp.org>
68126
68127         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
68128         that it works when the directory contains spaces.
68129
68130 2005-08-29  Bruno Haible  <bruno@clisp.org>
68131
68132         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
68133
68134 2005-08-29  Bruno Haible  <bruno@clisp.org>
68135
68136         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
68137         Emit more advice.
68138
68139 2005-08-29  Bruno Haible  <bruno@clisp.org>
68140         and Stepan Kasal  <kasal@ucw.cz>
68141
68142         * check-module: If more parameters are given, check each of them
68143         separately; add more exceptions, as noted by Jim Meyering.
68144         (check_module): New procedure.
68145         (%exempt_header): Now contains all exceptions.
68146
68147 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
68148
68149         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
68150
68151 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
68152
68153         * lib/iconvme.c: Split iconv_string into iconv_alloc.
68154
68155 2005-08-28  Bruno Haible  <bruno@clisp.org>
68156
68157         * m4/gnulib-tool.m4: New file.
68158
68159 2005-08-27  Jim Meyering  <jim@meyering.net>
68160
68161         * modules/unistd-safer (Files): Add pipe-safer.c.
68162         * modules/fcntl-safer (Files): Add creat-safer.c.
68163
68164 2005-08-27  Jim Meyering  <jim@meyering.net>
68165
68166         * m4/stdlib-safer.m4: New file.  From coreutils.
68167         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
68168         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
68169         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
68170         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
68171         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
68172
68173 2005-08-27  Jim Meyering  <jim@meyering.net>
68174
68175         * lib/fopen-safer.c: Merge minor changes from coreutils.
68176         * lib/dup-safer.c: Likewise.
68177         * lib/fd-safer.c: Likewise.
68178
68179         Merge from coreutils.
68180         * lib/stdio--.h: New file.
68181         * lib/stdlib--.h: New file.
68182         * lib/mkstemp-safer.c: New file.
68183
68184         GNU tar needs these.
68185         * lib/pipe-safer.c: New file.
68186         * lib/creat-safer.c: New file.
68187         * lib/fcntl--.h (creat): Define to creat_safer.
68188         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
68189         * lib/unistd--.h (pipe): Define to pipe_safer.
68190         * lib/unistd-safer.h: Declare pipe_safer.
68191
68192 2005-08-26  Simon Josefsson  <jas@extundo.com>
68193
68194         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
68195         Haible <bruno@clisp.org>.
68196
68197 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
68198
68199         * lib/regex_internal.h: Remove all references to
68200         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
68201         or better.
68202         (bitset_not, bitset_merge, bitset_not_merge):
68203         (bitset_mask, re_string_allocate, re_string_construct):
68204         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
68205         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
68206         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
68207         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
68208         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
68209         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
68210         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
68211         (re_acquire_state_context):
68212         Remove unnecessary forward decls.
68213         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
68214         Put __attribute at function definition,
68215         now that the function decl has been removed.
68216         * lib/regex_internal.c (re_string_peek_byte_case):
68217         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
68218         Likewise.
68219
68220 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
68221
68222         * m4/regex.m4: Add AC_PREREQ(2.50).
68223         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
68224
68225 2005-08-25  Simon Josefsson  <jas@extundo.com>
68226
68227         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
68228         __fsetlocking.
68229
68230 2005-08-25  Simon Josefsson  <jas@extundo.com>
68231
68232         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
68233         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
68234         GLIBC specific code.
68235
68236 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
68237
68238         Make regex safe for g++.  This fixes one real bug (an "err"
68239         that should have been "*err").  g++ problem reported by
68240         Sam Steingold.
68241         * lib/regex_internal.h (re_calloc): New macro, consistent with
68242         re_malloc etc.  All callers of calloc changed to use re_calloc.
68243         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
68244         not int.  All callers changed.
68245         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
68246         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
68247         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
68248         (find_recover_state): Change "err" to "*err"; this fixes what
68249         appears to be a real bug.
68250         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
68251         versus int.
68252
68253 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
68254
68255         * modules/regex (Depends-on): Add malloc, since the code
68256         assumes that !malloc(0) means failure.
68257
68258 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
68259
68260         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
68261
68262         alloca modernization/simplification for regex.
68263         * lib/regex.c: Remove portability cruft for alloca.  This no longer
68264         needs to be at the start of the file, and can be moved into
68265         regex_internal.h and simplified.
68266         * lib/regex_internal.h: Include <alloca.h>.
68267         (__libc_use_alloca) [!defined _LIBC]: New macro.
68268         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
68269         now works outside glibc.
68270
68271 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
68272
68273         * config/srclist.txt: Add glibc bugs 1241, 1245.
68274
68275 2005-08-25  Jim Meyering  <jim@meyering.net>
68276
68277         * lib/open-safer.c: Include <config.h>.
68278         Otherwise, we'd lose LARGEFILE support in any file using
68279         e.g. "fcntl--.h"
68280
68281 2005-08-25  Bruno Haible  <bruno@clisp.org>
68282
68283         * m4/minmax.m4: Require autoconf 2.52.
68284         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
68285         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
68286         alternatives of translit over the alphabet.
68287         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
68288
68289 2005-08-24  Simon Josefsson  <jas@extundo.com>
68290
68291         * tests/test-getpass.c: New file.
68292
68293 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
68294
68295         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
68296         for GNU regex features.
68297
68298 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
68299
68300         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
68301         * lib/regex.h (regerror): Likewise.
68302
68303         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
68304         requires this.  (The code never needed it.)
68305
68306         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
68307         All uses of recently-renamed identifiers changed to use the new,
68308         POSIX-compliant names.  The code will build and run just fine
68309         without these changes, but it's better to eat our own dog food
68310         and use the standard-conforming names.
68311
68312         * lib/regex.h: Fix a multitude of POSIX name space violations.
68313         These changes have an effect only for programs that define
68314         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
68315         do not change anything for programs compiled in the normal way.
68316         Also, there is no effect on the ABI.
68317
68318         (_REGEX_SOURCE): New macro.
68319         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
68320         defined and _GNU_SOURCE is not; this fixes a name space violation.
68321
68322         Rename the following macros to obey POSIX requirements.
68323         The old names are still visible as macros if _REGEX_SOURCE is defined.
68324         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
68325         RE_BACKSLASH_ESCAPE_IN_LISTS.
68326         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
68327         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
68328         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
68329         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
68330         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
68331         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
68332         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
68333         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
68334         (REG_INTERVALS): renamed from RE_INTERVALS.
68335         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
68336         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
68337         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
68338         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
68339         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
68340         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
68341         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
68342         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
68343         RE_UNMATCHED_RIGHT_PAREN_ORD.
68344         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
68345         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
68346         (REG_DEBUG): renamed from RE_DEBUG.
68347         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
68348         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
68349         unusual, since we can't clash with the POSIX REG_ICASE.
68350         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
68351         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
68352         (REG_NO_SUB): renamed from RE_NO_SUB.
68353         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
68354         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
68355         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
68356         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
68357         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
68358         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
68359         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
68360         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
68361         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
68362         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
68363         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
68364         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
68365         RE_SYNTAX_POSIX_MINIMAL_BASIC.
68366         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
68367         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
68368         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
68369         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
68370         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
68371         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
68372         (REG_FIXED): Renamed from REGS_FIXED.
68373         (REG_NREGS): Renamed from RE_NREGS.
68374
68375         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
68376         of other REG_* macros, since POSIX says the user is allowed to
68377         #undef these macros selectively.
68378
68379         (reg_errcode_t): Update comment stating what other tables need
68380         to be consistent.
68381
68382         Rename the following enum values to obey POSIX requirements.
68383         The old names are still visible as macros.
68384         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
68385         is not defined, since GNU is supposed to be a superset of POSIX as
68386         much as possible, and since we want reg_errcode_t to be a signed
68387         type for implementation consistency.
68388         (_REG_NOERROR): Renamed from REG_NOERROR.
68389         (_REG_NOMATCH): Renamed from REG_NOMATCH.
68390         (_REG_BADPAT): Renamed from REG_BADPAT.
68391         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
68392         (_REG_ECTYPE): Renamed from REG_ECTYPE.
68393         (_REG_EESCAPE): Renamed from REG_EESCAPE.
68394         (_REG_ESUBREG): Renamed from REG_ESUBREG.
68395         (_REG_EBRACK): Renamed from REG_EBRACK.
68396         (_REG_EPAREN): Renamed from REG_EPAREN.
68397         (_REG_EBRACE): Renamed from REG_EBRACE.
68398         (_REG_BADBR): Renamed from REG_BADBR.
68399         (_REG_ERANGE): Renamed from REG_ERANGE.
68400         (_REG_ESPACE): Renamed from REG_ESPACE.
68401         (_REG_BADRPT): Renamed from REG_BADRPT.
68402         (_REG_EEND): Renamed from REG_EEND.
68403         (_REG_ESIZE): Renamed from REG_ESIZE.
68404         (_REG_ERPAREN): Renamed from REG_ERPAREN.
68405         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
68406         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
68407         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
68408         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
68409
68410         (_REG_RE_NAME, _REG_RM_NAME): New macros.
68411         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
68412         changed.  But support the old name if the new one is not defined
68413         and if _REGEX_SOURCE.
68414
68415         Change the following member names in struct re_pattern_buffer.
68416         The old names are still supported if !_REGEX_SOURCE.
68417         The new names are always supported, regardless of _REGEX_SOURCE.
68418         (re_buffer): Renamed from buffer.
68419         (re_allocated): Renamed from allocated.
68420         (re_used): Renamed from used.
68421         (re_syntax): Renamed from syntax.
68422         (re_fastmap): Renamed from fastmap.
68423         (re_translate): Renamed from translate.
68424         (re_can_be_null): Renamed from can_be_null.
68425         (re_regs_allocated): Renamed from regs_allocated.
68426         (re_fastmap_accurate): Renamed from fastmap_accurate.
68427         (re_no_sub): Renamed from no_sub.
68428         (re_not_bol): Renamed from not_bol.
68429         (re_not_eol): Renamed from not_eol.
68430         (re_newline_anchor): Renamed from newline_anchor.
68431
68432         Change the following member names in struct re_registers.
68433         The old names are still supported if !_REGEX_SOURCE.
68434         The new names are always supported, regardless of _REGEX_SOURCE.
68435         (rm_num_regs): Renamed from num_regs.
68436         (rm_start): Renamed from start.
68437         (rm_end): Renamed from end.
68438
68439         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
68440         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
68441         Prepend __ to parameter names.
68442
68443         Undo yesterday's changes.
68444
68445 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
68446
68447         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
68448         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
68449         lib/regex.c.
68450
68451 2005-08-24  Jim Meyering  <jim@meyering.net>
68452
68453         Sync from coreutils.
68454         * m4/fcntl-safer.m4: New file.
68455
68456         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
68457         and object files for this module.
68458
68459 2005-08-24  Jim Meyering  <jim@meyering.net>
68460
68461         Sync from coreutils.
68462         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
68463
68464 2005-08-24  Jim Meyering  <jim@meyering.net>
68465
68466         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
68467         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
68468
68469 2005-08-24  Jim Meyering  <jim@meyering.net>
68470
68471         * modules/fcntl-safer: New module.
68472         * modules/fts (Depends-on): Add fcntl-safer.
68473         * MODULES.html.sh (File descriptor based Input/Output):
68474         Add fcntl-safer.
68475
68476 2005-08-24  Bruno Haible  <bruno@clisp.org>
68477
68478         Support for unit test modules.
68479         * modules/README: Mention tests modules.
68480         * modules/TEMPLATE-TESTS: New file.
68481         * gnulib-tool: New options --extract-tests-module, --with-tests and
68482         --tests-base (unused for the moment).
68483         (testsbase, inctests): New variables.
68484         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
68485         (func_verify_module): Exclude TEMPLATE-TESTS.
68486         (func_verify_nontests_module, func_verify_tests_module): New functions.
68487         (func_get_dependencies): Add implicit dependency for tests modules.
68488         (func_get_tests_module): New function.
68489         (func_modules_transitive_closure): When --with-tests was specified,
68490         include the unit tests as well, unless explicitly avoided.
68491         (func_emit_lib_Makefile_am): Ignore the tests modules here.
68492         (func_emit_tests_Makefile_am): New function.
68493         (func_create_testdir): When --with-tests was specified, emit a
68494         tests/ directory.
68495         * MODULES.html.sh (Future developments): Update.
68496
68497 2005-08-24  Bruno Haible  <bruno@clisp.org>
68498
68499         * modules/tls-tests: New file.
68500         * tests/test-tls.c: New file, from GNU gettext.
68501
68502 2005-08-24  Bruno Haible  <bruno@clisp.org>
68503
68504         * modules/lock-tests: New file.
68505         * tests/test-lock.c: New file, from GNU gettext.
68506
68507 2005-08-24  Bruno Haible  <bruno@clisp.org>
68508
68509         * lib/lock.h: Add multiple inclusion guard.
68510         * lib/tls.h: Add multiple inclusion guard.
68511
68512 2005-08-24  Bruno Haible  <bruno@clisp.org>
68513
68514         * gnulib-tool: Add support for the --aux-dir option to
68515         --create-testdir, --create-megatestdir, --test, --megatest.
68516         (func_create_testdir, func_create_megatestdir): Optionally emit a
68517         AC_CONFIG_AUX_DIR directive.
68518         (create-testdir, create-megatestdir, test, megatest): Provide a
68519         default value for $auxdir.
68520
68521 2005-08-24  Bruno Haible  <bruno@clisp.org>
68522
68523         * gnulib-tool (import): Use compound statement instead of subshell
68524         where possible.
68525
68526 2005-08-24  Bruno Haible  <bruno@clisp.org>
68527
68528         * gnulib-tool (import): Change --aux-dir default to "build-aux".
68529
68530 2005-08-24  Bruno Haible  <bruno@clisp.org>
68531
68532         * gnulib-tool (func_version): Update.
68533
68534 2005-08-24  Bruno Haible  <bruno@clisp.org>
68535
68536         * gnulib-tool (func_import, func_create_testdir,
68537         func_create_megatestdir): Quote all autoconf macro arguments.
68538
68539 2005-08-24  Bruno Haible  <bruno@clisp.org>
68540
68541         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
68542         option --force, because --force causes the aclocal.m4 of each
68543         subdirectory to be newer than the corresponding config.h.in.
68544
68545 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
68546
68547         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
68548         All contents moved to gl_REGEX.
68549         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
68550         assume that it does.
68551
68552 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
68553
68554         * lib/regex.h (REG_NOSYS)
68555         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
68556         Define, since POSIX requires it as of 2001.
68557         (_REG_ENOSYS)
68558         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
68559         New private symbol, used to keep the enum signed in all cases.
68560         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
68561         Youngman in
68562         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
68563
68564         * lib/regex_internal.c (re_string_skip_chars, register_state):
68565         (calc_state_hash):
68566         Remove forward decls; no longer needed now that we use prototypes.
68567         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
68568         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
68569         (clean_state_log_if_needed): Likewise.
68570
68571 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
68572
68573         * config/srclist.txt: Add glibc bugs 1231-1233.
68574
68575 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
68576
68577         Fix problems reported by Sam Steingold in
68578         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
68579         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
68580         assumed that reg_errcode_t is a signed type, which is not
68581         necessarily true if _XOPEN_SOURCE is not defined.
68582         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
68583         since some compilers warn about it otherwise.
68584
68585 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
68586
68587         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
68588         (init_word_char, create_initial_state, duplicate_node_closure):
68589         (fetch_token, peek_token_bracket, build_range_exp):
68590         (build_collating_symbol): Remove forward decls; no longer needed
68591         now that we use prototypes.
68592
68593         * lib/regcomp.c:
68594         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
68595         (re_compile_fastmap_iter, regcomp, regerror, regfree):
68596         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
68597         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
68598         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
68599         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
68600         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
68601         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
68602         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
68603         (build_range_exp, build_collating_symbol, parse_bracket_exp):
68604         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
68605         (build_charclass, build_charclass_op, fetch_number, create_tree):
68606         (create_token_tree, mark_opt_subexp, duplicate_tree):
68607         Use prototypes rather than old-style definitions.
68608
68609         * lib/regex_internal.c:
68610         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
68611         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
68612         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
68613         (re_string_reconstruct, re_string_peek_byte_case):
68614         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
68615         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
68616         (re_node_set_init_copy, re_node_set_add_intersect):
68617         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
68618         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
68619         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
68620         (re_acquire_state, re_acquire_state_context, register_state):
68621         (create_ci_newstate, create_cd_newstate, free_state):
68622         Likewise.
68623         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
68624         re_search_2):
68625         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
68626         (re_search_internal, prune_impossible_nodes):
68627         (acquire_init_state_context, check_matching, static):
68628         (check_halt_node_context, check_halt_state_context, proceed_next_node):
68629         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
68630         (update_regs, sift_states_backward, build_sifted_states):
68631         (clean_state_log_if_needed, merge_state_array):
68632         (update_cur_sifted_state, add_epsilon_src_nodes):
68633         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
68634         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
68635         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
68636         (find_recover_state, check_subexp_matching_top, transit_state_mb):
68637         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
68638         (check_arrival, check_arrival_add_next_nodes):
68639         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
68640         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
68641         (check_node_accept_bytes, check_node_accept, extend_buffers):
68642         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
68643         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
68644         (sift_ctx_init):
68645         Likewise.
68646
68647         * lib/regex_internal.h:
68648         (re_string_allocate, re_string_construct, re_string_reconstruct):
68649         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
68650         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
68651         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
68652         (re_string_context_at, re_string_peek_byte_case):
68653         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
68654         is defined, since we now use prototypes always.
68655
68656         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
68657         C89 or better.  All uses removed.
68658
68659 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
68660
68661         * config/srclist.txt: Add glibc bugs 1220-1227.
68662
68663 2005-08-20  Jim Meyering  <jim@meyering.net>
68664
68665         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
68666         of unused local, dfa.
68667
68668 2005-08-20  Bruno Haible  <bruno@clisp.org>
68669
68670         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
68671
68672 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
68673
68674         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
68675         (re_node_set_insert_last, re_dfa_add_node):
68676         Rename local variables to avoid GCC shadowing warnings.
68677
68678 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
68679
68680         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
68681         [defined lint]: Suppress bogus uninitialized-variable warnings.
68682
68683         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
68684         and let the caller return REG_ESPACE if out of space.  This
68685         removes an uninitialied-variable warning with GCC 4.0.1, and also
68686         avoids taking the address of a local variable.  All callers
68687         changed.
68688
68689 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
68690
68691         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
68692         $LIBCSRC/posix/regexec.c.
68693         Add glibc bug 1217 for regcomp.c.
68694
68695 2005-08-19  Jim Meyering  <jim@meyering.net>
68696
68697         * lib/regexec.c (proceed_next_node): Redo local variables to
68698         avoid GCC shadowing warnings.
68699
68700 2005-08-18  Bruno Haible  <bruno@clisp.org>
68701
68702         * lib/strstr.c (strstr): Fix return value in multibyte case.
68703         * lib/strcasestr.c (strcasestr): Likewise.
68704
68705 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
68706
68707         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
68708
68709 2005-08-17  Jim Meyering  <jim@meyering.net>
68710
68711         Make the %s format (seconds since the epoch) work for a negative
68712         number and when used with a zero-padded field width, e.g. %015s.
68713
68714         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
68715         label so that it precedes the code to set `digits'.  Otherwise,
68716         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
68717         print `00-22'.  Now, it prints `-0022', as it should.
68718
68719 2005-08-17  Bruno Haible  <bruno@clisp.org>
68720
68721         * modules/strstr (Files): Add m4/mbrtowc.m4.
68722         (Depends-on): Add mbuiter.
68723
68724 2005-08-17  Bruno Haible  <bruno@clisp.org>
68725
68726         * modules/strcasestr: New file.
68727         * MODULES.html.sh (String handling, based on ANSI C 89): Add
68728         strcasestr.
68729
68730 2005-08-17  Bruno Haible  <bruno@clisp.org>
68731
68732         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
68733
68734 2005-08-17  Bruno Haible  <bruno@clisp.org>
68735
68736         * modules/mbuiter: New file.
68737         * MODULES.html.sh (Extended multibyte and wide character utilities):
68738         Add mbuiter.
68739
68740 2005-08-17  Bruno Haible  <bruno@clisp.org>
68741
68742         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
68743         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
68744
68745 2005-08-17  Bruno Haible  <bruno@clisp.org>
68746
68747         * m4/strcasestr.m4: New file.
68748
68749 2005-08-17  Bruno Haible  <bruno@clisp.org>
68750
68751         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
68752         * lib/strstr.c: Completely rewritten, with multibyte locale support.
68753
68754 2005-08-17  Bruno Haible  <bruno@clisp.org>
68755
68756         * lib/strcasestr.h: New file.
68757         * lib/strcasestr.c: New file.
68758
68759 2005-08-17  Bruno Haible  <bruno@clisp.org>
68760
68761         * lib/strcasecmp.c: Use mbuiter.h.
68762
68763 2005-08-17  Bruno Haible  <bruno@clisp.org>
68764
68765         * lib/mbuiter.h: New file.
68766
68767 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
68768
68769         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
68770         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
68771         and gl_GETOPT are both invoked via different paths (as happens
68772         with GNU tar CVS because it uses both argp and getopt), the former
68773         wins.
68774
68775 2005-08-16  Bruno Haible  <bruno@clisp.org>
68776
68777         * modules/tls: New file.
68778         * MODULES.html.sh (Multithreading): Add tls.
68779
68780 2005-08-16  Bruno Haible  <bruno@clisp.org>
68781
68782         * modules/strnlen1: New file.
68783         * MODULES.html.sh (String handling): Add strnlen1.
68784
68785 2005-08-16  Bruno Haible  <bruno@clisp.org>
68786
68787         * modules/strcase (Files): Add m4/mbrtowc.m4.
68788         (Depends-on): Add strnlen1, mbchar.
68789
68790 2005-08-16  Bruno Haible  <bruno@clisp.org>
68791
68792         * modules/mbiter: New file.
68793         * MODULES.html.sh (Extended multibyte and wide character utilities):
68794         Add mbiter.
68795
68796 2005-08-16  Bruno Haible  <bruno@clisp.org>
68797
68798         * modules/mbfile: New file.
68799         * MODULES.html.sh (Extended multibyte and wide character utilities):
68800         Add mbfile.
68801
68802 2005-08-16  Bruno Haible  <bruno@clisp.org>
68803
68804         * modules/mbchar: New file.
68805         * MODULES.html.sh (Extended multibyte and wide character utilities):
68806         New section.
68807
68808 2005-08-16  Bruno Haible  <bruno@clisp.org>
68809
68810         * m4/tls.m4: New file, from GNU gettext.
68811
68812 2005-08-16  Bruno Haible  <bruno@clisp.org>
68813
68814         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
68815         always.
68816         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
68817
68818 2005-08-16  Bruno Haible  <bruno@clisp.org>
68819
68820         * m4/mbiter.m4: New file.
68821
68822 2005-08-16  Bruno Haible  <bruno@clisp.org>
68823
68824         * m4/mbfile.m4: New file.
68825
68826 2005-08-16  Bruno Haible  <bruno@clisp.org>
68827
68828         * m4/mbchar.m4: New file.
68829
68830 2005-08-16  Bruno Haible  <bruno@clisp.org>
68831
68832         * lib/tls.h: New file, from GNU gettext.
68833         * lib/tls.c: New file, from GNU gettext.
68834
68835 2005-08-16  Bruno Haible  <bruno@clisp.org>
68836
68837         * lib/strnlen1.h: New file.
68838         * lib/strnlen1.c: New file.
68839
68840 2005-08-16  Bruno Haible  <bruno@clisp.org>
68841
68842         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
68843         (mbi_init): Update.
68844         (mbi_avail, mbi_advance): Let the iteration end before the terminating
68845         NUL byte, not after it.
68846
68847 2005-08-16  Bruno Haible  <bruno@clisp.org>
68848
68849         * lib/strcase.h (strcasecmp): Add note in comments.
68850         * lib/strncasecmp.c: Use code from strcasecmp.c.
68851         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
68852         (strcasecmp): Work correctly in multibyte locales.
68853
68854 2005-08-16  Bruno Haible  <bruno@clisp.org>
68855
68856         * lib/mbiter.h: New file.
68857
68858 2005-08-16  Bruno Haible  <bruno@clisp.org>
68859
68860         * lib/mbfile.h: New file.
68861
68862 2005-08-16  Bruno Haible  <bruno@clisp.org>
68863
68864         * lib/mbchar.h: New file.
68865         * lib/mbchar.c: New file.
68866
68867 2005-08-16  Bruno Haible  <bruno@clisp.org>
68868
68869         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
68870         the valid ones. Makes the comparison operations transitive:
68871         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
68872         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
68873
68874 2005-08-15  Simon Josefsson  <jas@extundo.com>
68875
68876         * modules/ssize_t (License): Change to 'unlimited'.
68877
68878         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
68879
68880 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
68881
68882         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
68883         Add comments for each pending glibc patch.
68884
68885 2005-08-15  Bruno Haible  <bruno@clisp.org>
68886
68887         * lib/regex.h (__restrict_arr): Don't define to __restrict if
68888         __cplusplus is defined.
68889
68890 2005-08-14  Jim Meyering  <jim@meyering.net>
68891
68892         Sync from coreutils.
68893
68894         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
68895         Use the hash-table-based cycle-detection code not just when
68896         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
68897         Reported by James Youngman in
68898         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
68899         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
68900         FTS_TIGHT_CYCLE_CHECK.
68901         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
68902         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
68903         once again.
68904         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
68905         * lib/fts.c (fd_safer): Remove decl.
68906         Include fcntl--.h rather than unistd-safer.h
68907         (fts_safe_changedir): Don't call fd_safer; no longer needed
68908         now that we include fcntl--.h.
68909
68910 2005-08-12  Simon Josefsson  <jas@extundo.com>
68911
68912         * modules/getndelim2: Use ssize_t module.
68913         * modules/getnline: Likewise.
68914         * modules/safe-read: Likewise.
68915         * modules/xreadlink: Likewise.
68916
68917         * modules/ssize_t: New file.
68918
68919 2005-08-12  Simon Josefsson  <jas@extundo.com>
68920
68921         * m4/readline.m4: Look for termcap, curses or ncurses if required.
68922
68923 2005-08-12  Simon Josefsson  <jas@extundo.com>
68924
68925         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
68926         ssize_t.
68927
68928 2005-08-12  Simon Josefsson  <jas@extundo.com>
68929
68930         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
68931         readline, getdelim and check_version.
68932         (Support for systems lacking ISO C 99: Sizes of integer types):
68933         Add size_max.
68934
68935 2005-08-12  Bruno Haible  <bruno@clisp.org>
68936
68937         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
68938
68939 2005-08-11  Simon Josefsson  <jas@extundo.com>
68940
68941         * modules/readline: New file.
68942
68943         * modules/strnlen (Files): Add strnlen.h.
68944
68945 2005-08-11  Simon Josefsson  <jas@extundo.com>
68946
68947         * m4/readline.m4: New file.
68948
68949 2005-08-11  Simon Josefsson  <jas@extundo.com>
68950
68951         * lib/readline.h, readline.c: New file.
68952
68953 2005-08-11  Simon Josefsson  <jas@extundo.com>
68954
68955         * doc/gnulib.texi (Initial import, Finishing touches): Mention
68956         gl_AVOID.
68957
68958 2005-08-11  Bruno Haible  <bruno@clisp.org>
68959
68960         * lib/strnlen.h (strnlen): Change parameter name to match comment.
68961
68962 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
68963
68964         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
68965
68966 2005-08-10  Simon Josefsson  <jas@extundo.com>
68967
68968         * tests/test-iconvme.c: New file.
68969
68970 2005-08-10  Simon Josefsson  <jas@extundo.com>
68971
68972         * m4/strnlen.m4: New file.
68973
68974         * m4/strndup.m4: Don't check for strnlen declaration, done in
68975         strnlen.m4.
68976
68977 2005-08-10  Simon Josefsson  <jas@extundo.com>
68978
68979         * lib/strndup.c: Use strnlen.h.
68980
68981         * lib/strnlen.h: New file.
68982
68983 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
68984
68985         * README: Typos.
68986
68987 2005-08-02  Simon Josefsson  <jas@extundo.com>
68988
68989         * modules/readline: New file.
68990
68991 2005-08-02  Simon Josefsson  <jas@extundo.com>
68992
68993         * modules/getdelim: New file.
68994
68995         * modules/getline: Rewrite, don't use getndelim2.
68996
68997 2005-08-02  Simon Josefsson  <jas@extundo.com>
68998
68999         * m4/getline.m4: Separate out getdelim stuff into separate module.
69000
69001         * m4/getdelim.m4: New file.
69002
69003 2005-08-02  Simon Josefsson  <jas@extundo.com>
69004
69005         * lib/getline.h, getline.c: Rewrite.
69006
69007         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
69008
69009 2005-07-31  Bruno Haible  <bruno@clisp.org>
69010
69011         * lib/lock.h (gl_lock_initializer): New macro.
69012         (gl_lock_define_initialized): Use it.
69013         (gl_rwlock_initializer): New macro.
69014         (gl_rwlock_define_initialized): Use it.
69015         (gl_recursive_lock_initializer): New macro.
69016         (gl_recursive_lock_define_initialized): Use it.
69017
69018 2005-07-30  Karl Berry  <karl@gnu.org>
69019
69020         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
69021         Report from Ben Pfaff, regarding getopt.
69022
69023 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
69024
69025         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
69026         normal way.
69027         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
69028         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
69029         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
69030         (gl_GETOPT): Use the new macros.  Most of the implementation
69031         is moved to the new macros.  This is for programs like Emacs
69032         that don't want all the functionality of gl_GETOPT.
69033
69034 2005-07-26  Bruno Haible  <bruno@clisp.org>
69035
69036         * m4/lock.m4: Update from GNU gettext.
69037
69038 2005-07-26  Bruno Haible  <bruno@clisp.org>
69039
69040         * lib/lock.h: Update from GNU gettext.
69041         * lib/lock.c: Update from GNU gettext.
69042
69043 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
69044
69045         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
69046         obsolescent AC_TRY_RUN.  Include the default includes files, for
69047         'exit'.
69048
69049 2005-07-24  Bruno Haible  <bruno@clisp.org>
69050
69051         * modules/visibility: New file.
69052         * MODULES.html.sh (Misc): Add visibility.
69053
69054 2005-07-24  Bruno Haible  <bruno@clisp.org>
69055
69056         * m4/visibility.m4: New file.
69057
69058 2005-07-24  Bruno Haible  <bruno@clisp.org>
69059
69060         * doc/visibility.texi: New file.
69061
69062 2005-07-22  Bruno Haible  <bruno@clisp.org>
69063
69064         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
69065         $(ALLOCA_H), redundant through BUILT_SOURCES.
69066         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
69067         redundant through BUILT_SOURCES.
69068         * modules/byteswap (Makefile.am): Remove explicit dependency on
69069         $(BYTESWAP_H), redundant through BUILT_SOURCES.
69070         * modules/fnmatch (Makefile.am): Remove explicit dependency on
69071         $(FNMATCH_H), redundant through BUILT_SOURCES.
69072         * modules/getopt (Makefile.am): Remove explicit dependency on
69073         $(GETOPT_H), redundant through BUILT_SOURCES.
69074         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
69075         redundant through BUILT_SOURCES.
69076         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
69077         redundant through BUILT_SOURCES.
69078         * modules/stdbool (Makefile.am): Remove explicit dependency on
69079         $(STDBOOL_H), redundant through BUILT_SOURCES.
69080         * modules/stdint (Makefile.am): Remove explicit dependency on
69081         $(STDINT_H), redundant through BUILT_SOURCES.
69082         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
69083         Remove explicit dependency on $(SYSEXITS_H).
69084         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
69085
69086 2005-07-18  Simon Josefsson  <jas@extundo.com>
69087
69088         * lib/check-version.c (check_version): Accept identical versions too.
69089
69090 2005-07-18  Bruno Haible  <bruno@clisp.org>
69091
69092         * modules/lock: New file.
69093         * MODULES.html.sh (Multithreading): New section.
69094
69095 2005-07-18  Bruno Haible  <bruno@clisp.org>
69096
69097         * m4/lock.m4: New file, from GNU gettext.
69098
69099 2005-07-18  Bruno Haible  <bruno@clisp.org>
69100
69101         * lib/lock.h: New file, from GNU gettext.
69102         * lib/lock.c: New file, from GNU gettext.
69103
69104 2005-07-18  Bruno Haible  <bruno@clisp.org>
69105
69106         * lib/lock.h (gl_once_t): New type.
69107         (gl_once_define, gl_once): New macros.
69108         * lib/lock.c (fresh_once): New variable.
69109         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
69110         functions.
69111
69112 2005-07-16  Simon Josefsson  <jas@extundo.com>
69113
69114         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
69115         workaround, suggested by Bruno.
69116
69117 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
69118
69119         * modules/xalloc (Depends-on): Add xalloc-die.
69120         * modules/xvasprintf (Depends-on): Add xalloc-die.
69121
69122 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
69123
69124         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
69125         with a minor change.
69126
69127 2005-07-15  Bruno Haible  <bruno@clisp.org>
69128
69129         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
69130         When using lib/poll.c, define poll as rpl_poll.
69131
69132 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
69133
69134         * modules/argp (Depends-on): Remove unlocked-io.
69135
69136 2005-07-14  Derek Price  <derek@ximbiot.com>
69137
69138         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
69139         for glob symlink bug.
69140
69141 2005-07-14  Bruno Haible  <bruno@clisp.org>
69142
69143         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
69144         Instead, test for *_unlocked function declarations directly.
69145
69146 2005-07-11  Simon Josefsson  <jas@extundo.com>
69147
69148         * modules/size_max: New file.
69149
69150         * modules/xsize: Depend on size_max module for size_max.m4.
69151
69152 2005-07-11  Simon Josefsson  <jas@extundo.com>
69153
69154         * lib/size_max.h: New file.
69155
69156 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
69157
69158         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
69159         copyright symbol and the year.
69160         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
69161         (version_etc_va): Use parameterized copyright notice.
69162         Reword to conform to the current GNU coding standards.
69163
69164 2005-07-11  Karl Berry  <karl@gnu.org>
69165
69166         * doc/gnulib.texi (Quoting): new node.
69167         (Initial import): more info, from Patrice.
69168
69169 2005-07-11  Bruno Haible  <bruno@clisp.org>
69170
69171         * gnulib-tool (func_usage): Document option --avoid.
69172         (Command line options): Handle --avoid.
69173         (func_acceptable): New function.
69174         (func_modules_transitive_closure): Use it.
69175
69176 2005-07-11  Bruno Haible  <bruno@clisp.org>
69177
69178         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
69179         Reported by Jim Meyering.
69180
69181 2005-07-10  Bruno Haible  <bruno@clisp.org>
69182
69183         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
69184         Needed when size_t is smaller than 'unsigned int'.
69185         Reported by Paul Eggert.
69186
69187 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
69188
69189         * modules/argp (Depends-on): Add unlocked-io
69190
69191 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
69192
69193         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
69194         block of defines.
69195
69196 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
69197
69198         * config/srclist.txt: Comment out regcomp.c, since we have a porting
69199         fix now.
69200
69201 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
69202         and Paul Eggert  <eggert@cs.ucla.edu>
69203
69204         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
69205         in wint_t, not wchar_t.  Remove now-unnecessary cast.
69206
69207 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
69208
69209         * modules/regex (Files): Add lib/regex_internal.c,
69210         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
69211         (Depends-on): Add extensions.
69212         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
69213
69214 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
69215
69216         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
69217         pathconf.
69218         * m4/same.m4 (gl_SAME): Likewise.
69219         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
69220
69221         * m4/regex.m4: Adjust to new libc regex implementation.
69222         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
69223         all the .c and .h parts of (the new) regex.
69224         Quote the m4 stuff better.
69225         Check for RE_ICASE bug of old gnulib.
69226         Check for REG_STARTEND of recent libc.
69227         Rename local variables from jm_* to gl_*.
69228         Quote operand of "test -f".
69229         Say "recent enough" version of libc, not "version 2".
69230         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
69231         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
69232         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
69233         Remove check for btowc, isascii.
69234         Require AM_LANGINFO_CODESET.
69235
69236 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
69237
69238         * lib/regex.c, regex.h: Sync from libc.
69239         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
69240         * lib/regexec.c:
69241         New files, synced from libc, except that regex_internal.h
69242         currently has a small porting fix.
69243
69244 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
69245
69246         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
69247         regex_internal.c, regexec.c.
69248         Add regex_internal.h too, but as a comment, since the libc version
69249         is currently broken in gnulib mode.
69250
69251 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
69252
69253         Support programs like Emacs that use gnulib but not gettext.
69254         * MODULES.html.sh (Internationalization functions): Add gettext-h.
69255         * modules/gettext-h: New file.
69256         * modules/gettext (Files): Remove lib/gettext.h.
69257         (Depends-on): Add gettext-h.
69258         (Makefile.am): Remove lib_SOURCES.
69259         * modules/argmatch, modules/c-stack, modules/closeout:
69260         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
69261         * modules/execute, modules/file-type, modules/getaddrinfo:
69262         * modules/getopt, modules/human, modules/javacomp:
69263         * modules/javaexec, modules/mkdir-p, modules/obstack:
69264         * modules/openat, modules/pagealign_alloc, modules/pipe:
69265         * modules/quotearg, modules/regex, modules/rpmatch:
69266         * modules/unicodeio, modules/userspec, modules/version-etc:
69267         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
69268         * modules/xsetenv:
69269         Depend on gettext-h, not gettext.
69270
69271 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
69272
69273         * gnulib-tool (func_import): Add support for 'public domain' license.
69274         * modules/alloca, modules/atexit, modules/memmove:
69275         Now public domain, not GPL.
69276         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
69277         * modules/realloc, modules/strerror, modules/strtod:
69278         Now LGPL, not GPL.
69279
69280 2005-07-05  Bruno Haible  <bruno@clisp.org>
69281
69282         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
69283         autoconf CVS. Needed for mingw.
69284
69285 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
69286
69287         Remove the dependency of the strftime module on the tzset module.
69288         * modules/strftime (Depends-on): Remove dependency on tzset.
69289
69290 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
69291
69292         Remove the dependency of the strftime module on the tzset module.
69293         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
69294         gl_FUNC_TZSET_CLOBBER.
69295
69296 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
69297
69298         Remove the dependency of the strftime module on the tzset module.
69299         * lib/strftime.c (my_strftime)
69300         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
69301         Copy the input structure, to work around some of the bug with
69302         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
69303         Solaris releases, you should also use the tzset module, but we won't
69304         require it as a dependency any more since we don't want LGPLed code
69305         to depend on GPLed code.
69306
69307 2005-07-02  Jim Meyering  <jim@meyering.net>
69308
69309         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
69310         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
69311         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
69312         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
69313
69314 2005-07-02  Jim Meyering  <jim@meyering.net>
69315
69316         * lib/backupfile.c (backup_args): Change a `0' to NULL.
69317
69318 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
69319
69320         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
69321         declares only 'struct timespec;' (!).
69322
69323 2005-07-01  Jim Meyering  <jim@meyering.net>
69324
69325         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
69326         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
69327         * lib/save-cwd.c, tempname.c:
69328         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
69329         and don't include <sys/file.h>).
69330
69331 2005-06-29  Jim Meyering  <jim@meyering.net>
69332
69333         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
69334         type name.  Use the variable name instead.
69335         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
69336         Likewise.
69337
69338 2005-06-28  Simon Josefsson  <jas@extundo.com>
69339
69340         * modules/check-version (Files): Add check-version.m4.
69341
69342 2005-06-28  Simon Josefsson  <jas@extundo.com>
69343
69344         * m4/check-version.m4: New file, suggested by Jim Meyering
69345         <jim@meyering.net>.
69346
69347 2005-06-28  Simon Josefsson  <jas@extundo.com>
69348
69349         * lib/check-version.h, lib/check-version.c: New files.
69350
69351 2005-06-28  Simon Josefsson  <jas@extundo.com>
69352
69353         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
69354         collision with global variable.  Better indentation.  Don't
69355         increment buffer pointer beyond buffer end.  Based on comments
69356         from Paul Eggert <eggert@cs.ucla.edu>.
69357
69358         * lib/base64.h: Indent.
69359
69360 2005-06-28  Simon Josefsson  <jas@extundo.com>
69361
69362         * doc/gnulib.texi (Library version handling): New section.
69363
69364 2005-06-28  Jim Meyering  <jim@meyering.net>
69365
69366         * check-module (find_included_lib_files): Hard-code another
69367         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
69368         but modules/fts-lgpl (correctly) does not list those files.
69369
69370         * modules/canonicalize (Files): Add lib/pathmax.h.
69371
69372 2005-06-25  Simon Josefsson  <jas@extundo.com>
69373
69374         * modules/check-version: New file.
69375
69376 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
69377
69378         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
69379         initializer of struct addrinfo, as an indication that we don't
69380         care how many members the structure has.
69381
69382 2005-06-24  Derek Price  <derek@ximbiot.com>
69383         and Bruno Haible  <bruno@clisp.org>
69384
69385         Remove stat module & update lstat.
69386         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
69387         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
69388         * m4/stat.m4: Remove this file.
69389
69390 2005-06-24  Derek Price  <derek@ximbiot.com>
69391         and Bruno Haible  <bruno@clisp.org>
69392
69393         Remove stat module & update lstat.
69394         * lib/stat.c: Remove this file...
69395         (slash_aware_lstat): ...moving this content and its support...
69396         * lib/lstat.c (rpl_lstat): ...into here.
69397         * lib/lstat.h: New file.
69398
69399 2005-06-24  Derek Price  <derek@ximbiot.com>
69400         and Bruno Haible  <bruno@clisp.org>
69401
69402         Remove stat module & update lstat.
69403         * config/srclist.txt (libc sources): Remove stat.
69404
69405 2005-06-24  Derek Price  <derek@ximbiot.com>
69406         and Bruno Haible  <bruno@clisp.org>
69407
69408         Remove stat module & update lstat.
69409         * MODULES.html.sh (stat): Remove.
69410         * MODULES.html: Regenerated.
69411         * modules/lstat (Description): Correct function name.
69412         (Files): Add "lstat.h".
69413         (Depends-on): Remove stat, add xalloc, stat-macros.
69414         * modules/stat: Remove this file.
69415         (Include): Add "lstat.h", remove <sys/stat.h>.
69416
69417 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
69418
69419         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
69420         (ranged_convert): Don't save conversion in a temporary struct.
69421         This causes a warning with GCC 4.0.0, and anyway in the typical
69422         case it's not worth the extra 100 bytes or so of code.
69423         (ranged_convert, __mktime_internal): When calling a function via a
69424         pointer P, use P () rather than (*P) (), as we now assume C89 or
69425         better.
69426
69427 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
69428
69429         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
69430         "who -r" failed to give output.  Problem reported by Tim Waugh.
69431
69432         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
69433         (xcalloc): Use it to avoid needless tests.
69434         Problem reported by Jim Meyering.
69435
69436 2005-06-20  Derek Price  <derek@ximbiot.com>
69437
69438         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
69439         unnecessary for Autoconfs > 2.59c.
69440
69441 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
69442
69443         * lib/argp.h (__option_is_short): Check upper limit of
69444         __key. Isprint() requires its argument to have the value
69445         of an unsigned char or EOF.
69446
69447 2005-06-16  Jim Meyering  <jim@meyering.net>
69448
69449         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
69450         when either N or S is zero.
69451
69452 2005-06-16  Derek Price  <derek@ximbiot.com>
69453
69454         * m4/bison.m4: Declare YACC & YFLAGS precious.
69455
69456 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
69457
69458         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
69459         multibyte string or pattern, fall back on unibyte matching.
69460         Problem reported by James Youngman.
69461
69462 2005-06-08  Bruno Haible  <bruno@clisp.org>
69463
69464         * modules/csharpcomp: New file.
69465         * MODULES.html.sh (C#): Add csharpcomp.
69466
69467 2005-06-08  Bruno Haible  <bruno@clisp.org>
69468
69469         * m4/csharpcomp.m4: New file, from GNU gettext.
69470
69471 2005-06-08  Bruno Haible  <bruno@clisp.org>
69472
69473         * lib/csharpcomp.h: New file, from GNU gettext.
69474         * lib/csharpcomp.c: New file, from GNU gettext.
69475         * lib/csharpcomp.sh.in: New file, from GNU gettext.
69476
69477 2005-06-08  Bruno Haible  <bruno@clisp.org>
69478
69479         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
69480         warning on mingw.
69481
69482 2005-06-07  Derek Price  <derek@ximbiot.com>
69483
69484         Sync from CVS.
69485         * lib/glob_.h: Indent nested #ifdef.
69486
69487 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
69488
69489         Sync from coreutils.
69490         Use "file name" when talking about file names, instead of "filename"
69491         or "path", as per the GNU coding standards.
69492         * lib/mkdir-p.c: Renamed from makepath.c.
69493         (make_dir_parents): Renamed from make_path.  All callers changed.
69494         * lib/mkdir-p.h: Likewise.  All includers changed.
69495         * lib/filenamecat.c: Renamed from path-concat.c.
69496         (file_name_concat): Renamed from path_concat.  All callers changed.
69497         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
69498         * lib/filenamecat.h: Likewise.  All includers changed.
69499         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
69500         in comments or local variable names.
69501         * lib/basename.c: Likewise.
69502         * lib/canonicalize.c, canonicalize.h: Likewise.
69503         * lib/dirname.c, dirname.h: Likewise.
69504         * lib/euidaccess.c: Likewise.
69505         * lib/exclude.c: Likewise
69506         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
69507         * lib/fsusage.c, fsuage.h: Likewise.
69508         * lib/fts.c, fts_.h: Likewise.
69509         * lib/getcwd.c: Likewise.
69510         * lib/getloadavg.c: Likewise.
69511         * lib/mkstemp.c: Likewise.
69512         * lib/mountlist.c, mountlist.h: Likewise.
69513         * lib/openat.c, openat.h: Likewise.
69514         * lib/readlink-stub.c: Likewise.
69515         * lib/readutmp.c, readutmp.h: Likewise.
69516         * lib/rename.c: Likewise.
69517         * lib/rmdir.c: Likewise.
69518         * lib/same.c: Likewise.
69519         * lib/savedir.c: Likewise.
69520         * lib/stripslash.c: Likewise.
69521         * lib/tempname.c: Likewise.
69522         * lib/xreadlink.c: Likewise.
69523         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
69524         All uses changed.
69525         * lib/exclude.h: Likewise.
69526
69527         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
69528         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
69529         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
69530         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
69531         * lib/pathmax.h: Include <limits.h> unconditionally, since other
69532         files have been getting away with it for years (MORE/BSD 4.3
69533         is extinct now).
69534         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
69535         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
69536
69537         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
69538         Define to 256, not 255, as per modern POSIX.
69539
69540 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
69541
69542         Sync from coreutils.
69543         Use "file name" when talking about file names, instead of "filename"
69544         or "path", as per the GNU coding standards.
69545         * MODULES.html.sh: mkdir-p renamed from makepath.
69546         filenamecat renamed from path-concat.
69547         * modules/filenamecat: Renamed from modules/path-concat.
69548         (Files): filenamecat.h and filenamecat.c renamed from
69549         path-concat.h and path-concat.c.
69550         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
69551         (Include): filenamecat.h, not path-concat.h.
69552         * modules/mkdir-p: Renamed from modules/makepath.
69553         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
69554         makepath.c.
69555         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
69556         (Include): mkdir-p.h, not makepath.h.
69557
69558 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
69559
69560         Sync from coreutils.
69561         * m4/mkdir-p.m4: Renamed from makepath.m4.
69562         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
69563         Rename files from makepath.c to mkdir-p.c, and from
69564         makepath.h to mkdir-p.h.
69565         * m4/filenamecat.m4: Renamed from path-concat.m4.
69566         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
69567         Rename files from path-concat.c to filenamecat.c,
69568         and from path-concat.h to filenamecat.h.
69569         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
69570         "file name" in local variables or comments.
69571         * m4/rename.m4: Likewise.
69572
69573 2005-06-01  Bruno Haible  <bruno@clisp.org>
69574
69575         * modules/csharpexec: New file.
69576         * MODULES.html.sh (C#): New section.
69577
69578 2005-06-01  Bruno Haible  <bruno@clisp.org>
69579
69580         * m4/csharp.m4: New file, from GNU gettext.
69581         * m4/csharpexec.m4: New file, from GNU gettext.
69582
69583 2005-06-01  Bruno Haible  <bruno@clisp.org>
69584
69585         * lib/csharpexec.h: New file, from GNU gettext.
69586         * lib/csharpexec.c: New file, from GNU gettext.
69587         * lib/csharpexec.sh.in: New file, from GNU gettext.
69588
69589 2005-05-31  Derek Price  <derek@ximbiot.com>
69590             Paul Eggert  <eggert@cs.ucla.edu>
69591
69592         Sync from cvs.
69593         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
69594
69595 2005-05-31  Derek Price  <derek@ximbiot.com>
69596             Paul Eggert  <eggert@cs.ucla.edu>
69597
69598         Sync from cvs.
69599         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
69600
69601 2005-05-29  Derek Price  <derek@ximbiot.com>
69602
69603         * config/srclist.txt (glob_.h, glob.c): Add these files.
69604
69605 2005-05-29  Derek Price  <derek@ximbiot.com>
69606
69607         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
69608         * modules/glob: New file.
69609         * modules/getlogin_r: Add link to POSIX spec in description.
69610
69611 2005-05-29  Derek Price  <derek@ximbiot.com>
69612             Paul Eggert  <eggert@cs.ucla.edu>
69613
69614         * m4/glob.m4: New file.
69615
69616 2005-05-29  Derek Price  <derek@ximbiot.com>
69617             Paul Eggert  <eggert@cs.ucla.edu>
69618
69619         * lib/glob_.h, lib/glob.c: New files.
69620
69621 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
69622
69623         * modules/fts (Files): Remove m4/inttypes-pri.m4.
69624         * modules/fts-lgpl (Depends-on): Remove gettext.
69625
69626 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
69627
69628         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
69629         and don't require gt_INTTYPES_PRI.
69630
69631 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
69632
69633         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
69634
69635         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
69636         the configuration hassle isn't worth it.
69637         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
69638         (LONGEST_MODIFIER, PRIuMAX): Remove.
69639
69640 2005-05-27  Bruno Haible  <bruno@clisp.org>
69641
69642         * lib/getlogin_r.h: Remove second include of <stddef.h>.
69643
69644 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
69645
69646         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
69647         _POSIX_PTHREAD_SEMANTICS for Solaris.
69648
69649 2005-05-25  Derek Price  <derek@ximbiot.com>
69650
69651         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
69652
69653 2005-05-25  Derek Price  <derek@ximbiot.com>
69654             Paul Eggert  <eggert@cs.ucla.edu>
69655
69656         * modules/getlogin_r, m4/getlogin_r.m4: New files.
69657         * lib/getlogin_r.c, getlogin_r.h: New files.
69658
69659 2005-05-25  Bruno Haible  <bruno@clisp.org>
69660             Derek Price  <derek@ximbiot.com>
69661
69662         * lib/getlogin_r.h: Simplify API documentation.
69663
69664 2005-05-23  Derek Price  <derek@ximbiot.com>
69665
69666         * modules/minmax (Files): Add m4/minmax.m4.
69667         (configure.ac): Add gl_MINMAX.
69668
69669 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
69670
69671         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
69672         so that unistd-safer.h (GPL'ed code) need not be included.
69673
69674 2005-05-22  Bruno Haible  <bruno@clisp.org>
69675
69676         * m4/minmax.m4: New file.
69677         Based on a patch by Derek Price <derek@ximbiot.com>.
69678
69679 2005-05-22  Bruno Haible  <bruno@clisp.org>
69680
69681         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
69682         (INT64_MIN): Fix definition.
69683         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
69684
69685         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
69686         NEED_SIGNED_INT_TYPES.
69687
69688         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
69689         HAVE_SYSTEM_INTTYPES.
69690
69691 2005-05-22  Bruno Haible  <bruno@clisp.org>
69692
69693         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
69694         Also include <sys/param.h> if it defines MIN, MAX.
69695         Based on a patch by Derek Price <derek@ximbiot.com>.
69696
69697 2005-05-21  Jim Meyering  <jim@meyering.net>
69698
69699         * modules/fts (Files): Add m4/inttypes-pri.m4.
69700         (Depends-on): Add lstat and remove gettext.  Alphabetize.
69701
69702 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
69703
69704         New fts module.
69705         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
69706         (setup_dir, free_dir): New functions.
69707         (enter_dir, leave_dir): Define trivial
69708         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
69709         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
69710         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
69711         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
69712         Move to fts-cycle.c.
69713         (fts_open): Use setup_dir.
69714         (fts_close): Use free_dir.
69715         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
69716         This adds a label and some gotos, but the alternatives were messier.
69717         Check for memory allocation failure when entering a dir.
69718         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
69719         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
69720         (FTS): New member fts_cycle, that is a union that contains the
69721         old active_dir_ht and cycle_state.  All uses changed to mention
69722         fts_cycle.ht and fts_cycle.state.
69723         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
69724         fts.c, with the following changes:
69725         (setup_dir, free_dir): New functions.
69726         (enter_dir): Now returns bool.  Return true if successful, false
69727         if memory exhausted.  All callers changed.
69728         Do not bother partly cleaning up on
69729         memory allocation failure; that is free_dir's job.
69730         However, free ad if hash_insert fails, to avoid memory leak.
69731         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
69732         fts->fts_options to see which union member to use.
69733
69734 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
69735
69736         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
69737         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
69738
69739 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
69740
69741         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
69742
69743 2005-05-20  Jim Meyering  <jim@meyering.net>
69744
69745         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
69746         Now a macro, to pacify GCC.
69747
69748 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
69749
69750         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
69751         of -1.
69752
69753 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
69754
69755         * lib/chown.c (rpl_chown): Return -1 on failure.
69756
69757 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
69758
69759         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
69760         Don't check for stddef.h.
69761         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
69762         don't use its results.
69763         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
69764         since we include them unconditionally.  Don't require
69765         AM_STDBOOL_H, since stdbool is a prerequisite.
69766         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
69767         since we assume C89 or better.
69768         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
69769         as we don't use their results.
69770         Don't check for fchdir, memmove, memset, strrchr, as we use
69771         them unconditionally.
69772         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
69773         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
69774
69775 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
69776
69777         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
69778         Include <stddef.h> unconditionally, since we assume C89 now.
69779         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
69780         * lib/fts.c: Include fts_.h first, to check interface.
69781         Do not include intprops.h; no longer needed.
69782         Include cycle-check.h and hash.h, since fts_.h no longer does.
69783         Remove unnecessary casts of closedir to void.
69784         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
69785         decide whether to decrement nlinks.
69786         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
69787         (FTS): Use struct hash_table * instead of Hash_table, so that
69788         we no longer need to include hash.h here.
69789
69790 2005-05-18  Jim Meyering  <jim@meyering.net>
69791
69792         * modules/dirfd (License): Change to LGPL.  Most of the code
69793         is already in the public domain.
69794
69795 2005-05-18  Jim Meyering  <jim@meyering.net>
69796
69797         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
69798         Reported by Yoann Vandoorselaere.
69799
69800 2005-05-17  Jim Meyering  <jim@meyering.net>
69801
69802         * m4/fts.m4: New file, from coreutils.
69803
69804 2005-05-17  Jim Meyering  <jim@meyering.net>
69805
69806         * lib/fts.c, lib/fts_.h: New files, from coreutils.
69807
69808 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
69809
69810         Sync from coreutils.
69811         * m4/unlinkdir.m4: New file.
69812
69813 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
69814
69815         Sync from coreutils.
69816         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
69817         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
69818         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
69819         White space changes only.
69820         * lib/makepath.c (make_path): Port to hosts where leading "//" is
69821         special.
69822         * lib/yesno.c: Include getline.h, not ctype.h.
69823         (yesno): Don't remove leading white space; POSIX doesn't allow it.
69824         Use getline to remove arbitrary restriction on response length.
69825
69826 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
69827
69828         * config/srclist-update: Spell out "Street" in FSF postal
69829         mail address; this is the style the FSF seems to prefer.
69830
69831         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
69832         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
69833         this updates FSF postal mail address.
69834
69835         Sync from coreutils.
69836         * modules/unlinkdir: New file.
69837         * modules/yesno (Depends-on): Add getline.
69838         * MODULES.html.sh (File system functions): Add unlinkdir.
69839
69840 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
69841
69842         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
69843         lib/strsep.h:
69844         Change the initial comment to refer to GPL, not LGPL.
69845         gnulib-tool will change it to LGPL as needed.
69846
69847         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
69848         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
69849         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
69850         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
69851         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
69852         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
69853         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
69854         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
69855         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
69856         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
69857         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
69858         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
69859         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
69860         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
69861         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
69862         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
69863         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
69864         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
69865         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
69866         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
69867         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
69868         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
69869         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
69870         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
69871         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
69872         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
69873         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
69874         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
69875         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
69876         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
69877         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
69878         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
69879         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
69880         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
69881         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
69882         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
69883         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
69884         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
69885         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
69886         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
69887         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
69888         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
69889         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
69890         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
69891         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
69892         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
69893         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
69894         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
69895         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
69896         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
69897         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
69898         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
69899         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
69900         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
69901         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
69902         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
69903         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
69904         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
69905         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
69906         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
69907         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
69908         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
69909         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
69910         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
69911         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
69912         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
69913         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
69914         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
69915         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
69916         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
69917         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
69918         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
69919         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
69920         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
69921         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
69922         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
69923         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
69924         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
69925         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
69926         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
69927         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
69928         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
69929         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
69930         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
69931         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
69932         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
69933         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
69934         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
69935         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
69936         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
69937         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
69938         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
69939         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
69940         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
69941         lib/yesno.c, lib/yesno.h:
69942         Update FSF postal mail address.
69943
69944 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
69945
69946         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
69947         tests/test-memmem.c, tests/test-stpncpy.c:
69948         Update FSF postal mail address.
69949
69950 2005-05-13  Bruno Haible  <bruno@clisp.org>
69951
69952         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
69953         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
69954         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
69955         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
69956         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
69957         Add support for 64-bit integers in the MSVC compiler.
69958
69959 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
69960
69961         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
69962
69963 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
69964
69965         * gnulib-tool (func_import): Sort and uniquify recommended includes.
69966
69967 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
69968
69969         * doc/getdate.texi (General date syntax): Don't say that date
69970         date --iso-8601=ns generates acceptable dates; it doesn't yet.
69971         Problem reported by Nic Ferrier.
69972
69973 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
69974
69975         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
69976         specified in ai_socktype. Fix invalid ai_protocol
69977         check. ai_protocol is usually set to 0 or depending on
69978         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
69979         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
69980         ai_socktype / ai_protocol in the returned addrinfo structure.
69981
69982 2005-05-10  Simon Josefsson  <jas@extundo.com>
69983
69984         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
69985         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
69986
69987 2005-05-10  Karl Berry  <karl@gnu.org>
69988
69989         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
69990         (from http://www.gnu.org/licenses).
69991         * doc/COPYING.LIB: also rename to COPYING.LESSER.
69992         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
69993         fdl.texi suffices.
69994
69995 2005-05-10  Karl Berry  <karl@gnu.org>
69996
69997         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
69998         (COPYING.DOC): remove.
69999
70000         * config/srclist-update: new FSF address.
70001
70002 2005-05-10  Derek Price  <derek@ximbiot.com>
70003
70004         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
70005         possible.
70006
70007 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
70008             Bruno Haible  <bruno@clisp.org>
70009
70010         * modules/inet_ntop: New file.
70011         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
70012         inet_ntop.
70013
70014 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
70015             Bruno Haible  <bruno@clisp.org>
70016
70017         * m4/inet_ntop.m4: New file.
70018
70019 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
70020             Bruno Haible  <bruno@clisp.org>
70021
70022         * lib/inet_ntop.h: New file.
70023         * lib/inet_ntop.c: New file, from glibc with modifications.
70024
70025 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
70026
70027         * modules/time_r (License): Change to LGPL.
70028         * modules/extensions (License): Change to LGPL.  Actually,
70029         the license is more permissive than that, but currently gnulib-tool
70030         doesn't know how to handle more-permissive licenses.
70031
70032         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
70033         Problem reported by Dave Love.
70034
70035 2005-05-08  Jim Meyering  <jim@meyering.net>
70036
70037         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
70038         blank.
70039
70040 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
70041
70042         * modules/argmatch (Depends-on): Add stdbool.
70043         * modules/backupfile (Depends-on): Likewise.
70044         * modules/chdir-long (Depends-on): Likewise.
70045         * modules/closeout (Depends-on): Likewise.
70046         * modules/cycle-check (Depends-on): Likewise.
70047         * modules/dirname (Depends-on): Likewise.
70048         * modules/fnmatch (Depends-on): Likewise.
70049         * modules/fsusage (Depends-on): Likewise.
70050         * modules/fwriteerror (Depends-on): Likewise.
70051         * modules/getcwd (Depends-on): Likewise.
70052         * modules/getloadavg (Depends-on): Likewise.
70053         * modules/hard-locale (Depends-on): Likewise.
70054         * modules/makepath (Depends-on): Likewise.
70055         * modules/mountlist (Depends-on): Likewise.
70056         * modules/nanosleep (Depends-on): Likewise.
70057         * modules/posixtm (Depends-on): Likewise.
70058         * modules/quotearg (Depends-on): Likewise.
70059         * modules/readtokens (Depends-on): Likewise.
70060         * modules/readtokens0 (Depends-on): Likewise.
70061         * modules/readutmp (Depends-on): Likewise.
70062         * modules/save-cwd (Depends-on): Likewise.
70063         * modules/strftime (Depends-on): Likewise.
70064         * modules/userspec (Depends-on): Likewise.
70065         * modules/utimecmp (Depends-on): Likewise.
70066         * modules/xgetcwd (Depends-on): Likewise.
70067         * modules/xnanosleep (Depends-on): Likewise.
70068         * modules/xstrtod (Depends-on): Likewise.
70069         * modules/yesno (Depends-on): Likewise.
70070
70071 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
70072
70073         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
70074         needless checks.
70075
70076 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
70077
70078         Merge from coreutils.  Among other things,
70079         add bulletproofing for cases where stdin, stdout, or stderr are closed.
70080         * lib/fd-safer.c: New file.
70081         * lib/fcntl-safer.h, open-safer.c: Remove.
70082         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
70083         * lib/dup-safer.c: Include unistd-safer.h first.
70084         Don't include errno.h.
70085         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
70086         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
70087         * lib/file-type.c: Rely on file-type.h change.
70088         * lib/getloadavg.c: Include unistd-safer.h.
70089         (getloadavg): Use safer open.
70090         * lib/getusershell.c: Include "stdio-safer.h".
70091         (getusershell): Use safer fopen.
70092         * lib/long-options.c (long_options): Use NULL rather than 0.
70093         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
70094         'free'.
70095         * lib/modechange.c: Likewise.
70096         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
70097         (MODE_DONE): New constant.
70098         (struct mode_change): Remove 'next' member.
70099         (make_node_op_equals): New function; like the old one of the
70100         same name, except it allocates an array.
70101         (mode_compile, mode_create_from_ref): Use it.
70102         (mode_compile): Allocate result as an array, not a linked list.
70103         Parse octal string ourself, so that we catch mistakes like "+0".
70104         (mode_adjust): Arg is an array, not a linked list.
70105         * lib/modechange.c: Include stat-macros.h, xalloc.h.
70106         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
70107         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
70108         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
70109         Remove.  This is now stat-macros.h's job.
70110         (talloc): Remove.  All callers replaced by xalloc, so that
70111         our invokers don't have to worry about reporting memory failures.
70112         (make_node_op_equals): Remove.
70113         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
70114         New constants.
70115         (struct mode_change): Moved here from modechange.h.
70116         (mode_append_entry): Remove.
70117         (mode_compile): Remove MASKED_OPS arg, since it encouraged
70118         apps to have incorrect behavior.  Use simpler algorithm for head
70119         and tail.  Don't futz with umask; that's now the job of mode_adjust.
70120         Detect more invalid usages rather than having somewhat-random behavior.
70121         Don't insert an "a=" action, as that leads to incorrect behavior.
70122         (mode_compile, mode_create_from_ref): Return NULL on error instead
70123         of an enum, since now there's only one way to have an error.  All
70124         callers changed.
70125         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
70126         at the correct time.  Simplify calculation of "+u" and its ilk.
70127         Don't mishandle "+X".
70128         (mode_free): Remove "register" and localize decls.
70129         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
70130         (struct mode_change): Move to modechange.c; callers don't
70131         need to see this stuff.
70132         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
70133         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
70134         (mode_change, mode_adjust): Reflect the new signatures noted above.
70135         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
70136         that might redefine system include files.
70137         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
70138         (my_usleep): Use NULL rather than (void *) 0.
70139         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
70140         Use siginterrupt to specify that system calls should be interrupted.
70141         (rpl_nanosleep): Move initialization of suspended closer to call of
70142         my_usleep.
70143         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
70144         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
70145         (desirable_utmp_entry): New function.
70146         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
70147         using x2nrealloc, to simplify logic.
70148         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
70149         size calculation.  Do not assume utmp file is a regular file.
70150         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
70151         (READ_UTMP_CHECK_PIDS): New constant.
70152         * lib/save-cwd.c: Include unistd-safer.h.
70153         (save_cwd): Use fd_safer.
70154         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
70155         [!_LIBC] Include "stat-macros.h" instead.
70156         * lib/unistd-safer.h (fd_safer): New decl.
70157
70158 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
70159
70160         * modules/getloadavg (Depends-on): Add unistd-safer.
70161         * modules/getusershell (Depends-on): Add stdio-safer.
70162         * modules/lstat (Depends-on): Remove xalloc.
70163         * modules/mkstemp (Depends-on): Add stat-macros.
70164         * modules/modechange (Depends-on): Remove xstrtol.
70165         Add stat-macros, xalloc.
70166         * modules/save-cwd (Depends-on): Add unistd-safer.
70167         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
70168         * modules/unistd-safer (Files): Add lib/fd-safer.c
70169         (Makefile.am): Remove lib_SOURCES.
70170
70171         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
70172         Remove fcntl-safer; unistd-safer supersedes it.
70173
70174 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
70175
70176         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
70177         AC_HEADER_STAT.
70178         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
70179         (gl_PREREQ_CHOWN): Remove.
70180         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
70181         it.  Don't require AC_HEADER_STAT.
70182         (gl_PREREQ_LSTAT): Remove.
70183         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
70184         Don't require AC_HEADER_STAT.
70185         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
70186         (gl_PREREQ_RMDIR): Remove.
70187         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
70188         mention stat-macros.h or AC_HEADER_STAT, since we'll make
70189         the stat-macros module a prerequisite.
70190         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
70191         * m4/filemode.m4 (gl_FILEMODE): Likewise.
70192         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
70193         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
70194         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
70195         variable names.
70196         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
70197         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
70198         variable prefixes.
70199         * m4/fcntl-safer.m4: Remove.
70200         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
70201         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
70202         Invoke gl_PREREQ_FD_SAFER.
70203         (gl_PREREQ_FD_SAFER): New macro.
70204         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
70205         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
70206         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
70207         Remove duplicate call to AC_LIBOBJ(readutmp).
70208         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
70209
70210         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
70211         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
70212
70213 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
70214
70215         * MODULES.html.sh (Misc): Add byteswap.
70216
70217 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
70218
70219         * modules/getcwd (Depends-on): Add extensions.
70220         * modules/openat (Depends-on): Likewise.
70221
70222 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
70223
70224         * modules/byteswap: New file.
70225
70226 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
70227
70228         * m4/byteswap.m4: New file.
70229
70230 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
70231
70232         * lib/byteswap_.h: New file.
70233
70234 2005-04-25  Karl Berry  <karl@gnu.org>
70235
70236         * m4/gettext.m4: Update from GNU gettext 0.14.4.
70237
70238 2005-04-25  Albert Chin  <china@thewrittenword.com>
70239
70240         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
70241         Toolkit C bug.
70242
70243 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
70244
70245         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
70246         (func_ln_if_changed): Remove forcibly for no error message
70247         in case file does not exist.
70248
70249 2005-04-19  Simon Josefsson  <jas@extundo.com>
70250
70251         * gnulib-tool (Options): Make --symlink mean --symbolic.
70252
70253 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
70254
70255         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
70256
70257 2005-04-16  Simon Josefsson  <jas@extundo.com>
70258
70259         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
70260
70261 2005-04-15  Simon Josefsson  <jas@extundo.com>
70262
70263         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
70264
70265 2005-04-15  Simon Josefsson  <jas@extundo.com>
70266
70267         * gnulib-tool: Rename --symlink to --symbolic.
70268
70269 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
70270
70271         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
70272         symbolic links to files instead of copying/moving.  Add --aux-dir,
70273         specifying directory relative --dir where auxiliary build tools
70274         are placed.
70275
70276 2005-04-14  Bruno Haible  <bruno@clisp.org>
70277
70278         * modules/allocsa (License): Change to LGPL.
70279         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
70280
70281 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
70282
70283         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
70284         that "UTC +1 second" continues to work.  Problem reported
70285         by Dmitry V. Levin.
70286         (relunit_snumber): New rule.
70287         (relunit): Use it.
70288
70289 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
70290
70291         * lib/getdate.y (universal_time_zone_table): New constant.
70292         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
70293         universal_time_zone_table.
70294         (lookup_zone): Prefer universal_time_zone_table to
70295         local_time_zone_table, so that "GMT" time stamps are allowed in
70296         London during the summer.  Problem reported by Ian Abbott.
70297
70298 2005-04-12  Jim Meyering  <jim@meyering.net>
70299
70300         * lib/human.c (humblock): Set *options even when returning due to
70301         xstrtoumax conversion failure.  Thanks to a used-uninitialized
70302         warning from gcc-4.
70303
70304 2005-04-09  Jim Meyering  <jim@meyering.net>
70305
70306         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
70307         -Wuninitialized: initialize tm0.tm_year.
70308
70309 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
70310
70311         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
70312         count, since there's no maximum.  All uses changed.
70313         Add member dsts_seen.
70314         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
70315         not being INT_MAX.
70316         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
70317         Use pc_rels_seen to decide whther a date is absolute.
70318
70319         * lib/getdate.y (number): Don't overwrite year.
70320         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
70321         check.
70322
70323 2005-04-02  Simon Josefsson  <jas@extundo.com>
70324
70325         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
70326         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
70327
70328 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
70329
70330         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
70331         where no absolute path name can be longer than PATH_MAX.
70332
70333 2005-03-27  Jim Meyering  <jim@meyering.net>
70334
70335         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
70336
70337 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
70338
70339         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
70340         "one's complement" -> "ones' complement" in comment, as per Knuth.
70341         "value of type" -> "type or expression" in comment.
70342         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
70343
70344 2005-03-26  Jim Meyering  <jim@meyering.net>
70345
70346         Comment nits.
70347         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
70348         Correct typos: s/or/of/.
70349
70350 2005-03-26  Jim Meyering  <jim@meyering.net>
70351
70352         * modules/check-include-files: Move to ../ and rename to...
70353         * check-module: ...this.
70354
70355 2005-03-25  Jim Meyering  <jim@meyering.net>
70356
70357         * modules/xvasprintf (Files): Add xalloc.h.
70358
70359 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
70360
70361         * modules/gettext (Files): config/config.rpath ->
70362         build-aux/config.rpath
70363         * modules/iconv (Files): Likewise.
70364         Problem reported by Oskar Liljeblad.
70365
70366 2005-03-23  Jim Meyering  <jim@meyering.net>
70367
70368         * modules/check-include-files: New script to check for
70369         missing dependencies, multiple includes, etc.
70370
70371         * modules/c-strtold (Depends-on): Add xalloc.
70372         * modules/c-strtod (Depends-on): Add xalloc.
70373         * modules/hash (Depends-on): Add xalloc.
70374         (Files): Remove lib/xalloc.h.
70375
70376         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
70377         * modules/userspec (Files): Add lib/inttostr.h.
70378
70379 2005-03-23  Jim Meyering  <jim@meyering.net>
70380
70381         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
70382
70383 2005-03-22  Jim Meyering  <jim@meyering.net>
70384
70385         * modules/stat-macros: New module.
70386         * modules/canonicalize, modules/euidaccess, modules/file-type,
70387         * modules/filemode, modules/lchown, modules/makepath,
70388         * modules/rmdir, modules/stat: Depend on new stat-macros module
70389         rather than listing lib/stat-macros.h manually.
70390         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
70391
70392 2005-03-22  Jim Meyering  <jim@meyering.net>
70393
70394         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
70395
70396 2005-03-22  Bruno Haible  <bruno@clisp.org>
70397
70398         * config/srclist.txt: Replace target directory 'config' with
70399         'build-aux'.
70400         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
70401         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
70402         ../build-aux/.
70403
70404 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
70405
70406         * modules/chdir-long (Depends-on): Add mempcpy.
70407
70408         * modules/acl, modules/backupfile, modules/c-strtod,
70409         modules/c-strtold, modules/canon-host, modules/canonicalize,
70410         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
70411         modules/exclude, modules/exitfail, modules/file-type,
70412         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
70413         modules/getdate, modules/getline, modules/getpagesize,
70414         modules/getpass, modules/getugroups, modules/group-member,
70415         modules/hard-locale, modules/hash, modules/human, modules/idcache,
70416         modules/inttostr, modules/long-options, modules/makepath,
70417         modules/md5, modules/memcasecmp, modules/memcoll,
70418         modules/modechange, modules/mountlist, modules/path-concat,
70419         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
70420         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
70421         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
70422         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
70423         modules/strftime, modules/strndup, modules/strverscmp,
70424         modules/timespec, modules/unlocked-io, modules/userspec,
70425         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
70426         modules/yesno:
70427         Remove lib_SOURCES line from Makefile.am section, as this is now
70428         done automatically by the corresponding Autoconf macro.
70429
70430 2005-03-21  Jim Meyering  <jim@meyering.net>
70431
70432         Changes imported from coreutils.
70433
70434         * lib/cycle-check.c: Don't include xalloc.h.
70435
70436         * lib/path-concat.c: Don't include assert.h.
70437         (path_concat): Remove assertion that would have triggered
70438         for ABASE starting with more than one slash.
70439         Reported by Andreas Schwab.
70440
70441         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
70442         properly when ABASE is an absolute file name.
70443         Correct the description of this function.
70444         Include <assert.h>.
70445         Add an assertion and a test driver.
70446         This fixes a bug introduced on 2004-07-02.
70447         Andreas Schwab reported the resulting failure of cp --parents:
70448         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
70449
70450 2005-03-21  Jim Meyering  <jim@meyering.net>
70451
70452         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
70453         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
70454
70455 2005-03-21  Jim Meyering  <jim@meyering.net>
70456         and  Paul Eggert  <eggert@cs.ucla.edu>
70457
70458         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
70459         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
70460         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
70461         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
70462         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
70463         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
70464         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
70465         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
70466         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
70467         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
70468         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
70469         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
70470         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
70471         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
70472         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
70473         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
70474         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
70475         for these modules.
70476
70477 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
70478
70479         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
70480         (which shouldn't happen), generate nothing instead of returning 0
70481         immediately, so that nstrftime (NULL, ...) doesn't return 0.
70482
70483 2005-03-16  Bruno Haible  <bruno@clisp.org>
70484
70485         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
70486         HAVE_LONGLONG_64BIT.
70487
70488 2005-03-16  Bruno Haible  <bruno@clisp.org>
70489
70490         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
70491         HAVE_LONGLONG_64BIT.
70492
70493 2005-03-16  Bruno Haible  <bruno@clisp.org>
70494
70495         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
70496         HAVE_LONGLONG_64BIT.
70497
70498 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
70499
70500         * lib/strftime.c (my_strftime): Prepend space to format so that we can
70501         reliably distinguish strftime failure from empty output on POSIX
70502         hosts.
70503
70504 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
70505
70506         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
70507         (iconv_string): Don't guess a size-zero buffer, as that might cause
70508         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
70509         result would be 'too large', where 'too large' is (heuristically)
70510         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
70511         overflow concerns.  This will prevent some unwanted malloc failures
70512         when the inputs are very large.
70513
70514 2005-03-15  Karl Berry  <karl@gnu.org>
70515
70516         * config/srclist.txt (config.rpath): from gettext.
70517         * config/config.rpath: update.
70518
70519 2005-03-15  Bruno Haible  <bruno@clisp.org>
70520
70521         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
70522         to 'negate'.
70523
70524         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
70525         variable.
70526
70527         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
70528         results.
70529
70530 2005-03-14  Simon Josefsson  <jas@extundo.com>
70531
70532         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
70533         <fx@gnu.org>.
70534
70535 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
70536
70537         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
70538         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
70539         intprops.h.
70540         * lib/strtol.c: Likewise.
70541
70542 2005-03-14  Jim Meyering  <jim@meyering.net>
70543
70544         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
70545         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
70546         to be nonzero so that we (and caller) can detect the difference
70547         between a valid zero-length expansion and an error return, even
70548         when the underlying strftime fails before writing anything into
70549         that location.
70550
70551 2005-03-14  Bruno Haible  <bruno@clisp.org>
70552
70553         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
70554         Update from GNU gettext 0.14.3.
70555
70556 2005-03-10  Jim Meyering  <jim@meyering.net>
70557
70558         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
70559
70560 2005-03-10  Jim Meyering  <jim@meyering.net>
70561
70562         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
70563         so that this module works on systems without fchdir.
70564
70565 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
70566
70567         Factor int-properties macros into a single file, except for
70568         glibc-related files.
70569         * lib/intprops.h: New file.
70570         * lib/getloadavg.c: Include it instead of limits.h.
70571         (INT_STRLEN_BOUND): Remove.
70572         * lib/human.c: Include intprops.h.
70573         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
70574         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
70575         302/1000.
70576         * lib/inttostr.h: Include intprops.h instead of limits.h.
70577         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
70578         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
70579         for consistency with intprops.h.
70580         (time_t_is_integer, twos_complement_arithmetic): Use them.
70581         * lib/sig2str.h: Include <signal.h>, intprops.h.
70582         (INT_STRLEN_BOUND): Remove.
70583         * lib/strftime.c (TYPE_SIGNED): Remove.
70584         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
70585         * lib/strtol.c: Adjust comments to match intprops.h.
70586         * lib/userspec.c: Include intprops.h.
70587         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
70588         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
70589         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
70590         instead of rolling our own expressions.
70591         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
70592
70593         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
70594         instead of int.
70595         (my_strftime): Do not mishandle years close to INT_MAX, by doing
70596         the right thing even if adding 1900 would overflow.  Similarly
70597         for tm_mon + 1 and tm_yday + 1.
70598         Make %Y always equivalent to %C%y, and similarly for %G and %g.
70599         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
70600         (DO_SIGNED_NUMBER): New macro.
70601         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
70602
70603 2005-03-07  Bruno Haible  <bruno@clisp.org>
70604
70605         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
70606
70607 2005-03-07  Bruno Haible  <bruno@clisp.org>
70608
70609         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
70610
70611 2005-03-04  Derek R. Price  <derek@ximbiot.com>
70612
70613         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
70614         (func_import): Only replace files via --import when they have actually
70615         changed.
70616
70617 2005-03-03  Derek R. Price  <derek@ximbiot.com>
70618
70619         * m4/mmap-anon.m4: New file.
70620         * m4/pagealign_alloc.m4: New file.
70621
70622 2005-03-03  Derek R. Price  <derek@ximbiot.com>
70623             Bruno Haible  <bruno@clisp.org>
70624
70625         * modules/pagealign_alloc: New file.
70626         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
70627
70628 2005-03-03  Derek R. Price  <derek@ximbiot.com>
70629             Bruno Haible  <bruno@clisp.org>
70630
70631         * lib/pagealign_alloc.h: New file.
70632         * lib/pagealign_alloc.c: New file.
70633
70634 2005-03-03  Bruno Haible  <bruno@clisp.org>
70635
70636         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
70637         Use an all-permissive copyright notice, recommended by RMS.
70638
70639 2005-03-02  Bruno Haible  <bruno@clisp.org>
70640
70641         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
70642         of AIX, the replacement has to be done only after <string.h> is
70643         included, therefore not in config.h. stpncpy.h does the replacement,
70644         and stpncpy.c uses it.
70645
70646 2005-03-02  Bruno Haible  <bruno@clisp.org>
70647
70648         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
70649         stpncpy.c uses it.
70650
70651 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
70652
70653         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
70654         The workaround isn't strictly needed for POSIX conformance, and
70655         it's too much of a pain to configure and maintain.  We'll ask
70656         people to fix their kernels instead.
70657         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
70658         (NANOSLEEP_BUG_WORKAROUND): Remove.
70659         (xnanosleep): Remove the workaround.
70660
70661 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
70662
70663         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
70664         Reported by Derek Price.
70665         (Include): Add "timespec.h".
70666
70667         * modules/xnanosleep (Depends-on): Remove gethrxtime.
70668
70669 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
70670
70671         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
70672         to detect nanosleep bug.
70673
70674 2005-03-01  Bruno Haible  <bruno@clisp.org>
70675
70676         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
70677
70678 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
70679
70680         * modules/gethrxtime: New file.
70681         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
70682         (Depends-on): Add gethrxtime.
70683         (configure.ac): Add gl_XNANOSLEEP.
70684         (Makefile.am): Remove lib_SOURCES line.
70685
70686 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
70687
70688         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
70689         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
70690
70691 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
70692
70693         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
70694         * lib/timespec.h (gettime): Return void, since it always
70695         succeeds now.  All uses changed.
70696         * lib/gettime.c (gettime): Likewise.
70697         [HAVE_NANOTIME]: Prefer nanotime.
70698         Assume gettimeofday succeeds, as POSIX requires.
70699         Assime time () succeeds, since other code already does.
70700         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
70701         (timespec_subtract): Remove.
70702         (NANOSLEEP_BUG_WORKAROUND): New constant.
70703         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
70704         things considerably.  Use it only on GNU/Linux hosts, since the
70705         workaround shouldn't be needed elsewhere.
70706
70707 2005-02-24  Bruno Haible  <bruno@clisp.org>
70708
70709         * modules/gettext (Files): Add m4/glibc2.m4.
70710
70711 2005-02-24  Bruno Haible  <bruno@clisp.org>
70712
70713         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
70714         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
70715         * m4/progtest.m4:
70716         Update from GNU gettext 0.14.2.
70717         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
70718
70719 2005-02-24  Bruno Haible  <bruno@clisp.org>
70720
70721         * lib/localcharset.c: Update from GNU gettext 0.14.2.
70722         * lib/config.charset: Update from GNU gettext 0.14.2.
70723
70724 2005-02-24  Bruno Haible  <bruno@clisp.org>
70725
70726         * lib/gettext.h: Update from GNU gettext 0.14.2.
70727
70728 2005-02-23  Simon Josefsson  <jas@extundo.com>
70729
70730         * m4/iconvme.m4: New file.
70731
70732 2005-02-23  Jim Meyering  <jim@meyering.net>
70733
70734         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
70735         change.
70736         Thanks to Bruno Haible for catching it.
70737
70738 2005-02-22  Simon Josefsson  <jas@extundo.com>
70739
70740         * modules/iconvme: New file.
70741
70742         * MODULES.html.sh: Add iconvme.
70743
70744 2005-02-22  Simon Josefsson  <jas@extundo.com>
70745
70746         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
70747
70748 2005-02-22  Simon Josefsson  <jas@extundo.com>
70749
70750         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
70751
70752 2005-02-22  Jim Meyering  <jim@meyering.net>
70753
70754         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
70755         s/ifndef/ifdef/.
70756
70757 2005-02-20  Neil Conway  <neilc@samurai.com>
70758
70759         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
70760         returned by OSX/Darwin if the specified buffer is not large
70761         enough for the hostname.
70762
70763 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
70764
70765         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
70766         pass it to _help, otherwise the latter coredumps trying to
70767         dereference state.root_argp.
70768
70769 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
70770
70771         * modules/chdir-long (Depends-on): Add memrchr.
70772         * modules/memrchr (Files): Add lib/memrchr.h.
70773         (Include): "memrchr.h".
70774
70775 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
70776
70777         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
70778
70779 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
70780
70781         * lib/memrchr.h: New file.
70782         * lib/chdir-long.c: Include it.
70783         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
70784         Don't bother including stddef.h.
70785
70786 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
70787
70788         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
70789         inclusion.
70790         Include <sys/types.h>, for dev_t.
70791         (ME_DUMMY, ME_REMOTE): Move from here....
70792         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
70793         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
70794         Dmitry V. Levin.
70795         Include mountlist.h first, to test the interface.
70796
70797 2005-01-29  Bruno Haible  <bruno@clisp.org>
70798
70799         * lib/progname.c (program_name): Initialize.
70800         Needed when linking statically on MacOS X.
70801
70802 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
70803
70804         Sync from coreutils.
70805         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
70806         (Depends-on): Add c-strtod.
70807         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
70808
70809 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
70810
70811         Sync from coreutils.
70812         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
70813
70814         Remove files that are specific to coreutils.
70815         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
70816
70817 2005-01-28  Bruno Haible  <bruno@clisp.org>
70818
70819         * modules/javacomp: New file.
70820         * MODULES.html.sh (Java): Add javacomp.
70821
70822 2005-01-28  Bruno Haible  <bruno@clisp.org>
70823
70824         * m4/javacomp.m4: New file, from GNU gettext.
70825
70826 2005-01-28  Bruno Haible  <bruno@clisp.org>
70827
70828         * lib/javacomp.sh.in: New file, from GNU gettext.
70829         * lib/javacomp.h: New file, from GNU gettext.
70830         * lib/javacomp.c: New file, from GNU gettext.
70831
70832 2005-01-26  Simon Josefsson  <jas@extundo.com>
70833
70834         * lib/gai_strerror.c: Use GPL in header.
70835
70836 2005-01-26  Bruno Haible  <bruno@clisp.org>
70837
70838         * modules/javaexec: New file.
70839         * MODULES.html.sh (Java): Add javaexec.
70840
70841 2005-01-26  Bruno Haible  <bruno@clisp.org>
70842
70843         * m4/javaexec.m4: New file, from GNU gettext.
70844
70845 2005-01-26  Bruno Haible  <bruno@clisp.org>
70846
70847         * lib/javaexec.sh.in: New file, from GNU gettext.
70848         * lib/javaexec.h: New file, from GNU gettext.
70849         * lib/javaexec.c: New file, from GNU gettext.
70850
70851 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
70852
70853         * modules/lchown (Depends-on): Remove lchown.h
70854
70855 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
70856
70857         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
70858         must be defined if the header file was not found, in order
70859         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
70860
70861 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
70862
70863         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
70864         initializers for struct pentry_state.
70865         (__argp_error): Check return value of __asprintf
70866         (__argp_failure): Translate error message
70867
70868         * lib/argp-parse.c: Removed braces around the expansion of N_()
70869
70870 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
70871
70872         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
70873         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
70874         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
70875         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
70876         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
70877         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
70878         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
70879         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
70880         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
70881         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
70882         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
70883         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
70884         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
70885         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
70886         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
70887         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
70888         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
70889         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
70890         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
70891         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
70892         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
70893         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
70894         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
70895         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
70896         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
70897         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
70898         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
70899         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
70900         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
70901         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
70902         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
70903         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
70904         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
70905         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
70906         xstrtol.m4, xstrtoumax.m4, yesno.m4:
70907         Use an all-permissive copyright notice, recommended by RMS.
70908
70909 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
70910
70911         * modules/chdir-long (Depends-on): Remove mempcpy.
70912
70913 2005-01-21  Jim Meyering  <jim@meyering.net>
70914
70915         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
70916         same value as for Solaris 9.
70917
70918         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
70919         component length.  This included changing the parameter to be
70920         of type `char *' rather than `char const *'.
70921         * lib/chdir-long.h (chdir_long): Update prototype.
70922
70923         * lib/openat.c (fdopendir, fstatat): New functions.
70924         * lib/openat.h: Include headers required for use of DIR and struct
70925         stat.
70926         [AT_SYMLINK_NOFOLLOW]: Define.
70927         (fdopendir, fstatat): Add prototypes.
70928
70929 2005-01-21  Bruno Haible  <bruno@clisp.org>
70930
70931         * modules/classpath: New file.
70932         * MODULES.html.sh (Java): Add classpath.
70933
70934 2005-01-21  Bruno Haible  <bruno@clisp.org>
70935
70936         * lib/classpath.h: New file, from GNU gettext.
70937         * lib/classpath.c: New file, from GNU gettext.
70938
70939 2005-01-20  Simon Josefsson  <jas@extundo.com>
70940
70941         * modules/version-etc-fsf: New file.
70942
70943 2005-01-20  Simon Josefsson  <jas@extundo.com>
70944
70945         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
70946         * lib/version-etc.c: Remove version_etc_copyright.
70947         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
70948         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
70949
70950 2005-01-20  Simon Josefsson  <jas@extundo.com>
70951
70952         * lib/base64.h (isbase64): Add.
70953
70954         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
70955         using a unsigned prototype, don't inline.
70956         (base64_decode): Use it.
70957
70958 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
70959
70960         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
70961         it.
70962
70963 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
70964
70965         * lib/save-cwd.c (save_cwd): Remove code to support the case
70966         where fchdir is missing or flaky.
70967
70968 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
70969
70970         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
70971
70972 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
70973
70974         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
70975         AC_LIBSOURCES now does this.
70976         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
70977         with new ullong_max module.
70978
70979 2005-01-19  Bruno Haible  <bruno@clisp.org>
70980
70981         * modules/sh-quote: New file.
70982         * MODULES.html.sh (Executing programs): Add sh-quote.
70983
70984 2005-01-19  Bruno Haible  <bruno@clisp.org>
70985
70986         * lib/sh-quote.h: New file, from GNU gettext.
70987         * lib/sh-quote.c: New file, from GNU gettext.
70988
70989 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
70990
70991         Merge from coreutils.
70992         * m4/ullong_max.m4: New file.
70993         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
70994         (gl_MACROS): Assume localeconv exists.
70995
70996 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
70997
70998         Merge changes from coreutils, as described below in several
70999         changelogs dated today.
71000
71001         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
71002         (O_DIRECTORY): Remove; not needed here, since "." must be
71003         a directory.  All uses removed.
71004         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
71005         universal on Suns, and we also need to test for IRIX.
71006         Revamp code to use 'if' rather than '#if'.
71007         Avoid unnecessary comparison of cwd->desc to 0.
71008
71009         * lib/utimens.c (futimens): Robustify the previous patch, by checking
71010         for known valid error numbers rather than observed invalid ones.
71011
71012 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
71013
71014         * modules/ullong_max: New file.
71015
71016         * modules/chdir-long, modules/openat: New files.
71017         * modules/save-cwd (Depends-on): Depend on chdir-long.
71018         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
71019
71020 2005-01-18  Jim Meyering  <jim@meyering.net>
71021
71022         Merge from coreutils.
71023         * m4/chdir-long.m4, m4/openat.m4: New files.
71024         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
71025         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
71026         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
71027         is sane and DOES follow symlinks.  Besides, testing 20 different
71028         systems found no broken chown implementations.
71029         Prompted by a change in rsync's copy of this macro.
71030         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
71031
71032         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
71033
71034         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
71035         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
71036         NULL-means-set-to-current-time semantics.
71037         Remove temporary file immediately, rather than waiting
71038         for configure's at-exit trap code to do it.
71039
71040 2005-01-18  Jim Meyering  <jim@meyering.net>
71041
71042         * lib/version-etc.c (version_etc_copyright): Update copyright date.
71043
71044         * lib/utimens.c (futimens): Account for the fact that futimes
71045         can also fail with errno == ENOSYS or errno == ENOENT.
71046         Patch from Dmitry V. Levin.
71047
71048         Change the name of the robust chdir function from chdir to chdir_long.
71049         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
71050         (restore_cwd): Use chdir_long, not chdir.
71051         * lib/chdir-long.c: Renamed from chdir.c.
71052         * lib/chdir-long.h: Renamed from chdir.h.
71053         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
71054         Hurd.
71055
71056 2005-01-18  Bruno Haible  <bruno@clisp.org>
71057
71058         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
71059         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
71060         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
71061         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
71062         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
71063         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
71064         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
71065         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
71066         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
71067         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
71068         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
71069         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
71070         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
71071         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
71072         Use an all-permissive copyright notice, recommended by RMS.
71073
71074 2005-01-18  Bob Proulx  <bob@proulx.com>
71075
71076         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
71077         simplify offsetof() macro construct to avoid compile failure with
71078         native HP-UX 11.0 ANSI C compiler.
71079
71080 2005-01-17  Bruno Haible  <bruno@clisp.org>
71081
71082         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
71083         redundant because stpncpy.m4 takes care of it.
71084
71085 2005-01-17  Bruno Haible  <bruno@clisp.org>
71086
71087         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
71088
71089 2005-01-17  Bruno Haible  <bruno@clisp.org>
71090
71091         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
71092         used.
71093
71094 2005-01-17  Bruno Haible  <bruno@clisp.org>
71095
71096         * lib/fwriteerror.h (fwriteerror): Change specification to include
71097         fclose.
71098         * lib/fwriteerror.c: Include <stdbool.h>.
71099         (fwriteerror): At the end, close the file stream. Record whether
71100         stdout was already closed.
71101
71102 2005-01-17  Bruno Haible  <bruno@clisp.org>
71103
71104         * lib/execute.c (environ): Declare if needed.
71105         * lib/pipe.c (environ): Likewise.
71106         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
71107
71108 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
71109
71110         * modules/argp: Depend on vsnprintf
71111
71112 2005-01-10  Jim Meyering  <jim@meyering.net>
71113
71114         * modules/closeout (Depends-on): Add atexit.
71115
71116 2005-01-06  Bruno Haible  <bruno@clisp.org>
71117
71118         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
71119
71120 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
71121
71122         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
71123         definitions to be after all include files, to avoid collisions.
71124         Problem reported by Bob Proulx.
71125
71126 2005-01-04  Jim Meyering  <jim@meyering.net>
71127
71128         Changes imported from coreutils.
71129         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
71130         as the mkstemp template, use a temporary directory and an
71131         8.3-friendly template to avoid trouble on systems like DJGPP.
71132         Reported by Juan M. Guerrero via Stepan Kasal.
71133         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
71134         close. Remove the temporary directory right away, rather than waiting
71135         for configure's at-exit trap code to do it.
71136         Suggestion from Stepan Kasal.
71137
71138 2005-01-01  Simon Josefsson  <jas@extundo.com>
71139
71140         * gnulib-tool: Print #include directives when --import'ing.
71141
71142 2004-12-28  Simon Josefsson  <jas@extundo.com>
71143
71144         * tests/test-base64.c: Include required header files.  Remove
71145         unused variables.
71146
71147 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
71148
71149         * modules/error (Depends-on): Remove gettext.
71150
71151 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
71152
71153         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
71154         not needed.  This removes a dependency on the gettext module.
71155         [defined _LIBC]: Do not include <libintl.h>; not needed.
71156
71157 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
71158
71159         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
71160         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
71161
71162 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
71163
71164         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
71165         HAVE_DECL_STRTOLD.
71166
71167 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
71168
71169         * modules/getdate (Depends-on): Remove alloca-opt.
71170
71171 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
71172
71173         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
71174
71175 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
71176
71177         * lib/argp-parse.c: Include <stddef.h>.
71178         (alignof, alignto): New macros.
71179         (parser_init): Don't assume that void * is aligned sufficiently
71180         for struct option.
71181
71182         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
71183         need to extend the stack.
71184         (YYINITDEPTH): New macro, so that the initial stack isn't overly
71185         large.
71186
71187 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
71188
71189         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
71190
71191 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
71192
71193         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
71194         (2004-10-24) change.  Apparently this was a false alarm.
71195
71196         * modules/getdate: Depend on alloca-opt, not alloca.
71197
71198 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
71199
71200         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
71201         Remove now-obsolete comment about AIX.
71202         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
71203         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
71204         (YYMAXDEPTH): New macro.
71205
71206 2004-12-18  Simon Josefsson  <jas@extundo.com>
71207
71208         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
71209
71210 2004-12-18  Bruno Haible  <bruno@clisp.org>
71211
71212         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
71213
71214 2004-12-18  Bruno Haible  <bruno@clisp.org>
71215
71216         * lib/fatal-signal.c (fatal_signals): Make non-const.
71217         (init_fatal_signals): New function.
71218         (uninstall_handlers, install_handlers): Ignore signals that were set to
71219         SIG_IGN.
71220         (at_fatal_signal): Call init_fatal_signals.
71221         (init_fatal_signal_set): Likewise. Ignore signals that were set to
71222         SIG_IGN.
71223         Reported by Paul Eggert.
71224
71225 2004-12-18  Bruno Haible  <bruno@clisp.org>
71226
71227         * doc/alloca.texi: New file.
71228         * doc/alloca-opt.texi: New file.
71229
71230 2004-12-17  Jim Meyering  <jim@meyering.net>
71231
71232         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
71233         Otherwise, install-sh could exit with improper exit status when
71234         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
71235
71236 2004-12-16  Simon Josefsson  <jas@extundo.com>
71237
71238         * tests/test-base64.c: Add license.
71239
71240 2004-12-15  Stepan Kasal  <address@hidden>
71241
71242         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
71243
71244 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
71245
71246         * modules/getcwd (Files): Add m4/d-ino.m4.
71247         Suggested by Mark D. Baushke.
71248
71249 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
71250
71251         * lib/getdate.y (textint): New member "negative".
71252         (time_zone_hhmm): New function.
71253         Expect 14 shift-reduce conflicts, not 13.
71254         (o_colon_minutes): New rule.
71255         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
71256         (yylex): Set the "negative" member of signed numbers.
71257
71258 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
71259
71260         * doc/getdate.texi (Time of day items, Time zone items):
71261         Describe new formats +00:00, UTC+00:00.
71262
71263 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
71264
71265         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
71266         spurious "-l"s.  Problem reported by Stepan Kasal.
71267
71268 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
71269
71270         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
71271         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
71272
71273 2004-12-04  Simon Josefsson  <jas@extundo.com>
71274
71275         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
71276         Vandoorselaere <yoann@prelude-ids.org>.
71277
71278 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
71279
71280         Changes imported from coreutils.
71281         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
71282         exist.
71283         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
71284
71285 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
71286
71287         Changes imported from coreutils.
71288         * lib/hard-locale.c: Assume <locale.h> exists.
71289         Include "strdup.h".
71290         (GLIBC_VERSION): New macro.
71291         (hard_locale): Assume setlocale exists.
71292         Rewrite to avoid #ifdef.
71293         Use strdup rather than malloc + strcpy.
71294         * lib/human.c: Assume <locale.h> exists.
71295         (human_readable): Assume localeconv exists.
71296
71297 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
71298
71299         * modules/hard-locale (Depends-on): Add strdup.
71300
71301 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
71302
71303         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
71304         convert T2, not T.  (Imported from libc.)
71305
71306 2004-11-30  Simon Josefsson  <jas@extundo.com>
71307
71308         * modules/restrict (License): Change to LGPL.
71309
71310 2004-11-30  Simon Josefsson  <jas@extundo.com>
71311
71312         * m4/restrict.m4: Add copyright and copying conditions.
71313
71314 2004-11-30  Simon Josefsson  <jas@extundo.com>
71315
71316         * m4/base64.m4: New file.
71317
71318 2004-11-30  Simon Josefsson  <jas@extundo.com>
71319
71320         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
71321         base64.
71322
71323         * tests/test-base64.c: New file.
71324
71325         * modules/base64: New file.
71326
71327 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
71328
71329         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
71330         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
71331
71332         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
71333
71334 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
71335
71336         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
71337         (__getcwd.c): Don't restore errno; glibc doesn't.
71338         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
71339         first, falling back to our code only if its results look suspicious.
71340         Ensure that the resulting buffer is only as large as necessary.
71341
71342         * lib/readutmp.c: Include readutmp.h first.
71343         Include <errno.h>, since readutmp.h no longer does that.
71344         * lib/readutmp.h: Don't include <errno.h>,
71345         <sys/param.h>, <time.h>; not needed to establish interface.
71346         (errno): Remove decl.
71347         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
71348         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
71349         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
71350
71351 2004-11-28  Simon Josefsson  <jas@extundo.com>
71352
71353         * lib/base64.h, base64.c: New file.
71354
71355 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
71356
71357         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
71358
71359 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
71360
71361         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
71362         (Depends-on): Remove pathmax, same.  Add mempcpy.
71363         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
71364         (Makefile.am): Append getcwd.h to lib_SOURCES.
71365         (Include): Add getcwd.h.
71366         (Maintainer): Change from Jim Meyering to "all, glibc",
71367         since getdate now uses intended-for-glibc code.
71368         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
71369         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
71370
71371 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
71372
71373         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
71374         HP's ANSI C compiler.
71375         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
71376         Declaring int functions causes warnings on some modern systems and
71377         shouldn't be needed to compile on ancient ones.
71378         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
71379         defined.
71380
71381         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
71382         with the following changes.
71383         (__set_errno): Parenthesize properly.
71384         Include <stdbool.h>.
71385         (MIN, MAX, MATCHING_INO): New macros.
71386         (__getcwd): Define with prototype, not K&R form.
71387         Use heuristics to allocate default buffer on stack if possible.
71388         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
71389         behavior, and to avoid the PATH_MAX limit when computing
71390         ../../../../...
71391         Use MATCHING_INO to compare inode number to file.
71392         Check for arithmetic overflow in size calculations.
71393         Fix bug in reallocation of dot array that caused getcwd to fail
71394         on directories nested deeper than 75.
71395         Be more careful about saving errno on error.
71396         Do not use realloc; use only free+malloc, as this is a bit
71397         more flexible and avoids a needless copy operation.
71398         Do not inspect st_dev and st_ino for symbolic links; POSIX
71399         doesn't specify the latter.
71400         Check for closedir errors.
71401         Avoid needless casts.
71402         Use "#ifdef weak_alias" around weak_alias, to be like other
71403         glibc code.
71404         The following changes to getcwd.c have effect only when used in
71405         gnulib; they have no effect inside glibc proper.
71406         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
71407         as alloca isn't used.
71408         (alloca, __alloca): Likewise.
71409         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
71410         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
71411         unconditionally, as gnulib assumes C89 or better.
71412         Do not include <sys/param.h>.
71413         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
71414         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
71415         better.
71416         (NULL) [!defined NULL]: Remove; we assume C89 or better.
71417         Include <dirent.h> in a way that is compatible with modern Autoconf.
71418         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
71419         New macros, if not already defined.
71420         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
71421         Use "_LIBC", not "defined _LIBC", for consistency.
71422         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
71423         a mempcpy module.
71424         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
71425         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
71426         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
71427         credit only to Jim Meyering and adjust the copyright dates.
71428         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
71429         <stdlib.h>, <unistd.h>, "pathmax.h".
71430         Instead, include "xgetcwd.h" (first) and "getcwd.h".
71431         (INITIAL_BUFFER_SIZE): Remove.
71432         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
71433
71434 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
71435
71436         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
71437         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
71438         Use the _ONCE methods, for efficiency.
71439         Check for fcntl.h.  In test program, include <errno.h>
71440         and <fcntl.h> if available.  Remove old K&R cruft from
71441         test program.  Check for common errors in GNU/Linux,
71442         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
71443         don't do AC_LIBOBJ, as that's getcwd.m4's job.
71444         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
71445         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
71446         name accordingly.
71447         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
71448         accommodate new getcwd.c.
71449         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
71450         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
71451         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
71452         that's all we need now.
71453
71454 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
71455
71456         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
71457         argp-parse.c depends on getopt internals, that means we should
71458         always use our getopt, to be on the safe side.
71459         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
71460         order not to spoil the result of an eventual previous invocation
71461         of gl_GETOPT_SUBSTITUTE.
71462
71463 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
71464
71465         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
71466         redefinition warnings. To avoid them, include the defines
71467         in `#if !defined __need_getopt ... #endif'. The only place
71468         where __getopt_argv_const is used is in definitions
71469         of getopt_long and getopt_long_only below, which are as well
71470         protected by `#ifndef __need_getopt'.
71471         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
71472         __need_getopt after including <stdio.h> and <unistd.h> These
71473         headers might have defined it.
71474
71475 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
71476
71477         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
71478
71479 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
71480
71481         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
71482         (futimens): New function, which uses futimes if available.
71483         (futimens, utimens): Support timespec==NULL, with same semantics
71484         as utime and utimens.
71485         * lib/utimens.h (futimens): New decl.
71486
71487 2004-11-23  Jim Meyering  <jim@meyering.net>
71488
71489         * lib/getopt_.h: Remove trailing blanks.
71490
71491 2004-11-23  Jim Meyering  <jim@meyering.net>
71492
71493         * lib/__fpending.c: Add comment.
71494
71495 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
71496
71497         * modules/canonicalize (Depends-on): Add xreadlink.
71498         Problem reported by James Youngman.
71499
71500 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
71501
71502         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
71503         New macros.
71504         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
71505         optopt): Use them instead of invoking ## directly; otherwise, the
71506         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
71507
71508 2004-11-19  Bruno Haible  <bruno@clisp.org>
71509
71510         * lib/strtok_r.c: Move comments from here...
71511         * lib/strtok_r.h: ... to here.
71512
71513 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
71514
71515         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
71516         implementations that mishandle size_t overflow.
71517
71518 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
71519
71520         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
71521         might fail.  Problem reported by Yoann Vandoorselaere.
71522         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
71523         implementations that mishandle size_t overflow.
71524
71525 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
71526
71527         * modules/canon-host (Depends-on): Add strdup.
71528
71529 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
71530
71531         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
71532
71533 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
71534
71535         * lib/canon-host.c: Include "strdup.h".
71536         (canon_host): Use getaddrinfo if available, so that IPv6 works.
71537         Use strdup instead of malloc/strcpy to duplicate strings.
71538
71539         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
71540         (human_space_before_unit): New constant.
71541         * lib/human.c (human_readable): Support it.
71542
71543         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
71544         (xgetcwd): Set errno correctly when failing.
71545         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
71546         the failure is actually due to a PATH_MAX problem.
71547
71548         Further getopt changes to make it more likely that glibc will
71549         buy the changes back.
71550         * lib/getopt.c (POSIXLY_CORRECT): New constant.
71551         (getopt): Use it, so to preserve glibc semantic
71552         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
71553         when compiling for libc.
71554         * lib/getopt_.h (__getopt_argv_const): Bring it back.
71555         (getopt_long, getopt_long_only): Use it.
71556
71557         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
71558         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
71559         (getopt): Argv is now char * const *, as per standard.
71560         (_getopt_internal_r, _getopt_internal): Argv is now char **,
71561         not char *__getopt_argv_const *.
71562         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
71563         _getopt_long_only_r): Likewise.
71564         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
71565         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
71566         _getopt_long_r, _getopt_long_only_r): Likewise.
71567         * lib/getopt_.h (__getopt_argv_const): Remove.
71568         (getopt): Argv is now char * const *, as per standard.
71569
71570         * lib/getdate.y (tORDINAL): New token.
71571         (day, relunit): Allow it for relative times.
71572         (relative_time_table): Use tORDINAL for ordinals.
71573
71574 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
71575
71576         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
71577         Document that "second" isn't allowed as an ordinal number.
71578
71579 2004-11-16  Jim Meyering  <jim@meyering.net>
71580
71581         * modules/closeout (Depends-on): Add fpending.
71582
71583 2004-11-15  Jim Meyering  <jim@meyering.net>
71584
71585         * lib/closeout.c: Include "__fpending.h" once again.
71586         Include <stdbool.h>.
71587         (close_stdout): Don't fail just because stdout was closed initially,
71588         since some programs don't write to stdout in the normal course of
71589         operation (other than --version and --help), and we don't want this
71590         function to make e.g. `touch file >&-' fail.
71591         But do fail if it was closed and someone has tried to write to it.
71592         E.g., `printf foo >&-' must fail.
71593
71594 2004-11-13  Jim Meyering  <jim@meyering.net>
71595
71596         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
71597
71598 2004-11-12  Simon Josefsson  <jas@extundo.com>
71599
71600         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
71601         small doc fix is still pending.
71602
71603 2004-11-11  Simon Josefsson  <jas@extundo.com>
71604
71605         * modules/strtok_r: New file.
71606
71607         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
71608         strtok_r.
71609
71610 2004-11-11  Simon Josefsson  <jas@extundo.com>
71611
71612         * m4/strtok_r.m4: New file.
71613
71614         * m4/getopt.m4: Replace opterr.
71615
71616 2004-11-11  Simon Josefsson  <jas@extundo.com>
71617
71618         * lib/strtok_r.h, strtok_r.c: New file.
71619
71620 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
71621
71622         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
71623         of replacing opterr, getopt, etc.  This should handle the
71624         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
71625
71626 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
71627
71628         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
71629         we can stop lying to compilers about the constness of argv when we
71630         are compiled outside glibc.
71631         (getopt, getopt_long, getopt_long_only): Use it.
71632         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
71633         _getopt_internal, getopt): Likewise.
71634         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
71635         _getopt_long_only_r): Likewise.
71636         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
71637         _getopt_long_r, _getopt_long_only_r): Likewise.
71638
71639         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
71640         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
71641         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
71642         the other external symbols.
71643         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
71644         declaration, since the above renaming now works around collisions.
71645
71646 2004-11-11  Jim Meyering  <jim@meyering.net>
71647
71648         * lib/linebreak.c: Remove trailing blanks.
71649         * lib/alloca_.h: Likewise.
71650         * lib/acosl.c: Likewise.
71651         * lib/euidaccess.c: Likewise.
71652         * lib/allocsa.h: Likewise.
71653
71654 2004-11-10  Simon Josefsson  <jas@extundo.com>
71655
71656         * m4/getaddrinfo.m4: New file.
71657
71658 2004-11-10  Simon Josefsson  <jas@extundo.com>
71659
71660         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
71661
71662 2004-11-10  Simon Josefsson  <jas@extundo.com>
71663
71664         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
71665         getaddrinfo.
71666
71667         * modules/getaddrinfo: New file.
71668
71669 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
71670
71671         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
71672
71673 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
71674
71675         * lib/mktime.c (SHR): New macro, which is a portable
71676         substitute for >> that should work even on Crays.
71677         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
71678         Problem reported by Mark D. Baushke in
71679         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
71680         * lib/getdate.y (SHR): Likewise.
71681         (tm_diff): Use it.
71682         * lib/strftime.c (SHR): Likewise.
71683         (tm_diff): Use it.
71684         * lib/quotearg.c (struct quoting_options): Use unsigned int for
71685         quote_these_too, so that right shifts are well defined.  All uses
71686         changed.
71687
71688 2004-11-10  Jim Meyering  <jim@meyering.net>
71689
71690         Ensure that no close failure goes unreported.
71691         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
71692         return early when it seems there's nothing to flush.
71693         Don't include __fpending.h.
71694
71695 2004-11-10  Jim Meyering  <jim@meyering.net>
71696
71697         * modules/closeout (Depends-on): Remove fpending.
71698
71699 2004-11-10  Jim Meyering  <jim@meyering.net>
71700
71701         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
71702
71703 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
71704
71705         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
71706         gl_FUNC_STRFTIME.
71707         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
71708         and AC_REQUIRE when possible, to avoid duplicate checks.
71709         Check for <wchar.h>.
71710
71711 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
71712
71713         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
71714
71715 2004-11-09  Bruno Haible  <bruno@clisp.org>
71716
71717         * m4/sockpfaf.m4: New file.
71718
71719 2004-11-05  Bruno Haible  <bruno@clisp.org>
71720
71721         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
71722         Reported by Mark D. Baushke <mdb@cvshome.org>.
71723
71724 2004-11-04  Bruno Haible  <bruno@clisp.org>
71725
71726         2004-09-11  Bruno Haible  <bruno@clisp.org>
71727                 * allocsa.valgrind: New file.
71728         2004-02-06  Bruno Haible  <bruno@clisp.org>
71729                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
71730                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
71731                 Reported by Christopher Seip <chris.seip@hp.com>.
71732
71733 2004-11-04  Bruno Haible  <bruno@clisp.org>
71734
71735         * modules/allocsa (Files): Add lib/allocsa.valgrind.
71736         (Makefile.am): Distribute it.
71737
71738 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
71739
71740         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
71741         with errno == ERANGE if the buffer is too small.
71742         Problem reported by Mark D. Baushke.
71743
71744 2004-11-03  Albert Chin  <china@thewrittenword.com>
71745             Paul Eggert  <eggert@cs.ucla.edu>
71746
71747         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
71748         equivalent, substitute $ac_type for equivalent type rather than
71749         blindly using uint32_t *always* which won't work if uint32_t is not
71750         available.  Define _UINT32_T to work around typedef of uint32_t if
71751         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
71752         2.5.1.
71753
71754 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
71755
71756         * m4/jm-macros.m4: Sync from coreutils.
71757         (gl_MACROS): Check for mbrlen, for pathchk.
71758         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
71759
71760 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
71761
71762         * lib/xreadlink.c (MAXSIZE): New macro.
71763         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
71764         size does not exceed MAXSIZE.  Avoid cast.
71765         As suggested by Mark D. Baushke in
71766         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
71767         if readlink fails with buffer size just under MAXSIZE, try again
71768         with MAXSIZE.
71769
71770 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
71771
71772         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
71773
71774 2004-11-02  Derek R. Price  <derek@ximbiot.com>
71775         and  Paul Eggert  <eggert@cs.ucla.edu>
71776
71777         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
71778         (get_date): Overparenthesize to avoid GCC warning.
71779
71780 2004-11-02  Bruno Haible  <bruno@clisp.org>
71781
71782         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
71783         returns void.
71784
71785 2004-11-02  Bruno Haible  <bruno@clisp.org>
71786
71787         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
71788         function returns void.
71789
71790 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
71791
71792         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
71793         fflush_unlocked, flockfile, funlockfile, funlockfile,
71794         fputs_unlocked, putc_unlocked.
71795
71796 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
71797
71798         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
71799         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
71800         already declared.
71801
71802 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
71803
71804         * modules/getdate (Files): Add doc/getdate.texi.
71805         (Depends-on): Add setenv, xalloc.
71806
71807 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
71808
71809         * lib/getdate.y: Add support for TZ="foo" within a date string.
71810         Fix some bugs near time_t boundaries.  Reject dates with
71811         out-of-range components, e.g., "Sept 31".
71812         Include <stdlib.h>, "setenv.h", "xalloc.h".
71813         (ISDIGIT_LOCALE): Remove; unused.
71814         Note that the TZ and time functions used here are not reentrant.
71815         (mktime_ok, get_tz): New functions.
71816         (TZBUFSIZE): New constant.
71817         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
71818         This requires that we sometimes generate our own TZ="XXX..." setting.
71819
71820 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
71821
71822         * doc/getdate.texi: New file, from coreutils with modifications for
71823         the new TZ parsing.
71824
71825 2004-10-27  Derek R. Price  <derek@ximbiot.com>
71826
71827         * lib/mktime.c (not_equal_tm): Remove redundant check.
71828
71829 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
71830
71831         * modules/regex (lib_SOURCES): Add regex.c.
71832         Reported by James Youngman in
71833         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
71834
71835 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
71836
71837         * lib/getdate.y: Use Bison 1.875 features, and some minor
71838         code cleanups.  This change does not affect semantics.
71839         Don't include <stdlib.h>; no longer needed.
71840         Don't include unlocked-io.h; only the "#if TEST" code uses
71841         stdio, and performance isn't crucial there.
71842         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
71843         Bison 1.875 features as described below.
71844         All uses of "PC." replaced by "pc->".
71845         (YYSTYPE): Add a forward declaration.
71846         (yylex, yyerror): Use full prototypes in forward decls.
71847         Use "%pure-parser" rather than obsolescent "%pure_parser".
71848         Use %parse-param and %lex-param instead of obsolescent
71849         YYPARSE_PARAM and YYLEX_PARAM.
71850         (meridian_table, month_and_day_table, time_units_table,
71851         relative_time_table, time_zone_table, military_table,
71852         lookup_zone, lookup_word, get_date):
71853         Use NULL instead of 0 where appropriate.
71854         (to_hour): Avoid abort (), to avoid a dependency on
71855         stdlib.h.
71856         (yyerror, yylex): Now accepts parser_control * arg.
71857         (main) [TEST]: Use '\0' rather than 0 for char.
71858
71859 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
71860
71861         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
71862
71863 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
71864
71865         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
71866         It's now the caller's responsibility to handle the case where
71867         !HAVE_GETPAGESIZE && !defined getpagesize.
71868
71869         * lib/mktime.c (leapyear): Arg is long int, not int.
71870
71871 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
71872
71873         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
71874
71875 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
71876
71877         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
71878         missing.  Problem reported by James Youngman.
71879
71880 2004-10-16  Simon Josefsson  <jas@extundo.com>
71881
71882         * gnulib-tool: Fix comments.  Fix parse problem.
71883         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
71884
71885 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
71886
71887         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
71888         implementation of getopt_long.  Problem reported by Alexander Taler in:
71889         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
71890
71891 2004-10-15  Bruno Haible  <bruno@clisp.org>
71892
71893         * gnulib-tool: Untabify. Initialize supplied_libname.
71894         (func_usage): More homogenous output.
71895         (func_modules_transitive_closure, func_modules_to_filelist,
71896         func_emit_lib_Makefile_am): New functions.
71897         (func_import): New function, extracted from big case statement. Use
71898         func_get_license, func_modules_transitive_closure,
71899         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
71900         opt_lgpl. Don't use test -a, as it's not portable.
71901         (func_create_testdir): Use func_modules_transitive_closure,
71902         func_modules_to_filelist, func_emit_lib_Makefile_am.
71903
71904 2004-10-15  Bruno Haible  <bruno@clisp.org>
71905
71906         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
71907
71908 2004-10-15  Bruno Haible  <bruno@clisp.org>
71909
71910         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
71911         the portions belonging to each module.
71912         Suggested by Derek Robert Price <derek@ximbiot.com>.
71913
71914 2004-10-12  Simon Josefsson  <jas@extundo.com>
71915
71916         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
71917         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
71918         to real functions.
71919
71920 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
71921
71922         * modules/vsnprintf: New file.
71923
71924 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
71925
71926         * m4/vsnprintf.m4: New file.
71927
71928 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
71929
71930         * lib/vsnprintf.h: New file.
71931         * lib/vsnprintf.c: New file.
71932
71933 2004-10-11  Bruno Haible  <bruno@clisp.org>
71934
71935         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
71936         vsnprintf.
71937
71938 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
71939
71940         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
71941
71942 2004-10-07  Bruno Haible  <bruno@clisp.org>
71943
71944         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
71945         fits into the provided buffer.
71946
71947 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
71948
71949         * lib/diacrit.c, diacrit.h: Add GPL notice.
71950
71951         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
71952         notice.
71953         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
71954         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
71955         This avoids a potential constant-folding bug.
71956
71957 2004-10-05  Bruno Haible  <bruno@clisp.org>
71958
71959         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
71960         for the declaration of strsep.
71961
71962 2004-10-05  Bruno Haible  <bruno@clisp.org>
71963
71964         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
71965
71966 2004-10-04  Simon Josefsson  <jas@extundo.com>
71967
71968         * modules/memmem: New file.
71969         * tests/test-memmem.c: New file.
71970         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
71971
71972 2004-10-04  Simon Josefsson  <jas@extundo.com>
71973
71974         * m4/memmem.m4: New file.
71975
71976 2004-10-04  Simon Josefsson  <jas@extundo.com>
71977
71978         * lib/memmem.h: New file.
71979         * lib/memmem.c: New file, taken from glibc.
71980
71981 2004-10-04  Simon Josefsson  <jas@extundo.com>
71982
71983         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
71984         '#ifdef USE_UNLOCKED_IO'.
71985
71986 2004-10-04  Simon Josefsson  <jas@extundo.com>
71987
71988         * config/srclist.txt: Add memmem from glibc.
71989
71990 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
71991
71992         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
71993
71994         * modules/argmatch, modules/argp, modules/closeout, modules/error,
71995         modules/exclude, modules/getdate, modules/getline,
71996         modules/getndelim2, modules/getpass, modules/getpass-gnu,
71997         modules/getusershell, modules/linebuffer, modules/md5,
71998         modules/mountlist, modules/posixtm, modules/readtokens,
71999         modules/readutmp, modules/regex, modules/sha1,
72000         modules/version-etc, modules/yesno:
72001         Remove dependency on unlocked-io.
72002
72003 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
72004
72005         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
72006
72007         * m4/unlocked-io.m4: Add copyright notice.
72008         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
72009
72010 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
72011
72012         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
72013         * lib/xmalloc.c (xmemdup): Likewise.
72014         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
72015         XFREE): Remove these long-obsolescent macros.
72016         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
72017         * lib/xstrdup.c: Remove.
72018
72019         * lib/regex.c (re_comp): Cast gettext return value to char *,
72020         Problem reported by Martin Neitzel via Mark D. Baushke.
72021
72022 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
72023
72024         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
72025         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
72026         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
72027         regex.c, sha1.c, version-etc.c, yesno.c:
72028         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
72029         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
72030         the includer's responsibility.
72031
72032         Sync from coreutils.
72033
72034         * lib/modechange.c (mode_compile): Don't decrement a pointer that
72035         points to the start of a string, as the C Standard says the
72036         resulting behavior is undefined.
72037
72038         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
72039         simple -> simple_backups, numbered_existing ->
72040         numbered_existing_backups, numbered -> numbered_backups
72041         to avoid shadowing problems.  All uses changed.
72042         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
72043         * lib/backupfile.c (check_extension, numbered_backup):
72044         Rename locals to avoid shadowing 'basename'.
72045         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
72046         once.
72047
72048         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
72049         * lib/.cvsignore: Add getopt.h.
72050
72051 2004-10-04  Bruno Haible  <bruno@clisp.org>
72052
72053         * modules/README: New file.
72054         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
72055         not a module.
72056
72057 2004-10-02  Jim Meyering  <jim@meyering.net>
72058
72059         * lib/dirfd.h, getpagesize.h: Add copyright notice.
72060
72061 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
72062
72063         * modules/strsep: New file.
72064
72065 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
72066
72067         * m4/strsep.m4: New file.
72068
72069 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
72070
72071         * lib/strsep.h: New file.
72072         * lib/strsep.c: New file.
72073
72074 2004-10-01  Simon Josefsson  <jas@extundo.com>
72075
72076         * lib/snprintf.c (snprintf): Handle size==0.
72077
72078 2004-10-01  Simon Josefsson  <jas@extundo.com>
72079             Bruno Haible  <bruno@clisp.org>
72080
72081         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
72082         (snprintf): Declare 'args'.
72083
72084 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
72085
72086         * lib/snprintf.c: Remove comments as to why each header is needed.
72087
72088 2004-10-01  Bruno Haible  <bruno@clisp.org>
72089
72090         * MODULES.html.sh: Add strsep.
72091
72092 2004-09-30  Simon Josefsson  <jas@extundo.com>
72093
72094         * modules/snprintf: New file.
72095
72096 2004-09-30  Simon Josefsson  <jas@extundo.com>
72097
72098         * m4/snprintf.m4: New file.
72099
72100 2004-09-30  Simon Josefsson  <jas@extundo.com>
72101
72102         * lib/snprintf.h, lib/snprintf.c: New files.
72103
72104 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
72105
72106         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
72107         (hol_entry_help): Never translate an empty string.
72108         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
72109         * lib/argp.h (OPTION_NO_TRANS): New option.
72110
72111 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
72112
72113         * modules/argp (Maintainer): Replace Simon Josefsson
72114         by Sergey Poznyakoff.
72115
72116 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
72117
72118         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
72119         changes merged back into glibc.
72120
72121 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
72122
72123         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
72124
72125 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
72126
72127         * lib/xvasprintf.c: Include xalloc.h.
72128         (xvasprintf): Use xalloc_die, not xmalloc_die.
72129
72130 2004-09-29  Bruno Haible  <bruno@clisp.org>
72131
72132         * modules/alloca-opt: New file, derived from modules/alloca.
72133         * modules/allocsa: Depend on alloca-opt instead of alloca.
72134         * modules/setenv: Likewise.
72135         * modules/vasnprintf: Likewise.
72136         * MODULES.html.sh: Add alloca-opt.
72137
72138 2004-09-28  Simon Josefsson  <jas@extundo.com>
72139
72140         * gnulib-tool: New parameter --lgpl, to asseert that modules are
72141         LGPL, and to replace license template from GPL to LGPL.
72142
72143 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
72144
72145         * modules/dummy: Change license to LGPL.
72146
72147 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
72148
72149         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
72150
72151 2004-09-24  Simon Josefsson  <jas@extundo.com>
72152
72153         * modules/minmax (License): Change from GPL to LGPL.
72154
72155 2004-09-23  Simon Josefsson  <jas@extundo.com>
72156
72157         * gnulib-tool (--import): Typo.
72158
72159 2004-09-23  Simon Josefsson  <jas@extundo.com>
72160
72161         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
72162
72163 2004-09-22  Bruno Haible  <bruno@clisp.org>
72164
72165         * modules/*: Add 'License' field.
72166         * gnulib-tool: Accept --extract-license option.
72167         (func_get_license): New function.
72168
72169 2004-09-21  Bruno Haible  <bruno@clisp.org>
72170
72171         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
72172         Reported by Simon Josefsson.
72173
72174 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
72175
72176         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
72177         gl_AC_TYPE_LONG_LONG.
72178
72179 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
72180
72181         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
72182
72183 2004-09-18  Simon Josefsson  <jas@extundo.com>
72184         and  Paul Eggert  <eggert@cs.ucla.edu>
72185
72186         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
72187         calls with autoreconf.  Define GL_LIB.
72188
72189 2004-09-14  Karl Berry  <karl@gnu.org>
72190
72191         * config/srclist.txt: unsync setenv.c, sigh.
72192
72193 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
72194
72195         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
72196         Problem reported by Bruno Haible in:
72197         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
72198
72199 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
72200
72201         * config/srclist.txt: Comment out argp-pvh.c.
72202
72203 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
72204
72205         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
72206         in case some system header has #define'd it.  Problem reported by
72207         Soeren D. Schulze in
72208         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
72209
72210 2004-09-09  Karl Berry  <karl@gnu.org>
72211
72212         * regex.[ch]: delete from the root.  These were supposed to be
72213                 synced with emacs cvs, but this has not happened for about
72214                 a year, and anyway nothing else uses emacs regex.[ch].
72215                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
72216                 lib/regex[.ch] is untouched.
72217
72218 2004-09-09  Bruno Haible  <bruno@clisp.org>
72219
72220         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
72221
72222 2004-09-09  Bruno Haible  <bruno@clisp.org>
72223
72224         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
72225         modifications.
72226         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
72227
72228 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
72229
72230         * modules/xvasprintf: New file.
72231         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
72232
72233 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
72234
72235         * lib/xvasprintf.h: New file.
72236         * lib/xvasprintf.c: New file.
72237         * lib/xasprintf.c: New file.
72238
72239 2004-09-08  Bruno Haible  <bruno@clisp.org>
72240
72241         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
72242
72243 2004-09-08  Bruno Haible  <bruno@clisp.org>
72244
72245         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
72246         length is > INT_MAX.
72247         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
72248         more.
72249
72250 2004-09-08  Bruno Haible  <bruno@clisp.org>
72251
72252         * lib/stdint_.h: New file, taken from GNU clisp.
72253
72254 2004-09-08  Bruno Haible  <bruno@clisp.org>
72255             Oskar Liljeblad  <oskar@osk.mine.nu>
72256
72257         * modules/stdint: New file.
72258         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
72259
72260 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
72261
72262         Import from coreutils.
72263         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
72264         strings on unbounded length.  alloca's performance benefits aren't
72265         that important here.
72266         (V_STRDUP): Remove.
72267         (parse_with_separator): New function, with most of the internals
72268         of the old parse_user_spec.  Allow user to omit both user and group,
72269         for compatibility with FreeBSD.
72270         Clone only the user name, not the entire spec.
72271         Do not set *uid, *gid unless entirely successful.
72272         Avoid memory leak in some failing cases.
72273         Fix regression for USER.GROUP reported by Dmitry V. Levin in
72274         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
72275         (parse_user_spec): Rewrite to use parse_with_separator.
72276
72277 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
72278
72279         * modules/userspec: Don't depend on alloca.
72280
72281 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
72282
72283         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
72284
72285 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
72286
72287         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
72288         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
72289         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
72290
72291 2004-08-16  Simon Josefsson  <jas@extundo.com>
72292
72293         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
72294         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
72295         Add --dry-run for --import.
72296         Let user provided command line parameters override configure.ac
72297         settings.
72298
72299 2004-08-12  Simon Josefsson  <jas@extundo.com>
72300
72301         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
72302         as discussed with Paul Eggert in threads rooted at
72303         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
72304         and
72305         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
72306         Before, the test was empty, and relied on ELIDE_CODE in source
72307         code.)
72308         (gl_PREREQ_GETOPT): New macro.
72309         (gl_GETOPT): Use them.
72310
72311 2004-08-12  Simon Josefsson  <jas@extundo.com>
72312
72313         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
72314         * lib/getopt_.h: Renamed from getopt.h.
72315
72316 2004-08-12  Simon Josefsson  <jas@extundo.com>
72317
72318         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
72319         Change default library name from libfoo to libgnu.
72320         Now, if you have a configure.ac that says:
72321                 gl_SOURCE_BASE(gl)
72322                 gl_M4_BASE(gl/m4)
72323                 gl_MODULES(error getopt etcetera)
72324                 gl_INIT
72325         you can import all you need by running:
72326                 ../gnulib/gnulib-tool --import
72327
72328         * modules/getopt (Files): Rename getopt.h to getopt_.h.
72329         (Makefile.am): Rewrite, use logic from argz.
72330         (Include): Use <getopt.h> instead of "getopt.h".
72331
72332 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
72333
72334         * modules/argp (Files): Add m4/unlocked-io.m4.
72335         (Depends-on): Add extensions.
72336
72337 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
72338
72339         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
72340         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
72341         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
72342         Check for program_invocation_name, program_invocation_short_name,
72343         flockfile, funlockfile, features.h, _getopt_long_only_r.
72344
72345 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
72346
72347         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
72348         its complicated substitute.
72349         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
72350         and program_invocation_name.
72351         (__argp_basename) [!_LIBC]: Remove; the only use was
72352         replaced by its body.
72353         (__argp_short_program_name): Change condition from
72354         !defined __argp_short_program_name to
72355         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
72356         to match argp-namefrob.h.
72357         (__argp_failure): Don't assume strerror_r returns char *.
72358         * lib/argp-parse.c (N_): Define unconditionally.
72359         (argp_default_options): Fill out initializers with 0 to avoid
72360         gcc warnings.
72361
72362 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
72363
72364         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
72365         getopt1.c.
72366
72367 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
72368
72369         Merge from coreutils.
72370
72371         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
72372
72373         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
72374         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
72375
72376 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
72377
72378         Merge from coreutils.
72379
72380         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
72381         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
72382         for Reliant Unix 5.43.
72383
72384         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
72385         (union fooround): Use uintmax_t, not long int.
72386         The rest is a merge from libc:
72387         [defined _LIBC]: Include <shlib-compat.h>.
72388         (_obstack) [defined _LIBC]: Remove after 2.3.4.
72389
72390         * lib/settime.c (settime): Recode to avoid warning with
72391         Sun Forte C 6U2.
72392
72393         * lib/strverscmp.c: Convert to UTF-8.
72394
72395 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
72396
72397         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
72398         m4/uintmax_t.m4.
72399
72400 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
72401
72402         * modules/xalloc-die: New file.
72403         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
72404
72405         * modules/md5 (Files): Add m4/uint32_t.m4.
72406         * modules/sha1: Renamed from modules/sha.
72407         (Files):
72408         Rename lib/sha.h to lib/sha1.h.
72409         Rename lib/sha.c to lib/sha1.c.
72410         Rename m4/sha.m4 to m4/sha1.m4.
72411         (lib_SOURCES): Likewise.
72412         (configure.ac): Rename gl_SHA to gl_SHA1.
72413         (Include): sha.h -> sha1.h.
72414
72415 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
72416
72417         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
72418         * m4/sha1.m4: Renamed from sha.m4.
72419         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
72420
72421 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
72422
72423         * lib/obstack.h (obstack_empty_p):
72424         Don't assume that chunk->contents is suitably aligned.
72425         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
72426         Likewise. Problem reported by Benno in
72427         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
72428
72429         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
72430         readable.  This could be improved further but it'd take some work.
72431
72432 2004-08-08  Simon Josefsson  <jas@extundo.com>
72433
72434         * modules/xgethostname (Depends-on): Remove exit and error (not
72435         used).
72436
72437         * modules/getpass-gnu: Add getpass.h.
72438         (Depends-on): Add stdbool.
72439         * modules/getpass: Add getpass.h.
72440
72441 2004-08-08  Simon Josefsson  <jas@extundo.com>
72442
72443         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
72444         Check getpass declaration.
72445
72446 2004-08-08  Simon Josefsson  <jas@extundo.com>
72447
72448         * lib/xgethostname.c: Don't include error.h (not used).
72449
72450         * lib/getpass.h: Add.
72451         * lib/getpass.c: Include getpass.h first.
72452
72453 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
72454
72455         * lib/xalloc-die.c: New file.
72456         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
72457         All uses removed.
72458         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
72459         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
72460         xalloc-die.c.
72461         (_, N_, xalloc_die): Move to xalloc-die.c.
72462         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
72463         so that we needn't mess with xalloc_msg_memory_exhausted.
72464
72465         * lib/sha1.h: Renamed from sha.h.
72466         (SHA1_H): Renamed from _SHA_H.
72467         (sha1_ctx): Renamed from sha_ctx.
72468         (sha1_init_ctx): Renamed from sha_init_ctx.
72469         (sha1_process_block): Renamed from sha_process_block.
72470         (sha1_process_bytes): Renamed from sha_process_bytes.
72471         (sha1_finish_ctx): Renamed from sha_finish_ctx.
72472         (sha1_read_ctx): Renamed from sha_read_ctx.
72473         (sha1_stream): Renamed from sha_stream.
72474         (sha1_buffer): Renamed from sha_buffer.
72475         * lib/sha1.c: Likewise; renamed from sha.c.
72476         Do not include <sys/types.h>.
72477         Include <stddef.h> rather than <stdlib.h>.
72478
72479 2004-08-08  Bruno Haible  <bruno@clisp.org>
72480
72481         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
72482         FILESYSTEM_PREFIX_LEN.
72483         * lib/progreloc.c: Likewise.
72484         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
72485
72486 2004-08-06  Simon Josefsson  <jas@extundo.com>
72487
72488         * modules/progname (Depends-on): Don't depend on stdbool.
72489
72490 2004-08-06  Simon Josefsson  <jas@extundo.com>
72491
72492         * modules/getsubopt: New file.
72493         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
72494         getsubopt.
72495
72496 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
72497
72498         More merge from coreutils.
72499
72500         * m4/utimens.m4, m4/utimecmp.m4: New files.
72501         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
72502         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
72503         prereq.m4, sha.m4: Import changes from coreutils.
72504
72505 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
72506
72507         More merge from coreutils.
72508         * modules/raise, modules/readtokens0, modules/utimens:
72509         * modules/utimecmp, module/xnanosleep: New files.
72510         * modules/strftime: Add lib/strftime.h.
72511         Change include from <time.h> to "strftime.h".
72512         * modules/yesno: Add lib/yesno.h.
72513         * modules/backupfile: Remove lib/addext.c.
72514         * modules/euidaccess: Add stat-macros.h.
72515         * modules/canonicalize, modules/euidaccess,
72516         modules/filemode, modules/lchown, modules/makepath,
72517         modules/rmdir, modules/stat: Likewise.
72518
72519 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
72520
72521         Merge from tar.
72522         * lib/argp-help.c (make_hol, hol_append): Don't assume that
72523         SIZE_MAX is a valid preprocessor constant.
72524         (__argp_basename): Change from "#ifndef _LIBC"
72525         to "#ifndef __argp_short_program_name", so that
72526         we don't compile these functions for tar.
72527
72528         More merges from coreutils.
72529         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
72530         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
72531         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
72532         * lib/addext.c: Remove; no longer needed.
72533         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
72534         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
72535         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
72536         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
72537         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
72538         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
72539         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
72540         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
72541         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
72542         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
72543         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
72544         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
72545         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
72546         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
72547         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
72548         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
72549         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
72550         Import changes from coreutils.
72551
72552 2004-08-05  Simon Josefsson  <jas@extundo.com>
72553
72554         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
72555
72556 2004-08-05  Simon Josefsson  <jas@extundo.com>
72557
72558         * m4/getsubopt.m4: New file.
72559
72560 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
72561
72562         Merge from coreutils.
72563
72564         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
72565         * m4/getcwd-path-max.m4: New files.
72566
72567         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
72568         FILESYSTEM_PREFIX_LEN ->
72569         FILE_SYSTEM_PREFIX_LEN.
72570         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
72571         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
72572         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
72573         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
72574
72575         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
72576         prerequisite modules now handle the DOS stuff.
72577         Don't check for unistd.h.
72578
72579 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
72580
72581         Merge from coreutils.
72582
72583         * lib/.gdb-history: Remove; this doesn't belong here.
72584
72585         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
72586         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
72587         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
72588         * lib/getcwd.c: New files.
72589
72590         * lib/dirname.h: Include <stdbool.h>.
72591         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
72592         for consistency with POSIX terminology.  All uses changed.
72593         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
72594         (strip_trailing_slashes): Use bool for booleans.
72595         * lib/stripslash.c (strip_trailing_slashes): Likewise.
72596
72597         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
72598         sometimes returns a positive errno value even when it succeeds.
72599         (print_errno_message) [!LIBC]: Fall back on strerror if
72600         __strerror_r fails.
72601
72602         * lib/path-concat.c (mempcpy): Don't define if a system header defines
72603         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
72604         (longest_relative_suffix): New function.
72605         (path_concat): Use it.  Assume first argument is not NULL.
72606         Port to DOS.  Omit redundant separators.
72607         Report an error instead of returning NULL.
72608         Use mempcpy instead of memcpy.
72609         (xpath_concat): Remove: not declared or used.
72610
72611         * lib/same.h: Include <stdbool.h>
72612         (same_name): Return bool, not int.
72613         * lib/same.c (same_name): Likewise.
72614         (errno): Don't declare; we assume C89 or better now.
72615
72616         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
72617         if not already defined.
72618
72619         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
72620         * lib/dup-safer.c (errno): Likewise.
72621
72622 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
72623
72624         Merge from coreutils.
72625         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
72626         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
72627         * modules/path-concat: Don't depend on strdup.
72628
72629 2004-08-03  Simon Josefsson  <jas@extundo.com>
72630
72631         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
72632         * lib/progname.h: Don't include stdbool.h.
72633
72634 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
72635
72636         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
72637         * MODULES.html.sh (func_all_modules): Remove fatal.
72638
72639 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
72640
72641         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
72642
72643 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
72644
72645         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
72646         working.
72647
72648 2004-08-02  Simon Josefsson  <jas@extundo.com>
72649
72650         * lib/getsubopt.h: New file, with comments from Bruno Haible.
72651         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
72652         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
72653
72654 2004-08-01  Simon Josefsson  <jas@extundo.com>
72655
72656         * lib/xgetdomainname.c: Include stdlib.h, for free().
72657
72658 2004-07-19  Bruno Haible  <bruno@clisp.org>
72659
72660         * MODULES.html.sh (func_all_modules): Add dummy.
72661
72662 2004-07-16  Simon Josefsson  <jas@extundo.com>
72663
72664         * modules/dummy: New file.
72665
72666 2004-07-16  Simon Josefsson  <jas@extundo.com>
72667
72668         * lib/dummy.c: New file.
72669
72670 2004-07-16  Bruno Haible  <bruno@clisp.org>
72671
72672         * lib/backupfile.h: Add extern "C" for C++.
72673         * lib/closeout.h: Likewise.
72674         * lib/copy-file.h: Likewise.
72675         * lib/findprog.h: Likewise.
72676         * lib/full-write.h: Likewise.
72677         * lib/pathname.h: Likewise.
72678         * lib/progname.h: Likewise.
72679         * lib/stpcpy.h: Likewise.
72680         * lib/stpncpy.h: Likewise.
72681         * lib/strcase.h: Likewise.
72682         * lib/strstr.h: Likewise.
72683         * lib/xalloc.h: Likewise.
72684
72685         * lib/mbswidth.h: Add extern "C" for C++.
72686         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
72687
72688 2004-07-13  Robert Millan  <robertmh@gnu.org>
72689
72690         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
72691
72692 2004-07-09  Simon Josefsson  <jas@extundo.com>
72693
72694         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
72695         failed without this.)
72696
72697 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
72698
72699         * modules/chown (Files): Add lib/fchown-stub.c, since
72700         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
72701
72702 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
72703
72704         * lib/fchown-stub.c: New file.
72705
72706 2004-06-24  Jim Meyering  <jim@meyering.net>
72707
72708         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
72709
72710 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
72711
72712         * modules/argz: Omit "#include".
72713
72714         * MODULES.html.sh (func_all_modules): Add calloc, to match
72715         2004-06-01 addition of calloc module.
72716
72717 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
72718
72719         * m4/argz.m4: New file, which is autoupdated from libtool.
72720
72721 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
72722
72723         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
72724         libtool.
72725
72726 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
72727
72728         * config/srclist-update: Don't insist on "USA." before the
72729         close-comment, as libtool omits the period and puts the */ on a
72730         separate line.
72731         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
72732         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
72733
72734 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
72735
72736         * modules/argz: New file.
72737         * MODULES.html.sh (func_all_modules): Add argz.
72738
72739 2004-06-12  Jim Meyering  <jim@meyering.net>
72740         and  Paul Eggert  <eggert@cs.ucla.edu>
72741
72742         * modules/hash (Files): Add lib/xalloc.h.
72743         * modules/pipe (Depends-on): Add wait-process.
72744         * modules/stat (Depends-on): Add xalloc.
72745         * modules/userspec (Files): Add lib/userspec.h.
72746         * modules/xstrto
72747
72748         Upgrade from gettext-0.13.
72749         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
72750         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
72751         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
72752
72753 2004-06-10  Jim Meyering  <jim@meyering.net>
72754
72755         * lib/calloc.c: New file.
72756
72757 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
72758
72759         * lib/getdate.y (yylex): Allow space between sign and number.
72760         Problem reported by Dan Jacobson.
72761
72762 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
72763
72764         Merge from coreutils CVS.
72765
72766         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
72767         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
72768         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
72769         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
72770         xstrtol.m4: Fix copyright date and/or serial number.
72771
72772         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
72773         See if we need an fchown replacement.
72774         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
72775         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
72776         and use the replacement function if we detect either defect.
72777
72778         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
72779         gl_UTIMECMP.
72780
72781 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
72782         and  Jim Meyering  <jim@meyering.net>
72783
72784         Merge from coreutils CVS.
72785
72786         * lib/stat-macros.h: New file, with contents from file-type.h
72787         and coreutils' system.h.
72788         * lib/file-type.c: Include "stat-macros.h".
72789         * lib/file-type.h (file_type): Move all macro definitions to new file,
72790         stat-macros.h.
72791
72792         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
72793         Wrap old code with this conditional.
72794         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
72795         function that does not dereference symlinks.
72796         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
72797
72798         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
72799         dependency problems.
72800         (xreadlink): Accept new arg SIZE, for efficiency.
72801         All decls and uses changed.
72802         * lib/xreadlink.h: Include <stddef.h>, for size_t.
72803
72804         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
72805         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
72806
72807         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
72808         sysexits.h.
72809
72810 2004-06-01  Jim Meyering  <jim@meyering.net>
72811
72812         * m4/calloc.m4: New file.
72813
72814 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
72815
72816         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
72817         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
72818         Also, fix a typo in a diagnostic.
72819
72820 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
72821
72822         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
72823         or AC_FUNC_REALLOC.
72824
72825 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
72826
72827         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
72828         macros to be defined.
72829         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
72830         the allocator returns NULL because the requested size is zero.
72831
72832 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
72833
72834         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
72835         var.  Add comment explaining why libc still defines it.  This
72836         merges the following patch from glibc:
72837         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
72838
72839 2004-05-20  Andreas Schwab  <schwab@suse.de>
72840
72841         * m4/free.m4: Replace free if it not known to work, not the other
72842         way round.
72843
72844 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
72845
72846         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
72847         present in glibc since revision 1.1 of this file.
72848         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
72849         obstack_alignment_mask, obstack_alloc, obstack_base,
72850         obstack_blank, obstack_blank_fast, obstack_chunk_size,
72851         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
72852         obstack_grow0, obstack_init, obstack_int_grow,
72853         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
72854         obstack_next_free, obstack_object_size, obstack_ptr_grow,
72855         obstack_ptr_grow_fast, obstack_room): Remove declarations of
72856         nonexistent functions.
72857
72858 2004-05-18  Karl Berry  <karl@gnu.org>
72859
72860         * config/srclist.txt: break link for vasnprintf.c.
72861
72862 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
72863
72864         Port obstack to the AS/400, where pointers are 16 bytes wide and
72865         you cannot cast an integer to a valid pointer.  This patch is
72866         currently waiting to be integrated into glibc; see
72867         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
72868
72869         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
72870         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
72871         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
72872         (struct obstack): temp member is now a union of a pointer and
72873         an integer, instead of an integer.  All integer uses changed.
72874         This does not affect the physical layout of struct obstack,
72875         except on hosts (like the AS/400) where the size or alignment of
72876         void * is greater than that of ptrdiff_t.
72877         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
72878         __STDC__)]: Store temporary in pointer member of union, not
72879         integer member.
72880         * lib/obstack.c: Include <stddef.h>, for offsetof.
72881         (struct fooalign): Remove; it doesn't need a name.
72882         (union fooround): Change double to long double, and add void *.
72883         (DEFAULT_ALIGNMENT): Use offsetof to compute.
72884         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
72885         not a macro.  Hence the values are always int; so remove all
72886         casts-to-int in uses.
72887
72888 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
72889
72890         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
72891         we can get this patch merged into glibc.
72892
72893 2004-05-17  Derek R. Price  <derek@ximbiot.com>
72894             Paul Eggert  <eggert@cs.ucla.edu>
72895
72896         * m4/argp: Depend on alloca.
72897
72898 2004-05-17  Derek R. Price  <derek@ximbiot.com>
72899             Paul Eggert  <eggert@cs.ucla.edu>
72900
72901         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
72902         freecoding.
72903
72904 2004-05-17  Bruno Haible  <bruno@clisp.org>
72905
72906         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
72907         precision that consists of a '.' followed by an empty digit string.
72908         Patch by Tor Lillqvist <tml@iki.fi>.
72909
72910 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
72911
72912         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
72913         for backward compatibility with older code.  We need our own
72914         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
72915         it under some other name, and our alloca.h will define it.
72916
72917 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
72918             Derek Price  <derek@ximbiot.com>
72919
72920         * lib/alloca.c: Include <alloca.h>, to get our interface.
72921         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
72922         include <alloca.h> first.  Use C89 prototype for alloca; this
72923         requires including <stddef.h> for size_t.  Use extern "C" if C++.
72924         Use #elif for simplicity, since we can assume C89 now.
72925         Don't try to source the system alloca.h since it will not be found
72926         and to prevent recursively including its replacement.
72927         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
72928         * lib/regex.c: Likewise.
72929
72930 2004-05-16  Derek Price  <derek@ximbiot.com>
72931             Paul Eggert  <eggert@cs.ucla.edu>
72932
72933         getline cleanup.  This changes the getndelim2 API: both order of
72934         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
72935         no delimiter).
72936
72937         * lib/getline.c: Don't include stddef.h or stdio.h, since our
72938         interface does that.
72939         (getline): Always use getdelim, so that we don't have two
72940         copies of this code.
72941         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
72942         if available.
72943         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
72944         (GETNDELIM2_MAXIMUM): New macro.
72945         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
72946         instead of the old practice of delim2==0.  All callers changed.
72947         Return -1 on overflow, instead of returning junk.
72948         Do not set *linesize unless allocation succeeds.
72949         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
72950         that we include sys/types.h.
72951         * lib/getnline.h: Likewise.
72952         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
72953         (getndelim2): Reorder arguments.
72954         * lib/getnline.c (getnline, getndelim):
72955         Don't discard the NMAX argument.
72956         (getnline): Invoke getndelim, to avoid code duplication.
72957         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
72958         of (size_t) -1 by callers of the getnline family.
72959
72960 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
72961
72962         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
72963         Check for gettimeofday.
72964         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
72965         Check for settimeofday, stime.
72966
72967 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
72968
72969         * lib/nanosleep.c (suspended): Change its type from int to
72970         sig_atomic_t volatile.
72971         (first_call): Make it private to rpl_nanosleep, and have it
72972         be zero initially as that's a bit faster.
72973         (my_usleep): Round up fractional times instead of truncating them,
72974         as this is the usual meaning for 'sleep'.
72975
72976         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
72977         doesn't work.
72978         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
72979         (ENOSYS): Define if not defined.
72980         (settime): Fall back on stime if it exists and settimeofday fails.
72981         But don't bother with fallbacks if a method fails with errno == EPERM.
72982
72983 2004-05-11  Jim Meyering  <jim@meyering.net>
72984
72985         Prior to this change, the save_cwd caller required read access to the
72986         current directory on most systems (ones with the fchdir function).
72987
72988         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
72989         fails, try write-only, and finally, resort to using xgetcwd.
72990
72991 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
72992
72993         * lib/obstack.c, obstack.h: Import changes from libc.
72994
72995 2004-04-28  Bruno Haible  <bruno@clisp.org>
72996
72997         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
72998         also implicitly appends .exe to executables.
72999         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
73000         accepts Windows pathnames.
73001         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
73002         Treat Cygwin like Windows, since it now accepts Windows pathnames.
73003         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
73004         Treat Cygwin like Windows, since it now accepts Windows pathnames.
73005         Reported by Derek Robert Price <derek@ximbiot.com>.
73006
73007 2004-04-21  Karl Berry  <karl@gnu.org>
73008
73009         * config/srclist.txt (localcharset.c): break sync.
73010
73011 2004-04-20  Paul Eggert  <eggert@twinsun.com>
73012
73013         * m4/host-os.m4: Add a copyright notice.
73014
73015 2004-04-20  Jim Meyering  <jim@meyering.net>
73016
73017         Change UTILS_ to gl_ in AC_DEFINE'd names.
73018         Change utils_- and jm_-prefixed variables, too.
73019         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
73020         UTILS_FUNC_MKDIR_TRAILING_SLASH.
73021         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
73022
73023         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
73024         Don't emit trailing blanks.
73025         Also rename jm_-prefixed variables to have gl_ prefix.
73026
73027         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
73028         Also rename jm_-prefixed variables to have gl_ prefix.
73029
73030         * m4/jm-macros.m4: Reflect the renamings.
73031         * m4/prereq.m4: Likewise.
73032
73033 2004-04-20  Jim Meyering  <jim@meyering.net>
73034
73035         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
73036         memory.
73037
73038 2004-04-20  Jim Meyering  <jim@meyering.net>
73039             Bruno Haible  <bruno@clisp.org>
73040
73041         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
73042         memory when realloc fails.
73043
73044 2004-04-19  Jim Meyering  <jim@meyering.net>
73045
73046         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
73047         now that readutmp.c may call `free (0)'.
73048
73049 2004-04-19  Bruno Haible  <bruno@clisp.org>
73050
73051         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
73052         * m4/inttypes_h.m4: Likewise.
73053         * m4/stdint_h.m4: Likewise.
73054         * m4/intmax_t.m4: Likewise.
73055         * m4/uintmax_t.m4: Likewise.
73056
73057 2004-04-18  Jim Meyering  <jim@meyering.net>
73058
73059         * m4/prereq.m4: Don't forbid jm_ prefix.
73060
73061         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
73062         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
73063         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
73064         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
73065         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
73066         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
73067         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
73068         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
73069         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
73070         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
73071         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
73072         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
73073         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
73074         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
73075         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
73076         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
73077         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
73078         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
73079         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
73080
73081 2004-04-18  Jim Meyering  <jim@meyering.net>
73082
73083         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
73084         failure, don't leak memory and do call END_UTMP_ENT.
73085
73086 2004-04-16  Jim Meyering  <jim@meyering.net>
73087
73088         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
73089         coreutils' stat program.
73090         (gl_PREREQ): Don't require jm_PREREQ_STAT.
73091
73092 2004-04-11  Paul Eggert  <eggert@twinsun.com>
73093
73094         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
73095         C89.
73096         (CHAR_BIT): Remove, since we assume C89.
73097         Include <stdint.h> if available, as per current Autoconf CVS advice.
73098
73099 2004-03-31  Jim Meyering  <jim@meyering.net>
73100
73101         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
73102         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
73103         * m4/xalloc.m4: Likewise.
73104
73105 2004-03-30  Paul Eggert  <eggert@twinsun.com>
73106
73107         Merge from coreutils.
73108
73109         * m4/inttostr.m4: New file.
73110         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
73111         Require AM_STDBOOL_H and gl_TIMESPEC instead.
73112         Require gl_CLOCK_TIME.
73113         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
73114
73115 2004-03-30  Paul Eggert  <eggert@twinsun.com>
73116
73117         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
73118         not bool, to be more consistent with Unix conventions.
73119         Suggested by Bruno Haible.
73120
73121         Merge from coreutils.
73122
73123         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
73124         * lib/umaxtostr.c: New files.
73125
73126         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
73127         the usual <time.h> dance.
73128         (get_date): Change signature to support fractional time stamps.
73129         All callers changed.
73130         * lib/getdate.y: Include "getdate.h" first, as we can now
73131         assume C89 and don't need to worry about 'const'.
73132         Similarly, include "unlocked-io.h" near start, not in middle.
73133         Include <limits.h>.
73134         (textint.value): Use long int rather than int.
73135         (textint.digits): Use size_t rather than int.
73136         (BILLION, LOG10_BILLION): New constants.
73137         (parser_control): New member rel_ns.  Members day_ordinal,
73138         time_zone, month, day, hour, minutes, rel_year, rel_month,
73139         rel_day, rel_hour, rel_minutes, rel_seconds
73140         are now long int, not int.  Member seconds is now struct timespec,
73141         not int.  New member timespec_seen.  Members dates_seen, days_seen,
73142         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
73143         not int.
73144         (%union.intval): Now long int, not int.
73145         New member timespec.
73146         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
73147         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
73148         (spec): Now is a timespec or an item list.
73149         (timespec, items): New nonterminals.
73150         (time, rel, relunit, number, get_date):
73151         Add support for fractional seconds.
73152         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
73153         (gmtime, localtime, mktime): Remove decls; not needed with C89.
73154         (to_hour): First arg is now long int, not int.
73155         (to_year): Returns long int, not int.
73156         Don't treat year -70 like 70.
73157         (tm_diff): Returns long int, not int.
73158         (lookup_word): Use bool instead of int when appropriate.
73159         (yylex): Use size_t for count, not int.
73160         Detect overflow when parsing large integer constants.
73161         Add support for fractions.
73162         (get_date): Make pointers 'const' if possible.
73163         Use more-portable code to detect integer overflow.
73164         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
73165         Don't use ctime; it's not reliable if the year has >4 digits.
73166
73167         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
73168         This is for compatibility with BSD.
73169
73170         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
73171         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
73172         From coreutils' system.h.
73173
73174         * lib/userspec.c: Don't include "posixver.h".
73175         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
73176         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
73177         compatible extension.  Simplify code by removing a boolean int
73178         that was always nonzero if a string was nonnull.
73179
73180 2004-03-30  Jim Meyering  <jim@meyering.net>
73181
73182         Merge from coreutils.
73183
73184         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
73185         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
73186         on some systems one must include <grp.h> before it.
73187         Reported by Christian Krackowizer.
73188
73189 2004-03-30  Jim Meyering  <jim@meyering.net>
73190
73191         Merge from coreutils.
73192
73193         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
73194
73195         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
73196         an empty input stream.
73197
73198         * lib/readtokens.c: Include <stdbool.h>.
73199         (readtoken): Use `size_t' rather than int/long.
73200         All callers adjusted.
73201         Use `bool' rather than `int' where appropriate.
73202         Use memset rather than an explicit loop.
73203         Use x2nrealloc rather than xrealloc.
73204         Allow the use of `\0' as a delimiter.
73205         (readtokens): Likewise.
73206         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
73207
73208 2004-03-30  Jim Meyering  <jim@meyering.net>
73209
73210         * m4/realloc.m4: Remove file, since now it does no more than
73211         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
73212         the `configure.ac' section of module/realloc.
73213         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
73214
73215 2004-03-30  Bruno Haible  <bruno@clisp.org>
73216
73217         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
73218         nonnull.
73219
73220 2004-03-29  Paul Eggert  <eggert@twinsun.com>
73221
73222         Merge changes to getloadavg.c from coreutils and Emacs.
73223
73224         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
73225         Define to an expression, not to the empty string.
73226         Include cloexec.h and xalloc.h.
73227         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
73228         Use set_cloexec_flag rather than rolling our own.
73229         * lib/cloexec.c, lib/cloexec.h: New files.
73230
73231 2004-03-29  Paul Eggert  <eggert@twinsun.com>
73232
73233         * m4/cloexec.m4: New file.
73234
73235 2004-03-18  Paul Eggert  <eggert@twinsun.com>
73236
73237         * lib/getopt.h: Sync with libc CVS.
73238
73239 2004-03-18  Paul Eggert  <eggert@twinsun.com>
73240             Bruno Haible  <bruno@clisp.org>
73241
73242         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
73243         mbswidth.
73244
73245 2004-03-18  Paul Eggert  <eggert@twinsun.com>
73246             Bruno Haible  <bruno@clisp.org>
73247
73248         * lib/mbswidth.h: Include <wchar.h> only if
73249         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
73250         <wchar.h>.
73251         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
73252
73253 2004-03-09  Paul Eggert  <eggert@twinsun.com>
73254
73255         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
73256         Sync with libc CVS.
73257         * lib/getopt_int.h: New file, also synced from libc.
73258
73259 2004-03-09  Paul Eggert  <eggert@twinsun.com>
73260
73261         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
73262         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
73263         Bring back getopt.c, getopt.h, getopt1.c.
73264
73265 2004-03-07  Paul Eggert  <eggert@twinsun.com>
73266
73267         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
73268         All uses changed.  Check for sa_sigaction member; this fixes
73269         a bug first reported by Jason Andrade in
73270         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
73271
73272 2004-03-07  Paul Eggert  <eggert@twinsun.com>
73273
73274         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
73275         '#if' expressions.  Unlike the code it replaces, it does not
73276         depend on (defined _SC_PAGESIZE).  However, it does depend on
73277         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
73278         first reported by Jason Andrade in
73279         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
73280
73281 2004-02-25  Simon Josefsson  <jas@extundo.com>
73282
73283         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
73284
73285 2004-02-25  Simon Josefsson  <jas@extundo.com>
73286
73287         * lib/strdup.h: New file.
73288         * lib/strdup.c: Include it.
73289         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
73290         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
73291
73292 2004-02-23  Karl Berry  <karl@gnu.org>
73293
73294         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
73295         (from fencepost.gnu.org:/gd/gnuorg).
73296
73297 2004-02-23  Karl Berry  <karl@gnu.org>
73298
73299         * config/srclistvars.sh (GNUORG) [karl]: redefine.
73300         * config/srclist.txt: add maintain/standards documents.
73301
73302 2004-02-18  Bruno Haible  <bruno@clisp.org>
73303
73304         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
73305         Reported by Derek Robert Price <derek@ximbiot.com>.
73306
73307 2004-02-16  Karl Berry  <karl@gnu.org>
73308
73309         * config/mkinstalldirs, install-sh: update from automake.
73310
73311 2004-02-06  Karl Berry  <karl@gnu.org>
73312
73313         * m4/po.m4: update from gettext 0.14.1.
73314
73315 2004-02-06  Karl Berry  <karl@gnu.org>
73316
73317         * lib/config.charset: update from gettext 0.14.1.
73318
73319 2004-02-05  Paul Eggert  <eggert@twinsun.com>
73320
73321         Add comments and code, prompted by suggestions from Bruno Haible
73322         for sh-quote.
73323         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
73324         describing the enum quoting_style values.
73325         * lib/quotearg.c (quotearg_alloc): New function.
73326         (quotearg_buffer_restyled): Treat lone { and } as special.
73327         Treat = as special.  Work around bug with older shells
73328         that "see" a '\' that is really the 2nd byte of a multibyte char.
73329         Quote empty string with shell_quoting_style.
73330
73331 2004-02-03  Bruno Haible  <bruno@clisp.org>
73332
73333         * m4/pipe.m4: New file, from GNU gettext.
73334
73335 2004-02-03  Bruno Haible  <bruno@clisp.org>
73336
73337         * lib/pipe.h: New file, from GNU gettext.
73338         * lib/pipe.c: New file, from GNU gettext.
73339
73340 2004-01-27  Bruno Haible  <bruno@clisp.org>
73341
73342         * m4/execute.m4: New file, from GNU gettext.
73343
73344 2004-01-27  Bruno Haible  <bruno@clisp.org>
73345
73346         * lib/execute.h: New file, from GNU gettext.
73347         * lib/execute.c: New file, from GNU gettext.
73348         * lib/w32spawn.h: New file, from GNU gettext.
73349
73350 2004-01-24  Paul Eggert  <eggert@twinsun.com>
73351
73352         Merge from diffutils.
73353
73354         * lib/file-type.c (file_type): Add typed memory objects.
73355         * lib/file-type.h (S_TYPEISTMO): New macro.
73356
73357         * lib/c-stack.h (c_stack_action): Remove argv argument.
73358         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
73359         (die): Don't calculate message unless segv_action returns.
73360         (get_stack_location, min_address_from_argv, max_address_from_argv,
73361         volatile stack_base, volatile_stack_size): Remove.
73362         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
73363         that every segmentation violation is a stack overflow.  (Ouch!)
73364         See Debian bug 136249 (still outstanding) for more info about why
73365         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
73366
73367 2004-01-24  Paul Eggert  <eggert@twinsun.com>
73368
73369         Exit-status fix from coreutils.
73370
73371         Use exit_failure consistently in place of EXIT_FAILURE,
73372         so that program exit statuses are consistent on failure.
73373
73374         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
73375         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
73376         * lib/argmatch.h: Comment fix to match the above.
73377         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
73378         Now a macro referring to exit_failure, instead of a separate
73379         variable.  Include "exitfail.h" to get it.
73380         * lib/xstrtol.h: Include "exitfail.h".
73381         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
73382
73383         * lib/long-options.c (parse_long_options): Use prototype
73384         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
73385         for clarity.
73386
73387 2004-01-21  Jim Meyering  <jim@meyering.net>
73388
73389         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
73390         so as not to conflict with a different-sized __mktime_internal
73391         function in GNU libc.
73392         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
73393         Problem building statically-linked `ls' reported by Michael Brunnbauer.
73394
73395 2004-01-20  Karl Berry  <karl@gnu.org>
73396
73397         * config/config.guess: update from config.
73398
73399         * config/srclistvars.sh: GNUWWWLICENSES for karl.
73400
73401 2004-01-20  Bruno Haible  <bruno@clisp.org>
73402
73403         Safer stack allocation.
73404         * lib/setenv.c: Include allocsa.h.
73405         (alloca): Remove fallback definition.
73406         (freea): Remove macro.
73407         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
73408         instead of freea.
73409
73410 2004-01-20  Bruno Haible  <bruno@clisp.org>
73411
73412         * m4/eealloc.m4: New file, from GNU gettext.
73413
73414 2004-01-20  Bruno Haible  <bruno@clisp.org>
73415
73416         * m4/allocsa.m4: New file, from GNU gettext.
73417
73418 2004-01-20  Bruno Haible  <bruno@clisp.org>
73419
73420         * lib/xallocsa.h: New file, from GNU gettext.
73421         * lib/xallocsa.c: New file, from GNU gettext.
73422
73423 2004-01-20  Bruno Haible  <bruno@clisp.org>
73424
73425         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
73426
73427 2004-01-20  Bruno Haible  <bruno@clisp.org>
73428
73429         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
73430         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
73431         specially.
73432
73433 2004-01-20  Bruno Haible  <bruno@clisp.org>
73434
73435         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
73436         patch.
73437
73438 2004-01-20  Bruno Haible  <bruno@clisp.org>
73439
73440         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
73441
73442 2004-01-20  Bruno Haible  <bruno@clisp.org>
73443
73444         * lib/eealloc.h: New file.
73445
73446 2004-01-20  Bruno Haible  <bruno@clisp.org>
73447
73448         * lib/binary-io.h: Avoid warnings on Cygwin.
73449
73450 2004-01-20  Bruno Haible  <bruno@clisp.org>
73451
73452         * lib/allocsa.h: New file, from GNU gettext.
73453         * lib/allocsa.c: New file, from GNU gettext.
73454
73455 2004-01-18  Karl Berry  <karl@gnu.org>
73456
73457         * doc/gpl.texi, doc/lgpl.texi: new files.
73458
73459 2004-01-18  Karl Berry  <karl@gnu.org>
73460
73461         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
73462         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
73463
73464 2004-01-15  Paul Eggert  <eggert@twinsun.com>
73465
73466         Merge from coreutils.
73467
73468         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
73469         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
73470         (gl_DEFAULT_POSIX2_VERSION): Move
73471         the documentation from 'configure' into 'config.hin',
73472         so that 'configure --help' isn't burdened by it and
73473         we don't have to worry about its formatting there.
73474         Reword the documentation so that it's more succinct
73475         and can be run together into a single paragraph.
73476         * m4/same.m4 (gl_SAME): Check for pathconf.
73477
73478 2004-01-15  Paul Eggert  <eggert@twinsun.com>
73479
73480         Merge from coreutils.
73481
73482         * lib/posixver.c: Include posixver.h.
73483
73484         * lib/same.c: Include <stdbool.h>, <limits.h>.
73485         (_POSIX_NAME_MAX): Define if not defined.
73486         (MIN): New macro.
73487         (same_name): If file names are silently truncated, report
73488         that the file names are the same if they are the same after
73489         the silent truncation.
73490
73491         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
73492         conversion function.
73493         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
73494         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
73495         longer needed.
73496
73497 2004-01-15  Jim Meyering  <jim@meyering.net>
73498
73499         Merge from coreutils.
73500
73501         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
73502         if no library is required.
73503         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
73504         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
73505         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
73506         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
73507         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
73508         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
73509         value, $ac_cv_search_crypt, if it's "none required".
73510         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
73511         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
73512         not gl_FUNC_GETLOADAVG.
73513         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
73514         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
73515
73516 2004-01-15  Jim Meyering  <jim@meyering.net>
73517
73518         Merge from coreutils.
73519
73520         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
73521         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
73522         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
73523
73524         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
73525         optional configure-time default.
73526
73527         * lib/version-etc.c (version_etc_copyright): Update copyright date.
73528
73529         * lib/xreadlink.c (xreadlink): Correct outdated comment.
73530
73531 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
73532
73533         Merge from coreutils.
73534
73535         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
73536         value, $ac_cv_search_nanosleep, if it's "none required".
73537
73538 2004-01-14  Paul Eggert  <eggert@twinsun.com>
73539
73540         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
73541         with like-named macro in fnmatch.c.
73542         (EXT): Use an internal constant instead.
73543
73544         Merge fnmatch patches from glibc.
73545         * lib/fnmatch.c (mbsinit): Remove define.
73546         Add libc_hidden_ver (__fnmatch, fnmatch).
73547         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
73548         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
73549
73550 2004-01-14  Karl Berry  <karl@gnu.org>
73551
73552         * config/install-sh: update from automake.
73553
73554 2004-01-13  Karl Berry  <karl@gnu.org>
73555
73556         * config/install-sh: update from automake.
73557
73558 2004-01-09  Karl Berry  <karl@gnu.org>
73559
73560         * config/install-sh: update from automake.
73561
73562 2004-01-05  Karl Berry  <karl@gnu.org>
73563
73564         * config/config.{sub,guess}: update from config.
73565
73566 2003-12-31  Karl Berry  <karl@gnu.org>
73567
73568         * config/depcomp: update from automake.
73569
73570 2003-12-14  Karl Berry  <karl@gnu.org>
73571
73572         * lib/config.charset: update from gettext-runtime.
73573
73574 2003-12-03  Paul Eggert  <eggert@twinsun.com>
73575
73576         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
73577         Bug reported by Alfred M. Szmidt.
73578
73579 2003-12-03  Bruno Haible  <bruno@clisp.org>
73580
73581         * m4/gettext.m4: Upgrade from gettext-0.13.
73582         * m4/po.m4: Upgrade from gettext-0.13.
73583         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
73584         * m4/intmax.m4: New file, from gettext-0.13.
73585         * m4/printf-posix.m4: New file, from gettext-0.13.
73586
73587 2003-11-29  Karl Berry  <karl@gnu.org>
73588
73589         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
73590
73591 2003-11-25  Paul Eggert  <eggert@twinsun.com>
73592             Bruno Haible  <bruno@clisp.org>
73593
73594         * lib/printf-parse.h: Don't include sys/types.h.
73595         (ARG_NONE): New macro.
73596         (char_directive): Change type of *arg_index fields to size_t.
73597         * lib/printf-parse.c: Don't include sys/types.h.
73598         (SSIZE_MAX): Remove macro.
73599         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
73600         Remove unnecessary overflow check.
73601         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
73602         fields.
73603
73604 2003-11-25  Bruno Haible  <bruno@clisp.org>
73605
73606         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
73607
73608 2003-11-25  Bruno Haible  <bruno@clisp.org>
73609
73610         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
73611         gt_TYPE_SSIZE_T.
73612
73613 2003-11-24  Paul Eggert  <eggert@twinsun.com>
73614
73615         * modules/alloca: Remove dependency on xalloc.
73616
73617 2003-11-24  Paul Eggert  <eggert@twinsun.com>
73618
73619         * lib/alloca.c: Remove dependency on xalloc module.
73620         (xalloc_die): Remove.
73621         (memory_full) [!defined emacs]: New macro.
73622         [!defined emacs]: Don't include xalloc.h.
73623         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
73624         address arithmetic overflows.  Change datatypes a bit to avoid
73625         unnecessary casts.
73626
73627 2003-11-22  Jim Meyering  <jim@meyering.net>
73628
73629         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
73630         s/size/size_t/.
73631
73632 2003-11-21  Karl Berry  <karl@gnu.org>
73633
73634         * config/config.{sub,guess}: update from config.
73635
73636 2003-11-18  Karl Berry  <karl@gnu.org>
73637
73638         * config/config.{sub,guess}: update from config.
73639
73640         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
73641
73642 2003-11-17  Paul Eggert  <eggert@twinsun.com>
73643
73644         * README: Mention that S+T cannot overflow if S is the size of
73645         an existing object and T is sufficiently small.
73646
73647 2003-11-17  Jim Meyering  <jim@meyering.net>
73648
73649         On systems without utime and without a utimes function capable of
73650         dealing with a NULL struct utimbuf* argument, this utime replacement
73651         could -- in unusual circumstances -- leak a file descriptor.
73652         * lib/utime.c: Include <unistd.h> and <errno.h>.
73653         (utime_null): Be sure to close `fd' and to preserve errno.
73654         Reported by Geoff Collyer via Arnold Robbins.
73655
73656 2003-11-17  Bruno Haible  <bruno@clisp.org>
73657
73658         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
73659         (Depends-on): Add xsize.
73660
73661 2003-11-17  Bruno Haible  <bruno@clisp.org>
73662
73663         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
73664
73665 2003-11-17  Bruno Haible  <bruno@clisp.org>
73666
73667         * lib/vasnprintf.c (alloca): Remove fallback definition.
73668         (freea): Remove definition.
73669         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
73670         Reported by Paul Eggert.
73671
73672 2003-11-16  Paul Eggert  <eggert@twinsun.com>
73673             Bruno Haible  <bruno@clisp.org>
73674
73675         Protect against address arithmetic overflow.
73676         * lib/printf-args.h: Include stddef.h.
73677         (arguments): Change type of field 'count' to size_t.
73678         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
73679         'unsigned int' where appropriate.
73680         * lib/printf-parse.h: Include sys/types.h.
73681         (char_directive): Change type of *arg_index fields to ssize_t.
73682         (char_directives): Change type of fields 'count', max_*_length to
73683         size_t.
73684         * lib/printf-parse.c: Include sys/types.h and xsize.h.
73685         (SSIZE_MAX): Define fallback value.
73686         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
73687         instead of 'int' where appropriate. Check a_allocated, d_allocated
73688         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
73689         * lib/vasnprintf.c: Include xsize.h.
73690         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
73691         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
73692         overflow. Avoid wraparound when converting a width or precision from
73693         decimal to binary.
73694
73695 2003-11-16  Bruno Haible  <bruno@clisp.org>
73696
73697         Update from GNU gettext.
73698         * lib/printf-parse.c: Generalize to it can be compiled for wide
73699         strings.
73700         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
73701         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
73702         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
73703         SNPRINTF): New macros.
73704         Don't include <alloca.h> if the file is used inside libintl.
73705         (local_wcslen): New function, for Solaris 2.5.1.
73706         (VASNPRINTF): Use it instead of wcslen.
73707
73708 2003-11-16  Bruno Haible  <bruno@clisp.org>
73709
73710         * lib/xsize.h (xmax): New function.
73711         (xsum, xsum3, xsum4): Declare as "pure" functions.
73712
73713 2003-11-12  Paul Eggert  <eggert@twinsun.com>
73714
73715         * modules/xalloc (Files): Undo latest change, since xalloc.h
73716         no longer needs SIZE_MAX or PTRDIFF_MAX.
73717
73718 2003-11-12  Paul Eggert  <eggert@twinsun.com>
73719
73720         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
73721         gl_PTRDIFF_MAX.
73722
73723 2003-11-12  Paul Eggert  <eggert@twinsun.com>
73724
73725         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
73726         "return", to pacify some unknown compiler.  Problem reported
73727         by Joerg Schilling.
73728
73729 2003-11-12  Paul Eggert  <eggert@twinsun.com>
73730
73731         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
73732         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
73733         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
73734         heuristic is just as accurate as far as we know, and it removes a
73735         dependency on size_max.m4 and ptrdiff_max.m4.
73736
73737 2003-11-11  Bruno Haible  <bruno@clisp.org>
73738
73739         * modules/xsize (Files): Add m4/size_max.m4.
73740         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
73741
73742 2003-11-11  Bruno Haible  <bruno@clisp.org>
73743
73744         * m4/size_max.m4: New file.
73745         * m4/ptrdiff_max.m4: New file.
73746         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
73747         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
73748         (gl_XALLOC): Invoke it.
73749
73750 2003-11-11  Bruno Haible  <bruno@clisp.org>
73751
73752         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
73753         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
73754         defined.
73755
73756 2003-11-10  Paul Eggert  <eggert@twinsun.com>
73757
73758         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
73759         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
73760         rejected some allocations of exactly SIZE_MAX - 2 bytes.
73761         From Bruno Haible.
73762         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
73763         not (size_t) -1, since it's defined here.
73764
73765 2003-11-09  Karl Berry  <karl@gnu.org>
73766
73767         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
73768
73769 2003-11-06  Paul Eggert  <eggert@twinsun.com>
73770
73771         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
73772         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
73773         Reject sizes of exactly SIZE_MAX bytes.
73774         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
73775         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
73776
73777 2003-11-05  Bruno Haible  <bruno@clisp.org>
73778
73779         * lib/xsize.h: Include limits.h, to avoid a possible collision with
73780         SIZE_MAX defined in <limits.h> on Solaris.
73781
73782 2003-11-04  Jim Meyering  <jim@meyering.net>
73783
73784         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
73785         variable names, rather than @VAR@.
73786         * modules/poll: Likewise.
73787
73788 2003-11-04  Bruno Haible  <bruno@clisp.org>
73789
73790         * modules/xsize: New file.
73791         * modules/linebreak: Depend on xsize.
73792         * MODULES.html.sh (func_all_modules): Add xsize.
73793
73794 2003-11-04  Bruno Haible  <bruno@clisp.org>
73795
73796         * m4/xsize.m4: New file.
73797
73798 2003-11-04  Bruno Haible  <bruno@clisp.org>
73799
73800         * lib/xsize.h: New file.
73801         * lib/linebreak.c: Include xsize.h.
73802         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
73803         argument for overflow.
73804         Suggested by Paul Eggert.
73805
73806 2003-11-03  Karl Berry  <karl@gnu.org>
73807
73808         * config/config.{guess,sub}: update from config.
73809
73810 2003-11-03  Jim Meyering  <jim@meyering.net>
73811
73812         * modules/userspec (lib_SOURCES): Add userspec.h.
73813         (Include): Add "userspec.h".
73814         Improve description.
73815
73816 2003-11-03  Jim Meyering  <jim@meyering.net>
73817
73818         * lib/userspec.c: Include "userspec.h".
73819         * lib/userspec.h: New file.
73820
73821 2003-11-03  Bruno Haible  <bruno@clisp.org>
73822
73823         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
73824
73825 2003-11-03  Bruno Haible  <bruno@clisp.org>
73826
73827         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
73828         available, to avoid (extremely rare) race condition.
73829         Suggested by Paul Eggert.
73830
73831 2003-11-02  Karl Berry  <karl@gnu.org>
73832
73833         * config/srclist.txt (vasprintf.c): sync broken, sigh.
73834
73835 2003-10-31  Paul Eggert  <eggert@twinsun.com>
73836
73837         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
73838         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
73839         (read_filesystem_list): Set and use me_type_malloced.
73840         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
73841         whatever the type happens to be), for brevity and consistency.
73842         Check for size calculation overflow on Alphas running OSF/1.
73843
73844 2003-10-31  Jim Meyering  <jim@meyering.net>
73845
73846         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
73847
73848         * lib/linebuffer.c: Include <string.h> for declaration of memset.
73849
73850 2003-10-30  Paul Eggert  <eggert@twinsun.com>
73851             Bruno Haible  <bruno@clisp.org>
73852
73853         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
73854         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
73855
73856 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
73857
73858         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
73859         netbsd*-gnu*.  Suggested by Robert Millan.
73860
73861 2003-10-29  Paul Eggert  <eggert@twinsun.com>
73862
73863         * modules/group-member: Depend on stdbool.
73864
73865 2003-10-29  Paul Eggert  <eggert@twinsun.com>
73866
73867         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
73868
73869 2003-10-29  Paul Eggert  <eggert@twinsun.com>
73870
73871         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
73872         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
73873         after the 'gnu' in these cases.  This fixes some bugs in the
73874         previous change, and is based on suggestions by Robert Millan.
73875
73876 2003-10-29  Paul Eggert  <eggert@twinsun.com>
73877
73878         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
73879         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
73880         no longer needed.
73881         * lib/quotearg.c (quotearg_n_options): Use it.
73882         * lib/group-member.c: Include <stdbool.h>.
73883         (free_group_info): Arg is now const *; don't free arg.
73884         (get_group_info): Now returns bool and accepts struct group_info *,
73885         rather than returning a malloc'ed struct group_info *.
73886         All uses changed.  Check for overflow in internal size calculation.
73887
73888         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
73889         rather than xmalloc/xrealloc.
73890         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
73891         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
73892         conformance bug: the old code used a pointer after freeing the
73893         storage that it addressed.
73894         * lib/hash.c (hash_initialize): Simplify the code by using
73895         xalloc_oversized rather than doing it by hand.
73896         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
73897         the buffer preserved.  Use free and xmalloc instead.
73898         * lib/quotearg.c (quotearg_n_options): Likewise.
73899         Use a simpler test for size overflow.  Don't use xalloc_oversized
73900         because unsigned int might be wider than size_t (!); this suggests
73901         that we should switch from unsigned int to size_t for slot numbers.
73902
73903 2003-10-28  Paul Eggert  <eggert@twinsun.com>
73904
73905         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
73906         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
73907         NetBSD kernels.  Requested by Richard Stallman.
73908
73909 2003-10-27  Paul Eggert  <eggert@twinsun.com>
73910
73911         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
73912         to allocate the returned structure.  Do not allocate a subarray,
73913         as x2nrealloc will do that.
73914         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
73915         instead of xnrealloc.
73916         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
73917
73918 2003-10-27  Bruno Haible  <bruno@clisp.org>
73919
73920         * lib/stdbool_.h: Better support for BeOS.
73921
73922 2003-10-26  Paul Eggert  <eggert@twinsun.com>
73923
73924         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
73925         now uses inline.
73926
73927 2003-10-26  Paul Eggert  <eggert@twinsun.com>
73928
73929         * lib/xalloc.h (xalloc_oversized): New static inline function, for
73930         callers that want to do their own size-overflow checking.  Include
73931         <stdbool.h>, since xalloc_oversized returns bool.
73932         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
73933         to use xalloc_oversized.
73934
73935         Add two functions x2realloc, x2nrealloc, for programs that grow
73936         arrays dynamically by doubling their sizes.
73937         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
73938         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
73939         New functions.
73940
73941         Port to C99 semantics for 'inline' of external functions.
73942         Bug reported by Bruno Haible.
73943         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
73944         with the old contents of xnmalloc.
73945         (xnmalloc, xmalloc): Use it.
73946         (xnrealloc_inline): New static inline function,
73947         with the old contents of xnrealloc.
73948         (xnrealloc, xrealloc): Use it.
73949
73950         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
73951         that.
73952
73953 2003-10-26  Karl Berry  <karl@gnu.org>
73954
73955         * config/srclist.txt (COPYING.DOC): no longer available from
73956         /gd/gnuorg; don't know where the ultimate source is.
73957
73958 2003-10-25  Paul Eggert  <eggert@twinsun.com>
73959
73960         Fix several address-calculation bugs in the hash modules,
73961         plus some minor code cleanup.
73962
73963         * lib/hash.h: Include <stdbool.h>, for bool.
73964         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
73965         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
73966         hash_get_n_entries, hash_get_max_bucket_length,
73967         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
73968         hash_rehash): Use size_t rather than unsigned.
73969         * lib/hash.c (struct hash_table, hash_get_n_buckets,
73970         hash_get_n_buckets_used, hash_get_n_entries,
73971         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
73972         hash_get_entries, hash_do_for_each, hash_string, is_prime,
73973         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
73974         Likewise.
73975         (SIZE_MAX): Define if not defined.
73976         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
73977         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
73978         hash_print):
73979         Use const * when possible.
73980         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
73981         (check_tuning): Fix bug: if tuning parameters were very close to
73982         0 or 1, rounding errors could have caused subscript violations.
73983         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
73984         (hash_initialize): Add 'fail:' label
73985         to free table and return NULL, and use it to simplify code.
73986         Use calloc rather than clearing the storage ourself.
73987         (hash_initialize, hash_rehash): Check for arithmetic overflow in
73988         buffer size calculations.
73989         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
73990         Include <stddef.h>, for size_t.
73991         * lib/hash-pjw.c (hash_pjw): Likewise.
73992         Switch to method described by Bruno Haible.
73993         Include <limits.h>, for CHAR_BIT.
73994         (SIZE_BITS): New macro.
73995
73996 2003-10-23  Paul Eggert  <eggert@twinsun.com>
73997
73998         * m4/getline.m4 (AM_FUNC_GETLINE):
73999         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
74000         hosts.  Problem reported by Derek Robert Price in
74001         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
74002         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
74003         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
74004
74005 2003-10-21  Paul Eggert  <eggert@twinsun.com>
74006
74007         * lib/getndelim2.c (getndelim2): When size calculation overflows,
74008         ceiling the allocation at NMAX bytes rather than silently
74009         discarding input bytes before NMAX is reached.  This makes
74010         a difference only if NMAX exceeds SIZE_MAX / 2.
74011
74012         * lib/obstack.c: Merge from glibc.
74013         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
74014         Add libc_hidden_def (_obstack_newchunk).
74015         (_obstack_free) [! defined _LIBC]: Remove.
74016         [defined _LIBC]: Make a strong alias from obstack_free, rather than
74017         a clone of the function body.
74018         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
74019         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
74020
74021         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
74022         glibc.
74023         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
74024         arg to memcpy.
74025
74026         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
74027         (obstack_ptr_grow_fast, obstack_int_grow_fast):
74028         Don't use lvalue casts, as GCC plans to remove support for them
74029         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
74030         was also present in the non-GCC version, indicating that this
74031         code had always been buggy and had never been widely used.
74032         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
74033         Use the fast variant of each macro, rather than copying the
74034         definiens of the fast variant; that way, we'll be more likely to
74035         catch future bugs in the fast variants.
74036
74037 2003-10-20  Bruno Haible  <bruno@clisp.org>
74038
74039         * modules/wait-process: New file.
74040         * MODULES.html.sh (func_all_modules): Add wait-process.
74041
74042 2003-10-20  Bruno Haible  <bruno@clisp.org>
74043
74044         * m4/wait-process.m4: New file.
74045
74046 2003-10-20  Bruno Haible  <bruno@clisp.org>
74047
74048         * lib/wait-process.h: New file, from GNU gettext.
74049         * lib/wait-process.c: New file, from GNU gettext.
74050
74051 2003-10-19  Jim Meyering  <jim@meyering.net>
74052
74053         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
74054         HPUX 10.20.
74055
74056 2003-10-18  Karl Berry  <karl@gnu.org>
74057
74058         * config/config.guess: update from config.
74059
74060 2003-10-16  Paul Eggert  <eggert@twinsun.com>
74061
74062         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
74063         (getgroups): First arg is int, not size_t.
74064         Don't let 'free' mangle errno.
74065
74066 2003-10-16  Paul Eggert  <eggert@twinsun.com>
74067
74068         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
74069
74070 2003-10-16  Karl Berry  <karl@gnu.org>
74071
74072         * config/config.{guess,sub}: update from config.
74073
74074 2003-10-16  Jim Meyering  <jim@meyering.net>
74075
74076         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
74077         memcpy.
74078
74079 2003-10-15  Paul Eggert  <eggert@twinsun.com>
74080
74081         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
74082         (SIZE_MAX): Remove.
74083         (new_exclude, add_exclude_file): Initial size no longer needs to
74084         be a power of 2.
74085         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
74086         our own address arithmetic overflow checking.
74087
74088         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
74089         (fnmatch): Do not alloca more than 2000 wide characters;
74090         instead, use malloc for large buffers.
74091         Check for address arithmetic overflow, and return -1
74092         with errno set to ENOMEM in that case.
74093         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
74094         (NEW_PATTERN): Do not alloca more than 8000 bytes;
74095         instead, return -1.  Check for address arithmetic overflow.
74096
74097 2003-10-14  Paul Eggert  <eggert@twinsun.com>
74098
74099         Handle invalid suffixes and overflow independently, so that
74100         callers can treat them independently as needed.  Fix some bugs in
74101         suffix handling, e.g., "100k@" was not diagnosed as an invalid
74102         suffix for a human-readable blocksize.  The major caller-visible
74103         change is the addition of a new
74104         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
74105         that both overflow and suffix chars were found.
74106
74107         * lib/human.c (humblock): Don't check separately for invalid suffix
74108         char; that is xstrtoumax's job (now that its bug is fixed).
74109         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
74110         INTMAX_MAX]: New macros.
74111         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
74112         TYPE_MAXIMUM): New macros.
74113         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
74114         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
74115         if overflow occurs, as it's what __strtol does and it's more useful
74116         in practice.
74117         (__xstrtol): If __strtol reports some error other than ERANGE,
74118         reflect it to the caller as LONGINT_INVALID.  If it reports
74119         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
74120         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
74121         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
74122         value.
74123         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
74124         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
74125         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
74126         [defined UINTMAX_MAX]: New macros.
74127
74128 2003-10-14  Bruno Haible  <bruno@clisp.org>
74129
74130         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
74131
74132 2003-10-14  Bruno Haible  <bruno@clisp.org>
74133
74134         * m4/sig_atomic_t: New file, from GNU gettext.
74135         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
74136
74137 2003-10-14  Bruno Haible  <bruno@clisp.org>
74138
74139         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
74140         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
74141         Also use volatile where needed.
74142
74143 2003-10-12  Paul Eggert  <eggert@twinsun.com>
74144
74145         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
74146         Change maintainer from Bruno Haible to 'all'.
74147
74148 2003-10-12  Paul Eggert  <eggert@twinsun.com>
74149
74150         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
74151
74152 2003-10-12  Paul Eggert  <eggert@twinsun.com>
74153
74154         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
74155         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
74156         and define in terms of the other primitives.
74157         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
74158         (SIZE_MAX): Define if not already defined.
74159         (array_size_overflow): New function.
74160         (xalloc_die): Abort instead of exiting if 'error' returns.
74161         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
74162         (xmalloc, xrealloc): Use them.
74163         (xcalloc): Check for address arithmetic overflow.
74164         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
74165         a bit faster than strcpy.
74166
74167 2003-10-10  Simon Josefsson  <jas@extundo.com>
74168
74169         * modules/argp (Depends-on): Add restrict and strcase.
74170
74171 2003-10-10  Simon Josefsson  <jas@extundo.com>
74172
74173         * m4/argp.m4: Add AC_C_INLINE.
74174
74175 2003-10-08  Paul Eggert  <eggert@twinsun.com>
74176
74177         Merge getpass from libc, plus a few fixes.
74178
74179         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
74180         Include <stdbool.h>.
74181         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
74182         __fsetlocking to empty.
74183         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
74184         do include <bits/libc-lock.h>.
74185         Do not include <fcntl.h>; not needed.
74186         [_LIBC]: Include <wchar.h>.
74187         (NOTCANCEL_MODE): New macro.
74188         (flockfile, funlockfile) [_LIBC]: New macros.
74189         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
74190         [!_LIBC]: New macros.
74191         (call_fclose): New function.
74192         (getpass): Use it.  Save tty stream separately; this simplifies the
74193         code and makes it more reliable if stdin happens to equal stdout.
74194         Invoke __fsetlocking on tty.
74195         Handle thread cancellation if needed.
74196         Namespace cleanup (use __tcgetattr, __getline).
74197         Use bool for Booleans.
74198         [USE_IN_LIBIO]: Handle wide streams.
74199         [!_LIBC]: Unconditionally do the fseek, since we don't know what
74200         stream might go where.
74201
74202         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
74203         doesn't have to include <stdio.h> before us.
74204         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
74205         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
74206         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
74207         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
74208         if not declared, so that we can use getpass.c code from libc without
74209         rewriting it.
74210         (flockfile, ftrylockfile, funlockfile): New macros.
74211
74212 2003-10-08  Paul Eggert  <eggert@twinsun.com>
74213
74214         * modules/getpass: Depend on stdbool.
74215
74216 2003-10-08  Paul Eggert  <eggert@twinsun.com>
74217
74218         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
74219
74220 2003-10-07  Karl Berry  <karl@gnu.org>
74221
74222         * config/config.{guess,sub}: update from config.
74223
74224 2003-10-06  Jim Meyering  <jim@meyering.net>
74225             Bruno Haible  <bruno@clisp.org>
74226
74227         This lets translators provide better translations for the
74228         "Written by ..." part of --version output.
74229         * lib/version-etc.h: Include stdarg.h.
74230         (version_etc_copyright): Declare as readonly.
74231         (version_etc): Make this function variadic with a NULL-terminated list
74232         of author name strings.
74233         (version_etc_va): New declaration.
74234         * lib/version-etc.c: Include stdarg.h, stdlib.h.
74235         (version_etc_copyright): Declare as readonly.
74236         (version_etc_va): New function. Provide a different translatable string
74237         for each possible number of authors < 10. Abbreviate when there are 10
74238         authors or more.
74239         (version_etc): Make this function variadic. Call version_etc_va.
74240         Suggestion from Gary V. Vaughan.
74241
74242         * lib/long-options.h (parse_long_options): Change prototype: the
74243         authors string is moved to the end and becomes variadic.
74244         * lib/long-options.c: Include stdarg.h.
74245         (parse_long_options): Make this function variadic, too.
74246         Call version_etc_va, not version_etc.
74247
74248 2003-10-06  Bruno Haible  <bruno@clisp.org>
74249
74250         * modules/version-etc-2: Remove file.
74251         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
74252
74253 2003-10-06  Bruno Haible  <bruno@clisp.org>
74254
74255         * modules/fatal-signal: New file.
74256         * MODULES.html.sh (func_all_modules): Add fatal-signal.
74257
74258 2003-10-06  Bruno Haible  <bruno@clisp.org>
74259
74260         * m4/fatal-signal.m4: New file.
74261         * m4/signalblocking.m4: New file, from GNU gettext.
74262
74263 2003-10-06  Bruno Haible  <bruno@clisp.org>
74264
74265         * lib/version-etc-2.h: Remove file.
74266         * lib/version-etc-2.c: Remove file.
74267
74268 2003-10-06  Bruno Haible  <bruno@clisp.org>
74269
74270         * lib/fatal-signal.h: New file, from GNU gettext.
74271         * lib/fatal-signal.c: New file, from GNU gettext.
74272
74273 2003-10-05  Paul Eggert  <eggert@twinsun.com>
74274
74275         * README: Rework advice for preventing empty .o files.
74276         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
74277         not <sys/types.h>.
74278
74279 2003-10-04  Karl Berry  <karl@gnu.org>
74280
74281         * lib/argp*: update from libc.
74282
74283 2003-10-04  Karl Berry  <karl@gnu.org>
74284
74285         * config/config.{guess,sub}: update from config.
74286
74287 2003-10-02  Bruno Haible  <bruno@clisp.org>
74288
74289         * modules/lchown (Include): Add lchown.h.
74290         * modules/time_r (Include): Use "..." syntax.
74291         * modules/xgetdomainname (Include): Add xgetdomainname.h.
74292
74293 2003-10-01  Simon Josefsson  <jas@extundo.com>
74294
74295         * MODULES.html.sh (func_all_modules): Move gethostname from section
74296         'based on' to section 'lacking' POSIX:2001.
74297
74298 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
74299
74300         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
74301         to output mode on the same stream.
74302
74303 2003-09-29  Paul Eggert  <eggert@twinsun.com>
74304
74305         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
74306         Fix arg typo in previous patch.
74307
74308 2003-09-28  Jim Meyering  <jim@meyering.net>
74309
74310         * lib/error.c: Correct cpp indentation.
74311
74312 2003-09-27  Paul Eggert  <eggert@twinsun.com>
74313
74314         * modules/free: New file.
74315
74316 2003-09-27  Paul Eggert  <eggert@twinsun.com>
74317
74318         * m4/free.m4: New file.
74319
74320 2003-09-27  Paul Eggert  <eggert@twinsun.com>
74321
74322         * lib/minmax.h (MIN, MAX)
74323         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
74324         Omit the special code that used __typeof__, since we worry that
74325         it could be more trouble than it's worth.  See:
74326         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
74327         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
74328
74329         * lib/free.c: New file.
74330
74331 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
74332
74333         Trivial fixes to Makefile.am parts of module listings.
74334         * modules/strstr: Append strstr.h to lib_SOURCES.
74335         * modules/strcase: Likewise, for strcase.h.
74336
74337 2003-09-27  Karl Berry  <karl@gnu.org>
74338
74339         * config/mkinstalldirs: update from automake.
74340
74341 2003-09-26  Paul Eggert  <eggert@twinsun.com>
74342
74343         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
74344         (error_tail): Do not loop, reallocating temporary buffer, since
74345         the output cannot contain more wide characters than the input
74346         contains bytes, the size must be big enough already.  This avoids
74347         one potential size overflow calculation.  Check for size overflow
74348         when calculating temporary buffer size.  Free temporary buffer
74349         when done, if it was allocated with malloc; this plugs a memory
74350         leak.  Remove casts from void * to pointers, that are no longer
74351         needed now that we're assuming C89 or better.
74352
74353         Merge error changes from glibc.
74354
74355         * lib/error.c, error.h: Update copyright notice header to match glibc.
74356         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
74357         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
74358         Disable cancellation while printing error.
74359         * lib/error.h: Prepend __ to parameter names.
74360
74361 2003-09-26  Jim Meyering  <jim@meyering.net>
74362
74363         * lib/error.c (error_tail): Move some declarations
74364         into inner scope where the local variables are used.
74365
74366 2003-09-26  Bruno Haible  <bruno@clisp.org>
74367
74368         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
74369         stpncpy().
74370         Don't define stpncpy through config.h; it's now done through stpncpy.h.
74371
74372 2003-09-26  Bruno Haible  <bruno@clisp.org>
74373
74374         * lib/stpncpy.h (gnu_stpncpy): New declaration.
74375         (stpncpy): Define as alias for gnu_stpncpy.
74376         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
74377
74378 2003-09-25  Simon Josefsson  <jas@extundo.com>
74379
74380         * lib/xgetdomainname.h: New file.
74381         * lib/xgetdomainname.c: New file.
74382
74383 2003-09-25  Simon Josefsson  <jas@extundo.com>
74384             Bruno Haible  <bruno@clisp.org>
74385
74386         * modules/getdomainname: New file.
74387         * modules/xgetdomainname: New file.
74388         * MODULES.html.sh (func_all_modules): Add getdomainname,
74389         xgetdomainname.
74390
74391 2003-09-25  Simon Josefsson  <jas@extundo.com>
74392             Bruno Haible  <bruno@clisp.org>
74393
74394         * m4/getdomainname.m4: New file.
74395
74396 2003-09-25  Simon Josefsson  <jas@extundo.com>
74397             Bruno Haible  <bruno@clisp.org>
74398
74399         * lib/getdomainname.h: New file.
74400         * lib/getdomainname.c: New file.
74401
74402 2003-09-25  Karl Berry  <karl@gnu.org>
74403
74404         * lib/argp-fmtstream.c, argp-help.c: update from libc.
74405
74406 2003-09-25  Karl Berry  <karl@gnu.org>
74407
74408         * config/install-sh: update from automake.
74409
74410 2003-09-25  Bruno Haible  <bruno@clisp.org>
74411
74412         * modules/version-etc-2: New file, from modules/version-etc with
74413         modifications.
74414         * MODULES.html.sh (func_all_modules): Add version-etc-2.
74415
74416 2003-09-25  Bruno Haible  <bruno@clisp.org>
74417
74418         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
74419         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
74420
74421 2003-09-24  Simon Josefsson  <jas@extundo.com>
74422
74423         * modules/xgethostname: Add xgethostname.h.
74424
74425 2003-09-24  Paul Eggert  <eggert@twinsun.com>
74426
74427         * lib/linebuffer.c (freebuffer): Don't free the argument, just
74428         the buffer associated with the argument.  Bug reported by
74429         Simon Josefsson.
74430
74431 2003-09-24  Paul Eggert  <eggert@twinsun.com>
74432
74433         * README: Document assumptions that 'int' is at least 32 bits
74434         wide, that integer arithmetic is 2's complement without overflow,
74435         that there are no holes in integer values, that adding sizes of
74436         two nonoverlapping objects can't overflow, and that all-bits-zero
74437         yields scalar zero.  Fix spelling and capitalization typos.
74438
74439 2003-09-19  Karl Berry  <karl@gnu.org>
74440
74441         * lib/argp.h: update from libc.
74442
74443 2003-09-17  Paul Eggert  <eggert@twinsun.com>
74444
74445         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
74446         to avoid spurious warnings like "AC_RUN_IFELSE was called before
74447         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
74448
74449 2003-09-17  Paul Eggert  <eggert@twinsun.com>
74450
74451         * gnulib-tool: Use "test -h", not "test -L", for portability
74452         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
74453         (tags_regexp): Remove, since \| doesn't conform to POSIX.
74454         (sed_extract_prog): Issue s commands one-by-one, rather than
74455         using \| in one s command.
74456
74457 2003-09-16  Paul Eggert  <eggert@twinsun.com>
74458
74459         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
74460         input error, instead of returning NULL the next time we are called
74461         (and therefore losing track of errno).
74462
74463 2003-09-16  Bruno Haible  <bruno@clisp.org>
74464
74465         * gnulib-tool (func_create_testdir): Warn about duplicated
74466         dependencies.
74467
74468 2003-09-15  Paul Eggert  <eggert@twinsun.com>
74469
74470         * modules/argmatch, modules/fatal, modules/obstack,
74471         modules/xalloc, modules/xgethostname: Sort dependencies by
74472         importance, not alphabetically.
74473
74474 2003-09-15  Paul Eggert  <eggert@twinsun.com>
74475
74476         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
74477         fails, so that the caller gets the proper errno.
74478
74479         * lib/readutmp.c (read_utmp): Likewise.
74480         Check for fstat error.  Close stream and free storage
74481         when failing.
74482
74483 2003-09-14  Karl Berry  <karl@gnu.org>
74484
74485         * config/srclist.txt (strdup.c): disable for c89 changes.
74486
74487 2003-09-14  Jim Meyering  <jim@meyering.net>
74488
74489         * lib/getloadavg.c: Correct cpp indentation.
74490         * lib/strdup.c: Likewise.
74491         * lib/vasnprintf.c: Likewise.
74492
74493 2003-09-14  Bruno Haible  <bruno@clisp.org>
74494
74495         * modules/fwriteerror: New file.
74496         * MODULES.html.sh (func_all_modules): Add fwriteerror.
74497
74498 2003-09-14  Bruno Haible  <bruno@clisp.org>
74499
74500         * lib/fwriteerror.h: New file.
74501         * lib/fwriteerror.c: New file.
74502
74503 2003-09-12  Paul Eggert  <eggert@twinsun.com>
74504
74505         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
74506         modules/xgethostname, modules/xalloc: Depend on exit.
74507
74508 2003-09-12  Paul Eggert  <eggert@twinsun.com>
74509
74510         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
74511
74512         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
74513         and AC_MINIX, too, so that their extensions are available.
74514
74515         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
74516         This macro has been superseded by gl_BACKUPFILE.
74517
74518         More patches to assume C89 or better.
74519
74520         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
74521
74522         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
74523         unconditionally.
74524         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
74525         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
74526         Include <string.h>, <stdlib.h> unconditionally.
74527         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
74528         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
74529         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
74530         headers or for string.h.
74531         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
74532         or strtoul.
74533
74534         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
74535         headers.
74536         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
74537         * m4/userspec.m4 (gl_USERSPEC): Likewise.
74538         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
74539         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
74540         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
74541         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
74542         memcpy, memset.
74543         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
74544         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
74545         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
74546         strtol.
74547         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
74548         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
74549         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
74550         strtoul.
74551
74552 2003-09-12  Paul Eggert  <eggert@twinsun.com>
74553
74554         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
74555         * lib/obstack.c [!defined _LIBC]: Likewise.
74556         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
74557         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
74558         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
74559
74560         More changes to assume C89 or better.
74561
74562         * lib/error.c (error_tail): Assume vprintf.
74563
74564         * lib/argmatch.c (getenv): Remove decl.
74565         * lib/progreloc.c (get_full_program_name): Define via prototype.
74566         * lib/setenv.c (clearenv): Likewise.
74567         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
74568         needed.
74569         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
74570         (malloc, memcpy): Remove decls.
74571         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
74572         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
74573         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
74574         (memcpy): Remove macro.
74575         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
74576         (__P): Remove.  All uses removed.
74577         (PTR): Remove.  All uses changed to void *.
74578         (CHAR_BIT, NULL): Remove.
74579         (spaces, zeros, memset_space, memset_zero)
74580         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
74581         Remove.
74582         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
74583         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
74584         Define with prototype.
74585         Remove now-unnecessary prototype decl.
74586         (extra_args_spec): Assume ANSI C.  All uses changed.
74587         (extra_args_spec_iso): Remove.
74588         (my_strftime, emacs_strftimeu): Define via prototype.
74589         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
74590         unconditionally.
74591         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
74592         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
74593         (strtoul, strtol): Remove decls.
74594         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
74595         LONG_MAX): Remove.
74596         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
74597         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
74598         (LOCALE_PARAM_PROTO): New macro.
74599         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
74600         (INTERNAL (strtol), strtol): Define with a prototype.
74601         (PARAMS): Remove.  All uses removed.
74602         * lib/tempname.c: Include <string.h> unconditionally.
74603         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
74604         * lib/xgethostname.c (main): Define with a prototype.
74605         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
74606         Include <stdlib.h> unconditionally.
74607         (calloc, malloc, realloc, free): Remove decls.
74608         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
74609         Include <stdlib.h> unconditionally.  Sort include file names.
74610         (strtod): Remove.
74611         (xstrtod): Define with a prototype.
74612         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
74613         (strtol, strtoul): Remove decls.
74614
74615 2003-09-11  Paul Eggert  <eggert@twinsun.com>
74616
74617         More patches to assume C89 or better.
74618         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
74619         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
74620         string.h, memchr, STDC_HEADERS.
74621
74622 2003-09-11  Paul Eggert  <eggert@twinsun.com>
74623
74624         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
74625         Include <stdlib.h>, <string.h> unconditionally.
74626         Remove now-unnecessary cast to char *.
74627         * lib/strnlen.c: Include <string.h> unconditionally.
74628         * lib/yesno.c (yesno): Define with a prototype.
74629
74630 2003-09-11  Bruno Haible  <bruno@clisp.org>
74631
74632         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
74633
74634 2003-09-10  Jim Meyering  <jim@meyering.net>
74635
74636         * lib/error.c: Correct indentation of cpp directives.
74637
74638 2003-09-10  Bruno Haible  <bruno@clisp.org>
74639
74640         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
74641         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
74642         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
74643         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
74644         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
74645         <stdlib.h> and <string.h> checks.
74646         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
74647         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
74648
74649 2003-09-10  Bruno Haible  <bruno@clisp.org>
74650
74651         * lib/strcspn.c: Include <string.h> unconditionally.
74652         * lib/strpbrk.c: Include <string.h> unconditionally.
74653         * lib/strstr.c: Include <string.h> unconditionally.
74654         * lib/unicodeio.c: Include <string.h> unconditionally.
74655         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
74656         * lib/unsetenv.c: Likewise.
74657         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
74658         * lib/yesno.c: Include <stdlib.h> unconditionally.
74659         (rpmatch): Add prototype.
74660
74661 2003-09-09  Paul Eggert  <eggert@twinsun.com>
74662
74663         More patches to assume C89 or better.
74664         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
74665         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
74666         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
74667         or for string.h.
74668         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
74669         stdlib.h.
74670         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
74671         C headers.
74672         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
74673         string.h.
74674         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
74675         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
74676         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
74677         or for string.h.
74678         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
74679         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
74680         C headers.
74681         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
74682         memcpy.
74683         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
74684         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
74685         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
74686         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
74687         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
74688         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
74689         string.h, free.
74690         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
74691         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
74692         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
74693         C headers, or for string.h.
74694         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
74695         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
74696         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
74697         headers, memory.h, stdlib.h, string.h, strings.h.
74698         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
74699         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
74700         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
74701         strchr.
74702         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
74703         headers, memory.h, string.h.
74704         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
74705         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
74706         free.
74707         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
74708         headers.
74709         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
74710         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
74711         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
74712         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
74713         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
74714
74715 2003-09-09  Paul Eggert  <eggert@twinsun.com>
74716
74717         More K&R removal.
74718
74719         * lib/acosl.c (main): Use a prototype.
74720         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
74721         tanl.c: Likewise.
74722
74723         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
74724
74725         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
74726         (getopt, etopt_long, getopt_long_only, _getopt_internal)
74727         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
74728         with a prototype.
74729         * lib/getopt.c (const): Remove macro.
74730         Include <string.h> unconditionally.
74731         (my_index): Remove; all uses changed to strchr.
74732         (strlen): Remove decl.
74733         (exchange): Remove forward decl; no longer needed.
74734         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
74735         Define with prototype.
74736         * lib/getopt1.c (const): Remove macro.
74737         (getopt_long, getopt_long_only, main): Define with prototype.
74738
74739         * lib/getugroups.c: Include <string.h> unconditionally.
74740
74741         * lib/getusershell.c: Include <stdlib.h> unconditionally.
74742         (getusershell, setusershell, endusershell, readname, main):
74743         Define with prototypes.
74744
74745         * lib/group-member.c: Include group-member.h first.
74746         Include <stdlib.h> unconditionally.
74747
74748         * lib/hard-locale.c: Include hard-locale.h first.
74749         Include <stdlib.h>, <string.h> unconditionally.
74750
74751         * lib/hash.c (free, malloc): Remove decls.
74752         Include <stdlib.h> unconditionally.
74753
74754         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
74755         (getenv): Do not declare.
74756
74757         * lib/idcache.c: Include <string.h> unconditionally.
74758
74759         * lib/long-options.c: Include long-options.h first, to test interface.
74760         Include <stdlib.h> unconditionally.
74761
74762         * lib/makepath.c: Include makepath.h first, to test interface.
74763         Include <stdlib.h> and <string.h> unconditionally.
74764
74765         * lib/linebuffer.c: Include <stdlib.h>.
74766         (free): Remove decl.
74767
74768         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
74769         stddef.h. rpl_malloc returns void *, not char *.
74770         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
74771         prototype.
74772
74773         * lib/md5.h: Include <limits.h> unconditionally.
74774         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
74775         (__P): Remove; all uses removed.
74776         * lib/md5.c: Include "md5.h" first.
74777         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
74778         md5_buffer, md5_process_bytes, md5_process_block):
74779         Define with prototypes.
74780         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
74781         * lib/sha.c: Include "sha.h" first.
74782         Include <stdlib.h>, <string.h> unconditionally.
74783
74784         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
74785         * lib/memcmp.c (__ptr_t): Likewise.
74786         * lib/memrchr.c (__ptr_t): Likewise.
74787         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
74788         Include <string.h> unconditionally.
74789         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
74790         * lib/memchr.c: Include <stdlib.h> unconditionally.
74791         * lib/memchr.c (LONG_MAX): Remove.
74792         * lib/memrchr.c (LONG_MAX): Likewise.
74793         * lib/memchr.c (__memchr): Define via a prototype.
74794         * lib/memrchr.c (__memrchr): Likewise.
74795         * lib/memcmp.c (__P): Remove, and remove all uses.
74796         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
74797         Remove forward decls; no longer needed.
74798         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
74799         Use types required by C89 in prototype.
74800
74801         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
74802         * lib/savedir.c: Likewise.
74803         * lib/mkdir.c (free): Remove decl.
74804         * lib/rmdir.c (rmdir): Define with a prototype.
74805         * lib/savedir.c: Include savedir.h first, to test interface.
74806
74807         * lib/mktime.c (STDC_HEADERS): Remove.
74808         Include <stdlib.h>, <string.h> unconditionally.
74809
74810         * lib/modechange.c: Include <stdlib.h> unconditionally.
74811         (malloc): Remove decl.
74812
74813         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
74814         (free): Remove decl.
74815
74816         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
74817         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
74818         (This type really should be intptr_t, but that's a C99ism.)
74819         (_obstack_memcpy): Remove: all uses changed to memcpy.
74820         Include <string.h> unconditionally.
74821         (struct obstack): Assume __STDC__ for types of members
74822         chunkfun, freefun, extra_arg.
74823         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
74824         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
74825         obstack_begin, obstack_specify_allocation,
74826         obstack_specify_allocation_with_arg, obstack_chunkfun,
74827         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
74828         Remove unprototyped decls and the macros that use them.
74829         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
74830         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
74831         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
74832         (defined __STDC__ && __STDC__)]:
74833         Remove nonprototyped code.
74834         Include <stdlib.h> unconditionally.
74835         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
74836         _obstack_allocated_p, _obstack_free, obstack_free,
74837         _obstack_memory_used, print_and_abort):
74838         Define using prototypes.
74839         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
74840         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
74841         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
74842         obstack_next_free, obstack_object_size, obstack_room) [0]:
74843         Remove unused, unprototyped code.
74844
74845         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
74846
74847         * lib/physmem.c (physmem_total, physmem_available, main): Define
74848         with prototypes.
74849
74850         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
74851         (main): Define with a prototype.
74852
74853         * lib/posixver.c (getenv): Remove decl.
74854
74855         * lib/putenv.c (malloc): Returns void *, not char *.
74856         Include <string.h> unconditionally.
74857         (strchr, memcpy, NULL): Do not define.
74858
74859         * lib/readtokens.c: Include readtokens.h first, to test interface.
74860         Include <stdlib.h>, <string.h> unconditionally.
74861         (init_tokenbuffer): Define with a prototype.
74862
74863         * lib/regex.c (PARAMS): Remove.  All uses removed.
74864         All uses of _RE_ARGS removed, too.
74865         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
74866         unconditionally.
74867         (bzero): Assume memset exists.
74868         (memcmp, memcpy, NULL): Remove.
74869         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
74870         char, or assignments to local vars of type signed char.
74871         (init_syntax_once, PREFIX(extract_number_and_incr),
74872         PREFIX(print_partial_compiled_pattern),
74873         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
74874         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
74875         PREFIX(regex_grow_registers), PREFIX(regex_compile),
74876         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
74877         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
74878         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
74879         wcs_compile_range, byte_compile_range, truncate_wchar,
74880         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
74881         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
74882         count_mbs_length, wcs_re_match_2_internal,
74883         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
74884         PREFIX(alt_match_null_string_p),
74885         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
74886         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
74887         regfree, PREFIX(extract_number)): Define with prototype.  Remove
74888         now-unnecessary declaration, if any.
74889         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
74890         regcomp, regexec):
74891         Remove now-unnecessary casts among pointer types.
74892         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
74893
74894         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
74895         (free): Remove decl.
74896
74897         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
74898
74899         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
74900         (free): Remove decl.
74901
74902         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
74903         * lib/xgetcwd.c: Likewise.
74904
74905         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
74906         (free): Remove decl.
74907
74908         * lib/strchrnul.c (strchrnul): Define with a prototype.
74909         Fix bug: c_in was not converted to char before searching.
74910
74911         The following changes are not K&R related:
74912
74913         * lib/group-member.h: Include <sys/types.h>, so that this file is
74914         self-contained.
74915         * lib/makepath.h: Likewise.
74916
74917         * lib/getusershell.c (readname, default_index, line_size, readname):
74918         Use size_t, not int, for sizes.
74919         (readname): If the size overflows, report an error instead of
74920         looping forever.
74921
74922 2003-09-09  Paul Eggert  <eggert@twinsun.com>
74923
74924         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
74925         libc.
74926
74927 2003-09-09  Paul Eggert  <eggert@twinsun.com>
74928
74929         * README: New section: portability guidelines.
74930
74931 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
74932
74933         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
74934         C89 spec.
74935
74936 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
74937
74938         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
74939
74940 2003-09-08  Paul Eggert  <eggert@twinsun.com>
74941
74942         Assume C89 or better; remove K&R cruft.
74943         A few of these changes were first proposed by Derek Robert Price
74944         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
74945
74946         * lib/addext.c: Include <string.h> unconditionally.
74947         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
74948         Don't declare getenv or malloc.
74949
74950         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
74951         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
74952         (NULL): Remove.
74953         (find_stack_direction, alloca): Use prototypes.
74954
74955         * lib/atexit.c (atexit): Define using a prototype.
74956
74957         * lib/basename.c, dirname.c, stripslash.c:
74958         Include <string.h> unconditionally.
74959
74960         * lib/bcopy.c: Include <stddef.h>.
74961         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
74962
74963         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
74964
74965         * lib/error.h (error, error_at_line, error_print_progname)
74966         [! (defined (__STDC__) && __STDC__)]: Remove decls.
74967         * lib/error.c: Include error.h first, to check interface.
74968         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
74969         (VA_START): Remove; all uses changeed to va_start.
74970         (exit, strerror): Remove decls.
74971         (error_print_progname): Prototype uncondionally.
74972         Don't include <errno.h>; no longer needed.
74973         (private_strerror): Remove.
74974         (error_tail): Always define.
74975         (error, error_at_line): Assume C89 or better; always use prototypes.
74976         * lib/fatal.c: Include "fatal.h" first, to test interface.
74977         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
74978         (VA_START): Remove; all uses changed to va_start.
74979         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
74980         this case.
74981         (exit): Remove decl.
74982         (fatal): Prototype unconditionally.  Assume va_start works.
74983         Abort at end, to pacify gcc.
74984
74985         * lib/euidaccess.c (main): Define with a prototype.
74986
74987         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
74988
74989         * lib/exitfail.c: Include <stdlib.h> unconditionally.
74990
74991         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
74992         prototypes.
74993         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
74994         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
74995         (getenv): Remove decl.
74996         (fnmatch): Define using a prototype.
74997         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
74998         (FCT): Define using a prototype.
74999
75000         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
75001
75002         * lib/gethostname.c: Include <stddef.h>.
75003         (gethostname): Define with prototype.  Length is size_t, not int.
75004
75005 2003-09-08  Paul Eggert  <eggert@twinsun.com>
75006
75007         Assume C89 or better; remove K&R cruft.
75008         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
75009         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
75010         string.h, getenv, malloc.
75011         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
75012         headers.
75013         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
75014         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
75015         do not check for strerror.
75016         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
75017         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
75018         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
75019         do not check for doprnt or vprintf.
75020         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
75021         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
75022
75023 2003-09-08  Paul Eggert  <eggert@twinsun.com>
75024
75025         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
75026         getversion.c should have been removed then, but was accidentally
75027         preserved.
75028
75029         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
75030         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
75031
75032 2003-09-08  Karl Berry  <karl@gnu.org>
75033
75034         * config/config.sub, config.guess, srclistvars.sh: update from savannah
75035                 config, forget about prep.
75036
75037         * config/depcomp, missing: update from automake.
75038
75039 2003-09-07  Paul Eggert  <eggert@twinsun.com>
75040
75041         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
75042         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
75043
75044 2003-09-07  Paul Eggert  <eggert@twinsun.com>
75045
75046         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
75047         copy_tm_result.  Bug reported by Simon Josefsson in
75048         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
75049
75050 2003-09-06  Paul Eggert  <eggert@twinsun.com>
75051
75052         * m4/time_r.m4: New file.
75053         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
75054         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
75055         is. Check for timegm declaration.
75056         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
75057         Do not check for gmtime_r.
75058         Replace mktime if __mktime_internal does not exist and if mktime
75059         hasn't been replaced already.
75060
75061 2003-09-06  Paul Eggert  <eggert@twinsun.com>
75062
75063         * lib/time_r.c, lib/time_r.h: New files.
75064
75065         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
75066         __localtime_r.
75067         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
75068         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
75069
75070         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
75071         __gmtime_r.
75072         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
75073         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
75074         Include <time_r.h>.
75075
75076         * lib/timegm.c: Switch to glibc implementation, with the following
75077         changes:
75078         [defined HAVE_CONFIG_H]: Include <config.h>.
75079         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
75080         (__mktime_internal) [!defined _LIBC]: New decl.
75081         (__gmtime_r) [!defined _LIBC]: New macro and function.
75082         (timegm): Use a prototype, since gnulib assumes C89.
75083         Do not bother declaring tmp to be const, as it's not really usefu.
75084         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
75085         (timegm): Declare only if HAVE_DECL_TIMEGM.
75086
75087 2003-09-06  Paul Eggert  <eggert@twinsun.com>
75088
75089         * MODULES.html.sh (func_all_modules): Add time_r.
75090         * modules/time_r: New file.
75091         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
75092         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
75093
75094 2003-09-03  Paul Eggert  <eggert@twinsun.com>
75095
75096         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
75097         Bug reported by Lute Kamstra in
75098         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
75099
75100         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
75101         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
75102         course with correspondingly smaller numbers for tomorrow and
75103         yesterday.  From Tadayoshi Funaba.  Originally installed into
75104         sh-utils on 1999-08-07, but the patch got lost (I guess during the
75105         coreutils merge?).
75106
75107 2003-08-31  Simon Josefsson  <jas@extundo.com>
75108
75109         * modules/timegm: New file.
75110         * MODULES.html.sh (func_all_modules): Add timegm.
75111
75112 2003-08-31  Simon Josefsson  <jas@extundo.com>
75113
75114         * m4/timegm.m4: New file.
75115
75116 2003-08-31  Simon Josefsson  <jas@extundo.com>
75117
75118         * lib/timegm.h: New file.
75119         * lib/timegm.c: New file.  Based on
75120         wget-1.8.2/src/http.c:mktime_from_utc.
75121
75122 2003-08-31  Karl Berry  <karl@gnu.org>
75123
75124         * lib/argp.h: update from libc.
75125
75126 2003-08-28  Bruno Haible  <bruno@clisp.org>
75127
75128         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
75129         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
75130         followed by '#define fnmatch fnmatch_posix' gives an error.
75131
75132 2003-08-28  Bruno Haible  <bruno@clisp.org>
75133
75134         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
75135         warning on QNX, which defines O_BINARY to 000000.
75136
75137 2003-08-27  Jim Meyering  <jim@meyering.net>
75138
75139         * m4/mkstemp.m4: Require that the system mkstemp be able to create
75140         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
75141         would fail after 32.  Reported by Danny Levinson.  Details here:
75142         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
75143
75144 2003-08-24  Bruno Haible  <bruno@clisp.org>
75145
75146         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
75147         MSVC7 <stdio.h> is included later.
75148
75149 2003-08-22  Simon Josefsson  <jas@extundo.com>
75150
75151         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
75152
75153 2003-08-20  Karl Berry  <karl@gnu.org>
75154
75155         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
75156
75157 2003-08-20  Bruno Haible  <bruno@clisp.org>
75158
75159         * modules/progname: New file.
75160         * MODULES.html.sh (func_all_modules): Add progname.
75161
75162 2003-08-20  Bruno Haible  <bruno@clisp.org>
75163
75164         * lib/progname.h: New file, from GNU gettext.
75165         * lib/progname.c: New file, from GNU gettext.
75166         * lib/progreloc.c: New file, from GNU gettext.
75167
75168 2003-08-19  Jim Meyering  <jim@meyering.net>
75169
75170         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
75171         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
75172
75173 2003-08-19  Bruno Haible  <bruno@clisp.org>
75174
75175         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
75176         more.
75177
75178 2003-08-19  Bruno Haible  <bruno@clisp.org>
75179
75180         * lib/xstrdup.c: Assume <string.h> exists.
75181
75182 2003-08-18  Paul Eggert  <eggert@twinsun.com>
75183
75184         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
75185         in makefile rules.
75186
75187 2003-08-18  Jim Meyering  <jim@meyering.net>
75188
75189         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
75190         * m4/lib-ld.m4: Likewise.
75191
75192 2003-08-18  Jim Meyering  <jim@meyering.net>
75193
75194         * lib/setenv.h: Indent nested cpp directive.
75195         * lib/vasnprintf.c: Remove trailing blanks.
75196
75197 2003-08-17  Simon Josefsson  <jas@extundo.com>
75198
75199         * modules/xstrndup: New file.
75200         * MODULES.html.sh (func_all_modules): Add xstrndup.
75201
75202 2003-08-17  Simon Josefsson  <jas@extundo.com>
75203
75204         * modules/argp: Fix autoconf macro name. Add more dependencies.
75205
75206 2003-08-17  Simon Josefsson  <jas@extundo.com>
75207
75208         * m4/xstrndup.m4: New file.
75209
75210 2003-08-17  Simon Josefsson  <jas@extundo.com>
75211
75212         * m4/argp.m4: New file.
75213
75214 2003-08-17  Simon Josefsson  <jas@extundo.com>
75215             Bruno Haible  <bruno@clisp.org>
75216
75217         * lib/xstrndup.h: New file.
75218         * lib/xstrndup.c: New file.
75219
75220 2003-08-17  Bruno Haible  <bruno@clisp.org>
75221
75222         * modules/strndup (Files, Include): Add lib/strndup.h.
75223
75224 2003-08-17  Bruno Haible  <bruno@clisp.org>
75225
75226         * modules/euidaccess (Files): Add lib/euidaccess.h.
75227
75228 2003-08-17  Bruno Haible  <bruno@clisp.org>
75229
75230         * lib/strndup.h: New file.
75231
75232 2003-08-17  Bruno Haible  <bruno@clisp.org>
75233
75234         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
75235         like AC_GNU_SOURCE.
75236         * modules/extensions (configure.ac): Comment out the invocation of
75237         gl_USE_SYSTEM_EXTENSIONS.
75238
75239 2003-08-16  Paul Eggert  <eggert@twinsun.com>
75240
75241         Merges from coreutils, etc.
75242         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
75243         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
75244         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
75245         fixing a typo.
75246         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
75247         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
75248
75249 2003-08-16  Paul Eggert  <eggert@twinsun.com>
75250
75251         Document merge from coreutils.
75252         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
75253         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
75254         * modules/utime: Add m4/utimes-null.m4.
75255
75256 2003-08-16  Paul Eggert  <eggert@twinsun.com>
75257
75258         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
75259         space, undoing this 2003-08-12 change:
75260         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
75261
75262 2003-08-16  Paul Eggert  <eggert@twinsun.com>
75263
75264         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
75265         strtoul.c from libc, undoing this 2003-08-12 change:
75266         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
75267
75268 2003-08-16  Jim Meyering  <jim@meyering.net>
75269
75270         Merges from coreutils.
75271         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
75272         prefix.  Adjust cache variables similarly.  Create 500 rather than
75273         just 300 files, to exercise bug on Darwin6.5, too.
75274         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
75275         $missing_dir.
75276         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
75277         AM_SYS_POSIX_TERMIOS.
75278         Reported by mkc@mathdogs.com.
75279         Also change use of $am_cv_sys_posix_termios
75280         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
75281         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
75282         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
75283         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
75284         in /proc/mounts until it finds one with matching device number.  This
75285         is unnecessary when the FILE argument *is* a mount point.  No stat call
75286         is necessary in that case.  So, disable the statvfs-testing code on
75287         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
75288         as RedHat bug# 84846.
75289         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
75290         to 1MB, so as not to render systems with no stack size limit (e.g.,
75291         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
75292         Include <unistd.h>.  On some systems,
75293         it is required for the definition of _SC_PAGESIZE.
75294
75295 2003-08-16  Jim Meyering  <jim@meyering.net>
75296
75297         Merge from coreutils.
75298         * lib/xstrtoimax.c: #else #if -> #elif.
75299         * lib/xstrtoumax.c: Likewise.
75300
75301 2003-08-16  Jim Meyering  <jim@meyering.net>
75302
75303         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
75304         * m4/utimes.m4: Removed.
75305         * m4/utimes-null.m4: Renamed from utimes.m4.
75306
75307         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
75308         to 1MB, so as not to render systems with no stack size limit (e.g.,
75309         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
75310         Include <unistd.h>.  On some systems,
75311         it is required for the definition of _SC_PAGESIZE.
75312
75313 2003-08-16  Jim Meyering  <jim@meyering.net>
75314         and Paul Eggert  <eggert@cs.ucla.edu>
75315
75316         Merges from coreutils, etc.
75317
75318         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
75319         using the latest version from cvs.  This avoids problems with #line
75320         directives using a vendor (Sun) compiler.
75321         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
75322         Don't set GETGROUPS_LIB here; now it's
75323         done via getgroups.m4's wrapper function.
75324         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
75325         rather than just in sh-util/configure.in, so that the
75326         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
75327         same.
75328         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
75329         AC_FUNC_GETLOADAVG where to find getloadavg.c.
75330         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
75331         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
75332         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
75333         Remove code that is now done by the newly-required macros.
75334         Append $(EXEEXT) to DF_PROG.
75335         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
75336         Do not invoke or require the following here,
75337         since prereq.m4 or some gnulib .m4 now does this for us:
75338         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
75339         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
75340         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
75341         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
75342         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
75343         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
75344         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
75345         AC_FUNC_OBSTACK.
75346         Do not replace the following functions, as this is now the job
75347         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
75348         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
75349         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
75350         atexit getpass, strdup, getpagesize.
75351         Replace 'raise'.
75352         Do not check for the following functions, as this is now the job
75353         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
75354         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
75355         setregid.
75356         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
75357         Check for sys/sysctl.h.
75358         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
75359         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
75360         of checking for ssize_t ourselves.
75361
75362         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
75363         Require every macro that gnulib/modules/* suggests for us.
75364         (jm_PREREQ_ADDEXT): New macro.
75365         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
75366         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
75367
75368         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
75369         (gl_PHYSMEM): Use it.
75370         Also check for `table' function.
75371         Check for new headers and functions.
75372         Add check for sys/sysmp.h.
75373         With suggestions from Kaveh Ghazi.
75374         Ignore headers that are present but cannot be compiled.  This
75375         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
75376         C 5.4.
75377
75378 2003-08-15  Paul Eggert  <eggert@twinsun.com>
75379
75380         Document merge from coreutils.
75381         * modules/userspec: Depend on posixver.
75382         * modules/strftime: Depend on tzset.
75383
75384 2003-08-15  Paul Eggert  <eggert@twinsun.com>
75385
75386         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
75387         rather than tab, after '#' in shell-script copyright notices.
75388         Suggested by Bruno Haible.
75389
75390 2003-08-15  Paul Eggert  <eggert@twinsun.com>
75391
75392         * config/srclist-update: Use three spaces, rather than tab, after '#'
75393         in shell-script copyright notices.  Suggested by Bruno Haible.
75394         Remove unnecessary parenthesization in regular expression.
75395
75396 2003-08-15  Jim Meyering  <jim@meyering.net>
75397
75398         Merge from coreutils.
75399         * lib/xgethostname.c: Include <stdlib.h>.
75400         (xghostname): Don't exit for anything other than memory-related
75401         failure; just return NULL.
75402         * lib/userspec.c: Include "posixver.h".
75403         (parse_user_spec): Accept `.' as a separator only
75404         in pre-POSIX-200112 mode.
75405         * lib/strtoimax.c: Use #elif rather than #else #if.
75406         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
75407         Remove function, now that we can rely on a working tzset function.
75408         [!_LIBC]: Ensure that the required autoconf test has been run.
75409         [!defined _NL_CURRENT && HAVE_STRFTIME]:
75410         Use underlying_strftime for %r.
75411         * lib/sha.c: Merge in some clean-up and optimization changes from
75412         glibc.
75413         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
75414         Ensure that it is a multiple of 64.
75415         Rearrange loop exit tests so as to avoid performing an
75416         additional fread after encountering an error or EOF.
75417         * lib/realloc.c: Update copyright date.
75418
75419 2003-08-15  Jim Meyering  <jim@meyering.net>
75420         and Paul Eggert  <eggert@twinsun.com>
75421
75422         Merge from coreutils.
75423         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
75424         member but strut utmpx does not.  Needed for AIX 4.3.3.
75425         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
75426
75427 2003-08-15  Jim Meyering  <jim@meyering.net>
75428         and Paul Eggert  <eggert@cs.ucla.edu>
75429
75430         Merges from coreutils, etc.
75431         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
75432         Require gl_FUNC_TZSET_CLOBBER.
75433         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
75434         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
75435         members.
75436
75437 2003-08-14  Paul Eggert  <eggert@twinsun.com>
75438
75439         Help the merge from coreutils.
75440         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
75441         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
75442         * m4/tzset.m4: Use it too.
75443
75444 2003-08-14  Paul Eggert  <eggert@twinsun.com>
75445
75446         * modules/tzset: New file.
75447
75448 2003-08-14  Jim Meyering  <jim@meyering.net>
75449
75450         Merges from coreutils.
75451         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
75452         variable names, rather than @FNMATCH_H@.
75453         * modules/alloca: Likewise for $(ALLOCA_H).
75454
75455         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
75456         the three copies of the literal target, `fnmatch.h'.
75457         * modules/alloca (alloca.h): Likewise.
75458
75459 2003-08-14  Jim Meyering  <jim@meyering.net>
75460
75461         Merge from coreutils.
75462         * m4/tzset.m4: New file.
75463         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
75464         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
75465         otherwise, AIX 5.1 systems would end up using the latter.
75466         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
75467         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
75468         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
75469         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
75470
75471 2003-08-14  Jim Meyering  <jim@meyering.net>
75472
75473         Merge from coreutils.
75474         * lib/obstack.h: Whitespace changes.
75475         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
75476         and xcalloc return values.
75477         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
75478         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
75479         hang on OSF/1 5.1 for DIR on both local and remote file systems.
75480         Reported by (and fix confirmed by) Nelson H. F. Beebe.
75481         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
75482         error from mntctl.
75483         Use mntctl's return value to drive the entry-processing loop, since
75484         we can't rely on the value of the vmt_length member in the last
75485         entry.  On some systems doing so could result in exhausting
75486         virtual memory.  Based in part on a patch from Mike Jetzer.
75487
75488 2003-08-14  Jim Meyering  <jim@meyering.net>
75489         and Paul Eggert  <eggert@twinsun.com>
75490
75491         Merges from coreutils, plus other fixes.
75492         * lib/physmem.c: Merge in portability changes from gcc/libiberty
75493         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
75494         for credits and details.  Thanks to Kaveh Ghazi for helping
75495         to keep these files in sync.
75496         (ARRAY_SIZE): Define it.
75497         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
75498         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
75499         (memcasecmp): Don't assume size_t fits in unsigned int.
75500         Remove casts and duplicate code.
75501         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
75502         (memcpy): Remove definition.
75503         Merge in some clean-up and optimization changes from glibc.
75504         [BLOCKSIZE]: Move definition to top of file.
75505         Ensure that it is a multiple of 64.
75506         Rearrange loop exit tests so as to avoid performing an
75507         additional fread after encountering an error or EOF.
75508         * lib/md5.h (md5_uintptr): Define.
75509         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
75510         return to the initial working directory.  Preserve errno
75511         for caller.
75512         * lib/idcache.c: Include "xalloc.h".
75513         (xmalloc, xrealloc): Remove decls.
75514         (getuser): Remove casts no longer required in C89.
75515         * lib/human.c: Include stdio.h, for sprintf.
75516         * lib/group-member.c: Include "xalloc.h".
75517         (xmalloc, xrealloc): Remove decls.
75518         (get_group_info): Remove casts no longer required in C89.
75519         * lib/getusershell.c (readname): Remove casts no longer required in
75520         C89.
75521         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
75522         * lib/getline.c: Whitespace fix, from coreutils.
75523
75524 2003-08-13  Paul Eggert  <eggert@twinsun.com>
75525
75526         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
75527         Check for isascii.
75528
75529         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
75530         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
75531         Undo previous (whitespace-only) change.
75532
75533 2003-08-13  Paul Eggert  <eggert@twinsun.com>
75534
75535         * lib/exclude.c: Include <ctype.h>
75536         (IN_CTYPE_DOMAIN): New macro.
75537         (is_space): New fn.
75538         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
75539         and empty lines.
75540
75541         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
75542         Undo previous (whitespace-only) change.
75543
75544 2003-08-13  Paul Eggert  <eggert@twinsun.com>
75545
75546         * config/srclist-update: Change update back to the old behavior,
75547         leaving whitespace alone.  Use one 'sed' command rather than a
75548         pipeline.
75549         (fixlicense): Now a variable, not a function.
75550         (remove_trailing_blanks): Remove.
75551         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
75552         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
75553         Undo previous (whitespace-only) change.
75554
75555 2003-08-12  Paul Eggert  <eggert@twinsun.com>
75556
75557         Merge from coreutils.
75558         * modules/euidaccess: Add lib_SOURCES, include for new
75559         file euidaccess.h
75560
75561 2003-08-12  Paul Eggert  <eggert@twinsun.com>
75562
75563         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
75564         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
75565         Normalize leading white space and remove trailing white space.
75566
75567         Merge from coreutils
75568         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
75569
75570         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
75571         0.12.1.  These files are now being upgraded automatically by
75572         ../config/srclist-update.
75573
75574 2003-08-12  Paul Eggert  <eggert@twinsun.com>
75575
75576         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
75577         Normalize leading white space and remove trailing white space.
75578         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
75579         notice, as per ../config/srclist-update.
75580
75581         Merge from coreutils.
75582         * lib/euidaccess.h: New file.
75583         * lib/euidaccess.c: Include it.
75584         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
75585         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
75586         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
75587
75588 2003-08-12  Paul Eggert  <eggert@twinsun.com>
75589
75590         * config/srclist-update: Add copyright notice.
75591         (remove_id_lines, remove_trailing_blanks): New constants.
75592         (fixfile): Use them to normalize spacing a bit in copied files.
75593         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
75594         Normalize leading white space and remove trailing white space.
75595
75596         * config/texinfo.tex: Sync with texinfo.
75597
75598         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
75599         strtoul.c from libc, to merge coreutils whitespace changes.
75600
75601         * config/srclist.txt: Get the following m4 files from gettext:
75602         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
75603         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
75604         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
75605         wint_t.m4.
75606
75607 2003-08-12  Karl Berry  <karl@gnu.org>
75608
75609         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
75610         been made.
75611
75612 2003-08-11  Paul Eggert  <eggert@twinsun.com>
75613
75614         * modules/gnu-source, m4/gnu-source.m4:
75615         Remove; we're assuming Autoconf 2.54 or later now.
75616         Suggested by Bruno Haible.
75617         * MODULES.html.sh (func_all_modules): Remove gnu-source.
75618
75619 2003-08-11  Bruno Haible  <bruno@clisp.org>
75620
75621         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
75622
75623 2003-08-11  Bruno Haible  <bruno@clisp.org>
75624
75625         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
75626         (vasnprintf): Use it instead of wcslen.
75627
75628 2003-08-11  Bruno Haible  <bruno@clisp.org>
75629
75630         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
75631         value to ensure that _Bool promotes to int. Use #define for _Bool when
75632         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
75633
75634 2003-08-10  Karl Berry  <karl@gnu.org>
75635
75636         * lib/regex.h: update from libc (whitespace fix).
75637
75638 2003-08-09  Paul Eggert  <eggert@twinsun.com>
75639
75640         Merge some files from coreutils.  These changes were
75641         originally made by Jim Meyering.
75642         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
75643         many older Unixes require this.
75644         * lib/alloca.c (alloca): Remove cast to argument of free;
75645         no longer needed in C89.
75646         * lib/alloca_.h, regex.h: Fix white space to match
75647         what GNU indent does.
75648
75649 2003-08-09  Paul Eggert  <eggert@twinsun.com>
75650
75651         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
75652         apparently Emacs's Unicode mode got confused before my 2003-08-05
75653         checkin.
75654
75655 2003-08-08  Paul Eggert  <eggert@twinsun.com>
75656
75657         * m4/extensions.m4: New file.
75658         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
75659         Require gl_USE_SYSTEM_EXTENSIONS.
75660         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
75661         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
75662
75663 2003-08-08  Paul Eggert  <eggert@twinsun.com>
75664
75665         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
75666         * modules/extensions, modules/gnu-source: New files.
75667         * modules/timespec, modules/unlocked-io: Depend on extensions.
75668
75669 2003-08-07  Paul Eggert  <eggert@twinsun.com>
75670
75671         * modules/restrict: New file.
75672         * MODULES.html.sh (func_all_modules): Add restrict.
75673         * modules/regex: Depend on restrict.
75674
75675 2003-08-07  Paul Eggert  <eggert@twinsun.com>
75676
75677         * m4/restrict.m4: New file.
75678         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
75679
75680 2003-08-07  Bruno Haible  <bruno@clisp.org>
75681
75682         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
75683         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
75684
75685 2003-08-07  Bruno Haible  <bruno@clisp.org>
75686
75687         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
75688         makes the module 'getndelim2' compatible with the module 'getline'.
75689
75690 2003-08-05  Paul Eggert  <eggert@twinsun.com>
75691
75692         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
75693         byte with "\201" to avoid glitches when editing that source file
75694         with multi-gnome-terminal.
75695
75696 2003-08-05  Paul Eggert  <eggert@twinsun.com>
75697
75698         * lib/bumpalloc.h: Remove.
75699
75700 2003-08-05  Paul Eggert  <eggert@twinsun.com>
75701
75702         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
75703         * modules/bumpalloc: Remove.
75704
75705 2003-08-04  Paul Eggert  <eggert@twinsun.com>
75706
75707         * lib/getloadavg.c: Change copyright notice and spacing to conform to
75708         GNU coding style.
75709
75710         Merge from coreutils.
75711         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
75712         1. From glibc.
75713         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
75714         from Karl Berry, implemented by Jim Meyering.
75715         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
75716         from Dmitry V. Levin.
75717         Remove anachronistic cast of xrealloc.
75718         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
75719         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
75720         type. Otherwise, it wouldn't compile with at least /bin/cc on
75721         ymp-cray-unicos9.0.2.X.
75722         Combine two mostly-identical uses of alloca into one.
75723         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
75724
75725 2003-08-04  Dave Love  <d.love@dl.ac.uk>
75726
75727         [From Emacs.]
75728
75729         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
75730         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
75731         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
75732         obsolete NLIST_NAME_UNION.
75733         [__GNU__]: Undef BSD and FSCALE.
75734         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
75735
75736 2003-08-03  Paul Eggert  <eggert@twinsun.com>
75737
75738         * lib/stdbool_.h (_Bool): Make it signed char, instead of
75739         an enum type, so that it's guaranteed to promote to int.  See:
75740         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
75741
75742 2003-08-03  Karl Berry  <karl@gnu.org>
75743
75744         * config/depcomp: update from automake.
75745
75746 2003-07-31  Paul Eggert  <eggert@twinsun.com>
75747
75748         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
75749         (strerror): Don't assume that a printable int fits in 14 bytes.
75750
75751 2003-07-31  Bruno Haible  <bruno@clisp.org>
75752
75753         * modules/getpass-gnu: New file.
75754         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
75755
75756 2003-07-31  Bruno Haible  <bruno@clisp.org>
75757
75758         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
75759
75760 2003-07-24  Karl Berry  <karl@gnu.org>
75761
75762         * config/missing: update from automake.
75763
75764 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
75765             Bruno Haible  <bruno@clisp.org>
75766
75767         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
75768         * lib/getline.c (getline, getdelim): Likewise.
75769         Remove _GNU_SOURCE define; now it's defined in config.h through
75770         m4/getline.m4.
75771
75772 2003-07-23  Karl Berry  <karl@gnu.org>
75773
75774         * config/config.sub: update from prep.
75775
75776 2003-07-22  Paul Eggert  <eggert@twinsun.com>
75777
75778         * modules/xalloc (Depends-on): Add exitfail.
75779         * modules/xmemcoll: Likewise.
75780
75781 2003-07-22  Paul Eggert  <eggert@twinsun.com>
75782
75783         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
75784         over-parenthesization in macros.
75785
75786         Sync with coreutils.
75787
75788         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
75789         required by C99.
75790
75791         Use `exit_failure' for xalloc and xmemcoll instead of their own
75792         private exit-failure variables.
75793         * lib/xalloc.h (xalloc_exit_failure): Remove.
75794         * lib/xmalloc.c: Likewise.  Include exitfail.h.
75795         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
75796         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
75797         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
75798         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
75799
75800 2003-07-20  Jim Meyering  <jim@meyering.net>
75801
75802         * modules/closeout (Depends-on): Add exitfail.
75803         Suggestion from Bruno Haible.
75804
75805 2003-07-19  Karl Berry  <karl@gnu.org>
75806
75807         * config/config.sub: update from prep.
75808
75809 2003-07-18  Paul Eggert  <eggert@twinsun.com>
75810
75811         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
75812         Remove.
75813         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
75814         to test that it can stand by itself.  Include "exitfail.h".
75815         Clients should set exit_failure instead.
75816         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
75817
75818 2003-07-18  Bruno Haible  <bruno@clisp.org>
75819
75820         * modules/getndelim2: New file.
75821         * modules/getline: Share files with module getndelim2.
75822         * modules/getnline: Depend on getndelim2 instead of sharing files with
75823         it. Add getnline.c to lib_SOURCES.
75824         * MODULES.html.sh (func_all_modules): Add getndelim2.
75825
75826 2003-07-18  Bruno Haible  <bruno@clisp.org>
75827
75828         * m4/getndelim2.m4: New file.
75829         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
75830         invoke gl_PREREQ_GETNDELIM2.
75831         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
75832         gl_PREREQ_GETNDELIM2.
75833         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
75834         gl_GETNDELIM2.
75835
75836 2003-07-18  Bruno Haible  <bruno@clisp.org>
75837
75838         * lib/getndelim2.h: New file.
75839         * lib/getndelim2.c: Make into a module of its own. Include config.h,
75840         getndelim2.h.
75841         (getndelim2): Make non-static. Change return type to ssize_t.
75842         * lib/getline.h: Change argument names.
75843         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
75844         * lib/getnline.c: Include getndelim2.h.
75845
75846 2003-07-18  Andreas Schwab  <schwab@suse.de>
75847
75848         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
75849
75850 2003-07-17  Karl Berry  <karl@gnu.org>
75851
75852         * config/config.sub: update from prep.
75853
75854 2003-07-17  Bruno Haible  <bruno@clisp.org>
75855
75856         * modules/getnline: New file.
75857         * modules/getline: Add lib/getndelim2.c to source file list.
75858         * MODULES.html.sh (func_all_modules): Add getnline.
75859
75860 2003-07-17  Bruno Haible  <bruno@clisp.org>
75861
75862         * m4/getnline.m4: New file.
75863
75864 2003-07-17  Bruno Haible  <bruno@clisp.org>
75865
75866         * m4/Makefile.am.in: Remove file.
75867         * m4/Makefile.am: Remove file.
75868         * m4/Makefile.in: Remove file.
75869
75870 2003-07-17  Bruno Haible  <bruno@clisp.org>
75871
75872         * lib/getnline.h: New file.
75873         * lib/getnline.c: New file.
75874         * lib/getndelim2.c: New file, extracted from getline.c.
75875         (getndelim2): Renamed from getdelim2, with added nmax argument.
75876         * lib/getline.c: Include getndelim2.c.
75877         (getdelim2): Moved out to getndelim2.c.
75878         (getline, getdelim): Update.
75879
75880 2003-07-17  Bruno Haible  <bruno@clisp.org>
75881
75882         * lib/Makefile.am: Remove file.
75883         * lib/Makefile.in: Remove file.
75884
75885 2003-07-17  Bruno Haible  <bruno@clisp.org>
75886
75887         * configure.in: Remove file.
75888         * Makefile.in: Remove file.
75889
75890 2003-07-17  Bruno Haible  <bruno@clisp.org>
75891
75892         * MODULES.html.sh: Put the </BODY> right before </HTML>.
75893
75894 2003-07-16  Karl Berry  <karl@gnu.org>
75895
75896         * config/srclist-update: was running fixlicense twice, which caused
75897                 texinfo.tex to be nullified for some reason.  Simplify,
75898                 $gplsrc is no longer needed as far as I can see?
75899
75900 2003-07-16  Jim Meyering  <jim@meyering.net>
75901
75902         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
75903
75904 2003-07-15  Paul Eggert  <eggert@twinsun.com>
75905
75906         * config/srclist.txt: Get the following files from gettext-runtime/intl
75907         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
75908         ref-del.sin.  From Bruno Haible.
75909         * config/srclist-update (fixfile): Change grep pattern again, since the
75910         previous fix didn't work (there was another trailing $).  Use
75911         '[$]' to escape the $s.
75912
75913 2003-07-15  Karl Berry  <karl@gnu.org>
75914
75915         * lib/vasnprintf.c: update from gettext.
75916
75917 2003-07-15  Karl Berry  <karl@gnu.org>
75918
75919         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
75920         gets expanded when surrounded by '$'.
75921
75922 2003-07-15  Jim Meyering  <jim@meyering.net>
75923
75924         * modules/save-cwd: Don't depend on error.  From Derek Price.
75925
75926 2003-07-15  Jim Meyering  <jim@meyering.net>
75927
75928         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
75929
75930 2003-07-14  Simon Josefsson  <jas@extundo.com>
75931
75932         * modules/mempcpy: New file.
75933         * MODULES.html.sh (func_all_modules): Add mempcpy.
75934
75935 2003-07-14  Simon Josefsson  <jas@extundo.com>
75936
75937         * m4/mempcpy.m4: New file.
75938
75939 2003-07-14  Simon Josefsson  <jas@extundo.com>
75940
75941         * lib/mempcpy.h: New file.
75942         * lib/mempcpy.c: New file.
75943
75944 2003-07-14  Paul Eggert  <eggert@twinsun.com>
75945
75946         * modules/getdate, modules/posixtm: Depend on mktime.
75947
75948 2003-07-14  Paul Eggert  <eggert@twinsun.com>
75949
75950         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
75951         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
75952         unicodeio.c, unicodeio.h, unlocked-io.h:
75953         Switch from LGPL to GPL.
75954
75955 2003-07-14  Paul Eggert  <eggert@twinsun.com>
75956
75957         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
75958         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
75959         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
75960         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
75961         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
75962         updated automatically by ../config/srclist-update.  This changes
75963         their license from LPGL to GPL.
75964
75965 2003-07-14  Paul Eggert  <eggert@twinsun.com>
75966
75967         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
75968         assumed to refer to the root of the most recent stable gettext version.
75969         * config/srclistvars.sh: Add defaults for eggert.
75970         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
75971         Match "This program" as well as "The program".  This is needed
75972         for gettext.
75973
75974 2003-07-14  Jim Meyering  <jim@meyering.net>
75975
75976         Don't emit diagnostics.  Let callers do that.
75977         * lib/save-cwd.c: Don't include "error.h".
75978         (save_cwd): Don't call error.  Ensure that errno is valid
75979         when returning nonzero.
75980
75981         * lib/save-cwd.h (restore_cwd): Update prototype.
75982         * lib/save-cwd.c (restore_cwd): Remove two parameters.
75983         Simplify.  Don't call error upon failure.  Let callers do that.
75984         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
75985         when auditing is enabled.  But don't bother updating the #if.
75986
75987 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
75988
75989         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
75990         it breaks C++ compilation.
75991         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
75992
75993 2003-07-10  Simon Josefsson  <jas@extundo.com>
75994
75995         * modules/strchrnul (Makefile.am): Add strchrnul.h.
75996
75997 2003-07-10  Jim Meyering  <jim@meyering.net>
75998
75999         * m4/clock_time.m4: Remove trailing blank.
76000         * m4/intmax_t.m4: Likewise.
76001
76002 2003-07-10  Jim Meyering  <jim@meyering.net>
76003
76004         * lib/vasnprintf.c: Remove trailing blanks.
76005         Make cpp indentation consistent.
76006
76007 2003-07-09  Paul Eggert  <eggert@twinsun.com>
76008
76009         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
76010         posixver.c, strftime.c, strnlen.c, strverscmp.c:
76011         Switch from LGPL to GPL.
76012
76013 2003-07-09  Paul Eggert  <eggert@twinsun.com>
76014
76015         * config/srclist.txt: Sort sublists.  Add
76016         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
76017         that differ from gnulib for one reason or another; we'd like this list
76018         to be smaller but for now let's document what we have.
76019
76020 2003-07-08  Paul Eggert  <eggert@twinsun.com>
76021
76022         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
76023         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
76024         and sweeter "eval x=$x".
76025         * config/srclist.txt: Get lib/argp* from glibc.
76026
76027 2003-07-07  Paul Eggert  <eggert@twinsun.com>
76028
76029         * lib/mktime.c: Fix some boundary cases and remove need for floating
76030         point.
76031
76032         Issue a compile-time diagnostic if time_t is floating point, or if
76033         two's complement arithmetic is not in effect, or if arithmetic
76034         right shift does not propagate the sign.  These assumptions were
76035         all in the original code but they weren't checked.
76036
76037         (TIME_T_MIDPOINT, verify): New macros.
76038         (__isleap): Remove; it has integer overflow problems.
76039         (leapyear): New function, without those problems.
76040         (ydhms_tm_diff): Remove; splitting into two parts.
76041         (ydhms_diff): New function, containing the arithmetic part of
76042         the old ydhms_tm_diff function.  Issue a compile-time
76043         diagnostic if we are not using C99 integer division.
76044         Avoid casts when possible.
76045         (guess_time_tm): New function, containing the checking part of
76046         the old ydhms_tm_diff function.  Return the new value, rather than
76047         the difference between it and the old.  Accept a new argument T
76048         so that *T specifies the old value.  Check for overflow in the result.
76049
76050         (__mktime_internal): Use a time_t offset, not a long int offset.
76051         This undoes the 2003-06-04 change, which is no longer needed now
76052         that we have better overflow checking.
76053         (localtime_offset): Likewise.
76054
76055         (__mktime_internal): Avoid harmful overflow on hosts where time_t
76056         and long are 64-bit but int is only 32-bit.
76057         (ydhms_diff): Use long int to store year1 and yday1.
76058         Issue a compile-time diagnostic if long int is not wide enough.
76059
76060         (__mktime_internal): Use long int to store adjusted year and yday.
76061         Use plain C rather than preprocessor commands, if that doesn't
76062         affect efficiency.
76063         Check for overflow (and try to repair) after each probe
76064         rather than checking only at the very end.  This avoids some bugs
76065         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
76066         does not equal GMT offset at maximum time).
76067         Use integer to check for overflow rather than floating point; this
76068         is more portable to non-IEEE hosts, and is a tad faster.
76069         When we detect that we are oscillating between two values,
76070         don't check whether tm_isdst has the requested value, since
76071         we already know the answer.  When tm_isdst has the wrong value,
76072         use a different heuristic to find the right one, based on the
76073         extreme values actually observed in practice in tz2003a,
76074         rather than the (overly optimistic) "previous 3 calendar quarters".
76075
76076         (not_equal_tm, print_tm, check_result): Use "const T" rather than
76077         "T const" to accommodate glibc style.
76078         (check_result): Use less-confusing report format.  "long" -> "long int.
76079         (main): Likewise.
76080         Don't loop if the iteration overflows time_t.
76081         Allow a negative step in the iteration.
76082
76083 2003-07-06  Karl Berry  <karl@gnu.org>
76084
76085         * config/depcomp: update from automake.
76086         * config/config.sub: update from prep.
76087
76088 2003-07-03  Karl Berry  <karl@gnu.org>
76089
76090         * config/config.guess: update from prep.
76091
76092 2003-07-01  Paul Eggert  <eggert@twinsun.com>
76093
76094         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
76095         xreadlink.c now includes it unconditionally.
76096
76097 2003-07-01  Paul Eggert  <eggert@twinsun.com>
76098
76099         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
76100         having it depend on HAVE_SYS_TYPES_H.
76101
76102 2003-07-01  Bruno Haible  <bruno@clisp.org>
76103
76104         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
76105         <sys/types.h> should be sufficient.
76106         Reported by Paul Eggert.
76107
76108 2003-06-26  Karl Berry  <karl@gnu.org>
76109
76110         * config/depcomp: update from automake.
76111
76112 2003-06-26  Bruno Haible  <bruno@clisp.org>
76113
76114         * modules/human: Depend on module stdbool.
76115
76116 2003-06-25  Bruno Haible  <bruno@clisp.org>
76117
76118         * modules/readlink: New file.
76119         * modules/xreadlink: Depend on it.
76120         * MODULES.html.sh (func_all_modules): Add readlink.
76121
76122 2003-06-25  Bruno Haible  <bruno@clisp.org>
76123
76124         * m4/readlink.m4: New file.
76125
76126 2003-06-25  Bruno Haible  <bruno@clisp.org>
76127
76128         * lib/readlink.c: New file.
76129
76130 2003-06-22  Karl Berry  <karl@gnu.org>
76131
76132         * config/srclist.txt: update mkinstalldirs from automake.
76133         * config/mkinstalldirs: update.
76134
76135 2003-06-22  Bruno Haible  <bruno@clisp.org>
76136
76137         Portability to mingw32.
76138         * m4/ssize_t.m4: New file, from GNU gettext.
76139         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
76140         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
76141
76142 2003-06-22  Bruno Haible  <bruno@clisp.org>
76143
76144         * modules/safe-read: Add m4/ssize_t.m4.
76145         * modules/xreadlink: Add m4/ssize_t.m4.
76146
76147 2003-06-20  Bruno Haible  <bruno@clisp.org>
76148
76149         Assume C89, so PARAMS isn't needed.
76150         * lib/unicodeio.h (PARAMS): Remove.
76151         * lib/unicodeio.c: Don't use PARAMS.
76152
76153 2003-06-18  Karl Berry  <karl@gnu.org>
76154
76155         * config/config.{guess,sub}: update from prep.
76156
76157 2003-06-18  Jim Meyering  <jim@meyering.net>
76158
76159         Merge changes from coreutils.
76160         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
76161         Remove explicit declarations of xmalloc and realloc.
76162         Include xalloc.h.
76163         (read_utmp): Remove anachronistic cast of xmalloc.
76164
76165 2003-06-17  Paul Eggert  <eggert@twinsun.com>
76166
76167         Assume C89, so PARAMS isn't needed.
76168         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
76169         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
76170         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
76171         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
76172         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
76173         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
76174         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
76175         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
76176         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
76177         lib/xstrtod.h, lib/xstrtol.h: Likewise.
76178         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
76179         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
76180         no longer needed. Anyway, config.h should always be included before any
76181         other file.
76182
76183 2003-06-11  Simon Josefsson  <jas@extundo.com>
76184
76185         * modules/sysexits: New file.
76186         * MODULES.html.sh (func_all_modules): Add sysexits.
76187
76188 2003-06-11  Simon Josefsson  <jas@extundo.com>
76189
76190         * lib/sysexit_.h: New file.
76191
76192 2003-06-11  Derek Price  <derek@ximbiot.com>
76193
76194         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
76195         necessary.
76196
76197 2003-06-11  Bruno Haible  <bruno@clisp.org>
76198
76199         * m4/sysexits.m4: New file.
76200
76201 2003-06-10  Simon Josefsson  <jas@extundo.com>
76202
76203         * lib/argp.h: New file, from glibc.
76204         * lib/argp-ba.c: New file, from glibc.
76205         * lib/argp-eexst.c: New file, from glibc.
76206         * lib/argp-fmtstream.c: New file, from glibc.
76207         * lib/argp-fmtstream.h: New file, from glibc.
76208         * lib/argp-fs-xinl.c: New file, from glibc.
76209         * lib/argp-help.c: New file, from glibc.
76210         * lib/argp-namefrob.h: New file, from glibc.
76211         * lib/argp-parse.c: New file, from glibc.
76212         * lib/argp-pv.c: New file, from glibc.
76213         * lib/argp-pvh.c: New file, from glibc.
76214         * lib/argp-xinl.c: New file, from glibc.
76215
76216 2003-06-10  Simon Josefsson  <jas@extundo.com>
76217
76218         * modules/strchrnul: New file.
76219
76220 2003-06-10  Simon Josefsson  <jas@extundo.com>
76221
76222         * modules/argp: New file.
76223
76224 2003-06-10  Simon Josefsson  <jas@extundo.com>
76225
76226         * m4/strchrnul.m4: New file.
76227
76228 2003-06-10  Simon Josefsson  <jas@extundo.com>
76229
76230         * lib/strchrnul.h: New file.
76231         * lib/strchrnul.c: New file.
76232
76233 2003-06-10  Bruno Haible  <bruno@clisp.org>
76234
76235         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
76236
76237 2003-06-07  Karl Berry  <karl@gnu.org>
76238
76239         * config/config.{guess,sub}: update from prep.
76240
76241 2003-06-07  Jim Meyering  <jim@meyering.net>
76242
76243         * modules/strtod: Use $(...) notation, not @...@ for
76244         AC_REPLACE'd variables.
76245         * modules/localcharset: Likewise.
76246
76247 2003-06-07  Jim Meyering  <jim@meyering.net>
76248
76249         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
76250         in place of my name in the copyright comment.
76251         Remove definition and uses of __P.
76252
76253         From coreutils.
76254         * lib/stat.c: Don't declare xmalloc explicitly.
76255         Instead, include "xalloc.h".
76256         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
76257         xrealloc, and xcalloc return values.
76258         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
76259         Improve comment.
76260         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
76261
76262 2003-06-07  Bruno Haible  <bruno@clisp.org>
76263
76264         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
76265         avoid AC_CONFIG_LINKS.
76266         * modules/fnmatch (Makefile.am): Use explicit creation rule for
76267         fnmatch.h, to avoid AC_CONFIG_LINKS.
76268         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
76269
76270 2003-06-07  Bruno Haible  <bruno@clisp.org>
76271
76272         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
76273         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
76274         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
76275         directory.
76276         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
76277         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
76278         directory.
76279
76280 2003-06-06  Jim Meyering  <jim@meyering.net>
76281
76282         Merge from coreutils.
76283         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
76284         Consolidate declarations and initializations of *_base* locals.
76285
76286         Merge from coreutils.
76287         This avoids a core dump on systems without GNU putenv,
76288         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
76289         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
76290         (unsetenv): New static function, from GNU libc.
76291         (rpl_putenv): Use it.
76292
76293         * lib/modechange.c: Remove trailing blanks.
76294
76295         Merge from coreutils.
76296         * lib/fsusage.c: Remove declaration of statfs.
76297         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
76298
76299         * lib/posixtm.c: Include <stdbool.h> unconditionally.
76300
76301 2003-06-06  Jim Meyering  <jim@meyering.net>
76302
76303         * lib/stdbool_.h: Renamed from stdbool.h.in.
76304
76305 2003-06-06  Jim Meyering  <jim@meyering.net>
76306             Bruno Haible  <bruno@clisp.org>
76307
76308         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
76309         Adjust Makefile.am snippet not to redirect directly to target.
76310         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
76311
76312 2003-06-05  Paul Eggert  <eggert@twinsun.com>
76313
76314         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
76315         mismatch, look in future quarters as well as past.  This fixes a
76316         bug when processing fall-backwards gaps immediately after a long
76317         period of daylight-saving time.
76318
76319         * lib/mktime.c: Assume freestanding C89 or better.
76320         (HAVE_LIMITS_H): Remove.  Assume it's 1.
76321         (__P): Remove; not used.
76322         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
76323         (mktime, not_equal_tm, print_tm, check_result,
76324         main): Use prototypes.  Use const * where appropriate.
76325         (main): Fix typo in testing code that uncovered by above changes.
76326         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
76327
76328 2003-06-04  Paul Eggert  <eggert@twinsun.com>
76329
76330         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
76331         locale.h, localeconv.  This merges changes from coreutils.
76332
76333         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
76334         It can be removed after the next Autoconf is released.
76335         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
76336         needed.
76337
76338 2003-06-04  Paul Eggert  <eggert@twinsun.com>
76339
76340         * lib/mktime.c: Fix Debian bug 177940
76341         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
76342         (localtime_offset): Now long int, not time_t, because we want it
76343         to be guaranteed to be signed.  All uses changed.
76344         (__mktime_internal): If overflow would occur when adding offset,
76345         don't add it.
76346
76347         Merge 'human' changes from coreutils.  Rewrite to support
76348         locale-specific notations like thousands separators.
76349         * lib/human.c: Simplify authorship notice.
76350         Include human.h immediately after config.h.
76351         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
76352         <limits.h>: Do not include, since human.h does.
76353         (SIZE_MAX, UINTMAX_MAX): New macros.
76354         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
76355         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
76356         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
76357         (power_letter): Renamed from suffixes.
76358         (generate_suffix_backwards): Remove.
76359         (adjust_value): Now takes int style (because of human.h changes)
76360         and long double value (for greater precision on some platforms).
76361         (group_number): New function.
76362         (human_readable): Use it.  Use integer options, not enum.
76363         Put the options before the sizes in the arg list.
76364         Support all the new options.
76365         The old human_readable function has been removed;
76366         use inttostr.h instead.
76367         (human_readable, default_block_size, humblock):
76368         Use uintmax_t, not int, for block sizes.
76369         (human_readable_inexact, block_size_types): Remove.
76370         (block_size_opts): New constant.
76371         (human_options): Renamed from human_block_size, with new signature
76372         that allows block sizes up to UINTMAX_MAX.  All callers changed.
76373         * lib/human.h: Add copyright and authorship notice.
76374         Include <limits.h> and <stdbool.h> unconditionally.
76375         (PARAMS): Remove.  All uses removed.
76376         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
76377         (enum human_inexact_style): Remove tag; now a nameless enum.
76378         (human_floor, human_ceiling, human_round_to_even): Now have
76379         values 2, 0, 1 rather than -1, 1, 0.
76380         (human_group_digits, human_suppress_point_zero, human_autoscale,
76381         human_base_1024, human_SI, human_B): New constants.
76382         (human_readable_inexact, human_block_size): Remove.
76383         (human_readable): Size args are now uintmax_t, not int.
76384         (human_options): New decl.
76385
76386         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
76387         unnecessary now that we assume C89 or better.  This change
76388         imported from coreutils.
76389
76390         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
76391         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
76392         in the 2003-05-30 sync from glibc.
76393
76394         .h files should stand alone, but we shouldn't include <sys/types.h>
76395         if we can get away with just <stddef.h>.
76396
76397         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
76398         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
76399         rather than <sys/types.h>, as we merely need size_t.
76400         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
76401         to get size_t.
76402         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
76403         Include <stdio.h>, to get FILE.
76404         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
76405         memcasecmp.h has included <stddef.h> and all we need is size_t.
76406         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
76407         our interface, instead of including <sys/types.h>
76408
76409 2003-06-04  Paul Eggert  <eggert@twinsun.com>
76410
76411         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
76412         now, as glibc mktime is buggy on non-glibc systems.
76413
76414 2003-06-03  Karl Berry  <karl@gnu.org>
76415
76416         * config/config.sub: update from prep.
76417
76418 2003-06-02  Paul Eggert  <eggert@twinsun.com>
76419
76420         [from coreutils]
76421         Fix some minor time-related bugs with POSIX time arguments.
76422         Some valid time stamps were being rejected (notably -1, and
76423         time stamps before 1900 on 64-bit hosts).  And some invalid
76424         time stamps were being accepted, e.g. September 31.
76425
76426         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
76427         that we can return (time_t) -1 successfully.
76428         * lib/posixtm.c: Likewise.
76429         [HAVE_STDBOOL_H]: Include <stdbool.h>.
76430         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
76431         (t): Remove static var.
76432         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
76433         of static var.  All uses changed.
76434         (year): Do not reject years before 1900; they can occur with
76435         64-bit time_t.
76436         (posix_time_parse): Do not check for out-of-range components;
76437         that is now the caller's responsibility, since our checks were
76438         only approximations.
76439         (posixtime): Use mktime to check for out-of-range components,
76440         since it knows them exactly.
76441         If mktime returns (time_t) -1, check whether an error actually occurred
76442         by invoking localtime on -1.
76443         (main) [TEST_POSIXTIME]: Check for input data errors, and report
76444         posixtime failures better.
76445         Improve the test data (in comments only).
76446
76447 2003-06-02  Karl Berry  <karl@gnu.org>
76448
76449         * config/mkinstalldirs (version): new variable.
76450         (--version): new option.
76451         (usage): improve message.
76452
76453 2003-05-30  Karl Berry  <karl@gnu.org>
76454
76455         * lib/mktime.c: update from libc.
76456
76457 2003-05-30  Bruno Haible  <bruno@clisp.org>
76458
76459         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
76460         * config/config.rpath: Upgrade to gettext-0.12.1.
76461
76462 2003-05-30  Bruno Haible  <bruno@clisp.org>
76463
76464         * m4/gettext.m4: Upgrade to gettext-0.12.1.
76465         * m4/nls.m4: New file, from gettext-0.12.1.
76466         * m4/po.m4: New file, from gettext-0.12.1.
76467         * m4/progtest.m4: Upgrade to gettext-0.12.1.
76468
76469 2003-05-30  Bruno Haible  <bruno@clisp.org>
76470
76471         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
76472         * lib/localcharset.h: Likewise.
76473         * lib/localcharset.c: Likewise.
76474
76475 2003-05-29  Karl Berry  <karl@gnu.org>
76476
76477         * config/config.rpath: update from gettext.
76478
76479 2003-05-28  Paul Eggert  <eggert@twinsun.com>
76480
76481         Assume the headers required for C89 freestanding compilers.
76482         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
76483         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
76484         * m4/human.m4 (gl_HUMAN): Likewise.
76485         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
76486         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
76487         * m4/userspec.m4 (gl_USERSPEC): Likewise.
76488         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
76489         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
76490         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
76491
76492 2003-05-28  Paul Eggert  <eggert@twinsun.com>
76493
76494         Assume the headers required for C89 freestanding compilers.
76495         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
76496         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
76497         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
76498         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
76499         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
76500         define, since <limits.h> is guaranteed to do that.
76501         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
76502         * lib/exclude.c: Include <stdbool.h> unconditionally.
76503         * lib/tempname.c: Include <stddef.h> unconditionally.
76504         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
76505         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
76506         <stddef.h> does that.
76507         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
76508         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
76509         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
76510         needed.
76511         * lib/xstrtol.c: Likewise.
76512         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
76513         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
76514
76515         * lib/addext.c (addext): Use assignment rather than cast, to avoid
76516         warnings on some platforms.
76517
76518         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
76519         arbitrarily.
76520
76521 2003-05-26  Jim Meyering  <jim@meyering.net>
76522
76523         Merge in a change from coreutils:
76524         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
76525         that is guaranteed to be `no'.  Use `no_such_member' to indicate
76526         that condition, rather than `-1' which is slightly misleading.
76527         Change the name of the cache variable to have the gl_ prefix.
76528         Prompted by a patch from Richard Dawe for DJGPP.
76529
76530 2003-05-24  Karl Berry  <karl@gnu.org>
76531
76532         * config/config.guess: update from prep.
76533
76534 2003-05-22  Karl Berry  <karl@gnu.org>
76535
76536         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
76537
76538 2003-05-20  Karl Berry  <karl@gnu.org>
76539
76540         * config/config.guess: update from prep.
76541
76542 2003-05-18  Karl Berry  <karl@gnu.org>
76543
76544         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
76545         might actually be set by the user.
76546
76547         * config/depcomp, install-sh, mdate-sh: update from automake.
76548
76549 2003-05-17  Bruno Haible  <bruno@clisp.org>
76550
76551         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
76552         invalid expansion for AC_EGREP_CPP.
76553         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
76554         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
76555         Suggested by Akim Demaille <akim@epita.fr> in
76556         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
76557
76558 2003-05-12  Jim Meyering  <jim@meyering.net>
76559
76560         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
76561         the space-padded-by-default conversion specifiers, %e, %k, %l.
76562
76563 2003-05-12  Bruno Haible  <bruno@clisp.org>
76564
76565         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
76566         the string is longer than 4 KB.
76567
76568 2003-05-11  Karl Berry  <karl@gnu.org>
76569
76570         * config/config.{guess,sub}: update from prep.
76571
76572 2003-05-09  Bruno Haible  <bruno@clisp.org>
76573
76574         * modules/error: Add m4/strerror_r.m4 to file list.
76575
76576 2003-05-03  Bruno Haible  <bruno@clisp.org>
76577
76578         Upgrade to Unicode-4.0.
76579         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
76580         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
76581         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
76582         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
76583         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
76584         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
76585         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
76586         Change width of U+E0100..U+E01EF from 1 to 0.
76587
76588 2003-04-25  Jim Meyering  <jim@meyering.net>
76589
76590         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
76591         of type size_t, not int.
76592
76593 2003-04-25  Bruno Haible  <bruno@clisp.org>
76594
76595         * lib/copy-file.c: Include <stddef.h>, for size_t.
76596
76597 2003-04-21  Paul Eggert  <eggert@twinsun.com>
76598
76599         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
76600         code which expansion is under static control.  Patch imported from
76601         Akim Demaille's patch to Bison; see
76602         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
76603
76604 2003-04-14  Bruno Haible  <bruno@clisp.org>
76605
76606         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
76607
76608 2003-04-11  Jim Meyering  <jim@meyering.net>
76609
76610         Merge changes from Coreutils.
76611
76612         2003-03-22  Jim Meyering  <jim@meyering.net>
76613
76614         * lib/strftime.c (widen): Cast alloca return value to proper type.
76615
76616         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
76617
76618         From GNU libc.
76619         * lib/strftime.c (my_strftime): Handle very large width
76620         specifications for numeric values correctly.  Improve checks for
76621         overflow.
76622
76623         2003-01-19  Jim Meyering  <jim@meyering.net>
76624
76625         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
76626         definitions.
76627         (nl_get_alt_digit) [! defined my_strftime]: Define.
76628         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
76629         _nl_get_alt_digit and _nl_get_walt_digit.
76630
76631         * lib/strftime.c (my_strftime): Merge in locale-related changes from
76632         libc. These changes have no effect outside of _LIBC.
76633
76634 2003-04-10  Bruno Haible  <bruno@clisp.org>
76635
76636         * modules/findprog: New file.
76637         * MODULES.html.sh (func_all_modules): Add it.
76638
76639 2003-04-10  Bruno Haible  <bruno@clisp.org>
76640
76641         * m4/findprog.m4: New file.
76642         * m4/eaccess.m4: New file.
76643
76644 2003-04-10  Bruno Haible  <bruno@clisp.org>
76645
76646         * lib/findprog.h: New file, from GNU gettext.
76647         * lib/findprog.c: New file, from GNU gettext.
76648
76649 2003-04-05  Jim Meyering  <jim@meyering.net>
76650
76651         Merge changes from Coreutils.
76652
76653         * lib/exclude.h (PARAMS): Remove definition and uses.
76654         * lib/exclude.c: Remove uses of `PARAMS'.
76655
76656         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
76657         Add test-cases for DOS filenames. Declare program_name.
76658         (main): Set up program_name.  Patch by Rich Dawe.
76659
76660         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
76661         error from mntctl.
76662         Use mntctl's return value to drive the entry-processing loop, since
76663         we can't rely on the value of the vmt_length member in the last
76664         entry.  On some systems doing so could result in exhausting
76665         virtual memory.  Based in part on a patch from Mike Jetzer.
76666
76667 2003-04-04  Bruno Haible  <bruno@clisp.org>
76668
76669         * modules/linebreak: New file.
76670         * MODULES.html.sh (func_all_modules): Add it.
76671
76672 2003-04-04  Bruno Haible  <bruno@clisp.org>
76673
76674         * m4/linebreak.m4: New file.
76675
76676 2003-04-04  Bruno Haible  <bruno@clisp.org>
76677
76678         * lib/linebreak.h: New file, from GNU gettext.
76679         * lib/linebreak.c: New file, from GNU gettext with slight
76680         modifications.
76681         * lib/lbrkprop.h: New file, from GNU gettext.
76682
76683 2003-04-03  Bruno Haible  <bruno@clisp.org>
76684
76685         * modules/utf8-ucs4: New file.
76686         * modules/utf16-ucs4: New file.
76687         * modules/ucs4-utf8: New file.
76688         * modules/ucs4-utf16: New file.
76689         * MODULES.html.sh (func_all_modules): Add them.
76690
76691 2003-04-03  Bruno Haible  <bruno@clisp.org>
76692
76693         * m4/utf-ucs4.m4: New file.
76694         * m4/ucs4-utf.m4: New file.
76695
76696 2003-04-03  Bruno Haible  <bruno@clisp.org>
76697
76698         * lib/utf8-ucs4.h: New file, from GNU gettext.
76699         * lib/utf16-ucs4.h: New file, from GNU gettext.
76700         * lib/ucs4-utf8.h: New file, from GNU gettext.
76701         * lib/ucs4-utf16.h: New file, from GNU gettext.
76702
76703 2003-04-02  Bruno Haible  <bruno@clisp.org>
76704
76705         * modules/binary-io: New file.
76706         * MODULES.html.sh (func_all_modules): Add it.
76707
76708 2003-04-02  Bruno Haible  <bruno@clisp.org>
76709
76710         * lib/binary-io.h: New file, from GNU gettext.
76711
76712 2003-04-01  Bruno Haible  <bruno@clisp.org>
76713
76714         * modules/pathname: New file.
76715         * MODULES.html.sh (func_all_modules): Add it.
76716
76717 2003-04-01  Bruno Haible  <bruno@clisp.org>
76718
76719         * lib/pathname.h: New file, from GNU gettext.
76720         * lib/concatpath.c: New file, from GNU gettext.
76721
76722 2003-03-30  Bruno Haible  <bruno@clisp.org>
76723
76724         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
76725
76726 2003-03-30  Bruno Haible  <bruno@clisp.org>
76727
76728         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
76729         function chown() doesn't exist.
76730
76731 2003-03-28  Bruno Haible  <bruno@clisp.org>
76732
76733         * modules/copy-file: New file.
76734         * MODULES.html.sh (func_all_modules): Add it.
76735
76736 2003-03-28  Bruno Haible  <bruno@clisp.org>
76737
76738         * m4/copy-file.m4: New file.
76739
76740 2003-03-28  Bruno Haible  <bruno@clisp.org>
76741
76742         * lib/copy-file.h: New file, from GNU gettext.
76743         * lib/copy-file.c: New file, from GNU gettext.
76744
76745 2003-03-18  Jim Meyering  <jim@meyering.net>
76746
76747         * lib/quote.c (quote_n): Fix typo in comment.
76748
76749 2003-03-18  Bruno Haible  <bruno@clisp.org>
76750
76751         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
76752         checking.
76753         * m4/onceonly_2_57.m4: Likewise.
76754
76755 2003-03-17  Bruno Haible  <bruno@clisp.org>
76756
76757         * m4/onceonly.m4: Require autoconf 2.54 or newer.
76758         (m4_quote): Remove macro.
76759         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
76760
76761 2003-03-14  Jim Meyering  <jim@meyering.net>
76762
76763         Merge changes from Coreutils.
76764         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
76765         to be const, in order to avoid warnings.
76766         (obstack_room): Likewise.
76767         (obstack_empty_p): Likewise.
76768
76769 2003-03-14  Bruno Haible  <bruno@clisp.org>
76770
76771         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
76772         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
76773
76774 2003-03-13  Paul Eggert  <eggert@twinsun.com>
76775
76776         Merge changes from Bison.
76777         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
76778         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
76779         when compiling Bison 1.875's `bitset bset = obstack_alloc
76780         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
76781         * lib/hash.c: Include <stdbool.h> unconditionally.
76782
76783 2003-03-13  Paul Eggert  <eggert@twinsun.com>
76784
76785         * m4/onceonly.m4 (m4_quote): New macro.
76786         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
76787         Quote AC_FOREACH variable-expansions properly.
76788
76789 2003-03-13  Paul Eggert  <eggert@twinsun.com>
76790
76791         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
76792
76793 2003-03-09  Paul Eggert  <eggert@twinsun.com>
76794
76795         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
76796         Reported by Bruce Becker; see:
76797         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
76798
76799 2003-03-03  Paul Eggert  <eggert@twinsun.com>
76800             Bruno Haible  <bruno@clisp.org>
76801
76802         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
76803         Reported by John Hughes, see
76804         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
76805
76806 2003-02-20  Bruno Haible  <bruno@clisp.org>
76807
76808         * MODULES.html.sh (func_all_modules): Add poll.
76809
76810 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
76811
76812         * modules/poll: New file.
76813
76814 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
76815
76816         * lib/poll_.h: New file.
76817         * lib/poll.c: New file.
76818
76819 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
76820
76821         * m4/poll.m4: New file.
76822
76823 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
76824
76825         * modules/mathl: New file.
76826
76827 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
76828
76829         * lib/mathl.h: New file.
76830         * lib/acosl.c: New file.
76831         * lib/asinl.c: New file.
76832         * lib/atanl.c: New file.
76833         * lib/ceill.c: New file.
76834         * lib/cosl.c: New file.
76835         * lib/expl.c: New file.
76836         * lib/floorl.c: New file.
76837         * lib/frexpl.c: New file.
76838         * lib/ldexpl.c: New file.
76839         * lib/logl.c: New file.
76840         * lib/sincosl.c: New file.
76841         * lib/sinl.c: New file.
76842         * lib/sqrtl.c: New file.
76843         * lib/tanl.c: New file.
76844         * lib/trigl.c: New file.
76845         * lib/trigl.h: New file.
76846
76847 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
76848
76849         * m4/mathl.m4: New file.
76850
76851 2003-02-18  Bruno Haible  <bruno@clisp.org>
76852
76853         * MODULES.html.sh (func_all_modules): Add mathl.
76854
76855 2003-02-17  Bruno Haible  <bruno@clisp.org>
76856
76857         * modules/mkdtemp: New module.
76858         * MODULES.html.sh (func_all_modules): Add it.
76859
76860 2003-02-17  Bruno Haible  <bruno@clisp.org>
76861
76862         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
76863
76864 2003-02-17  Bruno Haible  <bruno@clisp.org>
76865
76866         * lib/mkdtemp.h: New file, from GNU gettext.
76867         * lib/mkdtemp.c: New file, from GNU gettext.
76868
76869 2003-02-02  Jim Meyering  <jim@meyering.net>
76870
76871         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
76872         e.g. glibc-2.2.93.
76873
76874 2003-01-31  Bruno Haible  <bruno@clisp.org>
76875
76876         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
76877         'rpl_rename'.
76878         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
76879         'rpl_strnlen'.
76880         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
76881         'rpl_strtod'.
76882         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
76883         'rpl_utime'.
76884
76885 2003-01-31  Bruno Haible  <bruno@clisp.org>
76886
76887         * lib/rename.c: #undef rename before defining rpl_rename.
76888         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
76889
76890 2003-01-30  Bruno Haible  <bruno@clisp.org>
76891
76892         * modules/vasnprintf, modules/vasprintf: New modules.
76893         * MODULES.html.sh (func_all_modules): Add them.
76894
76895 2003-01-30  Bruno Haible  <bruno@clisp.org>
76896
76897         * m4/signed.m4: New file, from GNU gettext.
76898         * m4/longdouble.m4: New file, from GNU gettext.
76899         * m4/wchar_t.m4: New file, from GNU gettext.
76900         * m4/wint_t.m4: New file, from GNU gettext.
76901         * m4/vasnprintf.m4: New file.
76902         * m4/vasprintf.m4: New file.
76903
76904 2003-01-30  Bruno Haible  <bruno@clisp.org>
76905
76906         * lib/printf-args.h: New file, from GNU gettext.
76907         * lib/printf-args.c: New file, from GNU gettext.
76908         * lib/printf-parse.h: New file, from GNU gettext.
76909         * lib/printf-parse.c: New file, from GNU gettext.
76910         * lib/vasnprintf.h: New file, from GNU gettext.
76911         * lib/vasnprintf.c: New file, from GNU gettext.
76912         * lib/asnprintf.c: New file, from GNU gettext.
76913         * lib/vasprintf.h: New file, from GNU gettext with modifications.
76914         * lib/vasprintf.c: New file, from GNU gettext.
76915         * lib/asprintf.c: New file, from GNU gettext.
76916
76917 2003-01-29  Bruno Haible  <bruno@clisp.org>
76918
76919         * modules/stpncpy: New module.
76920         * MODULES.html.sh (func_all_modules): Add it.
76921
76922 2003-01-29  Bruno Haible  <bruno@clisp.org>
76923
76924         * m4/stpncpy.m4: New file.
76925
76926 2003-01-29  Bruno Haible  <bruno@clisp.org>
76927
76928         * lib/stpncpy.h: New file, from GNU gettext with modifications.
76929         * lib/stpncpy.c: New file, from GNU gettext with modifications.
76930
76931 2003-01-28  Bruno Haible  <bruno@clisp.org>
76932
76933         * modules/c-ctype: New module.
76934         * MODULES.html.sh (func_all_modules): Add it.
76935
76936 2003-01-28  Bruno Haible  <bruno@clisp.org>
76937
76938         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
76939         Paul Eggert.
76940         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
76941         Paul Eggert.
76942
76943 2003-01-27  Bruno Haible  <bruno@clisp.org>
76944
76945         * modules/xsetenv: New module.
76946         * MODULES.html.sh (func_all_modules): Add it.
76947
76948 2003-01-27  Bruno Haible  <bruno@clisp.org>
76949
76950         * lib/xsetenv.h: New file, from GNU gettext.
76951         * lib/xsetenv.c: New file, from GNU gettext.
76952
76953 2003-01-23  Jim Meyering  <jim@meyering.net>
76954
76955         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
76956         from working on systems without dirfd (at least Irix and OSF1/Tru64).
76957
76958 2003-01-23  Bruno Haible  <bruno@clisp.org>
76959
76960         * modules/minmax: New module.
76961         * MODULES.html.sh (func_all_modules): Add it.
76962
76963 2003-01-23  Bruno Haible  <bruno@clisp.org>
76964
76965         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
76966         Eggert.
76967
76968 2003-01-22  Bruno Haible  <bruno@clisp.org>
76969
76970         * modules/exit: New module.
76971         * MODULES.html.sh (func_all_modules): Add it.
76972
76973 2003-01-22  Bruno Haible  <bruno@clisp.org>
76974
76975         * lib/exit.h: New file, from GNU gettext.
76976
76977 2003-01-19  Bruno Haible  <bruno@clisp.org>
76978
76979         * gnulib-tool: Recognize option --extract-maintainer.
76980         (func_get_maintainer): New function.
76981         * modules/*: Add Maintainer entry.
76982
76983 2003-01-16  Jim Meyering  <jim@meyering.net>
76984
76985         * m4/regex.m4: The `regex' struct is both input and output.
76986         Initialize it before each use.  Patch by Tim Waugh.
76987
76988 2003-01-16  Bruno Haible  <bruno@clisp.org>
76989
76990         * MODULES.html.sh: Add a table of contents. Add the module name as
76991         leftmost column. Add hyperlinks.
76992
76993 2003-01-15  Bruno Haible  <bruno@clisp.org>
76994
76995         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
76996
76997 2003-01-15  Bruno Haible  <bruno@clisp.org>
76998
76999         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
77000         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
77001         suffix.
77002
77003 2003-01-15  Bruno Haible  <bruno@clisp.org>
77004
77005         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
77006
77007 2003-01-15  Bruno Haible  <bruno@clisp.org>
77008
77009         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
77010         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
77011
77012 2003-01-14  Jim Meyering  <jim@meyering.net>
77013
77014         * lib/same.c (same_name): Tweak a comment.
77015
77016 2003-01-14  Bruno Haible  <bruno@clisp.org>
77017
77018         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
77019         when a string comparison is sufficient.
77020
77021 2003-01-14  Bruno Haible  <bruno@clisp.org>
77022
77023         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
77024         'unsigned int'.
77025
77026 2003-01-14  Bruno Haible  <bruno@clisp.org>
77027
77028         * lib/hash-pjw.c: Add comment about low quality of this function.
77029
77030 2003-01-13  Bruno Haible  <bruno@clisp.org>
77031
77032         * modules/stpcpy: Distribute lib/stpcpy.h.
77033         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
77034
77035 2003-01-13  Bruno Haible  <bruno@clisp.org>
77036
77037         * modules/*: Add a description.
77038         * modules/strpbrk: Fix Makefile.am snippet.
77039         * modules/strtoimax: Fix dependencies.
77040         * modules/strtoumax: Likewise.
77041
77042 2003-01-13  Bruno Haible  <bruno@clisp.org>
77043
77044         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
77045         * modules/alloca (Makefile.am): All object files depend on alloca.h.
77046         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
77047
77048 2003-01-13  Bruno Haible  <bruno@clisp.org>
77049
77050         * gnulib-tool (func_create_testdir): Store config/* files in the main
77051         directory.
77052         * config.rpath: Move to ...
77053         * config/config.rpath: ... here.
77054         * modules/gettext: Contains config/config.rpath, not config.rpath.
77055         * modules/iconv: Likewise.
77056
77057 2003-01-12  Paul Eggert  <eggert@twinsun.com>
77058
77059         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
77060         to avoid collisions with libcurses and libreadline.
77061
77062         * m4/getstr.m4: Remove.
77063         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
77064
77065 2003-01-12  Paul Eggert  <eggert@twinsun.com>
77066
77067         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
77068         to avoid collisions with libcurses and libreadline.
77069
77070         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
77071         * lib/getstr.h, getstr.c: Remove.
77072         * lib/getline.c: Include "getline.h", to check interface.
77073         Move body of old getstr.c here: this defines MIN_CHUNK and
77074         declares getdelim2, which is renamed from getstr.
77075         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
77076
77077         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
77078         All uses changed.
77079         * lib/linebuffer.h: Likewise.
77080         (readline): Remove backward-compatibility macro.
77081
77082 2003-01-12  Paul Eggert  <eggert@twinsun.com>
77083
77084         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
77085         to avoid collisions with libcurses and libreadline.
77086         * getstr: Remove.
77087         * MODULES.html.sh: Remove getstr.
77088         * modules/getline: Depend on unlocked-io, not getstr.
77089
77090 2003-01-12  Jim Meyering  <jim@meyering.net>
77091
77092         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
77093
77094 2003-01-10  Bruno Haible  <bruno@clisp.org>
77095
77096         * modules/alloca: Change Makefile.am requirements. Simplify Include
77097         requirements. Add lib/alloca_.h to file list.
77098
77099 2003-01-10  Bruno Haible  <bruno@clisp.org>
77100
77101         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
77102
77103 2003-01-10  Bruno Haible  <bruno@clisp.org>
77104
77105         * lib/alloca_.h: New file.
77106         * lib/getdate.y: Unconditionally include alloca.h.
77107         * lib/makepath.c: Likewise.
77108         * lib/setenv.c: Likewise.
77109         * lib/userspec.c: Likewise.
77110
77111 2003-01-09  Karl Berry  <karl@gnu.org>
77112
77113         * MODULES.html.sh: include `dirname $0` in PATH, to find
77114         gnulib-tool.
77115
77116 2003-01-09  Bruno Haible  <bruno@clisp.org>
77117
77118         * modules/stdbool: Change configure.ac, Makefile.am requirements.
77119         Simplify Include requirements. Add lib/stdbool.h.in to file list.
77120
77121 2003-01-09  Bruno Haible  <bruno@clisp.org>
77122
77123         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
77124
77125 2003-01-09  Bruno Haible  <bruno@clisp.org>
77126
77127         * lib/stdbool.h.in: New file.
77128
77129 2003-01-09  Bruno Haible  <bruno@clisp.org>
77130
77131         * gnulib-tool (func_all_modules): Ignore files ending in ~.
77132         * MODULES.html.sh: Likewise.
77133
77134 2003-01-08  Jim Meyering  <jim@meyering.net>
77135
77136         * lib/full-write.c: Undefine and define-away `const' after inclusion
77137         of errno.h, not before.  Suggestion from Bruno Haible.
77138
77139 2003-01-08  Bruno Haible  <bruno@clisp.org>
77140
77141         * modules/full-read: Depend on full-write.
77142
77143 2003-01-08  Bruno Haible  <bruno@clisp.org>
77144
77145         * lib/safe-read.c: Include specification header first, to ensure its
77146         selfcontainedness.
77147         * lib/full-write.c: Likewise.
77148
77149 2003-01-07  Jim Meyering  <jim@meyering.net>
77150
77151         * lib/full-write.c: Rework so that it may serve to define full_read,
77152         too.
77153         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
77154
77155 2003-01-07  Bruno Haible  <bruno@clisp.org>
77156
77157         * lib/strtoimax.c: Include <stdint.h> as an alternative to
77158         <inttypes.h>.
77159         * lib/xstrtol.h: Likewise.
77160         * lib/xstrtoimax.c: Likewise.
77161         * lib/xstrtoumax.c: Likewise.
77162         * lib/human.h: Likewise.
77163
77164         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
77165         on systems that have <inttypes.h> but not <stdint.h>.
77166
77167 2003-01-07  Bruno Haible  <bruno@clisp.org>
77168
77169         * MODULES.html.sh: Add copyright notice.
77170         (missed_files): Omit CVS directory entries.
77171         (func_module): Make it work with sed-3.02.
77172         * MODULES.txt: Remove file.
77173
77174 2003-01-06  Jim Meyering  <jim@meyering.net>
77175
77176         * lib/version-etc.c: Update year in translatable copyright string.
77177
77178 2003-01-03  Karl Berry  <karl@gnu.org>
77179
77180         * config/config.{guess,sub}: update from prep.
77181
77182 2003-01-02  Karl Berry  <karl@gnu.org>
77183
77184         * doc/COPYING.DOC: belatedly updated to 1.2.
77185
77186 2003-01-01  Karl Berry  <karl@gnu.org>
77187
77188         * gnulib-tool (func_verify_module): report module name $module in
77189         error message, not $1.
77190         * gnulib-tool (create-testdir): don't complain if destdir couldn't
77191         be created, only if it doesn't exist.
77192         * gnulib-tool (last_checkin_date): don't expand the $Date here.
77193
77194 2002-12-31  Paul Eggert  <eggert@twinsun.com>
77195
77196         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
77197
77198 2002-12-31  Paul Eggert  <eggert@twinsun.com>
77199
77200         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
77201         memcmp if strcoll doesn't work.
77202
77203 2002-12-31  Bruno Haible  <bruno@clisp.org>
77204
77205         * lib/utime.c (utime_null): No need to call ftruncate if the file was
77206         nonempty.
77207
77208 2002-12-31  Bruno Haible  <bruno@clisp.org>
77209
77210         * lib/memcoll.c (STRCOLL): New macro.
77211         (memcoll): Use it.
77212
77213 2002-12-31  Bruno Haible  <bruno@clisp.org>
77214
77215         * lib/localcharset.h: New file.
77216         * lib/localcharset.c: Include it.
77217         * lib/unicodeio.c: Likewise.
77218
77219 2002-12-31  Bruno Haible  <bruno@clisp.org>
77220
77221         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
77222         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
77223
77224 2002-12-31  Bruno Haible  <bruno@clisp.org>
77225
77226         * lib/getline.h: Include <stddef.h>, for size_t.
77227
77228         * lib/unicodeio.h: Include <stddef.h>, for size_t.
77229         * lib/unicodeio.c: Don't include <stddef.h>.
77230
77231 2002-12-31  Bruno Haible  <bruno@clisp.org>
77232
77233         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
77234         HAVE_TM_ZONE.
77235
77236 2002-12-24  Karl Berry  <karl@gnu.org>
77237
77238         * config/config.guess: update from prep.
77239
77240 2002-12-24  Bruno Haible  <bruno@clisp.org>
77241
77242         General infrasructure.
77243         * m4/README: Rewritten.
77244         * m4/onceonly.m4: New file.
77245         * m4/onceonly_2_57.m4: New file.
77246
77247         Module atexit.
77248         * m4/atexit.m4: New file.
77249
77250         Module strtod.
77251         * m4/strtod.m4: New file.
77252
77253         Module strtol.
77254         * m4/strtol.m4: New file.
77255
77256         Module strtoul.
77257         * m4/strtoul.m4: New file.
77258
77259         Module memchr.
77260         * m4/memchr.m4: New file.
77261
77262         Module memcmp.
77263         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
77264         (jm_FUNC_MEMCMP): Invoke it.
77265
77266         Module memcpy.
77267         * m4/memcpy.m4: New file.
77268
77269         Module memmove.
77270         * m4/memmove.m4: New file.
77271
77272         Module memset.
77273         * m4/memset.m4: New file.
77274
77275         Module strcspn.
77276         * m4/strcspn.m4: New file.
77277
77278         Module strpbrk.
77279         * m4/strpbrk.m4: New file.
77280
77281         Module strstr.
77282         * m4/strstr.m4: New file.
77283
77284         Module strerror.
77285         * m4/strerror.m4: New file.
77286
77287         Module mktime.
77288         * m4/mktime.m4: Renamed from jm-mktime.m4.
77289         (gl_PREREQ_MKTIME): New macro.
77290         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
77291
77292         Module malloc.
77293         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
77294         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
77295         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
77296
77297         Module realloc.
77298         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
77299         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
77300         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
77301
77302         Module strftime.
77303         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
77304         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
77305         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
77306         gl_TM_GMTOFF.
77307         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
77308
77309         Module xalloc.
77310         * m4/xalloc.m4: New file.
77311
77312         Module alloca.
77313         * m4/alloca.m4: New file.
77314
77315         Module putenv.
77316         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
77317         (jm_FUNC_PUTENV): Invoke it.
77318
77319         Module setenv.
77320         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
77321         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
77322         when invoked twice.
77323         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
77324         gt_FUNC_SETENV.
77325
77326         Module memrchr.
77327         * m4/memrchr.m4: New file.
77328
77329         Module stpcpy.
77330         * m4/stpcpy.m4: New file.
77331
77332         Module strcase.
77333         * m4/strcase.m4: New file.
77334
77335         Module strdup.
77336         * m4/strdup.m4: New file.
77337
77338         Module strnlen.
77339         * m4/strnlen.m4: New file.
77340
77341         Module strndup.
77342         * m4/strndup.m4: New file.
77343
77344         Module xstrtod.
77345         * m4/xstrtod.m4: New file.
77346
77347         Module xstrtol.
77348         * m4/xstrtol.m4: New file.
77349
77350         Module getdate.
77351         * m4/getdate.m4: New file.
77352
77353         Module unlocked-io.
77354         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
77355         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
77356         * m4/jm-glibc-io.m4n: Remove file.
77357
77358         Module long-options.
77359         * m4/long-options.m4: New file.
77360
77361         Module md5.
77362         * m4/md5.m4: New file.
77363
77364         Module sha.
77365         * m4/sha.m4: New file.
77366
77367         Module getstr.
77368         * m4/getstr.m4: New file.
77369
77370         Module getline.
77371         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
77372         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
77373         <sys/types.h>, for size_t. Use the function name gnu_getline, not
77374         simply getline. Infoke gl_PREREQ_GETLINE.
77375
77376         Module obstack.
77377         * m4/obstack.m4: New file.
77378
77379         Module hash.
77380         * m4/hash.m4: New file.
77381
77382         Module readtokens.
77383         * m4/readtokens.m4: New file.
77384
77385         Module strverscmp.
77386         * m4/strverscmp.m4: New file.
77387
77388         Module stdbool.
77389         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
77390         OSF/1.
77391
77392         Module strtoll.
77393         * m4/strtoll.m4: New file.
77394
77395         Module strtoull.
77396         * m4/strtoull.m4: New file.
77397
77398         Module strtoimax.
77399         * m4/strtoimax.m4: New file.
77400
77401         Module strtoumax.
77402         * m4/strtoumax.m4: New file.
77403
77404         Module xstrtoimax.
77405         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
77406         jm_AC_PREREQ_XSTRTOIMAX.
77407         Moved the strtol prerequisites to strtol.m4.
77408         Moved the strtoll prerequisites to strtoll.m4.
77409         Moved the strtoimax prerequisites to strtoimax.m4.
77410
77411         Module xstrtoumax.
77412         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
77413         jm_AC_PREREQ_XSTRTOUMAX.
77414         Moved the strtoul prerequisites to strtoul.m4.
77415         Moved the strtoull prerequisites to strtoull.m4.
77416         Moved the strtoumax prerequisites to strtoumax.m4.
77417
77418         Module chown.
77419         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
77420         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
77421
77422         Module dup2.
77423         * m4/dup2.m4: New file.
77424
77425         Module ftruncate.
77426         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
77427         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
77428
77429         Module getgroups.
77430         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
77431         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
77432
77433         Module gettimeofday.
77434         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
77435         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
77436         gl_PREREQ_GETTIMEOFDAY.
77437
77438         Module mkdir.
77439         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
77440         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
77441
77442         Module mkstemp.
77443         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
77444         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
77445         jm_AC_TYPE_UINTMAX_T.
77446         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
77447
77448         Module stat.
77449         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
77450         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
77451
77452         Module lstat.
77453         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
77454         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
77455
77456         Module timespec.
77457         * m4/timespec.m4 (gl_TIMESPEC): New macro.
77458         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
77459         * m4/st_mtim.m4: Indentation.
77460
77461         Module nanosleep.
77462         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
77463         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
77464         gl_PREREQ_NANOSLEEP.
77465
77466         Module regex.
77467         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
77468         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
77469         (gl_REGEX): New macro.
77470
77471         Module rename.
77472         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
77473         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
77474
77475         Module rmdir.
77476         * m4/rmdir.m4: New file.
77477
77478         Module utime.
77479         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
77480         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
77481         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
77482
77483         Module dirname.
77484         * m4/dirname.m4: New file.
77485
77486         Module getopt.
77487         * m4/getopt.m4: New file.
77488
77489         Module unistd-safer.
77490         * m4/unistd-safer.m4: New file.
77491
77492         Module fnmatch.
77493         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
77494         declaration.
77495         (gl_PREREQ_FNMATCH_EXTRA): New macro.
77496         (gl_FUNC_FNMATCH_POSIX): New macro.
77497         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
77498         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
77499         simply fnmatch.
77500
77501         Module exclude.
77502         * m4/exclude.m4: New file.
77503
77504         Module human.
77505         * m4/human.m4: New file.
77506
77507         Module acl.
77508         * m4/acl.m4: Nop.
77509
77510         Module backupfile.
77511         * m4/backupfile.m4: New file.
77512         * m4/d-ino.m4: Indentation.
77513
77514         Module fsusage.
77515         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
77516         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
77517         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
77518
77519         Module dirfd.
77520         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
77521         requirements.
77522
77523         Module euidaccess.
77524         * m4/euidaccess.m4: New file.
77525
77526         Module file-type.
77527         * m4/file-type.m4: New file.
77528
77529         Module fileblocks.
77530         * m4/fileblocks.m4: New file.
77531
77532         Module filemode.
77533         * m4/filemode.m4: New file.
77534
77535         Module isdir.
77536         * m4/isdir.m4: New file.
77537
77538         Module lchown.
77539         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
77540         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
77541
77542         Module makepath.
77543         * m4/makepath.m4: New file.
77544
77545         Module modechange.
77546         * m4/modechange.m4: New file.
77547
77548         Module mountlist.
77549         * m4/mountlist.m4: New file.
77550         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
77551         Indentation.
77552
77553         Module path-concat.
77554         * m4/path-concat.m4: New file.
77555
77556         Module pathmax.
77557         * m4/pathmax.m4: New file.
77558
77559         Module same.
77560         * m4/same.m4: New file.
77561
77562         Module save-cwd.
77563         * m4/save-cwd.m4: New file.
77564
77565         Module savedir.
77566         * m4/savedir.m4: New file.
77567
77568         Module xgetcwd.
77569         * m4/xgetcwd.m4: New file.
77570         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
77571
77572         Module xreadlink.
77573         * m4/xreadlink.m4: New file.
77574
77575         Module safe-read.
77576         * m4/safe-read.m4: New file.
77577
77578         Module safe-write.
77579         * m4/safe-write.m4: New file.
77580
77581         Module closeout.
77582         * m4/closeout.m4: New file.
77583
77584         Module stdio-safer.
77585         * m4/stdio-safer.m4: New file.
77586
77587         Module getpass.
77588         * m4/getpass.m4: New file.
77589
77590         Module getugroups.
77591         * m4/getugroups.m4: New file.
77592
77593         Module group-member.
77594         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
77595         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
77596
77597         Module idcache.
77598         * m4/idcache.m4: New file.
77599
77600         Module userspec.
77601         * m4/userspec.m4: New file.
77602
77603         Module gettime.
77604         * m4/clock_time.m4: New file.
77605         * m4/gettime.m4: New file.
77606
77607         Module settime.
77608         * m4/settime.m4: New file.
77609
77610         Module posixtm.
77611         * m4/posixtm.m4: New file.
77612
77613         Module gethostname.
77614         * m4/gethostname.m4: New file.
77615
77616         Module canon-host.
77617         * m4/canon-host.m4: New file.
77618
77619         Module gettext.
77620         * m4/codeset.m4: New file, from gettext-0.11.5.
77621         * m4/gettext.m4: New file, from gettext-0.11.5.
77622         * m4/glibc21.m4: New file, from gettext-0.11.5.
77623         * m4/iconv.m4: New file, from gettext-0.11.5.
77624         * m4/intdiv0.m4: New file, from gettext-0.11.5.
77625         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
77626         * m4/inttypes.m4: New file, from gettext-0.11.5.
77627         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
77628         * m4/isc-posix.m4: New file, from gettext-0.11.5.
77629         * m4/lcmessage.m4: New file, from gettext-0.11.5.
77630         * m4/lib-ld.m4: New file, from gettext-0.11.5.
77631         * m4/lib-link.m4: New file, from gettext-0.11.5.
77632         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
77633         * m4/progtest.m4: New file, from gettext-0.11.5.
77634         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
77635         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
77636         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
77637
77638         Module localcharset.
77639         * m4/localcharset.m4: New file.
77640
77641         Module hard-locale.
77642         * m4/hard-locale.m4: New file.
77643
77644         Module mbswidth.
77645         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
77646         onceonly macros.
77647         * m4/mbrtowc.m4: Add comment.
77648
77649         Module memcasecmp.
77650         * m4/memcasecmp.m4: New file.
77651
77652         Module memcoll.
77653         * m4/memcoll.m4: New file.
77654
77655         Module unicodeio.
77656         * m4/unicodeio.m4: New file.
77657
77658         Module rpmatch.
77659         * m4/rpmatch.m4: New file.
77660
77661         Module yesno.
77662         * m4/yesno.m4: New file.
77663
77664         Module exitfail.
77665         * m4/exitfail.m4: New file.
77666
77667         Module c-stack.
77668         * m4/c-stack.m4 (gl_C_STACK): New macro.
77669         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
77670
77671         Module error.
77672         * m4/error.m4 (gl_ERROR): New macro.
77673         (jm_PREREQ_ERROR): Use onceonly macros.
77674
77675         Module fatal.
77676         * m4/fatal.m4: New file.
77677
77678         Module getloadavg.
77679         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
77680         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
77681
77682         Module getpagesize.
77683         * m4/getpagesize.m4: New file.
77684
77685         Module getusershell.
77686         * m4/getusershell.m4: New file.
77687
77688         Module physmem.
77689         * m4/physmem.m4: New file.
77690
77691         Module posixver.
77692         * m4/posixver.m4: New file.
77693
77694         Module quotearg.
77695         * m4/quotearg.m4: New file.
77696
77697         Module quote.
77698         * m4/quote.m4: New file.
77699
77700         Module readutmp.
77701         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
77702
77703         Module sig2str.
77704         * m4/sig2str.m4: New file.
77705
77706         Other.
77707         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
77708         ulonglong.m4.
77709         * m4/intmax_t.m4: New file.
77710         * m4/d-type.m4: Indentation.
77711         * m4/jm-macros.m4: Update.
77712         * m4/prereq.m4 (jm_PREREQ): Update.
77713         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
77714         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
77715         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
77716         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
77717         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
77718         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
77719         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
77720         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
77721         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
77722         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
77723         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
77724         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
77725         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
77726         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
77727         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
77728         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
77729         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
77730         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
77731         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
77732
77733 2002-12-24  Bruno Haible  <bruno@clisp.org>
77734
77735         * MODULES.txt: Update according to m4/ changes.
77736
77737         Module gettext.
77738         * config.rpath: New file, from gettext-0.11.5.
77739
77740         * modules/*: New module descriptions.
77741         * gnulib-tool: New file.
77742         * MODULES.html.sh: New file.
77743
77744 2002-12-21  Karl Berry  <karl@gnu.org>
77745
77746         * doc/fdl.texi: update to version 1.2.
77747
77748 2002-12-19  Karl Berry  <karl@gnu.org>
77749
77750         * config/config.guess: update from prep.
77751
77752 2002-12-18  Bruno Haible  <bruno@clisp.org>
77753
77754         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
77755         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
77756
77757 2002-12-17  Bruno Haible  <bruno@clisp.org>
77758
77759         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
77760         stdlib.h, string.h.
77761
77762 2002-12-17  Bruno Haible  <bruno@clisp.org>
77763
77764         * lib/canon-host.c (strdup): Remove unused declaration.
77765
77766         * lib/fsusage.c: Include full_read.h.
77767         (get_fs_usage): Use full_read instead of safe_read.
77768
77769         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
77770
77771 2002-12-12  Karl Berry  <karl@gnu.org>
77772
77773         * config/config.guess: update from prep.
77774
77775 2002-12-11  Bruno Haible  <bruno@clisp.org>
77776
77777         * m4/setenv.m4: New file, from gettext-0.11.5.
77778
77779 2002-12-11  Bruno Haible  <bruno@clisp.org>
77780
77781         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
77782         not unsetenv().
77783         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
77784         modifications:
77785
77786         2002-12-11  Bruno Haible  <bruno@clisp.org>
77787
77788                 * setenv.c (alloca): Fall back to malloc.
77789                 (freea): New macro.
77790                 (setenv): Use freea() to free memory allocated with alloca().
77791
77792         2002-11-13  Bruno Haible  <bruno@clisp.org>
77793
77794                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
77795                 function declarations.
77796                 * unsetenv.c (unsetenv): Likewise.
77797
77798         2002-03-04  Bruno Haible  <bruno@clisp.org>
77799
77800                 Portability to AIX 4.3.3.
77801                 * unsetenv.c: New file, extracted from setenv.c.
77802                 * setenv.c: Move the unsetenv() function to unsetenv.c.
77803
77804         2001-12-20  Bruno Haible  <bruno@clisp.org>
77805
77806                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
77807                 use malloc instead. For SunOS 4.
77808
77809         2001-12-11  Bruno Haible  <bruno@clisp.org>
77810
77811                 * setenv.c: Declare alloca.
77812                 (compar_fn_t): New typedef.
77813                 (KNOWN_VALUE, STORE_VALUE): Use it.
77814
77815         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
77816         setenv.h.
77817
77818 2002-12-10  Paul Eggert  <eggert@twinsun.com>
77819
77820         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
77821         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
77822         Choose values that are less likely to collide with system fnmatch
77823         options.
77824         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
77825         defined (e.g., a pure POSIX system).
77826         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
77827         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
77828
77829 2002-12-06  Paul Eggert  <eggert@twinsun.com>
77830
77831         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
77832         a pain in practice to deal with generated m4 files.  This change
77833         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
77834
77835         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
77836         and jm-glibc-io.m4, as they are no longer a special case.
77837         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
77838         kludge and the auto-generation stuff.  Check only whether the
77839         functions are declared, not whether they exist, since older hosts
77840         that don't declare the functions can't use the optimization anyway.
77841
77842 2002-12-06  Jim Meyering  <jim@meyering.net>
77843
77844         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
77845
77846         Merge in changes from libc's misc/error.c, in preparation
77847         for the merge of gnulib's changes back into libc.
77848
77849         * lib/error.c (_): Define only if not already defined.
77850         Move definition to follow all #include directives.
77851         Include unlocked-io.h only if !_LIBC.
77852         [_LIBC]: Include <libio/libioP.h>.
77853         [USE_IN_LIBIO]: Include <libio/iolibio.h>
77854         (fflush): Tweak definition to use INTUSE.
77855         (putc): Define.
77856
77857 2002-12-05  Paul Eggert  <eggert@twinsun.com>
77858
77859         * lib/alloca.c [defined emacs]: Include "lisp.h".
77860         (xalloc_die) [defined emacs]: New macro.
77861         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
77862         [! defined emacs]: Include <xalloc.h>.
77863         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
77864         (pointer): Typedef to POINTER_TYPE *.
77865         (malloc): Remove decl; we now always use xmalloc.
77866         (alloca): Use old-style definition, since Emacs needs this.
77867         Check for arithmetic overflow when computing combined size.
77868
77869 2002-12-04  Paul Eggert  <eggert@twinsun.com>
77870
77871         Do not generate unlocked-io.h automatically, since it's easier to
77872         maintain it by hand.
77873
77874         * lib/unlocked-io.h: New file, from GNU diffutils,
77875         but with proper copyright notice and attribution.
77876         * lib/gen-uio: Remove.
77877         * lib/Makefile.am: Add copyright notice.
77878         (libfetish_a_SOURCES): Add unlocked-io.h.
77879         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
77880         (DISTCLEANFILES, io_functions): Remove macros.
77881         (EXTRA_DIST): Remove gen_uio.
77882         (unlocked-io.h): Remove rule.
77883
77884 2002-12-04  Jim Meyering  <jim@meyering.net>
77885
77886         Reflect the fact that stat.c and lstat.c are no longer generated.
77887         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
77888         (DISTCLEANFILES): Likewise.
77889         (EXTRA_DIST): Likewise.
77890         (all_local): Don't depend on stat.c or lstat.c.
77891         (stat.c, lstat.c): Remove rules.
77892         (EXTRA_DIST): Remove xstat.in.
77893
77894         * lib/xstat.in: Remove file.  Contents moved into stat.c.
77895         * lib/stat.c: New file.  Contents mostly from xstat.in.
77896         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
77897         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
77898
77899         * lib/safe-read.c: Rework so that it may serve to define safe_write,
77900         too.
77901         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
77902
77903 2002-12-03  Jim Meyering  <jim@meyering.net>
77904
77905         * lib/safe-read.c, safe-write.c: Change variable names and comments,
77906         but not semantics, to minimize the differences between these two files.
77907         (safe_read): Change comment to mention SAFE_READ_ERROR.
77908
77909         * lib/safe-read.c (IS_EINTR): Define.
77910         (safe_read): Use IS_EINTR in place of in-function cpp directives.
77911
77912 2002-12-02  Jim Meyering  <jim@meyering.net>
77913
77914         * lib/safe-read.c (EINTR): Define.
77915         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
77916         (INT_MAX): Provide fallback.
77917         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
77918
77919         * lib/safe-read.h (SAFE_READ_ERROR): Define.
77920
77921 2002-12-02  Bruno Haible  <bruno@clisp.org>
77922
77923         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
77924         Define, taken from safe-read.c.
77925         (INT_MAX): Provide fallback.
77926         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
77927         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
77928
77929         * lib/safe-read.c (EINTR): Remove definition.
77930         (safe_read): Don't use EINTR if it is absent.
77931
77932 2002-12-01  Jim Meyering  <jim@meyering.net>
77933
77934         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
77935         zero.
77936         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
77937
77938 2002-11-27  Paul Eggert  <eggert@twinsun.com>
77939
77940         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
77941         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
77942         with `if (! (value < limit)) abort ();', for readability.
77943
77944 2002-11-26  Karl Berry  <karl@gnu.org>
77945
77946         * lib/strdup.c: copy from libc again, with jim's ok.
77947         * lib/.cppi-disable: re-add strdup.c
77948
77949 2002-11-25  Karl Berry  <karl@gnu.org>
77950
77951         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
77952         instead of "strtol.c".
77953
77954 2002-11-25  Karl Berry  <karl@gnu.org>
77955
77956         * config/install-sh: update from automake for variable quoting, $0 in
77957         error msgs, etc.
77958
77959         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
77960         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
77961         entry.
77962
77963 2002-11-25  Jim Meyering  <jim@meyering.net>
77964
77965         * lib/mktime.c: Sync from libc, now that it has the latest fix.
77966
77967 2002-11-24  Karl Berry  <karl@gnu.org>
77968
77969         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
77970         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
77971
77972 2002-11-24  Jim Meyering  <jim@meyering.net>
77973
77974         Update from coreutils:
77975
77976         * lib/mktime.c: Merge in changes from libc.
77977
77978         Avoid a link-time failure on some Linux systems.
77979         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
77980         (otherwise).
77981         (__mon_yday): Declare with the STATIC attribute.
77982         (__mktime_internal): Likewise.
77983         Based on a report from Greg Schafer.
77984
77985 2002-11-23  Jim Meyering  <jim@meyering.net>
77986
77987         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
77988         Use `unsigned', not `int', as type of index.
77989
77990         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
77991
77992         * lib/fsusage.c: Remove unneeded parentheses around operands of
77993         `defined'.
77994
77995 2002-11-22  Paul Eggert  <eggert@twinsun.com>
77996
77997         * lib/quotearg.h: Allow multiple inclusion by surrounding with
77998         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
77999         so that we can be included first.
78000         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
78001         * lib/quotearg.c: Include quotearg.h immediately after config.h.
78002         No need to include stddef.h or sys/types.h any more.
78003         Surround local include files with "", not "<>".
78004         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
78005         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
78006         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
78007         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
78008         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
78009         (ISPRINT): Remove; no longer needed now that we assume C89.
78010
78011         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
78012         Preserve errno.
78013
78014         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
78015         quotearg_char): Use SIZE_MAX rather than
78016         (size_t) -1 when we are talking about "infinity".
78017
78018         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
78019
78020 2002-11-22  Paul Eggert  <eggert@twinsun.com>
78021
78022         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
78023         hint that one should use `if (! x) abort ();' rather than `assert
78024         (x);', and anyway it's one less thing to worry about configuring.
78025         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
78026         hash_rehash, hash_insert): Use abort rather than assert.
78027
78028 2002-11-22  Bruno Haible  <bruno@clisp.org>
78029
78030         * lib/safe-read.h: Assume C89. Add comments.
78031         (safe_read): Change return type to size_t.
78032         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
78033         byte counts > SSIZE_MAX correctly.
78034         * lib/safe-write.h: New file.
78035         * lib/safe-write.c: New file.
78036         * lib/full-read.h: New file.
78037         * lib/full-read.c: New file.
78038         * lib/full-write.h: Assume C89. Add comments.
78039         * lib/full-write.c: Include safe-write.h.
78040         (full_write): Rewritten to use safe_write.
78041         Suggested by Jim Meyering and Paul Eggert.
78042
78043 2002-11-21  Jim Meyering  <jim@meyering.net>
78044
78045         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
78046
78047         Merge in changes from the coreutils.
78048
78049         2002-09-25  Paul Eggert  <eggert@twinsun.com>
78050         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
78051         <stdint.h>.
78052         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
78053         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
78054         int.  Work more efficiently if X is the same width as uintmax_t.
78055         Do not compare X to -1, to avoid bogus compiler warning.
78056         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
78057         Don't assume that f_frsize and f_bsize are the same type.
78058
78059         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
78060         warning on FreeBSD.
78061
78062         * lib/makepath.c (make_path): Restore umask *before* creating the final
78063         component.
78064         (make_path): Minor reformatting.
78065
78066         * lib/xmalloc.c: Adjust to work with new autoconf macros,
78067         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
78068         HAVE_MALLOC/HAVE_REALLOC.
78069
78070         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
78071         dummy ones.  At least on GNU/Linux systems, `auto' means something
78072         else.
78073         From Michael Stone.
78074
78075 2002-11-21  Bruno Haible  <bruno@clisp.org>
78076
78077         Remove case insensitive option matching.
78078         * lib/argmatch.h (argcasematch): Remove declaration.
78079         (ARGCASEMATCH): Remove macro.
78080         (__xargmatch_internal): Remove case_sensitive argument.
78081         (XARGMATCH): Update.
78082         (XARGCASEMATCH): Remove macro.
78083         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
78084         case_sensitive argument.
78085         (argcasematch): Remove function.
78086         (__xargmatch_internal): Remove case_sensitive argument.
78087         (main): Use XARGMATCH instead of XARGCASEMATCH.
78088
78089         * lib/xmalloc.c: Change compile-time error message. Add comment about
78090         required autoconf version.
78091
78092 2002-11-20  Paul Eggert  <eggert@twinsun.com>
78093
78094         Merge argmatch cleanups from Bison.  Assume C89.
78095
78096         * lib/argmatch.c: Include config.h here, not in argmatch.h.
78097         Include stdlib.h, for EXIT_FAILURE.
78098         Always include <string.h>, since we assume C89.
78099         (EXIT_FAILURE): Remove pre-C89 bug workaround.
78100         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
78101         Include <stddef.h> instead, since it's all we need for size_t.
78102         (PARAMS): Remove.  All uses removed.
78103         (ARRAY_CARDINALITY): Do not bother to #undef.
78104         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
78105         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
78106         Remove unnecessary parentheses.
78107         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
78108         Insert necessary parentheses.
78109         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
78110         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
78111
78112 2002-11-19  Bruno Haible  <bruno@clisp.org>
78113
78114         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
78115         * lib/mbswidth.h: Include <stddef.h>, for size_t.
78116
78117         * lib/mbswidth.h (PARAMS): Remove macro.
78118         (mbswidth, mbsnwidth): Use ANSI C function declarations.
78119         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
78120
78121         * lib/gcd.h (PARAMS): Remove macro.
78122         (gcd): Use ANSI C function declarations.
78123         * lib/gcd.c (gcd): Likewise.
78124
78125 2002-11-15  Bruno Haible  <bruno@clisp.org>
78126
78127         * lib/strcspn.c: Include <stddef.h>.
78128         (strcspn): Use ANSI C function declaration. Change return type to
78129         size_t. Use NULL.
78130         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
78131         (strpbrk): Use NULL.
78132         * lib/strpbrk.h (PARAMS): Remove macro.
78133         (strpbrk): Use ANSI C function declaration.
78134         * lib/strstr.c: Don't include <sys/types.h>.
78135         * lib/strstr.h (PARAMS): Remove macro.
78136         (strstr): Use ANSI C function declarations.
78137
78138 2002-11-14  Karl Berry  <karl@gnu.org>
78139
78140         * config/mkinstalldirs: `do' on separate line, instead of
78141         `for var; do'.
78142
78143 2002-11-06  Bruno Haible  <bruno@clisp.org>
78144
78145         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
78146         * lib/gcd.c (gcd): Likewise.
78147
78148 2002-11-05  Bruno Haible  <bruno@clisp.org>
78149
78150         * lib/gcd.h: New file, from gettext-0.11.5.
78151         * lib/gcd.c: New file, from gettext-0.11.5.
78152
78153 2002-11-05  Bruno Haible  <bruno@clisp.org>
78154
78155         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
78156         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
78157         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
78158         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
78159
78160         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
78161         <libintl.h>.
78162         * lib/makepath.c: Include gettext.h instead of <locale.h> and
78163         <libintl.h>.
78164
78165         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
78166         * lib/human.c: Include gettext.h instead of <libintl.h>.
78167         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
78168         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
78169         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
78170         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
78171         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
78172         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
78173         (textdomain): Remove definition.
78174         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
78175
78176         * lib/long-options.c: Remove include of <libintl.h> and definition of
78177         _.
78178         * lib/same.c: Remove include of <libintl.h> and definition of _.
78179
78180 2002-11-04  Owen Taylor  <otaylor@redhat.com>
78181
78182         * lib/config.charset: A few additions for Solaris.
78183
78184 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
78185
78186         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
78187         * lib/localcharset.c (locale_charset): Declare as extern "C".
78188
78189 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
78190
78191         * lib/config.charset: msdos in uk_UA uses CP1125.
78192
78193 2002-11-04  Bruno Haible  <bruno@clisp.org>
78194
78195         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
78196         * lib/strcase.h: New file, from GNU gettext-0.11.5.
78197         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
78198         * lib/strstr.h: New file, from GNU gettext-0.11.5.
78199         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
78200
78201 2002-11-04  Bruno Haible  <bruno@clisp.org>
78202
78203         * lib/localcharset.c (locale_charset): Don't return an empty string.
78204
78205 2002-11-04  Bruno Haible  <bruno@clisp.org>
78206
78207         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
78208         aliases.
78209
78210 2002-11-04  Bruno Haible  <bruno@clisp.org>
78211
78212         * lib/config.charset: Update for newest glibc. Add canonical names
78213         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
78214
78215 2002-11-04  Bruno Haible  <bruno@clisp.org>
78216
78217         * lib/config.charset: Add support for NetBSD.
78218
78219 2002-11-04  Bruno Haible  <bruno@clisp.org>
78220
78221         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
78222
78223 2002-11-01  Bruno Haible  <bruno@clisp.org>
78224
78225         * configure.in: Add AC_CONFIG_AUX_DIR call.
78226         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
78227         test/Makefile.
78228         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
78229
78230 2002-09-28  Karl Berry  <karl@gnu.org>
78231
78232         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
78233         installed automake until the next release, since changes have been
78234         made.
78235
78236 2002-09-25  Karl Berry  <karl@gnu.org>
78237
78238         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
78239         * lib/getopt*: copy from libc/posix.
78240         * lib/gettext.h: copy from gettext.
78241         * lib/.cppi-disable: add strdup.c, gettext.h.
78242
78243 2002-09-25  Karl Berry  <karl@gnu.org>
78244
78245         * config/srclist.txt: enable gettext.h check.
78246         * config/config.{guess,sub}: update from prep.
78247         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
78248                 from automake 1.6.3.
78249         See srclist*.
78250
78251 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
78252
78253         * regex.c (PATFETCH): Remove the translating fetch.
78254         (PATFETCH_RAW): Rename to PATFETCH.
78255         (set_image_of_range): New fun.
78256         (SET_RANGE_TABLE_WORK_AREA): Use it.
78257         (regex_compile): Don't translate the pattern chars so eagerly.
78258         Only do it when inserting an `exactn' bytecode or when handling
78259         a char-range.
78260         (mutually_exclusive_p): Avoid empty statement.
78261
78262 2002-07-06  Jim Meyering  <meyering@lucent.com>
78263
78264         * m4/README: Don't mention Makefile.am.in.
78265         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
78266
78267 2002-07-01  Jim Meyering  <meyering@lucent.com>
78268
78269         * lib/c-stack.c: Include sys/time.h.
78270         From Volker Borchert.
78271
78272 2002-06-26  Paul Eggert  <eggert@twinsun.com>
78273
78274         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
78275
78276 2002-06-26  Paul Eggert  <eggert@twinsun.com>
78277
78278         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
78279         New macro.  Use it uniformly instead of
78280         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
78281         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
78282         reported by Vin Shelton.
78283
78284 2002-06-22  Paul Eggert  <eggert@twinsun.com>
78285
78286         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
78287         Do not assume SA_SIGINFO behavior.
78288         Bug reported by Jim Meyering on NetBSD 1.5.2.
78289
78290 2002-06-22  Jim Meyering  <meyering@lucent.com>
78291
78292         * m4/c-stack.m4: New file, from diffutils-2.8.2.
78293         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
78294
78295         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
78296         now that configure.ac uses AC_GNU_SOURCE.
78297         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
78298         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
78299
78300         Update to latest tools.  Suggestions from Paul Eggert.
78301         * m4/stdbool.m4: New file, from diffutils-2.8.2.
78302         * m4/gnu-source.m4: Update from diffutils-2.8.2.
78303         * m4/fnmatch.m4: Likewise.
78304         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
78305         to AC_HEADER_STDBOOL
78306
78307 2002-06-22  Jim Meyering  <meyering@lucent.com>
78308
78309         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
78310         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
78311
78312 2002-06-22  Jim Meyering  <meyering@lucent.com>
78313
78314         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
78315
78316         * lib/exitfail.c, exitfail.h: Likewise.
78317         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
78318
78319         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
78320         of fnmatch.h.
78321         (EXTRA_DIST): Add fnmatch_loop.c.
78322         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
78323
78324         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
78325         * lib/fnmatch.c: Update from diffutils-2.8.2.
78326         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
78327         * lib/fnmatch.h: Remove file.
78328
78329 2002-06-21  Jim Meyering  <meyering@lucent.com>
78330
78331         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
78332         * m4/mbrtowc.m4: Likewise.
78333
78334         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
78335         * m4/mbswidth.m4: Reflect name change:
78336         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
78337         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
78338
78339         * m4/lib-link.m4: Update from gettext-0.11.2.
78340         * m4/gettext.m4: Likewise.
78341
78342         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
78343         From Alfred M. Szmidt.
78344
78345 2002-06-18  Paul Eggert  <eggert@twinsun.com>
78346
78347         * lib/file-type.h: Report an error if neither S_ISREG nor
78348         S_IFREG is defined, instead of using a test specific to glibc
78349         2.2.  This should be safe, since POSIX requires S_ISREG and
78350         Unix Version 7 had S_IFREG.  We don't need to check for
78351         <sys/types.h> since we don't use any symbols that it defines.
78352
78353 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
78354
78355         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
78356         $@-t, so that each temporary file name is unique and valid in the first
78357         8 characters, for operation under DOS.
78358
78359 2002-06-15  Paul Eggert  <eggert@twinsun.com>
78360
78361         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
78362
78363 2002-06-15  Jim Meyering  <meyering@lucent.com>
78364
78365         Work even with DJGPP 2.03, which lacks support for symlinks.
78366         From Richard Dawe.
78367         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
78368         is defined.
78369         * lib/lchown.c (S_ISLNK): Likewise.
78370
78371 2002-06-15  Jim Meyering  <meyering@lucent.com>
78372
78373         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
78374         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
78375         have been included before this file.
78376
78377 2002-06-14  Jim Meyering  <meyering@lucent.com>
78378
78379         * lib/file-type.h: Use the version from diffutils-2.8.2.
78380         * lib/file-type.c: Likewise.
78381
78382 2002-06-07  Jim Meyering  <meyering@lucent.com>
78383
78384         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
78385         They're needed at least for NetBSD 1.5.2.
78386         ($statxfs_includes): Include those same headers.
78387         ($statxfs_includes): Include sys/vfs.h if available.
78388         ($statxfs_includes): Likewise for sys/statvfs.h.
78389         Check for the following members in both structs statfs and statvfs:
78390         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
78391
78392 2002-06-01  Jim Meyering  <meyering@lucent.com>
78393
78394         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
78395         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
78396
78397 2002-05-28  Jim Meyering  <meyering@lucent.com>
78398
78399         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
78400         Reported by Volker Borchert.
78401
78402 2002-05-27  Jim Meyering  <meyering@lucent.com>
78403
78404         Fix a problem seen only on nonconforming systems whereby ls.c's
78405         use of localtime, and then of gettimeofday would cause trouble:
78406         the localtime call used to initialize rpl_gettimeofday's save
78407         mechanism would clobber ls's current local time information so
78408         that in any long listing the first file would always be listed
78409         with date 1970-01-01.  Analysis by Volker Borchert.
78410
78411         * lib/gettimeofday.c (localtime): Undefine.
78412         (rpl_localtime): New function.
78413
78414 2002-05-27  Jim Meyering  <meyering@lucent.com>
78415
78416         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
78417         localtime.
78418
78419         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
78420         use the replacement function; it wouldn't resolve at link time.
78421         Reported by Volker Borchert.
78422
78423 2002-05-22  Jim Meyering  <meyering@lucent.com>
78424
78425         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
78426         file-type.h.
78427         * lib/file-type.h: New file.
78428         * lib/file-type.c (file_type): New file/function.  Extracted from
78429         diffutils.
78430
78431 2002-04-30  Jim Meyering  <meyering@lucent.com>
78432
78433         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
78434
78435 2002-04-29  Paul Eggert  <eggert@twinsun.com>
78436
78437         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
78438
78439 2002-04-29  Paul Eggert  <eggert@twinsun.com>
78440
78441         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
78442         Do not check for alloca.h (no longer used) or stdbool.h (was never
78443         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
78444
78445 2002-04-29  Paul Eggert  <eggert@twinsun.com>
78446
78447         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
78448
78449 2002-04-29  Jim Meyering  <meyering@lucent.com>
78450
78451         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
78452         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
78453         Use AC_FUNC_STRNLEN here instead.
78454
78455         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
78456         With autoconf-2.53a, it's part of AC_PROG_CC.
78457
78458 2002-04-28  Paul Eggert  <eggert@twinsun.com>
78459
78460         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
78461         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
78462
78463 2002-04-28  Paul Eggert  <eggert@twinsun.com>
78464
78465         * lib/sig2str.h, lib/sig2str.c: New files.
78466         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
78467
78468 2002-04-28  Paul Eggert  <eggert@twinsun.com>
78469
78470         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
78471         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
78472         of 127, since 64 is the largest conceivable number for ancient
78473         nonstandard hosts.
78474         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
78475
78476 2002-04-28  Jim Meyering  <meyering@lucent.com>
78477
78478         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
78479
78480 2002-04-24  Jim Meyering  <meyering@lucent.com>
78481
78482         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
78483         (jm_PREREQ): Use it.
78484
78485         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
78486         mach/mach.h fcntl.h.
78487         Check for this function: setlocale.
78488
78489 2002-04-24  Jim Meyering  <meyering@lucent.com>
78490
78491         * lib/gettext.h: New file, from Gettext.
78492         * lib/Makefile.am (INCLUDES): Remove -I../intl.
78493         (libfetish_a_SOURCES): Add gettext.h.
78494
78495 2002-04-16  Jim Meyering  <meyering@lucent.com>
78496
78497         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
78498         ut_pid, ut_id, ut_exit.
78499
78500 2002-04-16  Jim Meyering  <meyering@lucent.com>
78501
78502         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
78503         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
78504         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
78505
78506 2002-04-12  Jim Meyering  <meyering@lucent.com>
78507
78508         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
78509         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
78510         existence of the getmntinfo function.  Needed for Darwin 5.3.
78511
78512         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
78513         This is necessary at least on Darwin 5.3.
78514
78515         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
78516         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
78517         strnlen.o in the library, and that makes some versions of ranlib
78518         object.
78519
78520 2002-04-12  Jim Meyering  <meyering@lucent.com>
78521
78522         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
78523
78524 2002-04-09  Jim Meyering  <meyering@lucent.com>
78525
78526         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
78527         to be more precise.  Rather than saying we're checking whether the
78528         function `works', say what we're testing.
78529         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
78530         Reported by Bruno Haible.
78531
78532 2002-03-10  Jim Meyering  <meyering@lucent.com>
78533
78534         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
78535         Suggestion from Santiago Vila.
78536
78537 2002-03-08  Jim Meyering  <meyering@lucent.com>
78538
78539         * lib/rename.c: Mention that this wrapper is needed also on
78540         mips-dec-ultrix4.4 systems.
78541
78542 2002-03-02  Jim Meyering  <meyering@lucent.com>
78543
78544         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
78545         not HAVE_CLOCK_SETTIME.
78546
78547 2002-02-27  Paul Eggert  <eggert@twinsun.com>
78548
78549         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
78550         Check for clock_settime.
78551
78552 2002-02-27  Paul Eggert  <eggert@twinsun.com>
78553
78554         * lib/nanosleep.h: Rename to....
78555         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
78556
78557         * lib/gettime.c: New file.
78558         * lib/settime.c: New file.
78559         * lib/stime.c: Remove.
78560
78561         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
78562         timespec.h.  Remove nanosleep.h.
78563
78564 2002-02-25  Paul Eggert  <eggert@twinsun.com>
78565
78566         * m4/acl.m4: New file.
78567         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
78568         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
78569
78570 2002-02-25  Paul Eggert  <eggert@twinsun.com>
78571
78572         * lib/acl.c, lib/acl.h: New files.
78573         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
78574
78575 2002-02-24  Jim Meyering  <meyering@lucent.com>
78576
78577         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
78578         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
78579         cause trouble.  Reported by Nelson Beebe.
78580
78581 2002-02-23  Paul Eggert  <eggert@twinsun.com>
78582
78583         * lib/path-concat.c (xpath_concat): Reorder code to pacify
78584         compilers that don't know that xalloc_die never returns.
78585
78586 2002-02-20  Jim Meyering  <meyering@lucent.com>
78587
78588         * lib/getdate.c: Regenerate using bison-1.33.
78589
78590 2002-02-17  Jim Meyering  <meyering@lucent.com>
78591
78592         * config/config.guess (main): Don't use `head -1'; it's no longer
78593         portable. Use `sed 1q' instead.
78594
78595 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
78596
78597         * m4/codeset.m4: Upgrade to gettext-0.11.
78598         * m4/gettext.m4: Upgrade to gettext-0.11.
78599         * m4/glibc21.m4: Upgrade to gettext-0.11.
78600         * m4/iconv.m4: Upgrade to gettext-0.11.
78601         * m4/isc-posix.m4: Upgrade to gettext-0.11.
78602         * m4/lcmessage.m4: Upgrade to gettext-0.11.
78603         * m4/lib-ld.m4: New file, from gettext-0.11.
78604         * m4/lib-link.m4: New file, from gettext-0.11.
78605         * m4/lib-prefix.m4: New file, from gettext-0.11.
78606         * m4/progtest.m4: Upgrade to gettext-0.11.
78607
78608 2002-02-15  Paul Eggert  <eggert@twinsun.com>
78609
78610         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
78611         (jm_PREREQ): Use it.
78612
78613 2002-02-15  Paul Eggert  <eggert@twinsun.com>
78614
78615         * lib/posixver.c, lib/posixver.h: New files.
78616         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
78617
78618 2002-02-02  Paul Eggert  <eggert@twinsun.com>
78619             Bruno Haible  <bruno@clisp.org>
78620
78621         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
78622         (fwrite_success_callback): New declaration.
78623         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
78624         print_unicode_char. Call failure callback instead of error.
78625         (fwrite_success_callback): New function.
78626         (exit_failure_callback): New function.
78627         (fallback_failure_callback): New function.
78628         (print_unicode_char): Call unicode_to_mb.
78629
78630 2002-01-26  Jim Meyering  <meyering@lucent.com>
78631
78632         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
78633         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
78634
78635 2002-01-26  Jim Meyering  <meyering@lucent.com>
78636
78637         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
78638
78639 2002-01-22  Paul Eggert  <eggert@twinsun.com>
78640
78641         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
78642
78643 2002-01-22  Jim Meyering  <meyering@lucent.com>
78644
78645         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
78646         Otherwise, some versions of automake would omit the rule that makes
78647         Makefile from Makefile.in.
78648
78649 2002-01-21  Paul Eggert  <eggert@twinsun.com>
78650
78651         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
78652         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
78653         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
78654         (memcoll): Set errno to zero if there is no error.
78655
78656         * lib/quotearg.c (quotearg_buffer_restyled):
78657         Fix bug with quoting buffers containing NUL when backslashing escapes.
78658         This bug was exposed by the other changes in this patch.
78659         (quotearg_n_options): New arg ARGSIZE.
78660         All callers changed.
78661         (quoting_options_from_style): New function.
78662         (quotearg_n_style): Use it.
78663         (quotearg_n_style_mem): New function.
78664
78665         * lib/quotearg.h (quotearg_n_style_mem): New function.
78666
78667 2002-01-19  Jim Meyering  <meyering@lucent.com>
78668
78669         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
78670         Remove useless quotes: DF_PROG="df".
78671         * m4/strnlen.m4: New file.
78672
78673 2002-01-16  Paul Eggert  <eggert@twinsun.com>
78674
78675         * lib/backupfile.c (ISDIGIT): Comment fix.
78676         * lib/getdate.y (ISDIGIT): Likewise.
78677         * lib/posixtm.c (ISDIGIT, year): Likewise.
78678         * lib/strverscmp.c (ISDIGIT): Likewise.
78679         * lib/userspec.c (ISDIGIT): Likewise.
78680
78681 2002-01-16  Jim Meyering  <meyering@lucent.com>
78682
78683         * lib/getdate.y: Add three semicolons, each just before a closing
78684         brace. Bison (as of version 1.31) no longer papers over that mistake.
78685
78686 2002-01-05  Jim Meyering  <meyering@lucent.com>
78687
78688         * lib/version-etc.c (version_etc_copyright): Update copyright year.
78689
78690 2001-12-19  Paul Eggert  <eggert@twinsun.com>
78691
78692         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
78693         not silently exit merely because the output buffer happens to
78694         have nothing pending.
78695
78696 2001-12-18  Paul Eggert  <eggert@twinsun.com>
78697
78698         See the big note in ../ChangeLog.
78699         * lib/human.c (suffixes): Prefer K to k for 1024.
78700         (generate_suffix_backwards): New function.
78701         (human_readable_inexact): Use it.
78702         * lib/xstrtol.c (__xstrtol): If there is no number but there
78703         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
78704         Accept 'K' as well as 'k'.
78705
78706 2001-12-15  Jim Meyering  <meyering@lucent.com>
78707
78708         * lib/regex.h (__restrict_arr): Update from libc.
78709
78710         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
78711         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
78712         (STREQ): Define.
78713
78714 2001-12-14  Jim Meyering  <meyering@lucent.com>
78715
78716         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
78717         Suggestion from Bruno Haible.
78718
78719 2001-12-10  Jim Meyering  <meyering@lucent.com>
78720
78721         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
78722         xrealloc, Instead, include "xalloc.h".
78723         (initbuffer): Don't cast xmalloc return value to char*.
78724         (readline): Reword comment.
78725         Don't cast xrealloc return value to char*
78726         Return NULL, not 0.
78727
78728 2001-12-09  Jim Meyering  <meyering@lucent.com>
78729
78730         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
78731         about `signed and unsigned type in conditional expression'.
78732         * lib/posixtm.c (posix_time_parse): Likewise.
78733
78734         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
78735
78736         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
78737         to avoid a pedantic warning.
78738
78739         * lib/getstr.c: Don't include assert.h.
78740         (getstr): Remove warning-evoking assertions.
78741         Return -1 if offset parameter is out of bounds.
78742         Change the type of a local from int to size_t.
78743
78744         * lib/strftime.c (my_strftime_localtime_r): Include this function
78745         definition in the `#if ! HAVE_TM_GMTOFF' block.
78746
78747         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
78748         Include xalloc.h instead.
78749
78750 2001-12-02  Jim Meyering  <meyering@lucent.com>
78751
78752         * lib/tempname.c: Don't declare getenv, thus reverting the change of
78753         2001-11-18.  It's no longer necessary, now that stdlib.h is always
78754         included.
78755
78756         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
78757         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
78758
78759 2001-11-30  Akim Demaille  <akim@epita.fr>
78760
78761         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
78762         before being defined.
78763
78764 2001-11-27  Paul Eggert  <eggert@twinsun.com>
78765
78766         * lib/quotearg.h (quotearg_n, quotearg_n_style):
78767         First arg is int, not unsigned.
78768         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
78769         (SIZE_MAX, UINT_MAX): New macros.
78770         (quotearg_n_options): Abort if N is negative.
78771         Avoid overflow check on hosts where size_t is 64 bits and int
78772         is 32 bits, as overflow is impossible there.
78773         Fix off-by-one typo that caused unnecessary reallocation.
78774
78775 2001-11-27  Jim Meyering  <meyering@lucent.com>
78776
78777         * lib/tempname.c: Merge with version from libc.
78778         * lib/regex.c: Likewise.
78779
78780         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
78781         systems for which STDC_HEADERS is 0, it was not included, resulting in
78782         a warning about an integer-to-pointer conversion problem with getenv.
78783         Reported by Volker Borchert.
78784
78785 2001-11-26  Jim Meyering  <meyering@lucent.com>
78786
78787         * lib/gtod.h: Remove file.
78788         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
78789         * lib/gettimeofday.c: Don't include gtod.h.
78790         (GTOD_init): Remove function.
78791         (rpl_gettimeofday): Do its job here instead, rather than aborting.
78792         Suggestion from Volker Borchert.
78793
78794 2001-11-23  Jim Meyering  <meyering@lucent.com>
78795
78796         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
78797         it.
78798         * lib/hash.c (struct hash_table): Define it here instead.
78799
78800 2001-11-22  Jim Meyering  <meyering@lucent.com>
78801
78802         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
78803
78804 2001-11-20  Jim Meyering  <meyering@lucent.com>
78805
78806         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
78807         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
78808
78809 2001-11-19  Jim Meyering  <meyering@lucent.com>
78810
78811         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
78812         directory.  Use "conftestXXXXXX" as the template.
78813         Suggestion from Paul Eggert.
78814
78815         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
78816         immediately, so the test doesn't mistakenly hit the max-open-files
78817         limit.
78818
78819 2001-11-18  Paul Eggert  <eggert@twinsun.com>
78820
78821         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
78822         (TEMPORARIES): New macro.
78823         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
78824         removes an artificial limitation (e.g. HP-UX 10.20, where
78825         TMP_MAX is 17576).
78826
78827 2001-11-18  Jim Meyering  <meyering@lucent.com>
78828
78829         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
78830
78831 2001-11-18  Jim Meyering  <meyering@lucent.com>
78832
78833         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
78834         on SunOS 4.
78835
78836         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
78837         files will be created before anything else.
78838
78839 2001-11-17  Paul Eggert  <eggert@twinsun.com>
78840
78841         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
78842         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
78843
78844 2001-11-17  Jim Meyering  <meyering@lucent.com>
78845
78846         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
78847         Prompted by a report from Bob Proulx.
78848
78849         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
78850         Instead, require UTILS_FUNC_MKSTEMP.
78851
78852 2001-11-17  Jim Meyering  <meyering@lucent.com>
78853
78854         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
78855         Now, that's done as part of AC_FUNC_STRTOD.
78856
78857 2001-11-17  Jim Meyering  <meyering@lucent.com>
78858
78859         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
78860         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
78861         rather than group writable.  Patch by Juan F. Codagnone.
78862
78863         * lib/readtokens.c: Remove explicit declarations of xmalloc and
78864         xrealloc, Instead, include "xalloc.h".
78865
78866         * lib/mountlist.c: Include unlocked-io.h after all system headers.
78867         Remove explicit declarations of xmalloc, xrealloc,
78868         and xstrdup.  Instead, include "xalloc.h".
78869
78870         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
78871         unlocked-io.h.
78872         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
78873         Likewise.
78874         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
78875
78876         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
78877         Reported by Padraig Brady.
78878
78879         * lib/mkstemp.c: #undef mkstemp.
78880         Include config.h.
78881         (rpl_mkstemp): Rename from mkstemp.
78882         Protoize.
78883
78884 2001-11-16  Jim Meyering  <meyering@lucent.com>
78885
78886         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
78887         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
78888         determine the amount of total physical memory, use pstat_getstatic.
78889         HPUX-11 doesn't define _SC_PHYS_PAGES.
78890         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
78891         If sysconf couldn't be used to determine the amount of available
78892         physical memory, use both pstat_getstatic and pstat_getdynamic.
78893         Based on a patch from Bob Proulx.
78894
78895 2001-11-10  Jim Meyering  <meyering@lucent.com>
78896
78897         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
78898         (jm_PREREQ): Use it.
78899
78900 2001-11-09  Jim Meyering  <meyering@lucent.com>
78901
78902         * m4/jm-macros.m4: Require autoconf-2.52f.
78903         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
78904         Use these AC_-prefixed names, not the AM_-prefixed ones.
78905
78906         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
78907
78908 2001-11-05  Jim Meyering  <meyering@lucent.com>
78909
78910         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
78911
78912 2001-11-04  Jim Meyering  <meyering@lucent.com>
78913
78914         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
78915         $DEFS.
78916
78917 2001-11-03  Jim Meyering  <meyering@lucent.com>
78918
78919         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
78920         of AC_DEFUN.
78921
78922         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
78923         know the name of the variable in the macro definition.
78924
78925 2001-11-03  Jim Meyering  <meyering@lucent.com>
78926
78927         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
78928         in argmatch_to_argument call.
78929
78930         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
78931         argument.
78932
78933         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
78934         e.g., a fault due to an attempt to free a NULL pointer.
78935
78936 2001-11-01  Jim Meyering  <meyering@lucent.com>
78937
78938         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
78939         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
78940
78941 2001-11-01  Jim Meyering  <meyering@lucent.com>
78942
78943         * lib/dirfd.c, lib/dirfd.h: New files.
78944         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
78945
78946         * lib/hash.c (hash_print) [TESTING]: Clean up.
78947
78948 2001-10-22  Paul Eggert  <eggert@twinsun.com>
78949
78950         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
78951         to avoid a warning if -Wall.
78952
78953 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
78954
78955         * README: New file
78956         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
78957         (per RMS's instructions, this is now the canonical source)
78958         * lgpl/, gpl/: New directories.
78959
78960 2001-10-21  Paul Eggert  <eggert@twinsun.com>
78961
78962         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
78963
78964 2001-10-21  Jim Meyering  <meyering@lucent.com>
78965
78966         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
78967         this code would end up calling gettext even in packages built
78968         with --disable-nls.
78969         * lib/getopt.c (_): Likewise.
78970         * lib/regex.c (_): Likewise.
78971
78972 2001-10-20  Paul Eggert  <eggert@twinsun.com>
78973
78974         * m4/error.m4 (jm_PREREQ_ERROR):
78975         Do not invoke AC_CHECK_FUNCS with strerror_r, as
78976         AC_FUNC_STRERROR_R does that.
78977         Check for strerror declaration.
78978
78979         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
78980         are supposed to have them these days.
78981         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
78982         Merge changes from latest Autoconf CVS.
78983         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
78984         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
78985         POSIX decided to standardize on the int flavor of strerror_r.
78986
78987 2001-10-20  Paul Eggert  <eggert@twinsun.com>
78988
78989         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
78990         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
78991         Use strerror_r that is only a macro, even if it is not a function.
78992         (strerror): Check for HAVE_DECL_STRERROR before declaring.
78993         (private_strerror): Use prototypes, not old-style function definition.
78994         (print_errno_message): New function.
78995         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
78996         char*-flavored one.
78997         (error_tail, error, error_at_line): Use it.
78998
78999 2001-10-11  Jim Meyering  <meyering@lucent.com>
79000
79001         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
79002         and quote_n (1, ... to avoid clobbering a buffer.
79003
79004 2001-10-05  Jim Meyering  <meyering@lucent.com>
79005
79006         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
79007         hash-pjw.h.
79008         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
79009         * lib/hash-pjw.h: New file.
79010
79011 2001-09-30  Jim Meyering  <meyering@lucent.com>
79012
79013         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
79014         `struct fsstat' has the `f_fstypename' member.
79015         Use that to define FS_TYPE, which is now used to make
79016         the getfsstat link test tighter.
79017
79018 2001-09-30  Jim Meyering  <meyering@lucent.com>
79019
79020         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
79021         Include <sys/ucred.h>, for Apple Darwin.
79022         Include sys/mount.h and sys/fs_types.h only if available.
79023         (FS_TYPE): Define.
79024         (read_filesystem_list): Use FS_TYPE.
79025
79026 2001-09-29  Paul Eggert  <eggert@twinsun.com>
79027
79028         * lib/exclude.c (excluded_filename): 0 -> false, since it's
79029         a boolean context.
79030
79031 2001-09-29  Jim Meyering  <meyering@lucent.com>
79032
79033         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
79034         [one-argument getmntent function]): Include stdio.h before mntent.h.
79035         SunOS 4.1.x needs it for the declaration of `FILE'.
79036         Patch by Volker Borchert.
79037
79038         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
79039         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
79040         sys/fs_types.h, and make the link-test for getfsstat guard #include
79041         directives with appropriate #if HAVE_*_H tests so that we can
79042         detect getfsstat on Apple Darwin1.3.7 systems.
79043         Reported by Nelson Beebe.
79044         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
79045
79046 2001-09-28  Paul Eggert  <eggert@twinsun.com>
79047
79048         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
79049         #defines strtoimax.  Also treat the other strto* functions
79050         like strtoimax.
79051
79052         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
79053         Check for strtoul and strtoumax,
79054         as those declarations are made even in the signed case.
79055         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
79056         Likewise, for strtol and strtoimax.
79057
79058 2001-09-28  Paul Eggert  <eggert@twinsun.com>
79059
79060         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
79061         #defines strtoimax.  Also treat the other strto* functions
79062         like strtoimax.
79063
79064         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
79065         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
79066         (strtoimax, strtoumax): Do not declare if already defined as a macro.
79067
79068 2001-09-26  Jim Meyering  <meyering@lucent.com>
79069
79070         Most macros in unlocked-io.h had the wrong number of arguments.
79071         * lib/gen-uio: New script.
79072         (USE_UNLOCKED_IO): Define to 1 if not already defined.
79073         * lib/unlocked-io.hin: Remove file.
79074         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
79075         rather than trying to embed it here.
79076         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
79077         Reported by Padraig Brady.
79078
79079 2001-09-25  Volker Borchert  <bt@teknon.de>
79080
79081         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
79082         `result'.
79083
79084 2001-09-24  Jim Meyering  <meyering@lucent.com>
79085
79086         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
79087
79088 2001-09-23  Jim Meyering  <meyering@lucent.com>
79089
79090         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
79091         instead of the mere test for existence of mntent.h.  The latter
79092         would get a false-positive on AIX 3.4 systems.
79093         In the outer getmntent if-block, don't die if neither of the getmntent
79094         tests succeeds.  Instead, just fall through and continue with the
79095         remaining tests.
79096
79097 2001-09-23  Jim Meyering  <meyering@lucent.com>
79098
79099         * lib/mountlist.c: Remove useless parentheses in #if directives.
79100         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
79101         the deprecated MOUNTED symbol is no longer defined in mntent.h.
79102
79103 2001-09-22  Jim Meyering  <meyering@lucent.com>
79104
79105         * m4/gettext.m4: New file.  From gettext.
79106         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
79107         * m4/progtest.m4: Likewise
79108         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
79109         * m4/glibc21.m4: Likewise.
79110
79111         * m4/libintl.m4: Remove.  No longer used.
79112
79113 2001-09-22  Jim Meyering  <meyering@lucent.com>
79114
79115         * lib/localcharset.c: Update from latest gettext.
79116         * lib/config.charset: Likewise.
79117
79118 2001-09-20  Jim Meyering  <meyering@lucent.com>
79119
79120         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
79121         strtoimax.
79122         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
79123         strtoumax.
79124
79125 2001-09-20  Jim Meyering  <meyering@lucent.com>
79126
79127         * lib/xstrtol.c (strtoimax): Guard declaration with
79128         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
79129         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
79130         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
79131         (strtoumax): Likewise, for completeness (it wasn't necessary).
79132
79133 2001-09-17  Paul Eggert  <eggert@twinsun.com>
79134
79135         * lib/strtoimax.c (HAVE_LONG_LONG):
79136         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
79137         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
79138         to work around bug in IBM C compiler.
79139
79140 2001-09-17  Jim Meyering  <meyering@lucent.com>
79141
79142         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
79143         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
79144         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
79145         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
79146         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
79147         whenever the right hand side need not be expanded by the shell.
79148
79149 2001-09-16  Paul Eggert  <eggert@twinsun.com>
79150
79151         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
79152         library.  It's not correct, as some older glibcs are buggy.
79153         fnmatch wasn't fixed until glibc 2.2.
79154
79155         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
79156         special shell magic here.
79157
79158 2001-09-16  Jim Meyering  <meyering@lucent.com>
79159
79160         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
79161         * m4/jm-macros.m4: Require it.
79162
79163 2001-09-16  Jim Meyering  <meyering@lucent.com>
79164
79165         * lib/mkdir.c: New file.
79166
79167 2001-09-15  Jim Meyering  <meyering@lucent.com>
79168
79169         * m4/jm-macros.m4: Check for help2man.
79170
79171 2001-09-11  Jim Meyering  <meyering@lucent.com>
79172
79173         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
79174         The body, by Paul Eggert, was moved here from configure.in.
79175         * m4/jm-macros.m4: Require UTILS_HOST_OS.
79176
79177 2001-09-04  Paul Eggert  <eggert@twinsun.com>
79178
79179         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
79180         (jm_PREREQ): Use it.
79181
79182 2001-09-04  Paul Eggert  <eggert@twinsun.com>
79183
79184         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
79185         Use ssize_t, not int, to store result of readlink.
79186         Check for ssize_t overflow as well as size_t overflow,
79187         as POSIX says the result of readlink is implementation-defined
79188         when ssize_t overflows.
79189         Remove unnecessary cast to char*.
79190         Use free+malloc instead of realloc, as the storage doesn't need
79191         to be preserved and it's clearer and can be more efficient that way.
79192         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
79193         * lib/xreadlink.h (xreadlink): Update prototype.
79194
79195 2001-09-04  Paul Eggert  <eggert@twinsun.com>
79196
79197         * lib/xgetcwd.c: Revert some of the previous change; intead,
79198         fix the HAVE_GETCWD_NULL code to behave more like the
79199         !HAVE_GETCWD_NULL code used to.
79200
79201         Include "xalloc.h".
79202         (xgetcwd): Do not return NULL when memory is exhausted; instead,
79203         invoke xalloc_die.
79204
79205 2001-09-03  Paul Eggert  <eggert@twinsun.com>
79206
79207         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
79208         sys/param.h, as pathmax.h includes them.
79209
79210 2001-09-03  Paul Eggert  <eggert@twinsun.com>
79211
79212         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
79213         (jm_PREREQ_XGETCWD): New macro.
79214
79215         * m4/getcwd.m4: New file.
79216
79217 2001-09-03  Paul Eggert  <eggert@twinsun.com>
79218
79219         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
79220         like the HAVE_GETCWD_NULL code.
79221         Include pathmax.h if not HAVE_GETCWD.
79222         Do not include xalloc.h.
79223         (INITIAL_BUFFER_SIZE): New symbol.
79224         Do not use xmalloc / xrealloc, since the caller is responsible for
79225         handling errors.  Preserve errno around `free' during failure.
79226         Do not overrun buffer when using getwd.
79227
79228 2001-09-03  Paul Eggert  <eggert@twinsun.com>
79229
79230         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
79231         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
79232         getcwd (NULL, 0).
79233
79234 2001-09-03  Paul Eggert  <eggert@twinsun.com>
79235
79236         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
79237         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
79238         spotted by Jim Meyering.
79239
79240 2001-09-03  Jim Meyering  <meyering@lucent.com>
79241
79242         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
79243         failure.
79244
79245 2001-09-02  Jim Meyering  <meyering@lucent.com>
79246
79247         * lib/error.c: Update from GNU libc.
79248
79249 2001-09-01  Jim Meyering  <meyering@lucent.com>
79250
79251         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
79252         Used by df.
79253
79254 2001-09-01  Jim Meyering  <meyering@lucent.com>
79255
79256         * lib/xreadlink.c: New file.
79257         * lib/xreadlink.h: New file.
79258         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
79259         xreadlink.h.
79260
79261         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
79262         doesn't conflict with sparc Solaris 7's definition in
79263         /usr/include/sys/int_types.h.
79264
79265         * lib/exclude.c: Use `""', not `<>' to #include non-system header
79266         files.
79267         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
79268         and strncasecmp as r-values.  Unixware didn't have declarations.
79269
79270 2001-08-31  Paul Eggert  <eggert@twinsun.com>
79271
79272         * lib/xstrtol.h: Add copyright notice.
79273         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
79274         LONGINT_INVALID_SUFFIX_CHAR.
79275
79276 2001-08-31  Paul Eggert  <eggert@twinsun.com>
79277
79278         * lib/xstrtol.c (strtoimax): New decl.
79279
79280 2001-08-31  Paul Eggert  <eggert@twinsun.com>
79281
79282         * lib/xgetcwd.c: Don't include pathmax.h.
79283         Include stdlib.h and unistd.h if available.
79284         Include xalloc.h.
79285         (xmalloc, xstrdup, free): Remove decls.
79286         (xgetcwd): Don't assume sizes fit in unsigned.
79287         Check for overflow when computing sizes.
79288         Simplify reallocation code.
79289
79290 2001-08-31  Paul Eggert  <eggert@twinsun.com>
79291
79292         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
79293         a directory's st_size can have an arbitrary value, so the old
79294         usage could waste an arbitrary amount of memory.  All uses
79295         changed.
79296         * lib/savedir.h: Update prototype.
79297
79298 2001-08-31  Paul Eggert  <eggert@twinsun.com>
79299
79300         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
79301
79302         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
79303         old strtoimax.c.
79304
79305         Also, make the following further changes to make this file's
79306         configuration more similar to that of strtol.c:
79307         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
79308         (strtoumax, uintmax_t, strtoull, strtol): Remove.
79309         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
79310         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
79311         changed to signed values.
79312
79313         And make the following changes as well:
79314         Fix copyright notice, as 1999 was missing.
79315         (verify): New macro.
79316         (strtoimax): Check sizes at compile-time, not run-time.
79317         Prefer strtol to strtoll if both work.
79318         (main): Remove; it was not that useful and was a pain to maintain.
79319
79320         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
79321
79322 2001-08-31  Jim Meyering  <meyering@lucent.com>
79323
79324         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
79325         Use an initial, malloc'd, buffer of length 128 rather than
79326         a statically allocated one of length 1024.
79327
79328 2001-08-30  Paul Eggert  <eggert@twinsun.com>
79329
79330         Simplify code, partly by assuming autoconf 2.52 semantics.
79331
79332         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
79333
79334         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
79335         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
79336         All uses removed.
79337         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
79338         Move AC_REQUIRE to next-to-top level, to avoid confusion.
79339         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
79340         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
79341         jm_AC_HEADER_INTTYPES_H.
79342         * m4/jm-macros.m4 (jm_MACROS): Likewise.
79343
79344         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
79345
79346         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
79347         Quote first arg of AC_DEFUN.
79348         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
79349         since they are needed to parse the include file even if we need
79350         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
79351         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
79352         but with opposite signedness.
79353
79354 2001-08-30  Paul Eggert  <eggert@twinsun.com>
79355
79356         Merge 'exclude' changes from tar 1.13.22.
79357         This fixes one or two unlikely storage allocation overflow bugs,
79358         but doesn't change user-visible behavior otherwise.
79359
79360 2001-08-30  Paul Eggert  <eggert@twinsun.com>
79361
79362         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
79363         (jm_PREREQ_EXCLUDE): New macro.
79364
79365 2001-08-30  Paul Eggert  <eggert@twinsun.com>
79366
79367         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
79368         tm to be declared.
79369
79370 2001-08-30  Paul Eggert  <eggert@twinsun.com>
79371
79372         * lib/hash.c: Remove '2001' from copyright notice.
79373
79374 2001-08-30  Paul Eggert  <eggert@twinsun.com>
79375
79376         * lib/full-write.h: New file.
79377         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
79378         * lib/full-write.c: Correct credits, as cccp.c no longer
79379         exists and anyway it was so heavily changed from the old cccp
79380         code as to be unrecognizable.  Include full-write.h.
79381         (full_write): Return size_t, with short writes meaning failure.
79382         All callers changed.  This fixes a bug with large buffers
79383         on 64-bit hosts.
79384         * lib/utime.c: Include full-write.h.
79385
79386 2001-08-30  Paul Eggert  <eggert@twinsun.com>
79387
79388         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
79389         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
79390         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
79391         Include if available.
79392         (<xalloc.h>): Include
79393         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
79394         (verify): New macro.  Use it to verify that EXCLUDE macros do not
79395         collide with FNM macros.
79396         (struct patopts): New struct.
79397         (struct exclude): Use it, as exclude patterns now come with options.
79398         (new_exclude): Support above changes.
79399         (new_exclude, add_exclude_file):
79400         Initial size must now be a power of two to simplify overflow checking.
79401         (free_exclude, fnmatch_no_wildcards): New function.
79402         (excluded_filename): No longer requires options arg, as the options
79403         are determined by add_exclude.  Now returns bool, not int.
79404         (excluded_filename, add_exclude):
79405         Add support for the fancy new exclusion options.
79406         (add_exclude, add_exclude_file): Now takes int options arg.
79407         Check for arithmetic overflow when computing sizes.
79408         (add_exclude_file): xrealloc might modify errno, so don't
79409         realloc until after errno might be used.
79410
79411         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
79412         New macros.
79413         (free_exclude): New decl.
79414         (add_exclude, add_exclude_file): Now takes int options arg.
79415         (excluded_filename): No longer requires options arg, as the options
79416         are determined by add_exclude.  Now returns bool, not int.
79417
79418 2001-08-30  Paul Eggert  <eggert@twinsun.com>
79419
79420         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
79421
79422 2001-08-27  Jim Meyering  <meyering@lucent.com>
79423
79424         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
79425
79426         * lib/version-etc.c (N_): Remove definition.
79427         Revert most of last change.
79428         Instead, simply don't mark the `Copyright...' string for translation.
79429         Based on advice from Paul Eggert.
79430
79431         * lib/strtoxmax.c: Tweak comment.
79432
79433 2001-08-26  Jim Meyering  <meyering@lucent.com>
79434
79435         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
79436
79437         * m4/xstrtoimax.m4: New file.
79438         * m4/xstrtoumax.m4: Add comments explaining why we
79439         AC_REPLACE_FUNCS(strtol).
79440
79441 2001-08-26  Jim Meyering  <meyering@lucent.com>
79442
79443         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
79444         of copyright with `%s' so translators don't get an untranslated
79445         message in 2002.
79446         (COPYRIGHT_YEAR): Define.
79447         (version_etc): Use fprintf rather than fputs.
79448         Suggestion from Ulrich Drepper.
79449
79450         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
79451
79452         * lib/strtoll.c: New file, from GNU libc.
79453         * lib/xstrtoimax.c: New file.
79454
79455         * lib/xstrtol.h: Add xstrtoimax.
79456         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
79457         * lib/strtoimax.c: New file.  Likewise, but first define
79458         STRTOUXMAX_SIGNED.
79459
79460         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
79461         ...
79462         * lib/strtoxmax.c: ... then renamed to this.
79463
79464 2001-08-18  Paul Eggert  <eggert@twinsun.com>
79465
79466         * m4/inttypes.m4: Add AC_PREREQ(2.13).
79467         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
79468         (jm_AC_TYPE_INTMAX_T): New macro.
79469         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
79470
79471         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
79472
79473         * m4/longlong.m4: Renamed from ulonglong.m4.
79474         * m4/inttypes.m4: Renamed from inttypes_h.m4.
79475         * m4/uintmax_t.m4: Removed.
79476
79477 2001-08-13  Paul Eggert  <eggert@twinsun.com>
79478
79479         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
79480         Port to Solaris 8, where 'sed' requires a space after the 'r'
79481         command, and where sh dislikes "$/".  Clean up the spacing a bit.
79482         Redirect output to $tmp just once.
79483
79484 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
79485
79486         * lib/addext.c (<errno.h>): Include.
79487         (errno): Declare if not defined.
79488         (addext): Work correctly when pathconf returns -1 and leaves
79489         errno alone because there is no limit.  Also, work even if
79490         pathconf returns a value greater than SIZE_MAX.
79491
79492 2001-08-12  Jim Meyering  <meyering@lucent.com>
79493
79494         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
79495         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
79496         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
79497         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
79498         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
79499         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
79500         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
79501         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
79502         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
79503         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
79504         utime.m4, utimes.m4, xstrtoumax.m4:
79505         Quote the first argument in each use of AC_DEFUN.
79506
79507 2001-08-12  Jim Meyering  <meyering@lucent.com>
79508
79509         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
79510         Simply `return getcwd (NULL, 0);'.
79511         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
79512         Use 1300 as initial value for length, not PATH_MAX.
79513
79514         * lib/pathmax.h: Clean up cpp syntax.
79515
79516 2001-08-12  Jim Meyering  <meyering@lucent.com>
79517
79518         * lib/gettimeofday.c: New file.
79519         * lib/gtod.h: New file.
79520         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
79521
79522 2001-08-05  Jim Meyering  <meyering@lucent.com>
79523
79524         * m4/jm-macros.m4: Require autoconf-2.52.
79525
79526 2001-08-04  Jim Meyering  <meyering@lucent.com>
79527
79528         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
79529         stmt, to get in sync with glibc.
79530
79531 2001-08-03  Paul Eggert  <eggert@twinsun.com>
79532
79533         The following changes are from gettext 0.10.39 as maintained by
79534         Bruno Haible.
79535
79536         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
79537         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
79538         with inverted sense.  All uses changed.
79539
79540         * lib/mbswidth.c: Don't include <limits.h>.
79541         Include <stdlib.h> and <string.h> unconditionally.
79542         (iswcntrl, mbsinit, ISCNTRL): New macros.
79543         (mbsnwidth): Use K&R style function declarations.
79544         Don't bother checking for MB_LEN_MAX == 1, since the compiler
79545         can optimize it when MB_CUR_MAX == 1.
79546         The width of control characters is zero, not 1.
79547
79548 2001-08-03  Paul Eggert  <eggert@twinsun.com>
79549
79550         The following changes are from gettext 0.10.39 as maintained by
79551         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
79552
79553         * m4/codeset.m4: Upgrade to serial AM1.
79554         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
79555         all uses changed.  Quote first arg of AC_DEFUN.
79556         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
79557
79558         * m4/iconv.m4: Upgrade to serial AM2.
79559         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
79560         Add --with-libconv-prefix.
79561         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
79562         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
79563         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
79564         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
79565         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
79566
79567         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
79568         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
79569         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
79570         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
79571         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
79572         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
79573         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
79574         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
79575         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
79576
79577         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
79578         string.h any more.
79579
79580         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
79581         not the default value.
79582
79583         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
79584         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
79585         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
79586         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
79587         Also check for iswcntrl, used for wcwidth fallback.
79588         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
79589         to Autoconf 2.13.
79590
79591 2001-08-03  Jim Meyering  <meyering@lucent.com>
79592
79593         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
79594         as it was in the original.  Reported by Paul Eggert.
79595
79596 2001-07-16  Jim Meyering  <meyering@lucent.com>
79597
79598         * m4/gettimeofday.m4: New file.
79599         Prompted by a report from Bernhard Baehr.
79600
79601 2001-07-15  Jim Meyering  <meyering@lucent.com>
79602
79603         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
79604         stuff. Now it's in ../Makefile.cfg.
79605
79606 2001-07-15  Jim Meyering  <meyering@lucent.com>
79607
79608         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
79609         (BUILT_SOURCES): Add unlocked-io.h.
79610         (io_functions): Define.
79611         (unlocked-io.h): New rule.
79612         (DISTCLEANFILES): Add unlocked-io.h.
79613         (all-local): Depend on unlocked-io.h, to ensure it is created.
79614
79615         * lib/unlocked-io.hin: New file
79616
79617         * lib/regex.c: Update from glibc.
79618
79619 2001-07-05  Jim Meyering  <meyering@lucent.com>
79620
79621         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
79622         recommendation.
79623         (libfetish_a_SOURCES): Put all .h files here instead.
79624         Remove a thus-exposed (better checks in automake) duplicate and
79625         two unnecessary .h files.
79626
79627 2001-07-04  Jim Meyering  <meyering@lucent.com>
79628
79629         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
79630         that generates jm-glibc-io.m4 so that it doesn't trigger any make
79631         distcheck failure.
79632
79633 2001-07-02  Jim Meyering  <meyering@lucent.com>
79634
79635         The following changes were prompted by suggestions from Bruno Haible.
79636
79637         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
79638         is now generated.
79639         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
79640         definition of EXTRA_DIST.
79641         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
79642         ensure that the generated file is created/updated whenever the list
79643         of $(unlocked_functions) is changed.
79644         (jm-glibc-io.m4): New rule.
79645         (unlocked-io.h): New rule -- currently unused.
79646
79647 2001-06-24  Jim Meyering  <meyering@lucent.com>
79648
79649         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
79650         unmatched right bracket, rather than kludging it with an extra,
79651         falsely-matching quote in a comment.  Patch by Akim Demaille.
79652
79653 2001-06-11  Jim Meyering  <meyering@lucent.com>
79654
79655         * lib/regex.c: Update from GNU libc.
79656
79657 2001-05-27  Jim Meyering  <meyering@lucent.com>
79658
79659         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
79660         Check for ut_type in struct utmp.
79661
79662 2001-05-27  Jim Meyering  <meyering@lucent.com>
79663
79664         * lib/readutmp.h (UT_TYPE): Define.
79665
79666 2001-05-24  Jim Meyering  <meyering@lucent.com>
79667
79668         * lib/argmatch.c: Include "quote.h".
79669         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
79670         quote function.  Reported by Göran Uddeborg.
79671
79672 2001-05-22  Jim Meyering  <meyering@lucent.com>
79673
79674         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
79675         now that we use the package-supplied version unconditionally.
79676         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
79677
79678 2001-05-21  Jim Meyering  <meyering@lucent.com>
79679
79680         * m4/regex.m4: Change a couple backticks to single quotes to avoid
79681         shell syntax errors.
79682
79683 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
79684
79685         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
79686
79687 2001-05-20  Paul Eggert  <eggert@twinsun.com>
79688
79689         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
79690         Don't bother to check library strftime, since
79691         we'll be using our own my_strftime function anyway.
79692         Define my_strftime instead of strftime.
79693
79694 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
79695
79696         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
79697         which is not yet declared.
79698
79699 2001-05-15  Jim Meyering  <meyering@lucent.com>
79700
79701         * m4/regex.m4: Use proper quoting so brackets appear in the test
79702         program.
79703         Reported by, and with help from, Bruno Haible.
79704
79705 2001-05-13  Jim Meyering  <meyering@lucent.com>
79706
79707         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
79708         undefined.
79709
79710 2001-05-11  Paul Eggert  <eggert@twinsun.com>
79711
79712         dirname code cleanup.  base_name now behaves more compatibly
79713         with POSIX basename when given file names that have trailing
79714         slashes, and similarly for dir_name.  Add new primitives
79715         base_len and dir_len.  Put the directory-name-related decls
79716         into dirname.h.
79717
79718         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
79719         * lib/backupfile.c (base_name): Likewise.
79720         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
79721         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
79722         * lib/makepath.c (strip_trailing_slashes): Likewise.
79723         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
79724         ISSLASH): Likewise.
79725         * lib/rename.c (strip_trailing_slashes): Likewise.
79726         * lib/same.c (base_name): Likewise.
79727         * lib/stripslash.c (ISSLASH): Likewise.
79728
79729         * lib/addext.c: Include <dirname.h> after size_t is defined.
79730         * lib/backupfile.c: Likewise.
79731
79732         * lib/addext.c (addext): Use base_len to trim redundant
79733         trailing slashes instead of doing it ourselves.
79734         But do not trim the last slash if it is not redundant.
79735
79736         * lib/backupfile.c (find_backup_file_name,
79737         max_backup_version): Use base_len instead of rolling it ourselves.
79738         Handle the case of "" and (on DOS) "C:" correctly.
79739
79740         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
79741         needed. Include <string.h>, <dirname.h>.
79742         (base_name): Allow file names ending in slashes, other than names
79743         that are all slashes.  In this case, return the basename followed
79744         by the slashes.  This is more general, and can be used in places
79745         where the original base_name purposely had an assertion failure.
79746         (base_len): New function.
79747
79748         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
79749         Do not include <assert.h>; no longer needed.
79750         Include xalloc.h.
79751         (memrchr): Remove decl.
79752         (dir_name_r): Remove.
79753         (dir_len): Renamed from dirlen.  All callers changed.
79754         Rewrite in terms of base_name, for simplicity and consistency.
79755         (dir_name): Never return NULL.  All callers changed.
79756         Do not include <stdlib.h> in test program; no longer needed.
79757         return 0; is fine for test program.
79758
79759         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
79760         New macros.
79761         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
79762
79763         * lib/path-concat.c (path_concat): Use base_len to compute
79764         base length, not strlen; this means we cannot rely on memcpy
79765         to null-terminate.
79766
79767         * lib/same.c (STREQ): Remove.
79768         (same_name): Handle the case where the basename ends in trailing '/'.
79769
79770         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
79771         a slash was stripped.  Do not strip the last slash after a
79772         file system prefix.
79773
79774 2001-05-11  Paul Eggert  <eggert@twinsun.com>
79775
79776         * lib/Makefile.am (libfetish_a_SOURCES):
79777         Add strftime.c, since we now compile it on all hosts.
79778
79779         * lib/strftime.c (my_strftime):
79780         Define to nstrftime if emacs, but only if my_strftime is not defined.
79781         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
79782         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
79783         Add one more extra argument: a nanoseconds value.
79784         All uses changed.
79785         (ns): New macro.
79786         (my_strftime function): Add %N format.
79787         (emacs_strftimeu): Renamed from emacs_strftime,
79788         with extra ut argument.
79789
79790 2001-05-09  Paul Eggert  <eggert@twinsun.com>
79791
79792         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
79793
79794 2001-04-21  Jim Meyering  <meyering@lucent.com>
79795
79796         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
79797         doesn't interfere.
79798
79799 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
79800
79801         * m4/ftruncate.m4: Check for chsize.
79802         Link with ftruncate.o unconditionally if ftruncate is missing.
79803         This was required when cross-compiling to i586-mingw32msvc.
79804
79805 2001-04-08  Jim Meyering  <meyering@lucent.com>
79806
79807         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
79808         recomputed; that's necessary when the offset spans a DST transition.
79809         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
79810
79811 2001-04-02  Jim Meyering  <meyering@lucent.com>
79812
79813         * lib/regex.h, regex.c: Update from GNU libc.
79814
79815 2001-03-24  Jim Meyering  <meyering@lucent.com>
79816
79817         * m4/jm-macros.m4: Require autoconf-2.49d.
79818
79819 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
79820
79821         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
79822
79823 2001-03-19  Paul Eggert  <eggert@twinsun.com>
79824
79825         * lib/version-etc.c (version_etc_copyright): Update to 2001.
79826
79827 2001-03-17  Jim Meyering  <meyering@lucent.com>
79828
79829         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
79830         now that the version in autoconf is equivalent.
79831         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
79832
79833         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
79834         Suggestion from Akim Demaille.
79835
79836         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
79837         (jm_PREREQ_TEMPNAME): New function.
79838
79839 2001-03-16  Paul Eggert  <eggert@twinsun.com>
79840
79841         * lib/tempname.c (uint64_t): Define to uintmax_t if
79842         not defined, and if UINT64_MAX is not defined.
79843         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
79844         Reported by John David Anglin.
79845
79846 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
79847
79848         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
79849         resolve alias if codeset is empty.
79850         * lib/config.charset (BeOS): Use wildcard syntax.
79851
79852 2001-03-13  Jim Meyering  <meyering@lucent.com>
79853
79854         * lib/path-concat.c (path_concat)
79855         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
79856         concatenating e.g., `C:' and `foo'.
79857         From Bruno Haible.
79858
79859 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
79860
79861         * lib/localcharset.c (locale_charset): Don't use
79862         setlocale(LC_CTYPE,NULL). Don't return NULL.
79863         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
79864
79865 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
79866
79867         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
79868         support for DOS/DJGPP.
79869
79870 2001-03-01  Paul Eggert  <eggert@twinsun.com>
79871
79872         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
79873         lacks mkstemp.  Compile our own tempname.c if we compile our own
79874         mkstemp.c, as mkstemp relies on tempname.
79875
79876 2001-03-01  Jim Meyering  <meyering@lucent.com>
79877
79878         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
79879         AH_VERBATIM really does output its argument verbatim.
79880
79881 2001-02-28  Paul Eggert  <eggert@twinsun.com>
79882
79883         * lib/Makefile.am (libfetish_a_SOURCES):
79884         Add dup-safer.c, fopen-safer.c.
79885         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
79886
79887         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
79888         * lib/unistd-safer.h: New files.
79889
79890 2001-02-25  Paul Eggert  <eggert@twinsun.com>
79891
79892         The mkstemp replacement is taken from glibc 2.2.2, with some
79893         portability fixes for use outside glibc, as follows:
79894
79895         * lib/tempname.c (struct_stat64): New macro.
79896         (direxists, __gen_tempname): Use it.
79897         This avoids a portability problem with Solaris 8.
79898
79899         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
79900         (<stddef.h>, <stdint.h>, <string.h>):
79901         Include only if STDC_HEADERS || _LIBC.
79902         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
79903         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
79904         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
79905         (__set_errno): Define this macro if <errno.h> doesn't.
79906         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
79907         Define these macros if <stdio.h> doesn't.
79908         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
79909         Define these macros if <sys/stat.h>
79910         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
79911         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
79912         __xstat64): Define if not _LIBC.
79913         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
79914         (__gen_tempname): Invoke gettimeofday only if
79915         HAVE_GETTIMEOFDAY || _LIBC;
79916         otherwise, fall back on plain "time".
79917         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
79918
79919         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
79920
79921         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
79922
79923 2001-02-18  Paul Eggert  <eggert@twinsun.com>
79924
79925         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
79926
79927 2001-02-17  Paul Eggert  <eggert@twinsun.com>
79928
79929         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
79930         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
79931         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
79932         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
79933
79934 2001-02-17  Paul Eggert  <eggert@twinsun.com>
79935
79936         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
79937         Remove workaround macros for hosts that have mbrtowc but not
79938         mbstate_t, as we now insist on proper declarations for both
79939         before using mbrtowc.
79940
79941 2001-02-17  Jim Meyering  <meyering@lucent.com>
79942
79943         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
79944         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
79945         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
79946         UnixWare 7.1.1.
79947
79948         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
79949         rather than AC_CACHE_VAL.
79950
79951 2001-02-17  Jim Meyering  <meyering@lucent.com>
79952
79953         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
79954         around included file name.
79955
79956         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
79957
79958         * lib/strftime.c: Update from GNU libc (the only changes were to
79959         comments).
79960
79961 2001-02-17  Jim Meyering  <meyering@lucent.com>
79962
79963         * lib/regex.c: Update from libc.
79964
79965 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
79966
79967         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
79968         clash.
79969
79970 2001-02-16  Paul Eggert  <eggert@twinsun.com>
79971
79972         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
79973         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
79974         Reported by Mark Hounschell via Paul Eggert.
79975
79976 2001-02-07  Jim Meyering  <meyering@lucent.com>
79977
79978         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
79979
79980 2001-02-05  Jim Meyering  <meyering@lucent.com>
79981
79982         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
79983         it includes the patch required for `large file' support with at least
79984         HP-UX's 10.20 /bin/cc.
79985
79986 2001-02-03  Jim Meyering  <meyering@lucent.com>
79987
79988         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
79989         AS_IF, now that it works once again (mysteriously).
79990         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
79991
79992 2001-01-30  Jim Meyering  <meyering@lucent.com>
79993
79994         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
79995         * m4/chown.m4: Rename conftestchown to conftest.chown.
79996         * m4/rename.m4: s/conftestdir/conftest.d1/ and
79997         s/conftestdir2/conftest.d2/.
79998         * m4/utimes.m4: s/conftestdata/conftest.data/
79999         Inspired by Pavel Roskin's change in autoconf.
80000
80001 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
80002
80003         * lib/config.charset: Update for FreeBSD 4.2.
80004
80005 2001-01-27  Jim Meyering  <meyering@lucent.com>
80006
80007         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
80008         a use of AS_IF.
80009         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
80010
80011 2001-01-26  Jim Meyering  <meyering@lucent.com>
80012
80013         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
80014         quotearg.c includes it.
80015
80016 2001-01-26  Jim Meyering  <meyering@lucent.com>
80017
80018         * lib/quotearg.c: Include stddef.h.
80019         * lib/quote.c: Include stddef.h.
80020         Reported by Axel Kittenberger.
80021
80022         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
80023         line in double quotes so that it evokes a better diagnostic.
80024         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
80025         Reported by Axel Kittenberger.
80026
80027 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
80028
80029         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
80030         as if it was a `charset'.
80031
80032 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
80033
80034         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
80035         has const.
80036
80037 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
80038
80039         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
80040         to avoid a warning.  Add back 'const' to inptr.
80041
80042 2001-01-20  Jim Meyering  <meyering@lucent.com>
80043
80044         Be sure that headers are checked before used in code compiled
80045         for the type checks.
80046         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
80047         In place of that, invoke jm_CHECK_ALL_TYPES.
80048         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
80049         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
80050         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
80051         The check for ssize_t was mistakenly run before the test for unistd.h.
80052
80053         The configure-time check for stdbool.h was missing.
80054         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
80055         (jm_PREREQ_HASH): New function.
80056
80057 2001-01-17  Jim Meyering  <meyering@lucent.com>
80058
80059         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
80060         for autoconf-2.49c.
80061         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
80062
80063 2001-01-16  Jim Meyering  <meyering@lucent.com>
80064
80065         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
80066         From Bruno Haible.
80067
80068 2001-01-14  Jim Meyering  <meyering@lucent.com>
80069
80070         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
80071         foo and bar.  Create conftestdir/ in the script, not in the C code.
80072         Remove directories in the script, not in the C code.
80073         Remove conftestdir{,2} before trying to create the directory.
80074         Make the entire configure script fail if the mkdir fails.
80075
80076 2001-01-14  Jim Meyering  <meyering@lucent.com>
80077
80078         * lib/rename.c: New file.  From Volker Borchert.
80079         Include stdlib.h, string.h or strings.h, and xalloc.h.
80080         Use strip_trailing_slashes rather than open-coding it.
80081
80082 2001-01-03  Paul Eggert  <eggert@twinsun.com>
80083
80084         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
80085
80086 2001-01-03  Jim Meyering  <meyering@lucent.com>
80087
80088         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
80089         of local `inptr' to avoid warning with some system declarations of
80090         iconv.
80091
80092 2001-01-02  Volker Borchert  <bt@teknon.de>
80093
80094         * m4/rename.m4: New file.
80095         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
80096
80097 2001-01-01  Jim Meyering  <meyering@lucent.com>
80098
80099         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
80100         even on systems with utmpx.h.  It's necessary for the declaration of
80101         utmp's ut_user member.  Reported by Andreas Jaeger.
80102
80103         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
80104         available. They are required for the declarations of getgrgid and
80105         getpwuid resp.
80106         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
80107         Reported by Andreas Jaeger.
80108
80109 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
80110
80111         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
80112         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
80113         so `make install' also works in VPATH builds.
80114
80115 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
80116
80117         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
80118         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
80119         can be used in subdirectories.
80120
80121 2000-12-29  Paul Eggert  <eggert@twinsun.com>
80122
80123         * lib/modechange.c: Do not assume that mode_t uses the
80124         traditional octal encoding.  E.g. "chmod 1 FOO" should set
80125         the other-execute bit of FOO even if S_IXOTH != 1.
80126
80127         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
80128         WOTH, XOTH, ALLM): New macros.
80129         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
80130          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
80131         Use them.
80132         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
80133         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
80134         (mode_compile):
80135         No need to use uintmax_t; unsigned long is long enough.
80136         Don't bother to get suffix since we don't use it.
80137
80138 2000-12-26  Jim Meyering  <meyering@lucent.com>
80139
80140         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
80141         better with autoheader.
80142
80143 2000-12-24  Jim Meyering  <meyering@lucent.com>
80144
80145         * lib/hash.c (is_prime): Return explicit boolean values.
80146         (hash_get_first): Return NULL to appease Irix5.6's 89.
80147         Reported by Nelson Beebe.
80148
80149 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
80150
80151         * lib/localcharset.c (locale_charset): Add support for Win32.
80152
80153 2000-12-18  Paul Eggert  <eggert@twinsun.com>
80154
80155         * lib/physmem.h, lib/physmem.c: New files.
80156
80157         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
80158         (noinst_HEADERS): Add physmem.h.
80159
80160         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
80161         't' for compatibility with Solaris 8 sort.
80162
80163 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
80164
80165         * lib/config.charset: Add support for BeOS.
80166
80167 2000-12-17  Jim Meyering  <meyering@lucent.com>
80168
80169         * m4/dos.m4 (jm_AC_DOS): New file and macro.
80170         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
80171
80172 2000-12-16  Jim Meyering  <meyering@lucent.com>
80173
80174         This bug had a serious impact on chown: `chown N:M FILE' (for integer
80175         N and M) would have treated it like `chown N:N FILE'.
80176
80177         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
80178
80179 2000-12-16  Jim Meyering  <meyering@lucent.com>
80180
80181         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
80182         SHELLS_FILE to a file name that's useful on djgpp systems.
80183         Include stdlib.h.
80184         (ADDITIONAL_DEFAULT_SHELLS): Define.
80185         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
80186         Based mostly on a patch from Prashant TR.
80187
80188 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
80189
80190         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
80191         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
80192         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
80193
80194 2000-12-08  Andreas Schwab  <schwab@suse.de>
80195
80196         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
80197         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
80198
80199 2000-12-07  Jim Meyering  <meyering@lucent.com>
80200
80201         * lib/stripslash.c (ISSLASH): Define.
80202         (strip_trailing_slashes): Use ISSLASH rather than comparing against
80203         `/'.
80204         From Prashant TR.
80205
80206         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
80207         (dir_name_r): Declare this function as static.
80208         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
80209         manifest itself on a name containing a mix of slashes and
80210         backslashes.
80211         Make this function work with names starting with a DOS-style
80212         drive letter and colon prefix.
80213         (dir_name): Append `.' if necessary.
80214         Based mostly on patches from Prashant TR and Eli Zaretskii.
80215
80216         * lib/dirname.h (dir_name_r): Remove prototype.
80217
80218 2000-12-06  Paul Eggert  <eggert@twinsun.com>
80219
80220         * m4/off_t-format.m4: Remove this file.
80221         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
80222
80223 2000-12-06  Jim Meyering  <meyering@lucent.com>
80224
80225         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
80226         replacement strtoull, we may well need the replacement strtoul, too.
80227         Check for declarations of strtoul and strtoull.
80228         Check for strtol.  Mainly as a cue to cause automake to include
80229         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
80230         Check for limits.h -- strtol.c needs it.
80231
80232 2000-12-05  Jim Meyering  <meyering@lucent.com>
80233
80234         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
80235
80236 2000-12-04  Jim Meyering  <meyering@lucent.com>
80237
80238         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
80239         Also include memory.h, stdlib.h, unistd.h if appropriate.
80240         Reported by Andreas Jaeger (conflicting declaration of malloc).
80241
80242 2000-12-02  Jim Meyering  <meyering@lucent.com>
80243
80244         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
80245         * m4/jm-macros.m4 (jm_MACROS): require it.
80246
80247 2000-12-02  Jim Meyering  <meyering@lucent.com>
80248
80249         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
80250
80251 2000-12-01  Paul Eggert  <eggert@twinsun.com>
80252
80253         * lib/memrchr.c: Include <config.h> before any system include file.
80254
80255 2000-11-30  Jim Meyering  <meyering@lucent.com>
80256
80257         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
80258
80259 2000-11-30  Jim Meyering  <meyering@lucent.com>
80260
80261         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
80262
80263 2000-11-29  Paul Eggert  <eggert@twinsun.com>
80264
80265         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
80266
80267 2000-11-26  Jim Meyering  <meyering@lucent.com>
80268
80269         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
80270
80271 2000-11-22  Paul Eggert  <eggert@twinsun.com>
80272
80273         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
80274         size of (size_t) -1; it's not portable.
80275
80276 2000-11-17  Jim Meyering  <meyering@lucent.com>
80277
80278         * lib/strstr.c: Update from GNU libc.
80279
80280 2000-11-17  Akim Demaille  <akim@epita.fr>
80281
80282         * lib/obstack.h: Formatting changes.
80283         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
80284         prevent type checking.
80285         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
80286         cast the value to (void *): assigning a `foo *' to a `void *'
80287         variable is valid.
80288         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
80289
80290 2000-11-16  Jim Meyering  <meyering@lucent.com>
80291
80292         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
80293
80294 2000-11-11  Jim Meyering  <meyering@lucent.com>
80295
80296         * lib/error.c: Add a couple #includes, merging from GNU libc version.
80297
80298 2000-11-10  Jim Meyering  <meyering@lucent.com>
80299
80300         * lib/obstack.h: Update from GNU libc.
80301         * lib/obstack.c: Likewise.
80302
80303 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
80304
80305         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
80306
80307 2000-11-06  Paul Eggert  <eggert@twinsun.com>
80308
80309         * lib/getusershell.c (setusershell): Use rewind rather than
80310         fseek/fseeko, to avoid configuration hassles with fseeko.
80311         Don't bother opening SHELLS_FILE if shellstream is NULL;
80312         it's not necessary.
80313
80314 2000-11-05  Jim Meyering  <meyering@lucent.com>
80315
80316         * lib/makepath.h (make_dir): Declare.
80317         * lib/makepath.c (make_dir): Remove `static' attribute.
80318         Tweak a comment.
80319
80320 2000-11-04  Jim Meyering  <meyering@lucent.com>
80321
80322         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
80323
80324 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
80325
80326         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
80327         last one in a bucket, advance to the next bucket.
80328
80329 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
80330
80331         * lib/fnmatch.c: Do not comment out all the code if we are using
80332         the GNU C library, because in some cases we are replacing buggy
80333         code in the GNU C library itself.
80334
80335 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
80336
80337         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
80338         (regex_compile): Catch bogus \(\1\).
80339
80340 2000-10-30  Paul Eggert  <eggert@twinsun.com>
80341
80342         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
80343         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
80344         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
80345
80346 2000-10-30  Paul Eggert  <eggert@twinsun.com>
80347
80348         * lib/error.h, getline.h, modechange.h:
80349         Remove "2000" from Copyright line, as the file hasn't been
80350         changed this year other than in the copyright notice.
80351
80352         * lib/xalloc.h: Add "2000" to Copyright line, as this file
80353         was changed this year.
80354
80355 2000-10-29  Jim Meyering  <meyering@lucent.com>
80356
80357         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
80358         renaming.
80359         * m4/ls-mntd-fs.m4: Likewise
80360
80361 2000-10-29  Jim Meyering  <meyering@lucent.com>
80362
80363         * lib/xstat.in: Fix grammar in comment.
80364
80365 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
80366
80367         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
80368         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
80369         doesn't define __restrict_arr.
80370
80371 2000-10-28  Jim Meyering  <meyering@lucent.com>
80372
80373         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
80374         (jm_PREREQ_MEMCHR): New function.
80375
80376 2000-10-28  Jim Meyering  <meyering@lucent.com>
80377
80378         * lib/memchr.c: Update from libc.
80379         Adjust for portability:
80380         [HAVE_STDLIB_H]: Include stdlib.h.
80381         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
80382         Undef __memchr, too.
80383         [!weak_alias]: Define __memchr to memchr.
80384
80385         * lib/regex.c: Update from libc.
80386         * lib/regex.h: Likewise.
80387         * lib/getopt1.c: Likewise.
80388         * lib/memcmp.c: Likewise.
80389
80390         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
80391         Avoid using fseek, when possible -- it's broken by design.
80392         Patch by Ulrich Drepper.
80393
80394 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
80395
80396         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
80397         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
80398         Giving in to popular pressure to shut up the compiler with casts.
80399
80400 2000-10-26  Jim Meyering  <meyering@lucent.com>
80401
80402         * lib/strftime.c: Update from libc.
80403
80404 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
80405
80406         * regex.c: More `unsigned char' -> `re_char' changes.
80407         Also change several `int' into `re_wchar_t'.
80408         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
80409         (PUSH_FAILURE_POINTER): Don't cast any more.
80410         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
80411         We want GCC to complain, since this piece of code makes
80412         re_match non-reentrant, which *should* be fixed.
80413         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
80414         (EXTEND_BUFFER): Use RETALLOC.
80415         (SET_LIST_BIT): Don't cast.
80416         (re_wchar_t): New type.
80417         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
80418         that those two functions will always properly return.
80419         (IMMEDIATE_QUIT_CHECK): Cast to void.
80420         (analyse_first): Use recursion rather than an explicit stack.
80421         (re_compile_fastmap): Can't fail anymore.
80422         (re_search_2): Don't check re_compile_fastmap for failure.
80423         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
80424         Now also sets the new value (passed in a new argument).
80425         (re_match_2_internal): Use it.
80426         Also, use a new var `reg' of type size_t when looping through regs
80427         rather than reuse the inappropriate `mcnt'.
80428
80429 2000-10-25  Jim Meyering  <meyering@lucent.com>
80430
80431         * lib/obstack.c: Update from libc.
80432
80433 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
80434
80435         * regex.c (regex_compile): Change the way of handling a range from
80436         a char less than 256 to a char not less than 256.
80437
80438 2000-10-24  Andrew Innes  <andrewi@gnu.org>
80439
80440         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
80441         NT-Emacs only.
80442         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
80443         so that re_search functions only quit when callers expect them to.
80444
80445 2000-10-23  Jim Meyering  <meyering@lucent.com>
80446
80447         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
80448         wrong.  That set_locale call must not have any side effects.
80449         From Paul Eggert.
80450
80451 2000-10-22  Jim Meyering  <meyering@lucent.com>
80452
80453         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
80454         [CYCLIC]: Remove now-unused definition.
80455
80456         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
80457         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
80458         Suggestion from Ulrich Drepper.
80459
80460 2000-10-21  Jim Meyering  <meyering@lucent.com>
80461
80462         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
80463         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
80464         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
80465
80466 2000-10-21  Jim Meyering  <meyering@lucent.com>
80467
80468         * lib/dirname.c (memrchr): Declare if necessary.
80469         (dir_name): Remove the restriction that there be no
80470         trailing slashes.  Now, this code skips past them, effectively
80471         ignoring them.
80472         [TEST_DIRNAME] (main): New unit tests.
80473
80474         * lib/memrchr.c: New file from GNU libc.
80475         Undef __memrchr, too.
80476         [!weak_alias]: Define __memrchr to memrchr.
80477         Guard weak_alias use with `#ifdef weak_alias'.
80478
80479 2000-10-21  Jim Meyering  <meyering@lucent.com>
80480
80481         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
80482         (dir_name): Use dir_name_r.
80483         * lib/dirname.h (dir_name_r): Declare it.
80484
80485 2000-10-17  Jim Meyering  <meyering@lucent.com>
80486
80487         * lib/quote.h (PARAMS): Define and use.
80488         Reported by Akim Demaille.
80489
80490         * lib/getopt.c: Update from libc.
80491
80492 2000-10-16  Jim Meyering  <meyering@lucent.com>
80493
80494         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
80495         setlocale.
80496         From Jan Fedak.
80497
80498 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
80499
80500         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
80501
80502 2000-09-25  Jim Meyering  <meyering@lucent.com>
80503
80504         * lib/md5.h (rol): Define (from GnuPG).
80505
80506         * lib/sha.c: Give credit (GnuPG) where due.
80507         (M): Use rol rather than open-coding it.
80508         Add a FIXME comment.
80509
80510 2000-09-21  Jim Meyering  <meyering@lucent.com>
80511
80512         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
80513         Reported by Michael Stone.
80514
80515 2000-09-20  Jim Meyering  <meyering@lucent.com>
80516
80517         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
80518         (noinst_HEADERS): Add sha.h.
80519         Based on code from Scott G. Miller and from GnuPG.
80520
80521 2000-09-18  Jim Meyering  <meyering@lucent.com>
80522
80523         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
80524         LIBS. Otherwise, everyone ends up linking with -lelf for some
80525         configurations.
80526         Reported by Mike Stone.
80527
80528 2000-09-15  Jim Meyering  <meyering@lucent.com>
80529
80530         * lib/regex.c: Update from libc.
80531
80532 2000-09-10  Jim Meyering  <meyering@lucent.com>
80533
80534         * lib/getopt.c (_getopt_internal): Update from glibc.
80535
80536 2000-09-09  Jim Meyering  <meyering@lucent.com>
80537
80538         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
80539         think it should be used as a general replacement for isascii.
80540         * lib/fnmatch.c: Likewise.
80541         * lib/mbswidth.c: Likewise
80542         * lib/regex.c: Likewise.
80543
80544         Don't use atoi.
80545         * lib/userspec.c: Include sys/param.h and limits.h.
80546         Include xstrtol.h.
80547         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
80548         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
80549         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
80550         UID, GID.  Check range.
80551
80552 2000-09-06  Jim Meyering  <meyering@lucent.com>
80553
80554         * lib/getopt.c (_getopt_internal): Update from glibc.
80555
80556 2000-08-30  Jim Meyering  <meyering@lucent.com>
80557
80558         * lib/strftime.c: Merge in changes from GNU libc.
80559
80560 2000-08-26  Jim Meyering  <meyering@lucent.com>
80561
80562         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
80563         * m4/fpending.m4: New file.
80564
80565 2000-08-26  Jim Meyering  <meyering@lucent.com>
80566
80567         * lib/closeout.c: Include "__fpending.h".
80568         (close_stdout_status): Return right away if there's nothing to flush.
80569
80570         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
80571         * lib/__fpending.c: New file.
80572         * lib/__fpending.h: New file.
80573
80574 2000-08-20  Jim Meyering  <meyering@lucent.com>
80575
80576         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
80577         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
80578         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
80579
80580 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
80581
80582         Improve fileutils installation on systems where running
80583         programs (like install) can't be unlinked.
80584         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
80585         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
80586
80587 2000-08-07  Paul Eggert  <eggert@twinsun.com>
80588
80589         Standardize on "memory exhausted" instead of "Memory exhausted"
80590         or "virtual memory exhausted".
80591         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
80592         "virtual memory exhausted".
80593         * lib/same.c (same_name): Invoke xalloc_die instead of printing
80594         our own message.
80595         * lib/userspec.c (parse_user_spec): Likewise.
80596         * lib/bumpalloc.h: comment fix
80597         * lib/same.c, userspec.c: Include xalloc.h.
80598
80599         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
80600         not char *const and pointing to a constant array.
80601         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
80602         (xrealloc): Comment fix.
80603
80604         * lib/userspec.c (parse_user_spec):
80605         Don't translate a message until just before returning,
80606         to avoid unnecessary translation.
80607
80608 2000-08-07  Jim Meyering  <meyering@lucent.com>
80609
80610         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
80611         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
80612         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
80613         getgroups.c, gethostname.c, getopt.h, group-member.c,
80614         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
80615         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
80616         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
80617         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
80618         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
80619         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
80620         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
80621         yesno.c: Back out Copyright date changes for each file with no change
80622         this year.  This eases coordination with other programs using the same
80623         source code modules.  From Paul Eggert.
80624
80625 2000-08-06  Paul Eggert  <eggert@twinsun.com>
80626
80627         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
80628         not char, for compatibility with glibc 2.1.3 strftime.c.
80629
80630 2000-08-03  Greg McGary  <greg@mcgary.org>
80631
80632         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
80633         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
80634         (EXTEND_BUFFER): Use them.
80635
80636 2000-08-01  Jim Meyering  <meyering@lucent.com>
80637
80638         * lib/dirname.c (ISSLASH): Define.
80639         (BACKSLASH_IS_PATH_SEPARATOR): Define.
80640         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
80641         both `\' and `/' may be use as path separators.
80642         Based on a patch from Prashant TR.
80643
80644 2000-07-31  Paul Eggert  <eggert@twinsun.com>
80645
80646         * lib/quotearg.c (quotearg_n_options): Don't make the initial
80647         slot vector a constant, since it might get modified.
80648
80649 2000-07-31  Jim Meyering  <meyering@lucent.com>
80650
80651         * lib/xmalloc.c: Use `virtual memory exhausted', not
80652         `Memory exhausted'.
80653         * lib/obstack.c (print_and_abort): Likewise.
80654
80655 2000-07-30  Paul Eggert  <eggert@twinsun.com>
80656
80657         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
80658         buffer, so that the caller can always quote one small
80659         component of a "memory exhausted" message in slot 0.
80660         From a suggestion by Jim Meyering.
80661
80662 2000-07-30  Jim Meyering  <meyering@lucent.com>
80663
80664         * lib/makepath.c (make_path): Quote the other instance, too.
80665
80666         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
80667         (STATIC_BUF_SIZE): Define.
80668         (quotearg_n_options): Use only statically allocated storage when
80669         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
80670         than STATIC_BUF_SIZE.
80671
80672 2000-07-29  Jim Meyering  <meyering@lucent.com>
80673
80674         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
80675         * lib/dirname.c (dir_name): Likewise.
80676
80677         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
80678         `/'.
80679
80680         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
80681         (dir_name): Assert that there are no trailing slashes.
80682
80683 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
80684
80685         * lib/mbswidth.h (mbswidth): Add a flags argument.
80686         (mbswidth): New declaration.
80687         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
80688         * lib/mbswidth.c (mbswidth): Add a flags argument.
80689         (mbsnwidth): New function.
80690
80691 2000-07-24  Jim Meyering  <meyering@lucent.com>
80692
80693         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
80694
80695 2000-07-23  Paul Eggert  <eggert@twinsun.com>
80696
80697         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
80698
80699 2000-07-23  Paul Eggert  <eggert@twinsun.com>
80700
80701         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
80702         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
80703         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
80704         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
80705         invoke multibyte primitives.
80706
80707 2000-07-23  Paul Eggert  <eggert@twinsun.com>
80708
80709         * lib/quotearg.c:
80710         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
80711         so that mbstate_t is always defined.
80712
80713         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
80714         be 1 in at least one GCC installation, and this configuration
80715         error is likely to be common.  Ignoring MB_LEN_MAX hurts
80716         performance on hosts that have mbrtowc but have only unibyte
80717         locales, but I assume these hosts are rare.
80718
80719 2000-07-23  Paul Eggert  <eggert@twinsun.com>
80720
80721         * lib/mbswidth.c (_XOPEN_SOURCE):
80722         Don't define; this causes problems on Solaris 7.
80723         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
80724
80725 2000-07-23  Jim Meyering  <meyering@lucent.com>
80726
80727         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
80728         too: getgrgid, getpwuid, getuid.
80729
80730 2000-07-23  Jim Meyering  <meyering@lucent.com>
80731
80732         * lib/basename.c (base_name): Add an assertion.
80733
80734 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
80735
80736         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
80737         shadow its mbsinit function.
80738
80739 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
80740
80741         * lib/mbswidth.h: New file.
80742         * lib/mbswidth.c: New file.
80743         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
80744         (noinst_HEADERS): Add mbswidth.h.
80745
80746 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
80747
80748         * lib/config.charset: Add support for FreeBSD. Improve support for
80749         HP-UX and IRIX 6.
80750
80751 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
80752
80753         * m4/mbswidth.m4: New file.
80754         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
80755
80756 2000-07-15  Jim Meyering  <meyering@lucent.com>
80757
80758         * lib/makepath.c: Include quote.h.
80759         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
80760         corresponding argument in a `quote (...)' call.
80761         Give better diagnostics.
80762
80763         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
80764         (noinst_HEADERS): Add quote.h.
80765
80766         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
80767         from tar's src/misc.c.
80768         * lib/quote.h: New file.  Prototypes for same.
80769
80770 2000-07-14  Paul Eggert  <eggert@twinsun.com>
80771
80772         From a suggestion by Bruno Haible.
80773         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
80774         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
80775         to decide whether to define the BeOS workaround macro;
80776         this adjusts to the change to AC_MBSTATE_T.
80777
80778 2000-07-14  Jim Meyering  <meyering@lucent.com>
80779
80780         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
80781         jm_AC_TYPE_UINTMAX_T.
80782
80783 2000-07-13  Paul Eggert  <eggert@twinsun.com>
80784
80785         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
80786
80787         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
80788         quotearg_buffer_restyled): Add support for
80789         clocale_quoting_style.  Undo previous change to
80790         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
80791         and "{RIGHT QUOTATION MARK}" msgids.
80792
80793 2000-07-10  Paul Eggert  <eggert@twinsun.com>
80794
80795         From a suggestion by Bruno Haible.
80796         * m4/mbstate_t.m4 (AC_MBSTATE_T):
80797         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
80798         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
80799         and mbstate_t, to a single-part test that simply defines mbstate_t.
80800         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
80801         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
80802
80803 2000-07-10  Jim Meyering  <meyering@lucent.com>
80804
80805         * m4/strerror_r.m4: Mirror the correction made in autoconf.
80806
80807         * m4/gnu-source.m4: Output to confdefs.h directly.
80808         Suggestion from Akim Demaille.
80809
80810 2000-07-09  Paul Eggert  <eggert@twinsun.com>
80811
80812         The old behavior of quoting `like this' doesn't look good with
80813         newer, ISO-style fonts.  See:
80814         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
80815
80816         Instead, quote "like this" by default.  Let the translator
80817         tailor the locale-specific quoting behavior by providing
80818         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
80819
80820         * lib/quotearg.c (N_): New macro.
80821         (gettext_default): New function.
80822         (quotearg_buffer_restyled): Use
80823         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
80824         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
80825
80826 2000-07-09  Jim Meyering  <meyering@lucent.com>
80827
80828         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
80829         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
80830
80831         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
80832         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
80833
80834 2000-07-09  Jim Meyering  <meyering@lucent.com>
80835
80836         * lib/Most files: Update copyright dates to include 2000.
80837
80838 2000-07-08  Jim Meyering  <meyering@lucent.com>
80839
80840         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
80841         if not defined.
80842         (xgethostname): Remove now-unnecessary #ifdef.
80843         Move declaration of `err' into loop where it's used.
80844
80845 2000-07-05  Paul Eggert  <eggert@twinsun.com>
80846         and Bruno Haible  <haible@clisp.cons.org>
80847
80848         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
80849         only if the test for an object-type mbstate_t fails.  This
80850         prevents us from mistakenly reporting that mbstate_t is a
80851         system object type after we "#define mbstate_t int" to work
80852         around its lack.
80853
80854 2000-07-05  Paul Eggert  <eggert@twinsun.com>
80855         and Bruno Haible  <haible@clisp.cons.org>
80856
80857         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
80858
80859 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
80860
80861         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
80862         to strerror_r.
80863         Include <ctype.h> for use of isalpha.
80864
80865 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
80866
80867         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
80868         by allocating a larger buffer. Test the gethostname return value for
80869         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
80870         returns an error and ENAMETOOLONG isn't defined.
80871
80872 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
80873
80874         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
80875         dimension.
80876
80877 2000-07-04  Jim Meyering  <meyering@lucent.com>
80878
80879         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
80880         of the deprecated AC_CHECKING.
80881
80882 2000-07-04  Jim Meyering  <meyering@lucent.com>
80883
80884         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
80885         Reported by Bruno Haible.
80886
80887 2000-07-04  Jim Meyering  <meyering@lucent.com>
80888
80889         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
80890         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
80891         lacks mbrtowc.
80892
80893 2000-07-03  Paul Eggert  <eggert@twinsun.com>
80894
80895         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
80896         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
80897
80898 2000-07-03  Paul Eggert  <eggert@twinsun.com>
80899         and Bruno Haible  <haible@clisp.cons.org>
80900
80901         * lib/quotearg.c (mbrtowc):
80902         Assign to *pwc, and return 1 only if result is nonzero.
80903         (iswprint): Use ISPRINT when substituting our own mbrtowc.
80904
80905 2000-07-03  Jim Meyering  <meyering@lucent.com>
80906
80907         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
80908
80909 2000-07-03  Jim Meyering  <meyering@lucent.com>
80910
80911         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
80912         This is necessary to get a definition of e.g., UTMP_FILE on
80913         HP-UX 10.20.
80914         From Bob Proulx.
80915
80916 2000-07-02  Jim Meyering  <meyering@lucent.com>
80917
80918         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
80919
80920         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
80921         AC_LIBOBJ(function_name).
80922         * m4/chown.m4: Likewise.
80923         * m4/fnmatch.m4: Likewise.
80924         * m4/ftruncate.m4: Likewise.
80925         * m4/getgroups.m4: Likewise.
80926         * m4/getline.m4: Likewise.
80927         * m4/group-member.m4: Likewise.
80928         * m4/jm-macros.m4: Likewise.
80929         * m4/lstat.m4: Likewise.
80930         * m4/malloc.m4: Likewise.
80931         * m4/memcmp.m4: Likewise.
80932         * m4/nanosleep.m4: Likewise.
80933         * m4/putenv.m4: Likewise.
80934         * m4/realloc.m4: Likewise.
80935         * m4/regex.m4: Likewise.
80936         * m4/stat.m4: Likewise.
80937         * m4/strftime.m4: Likewise.
80938
80939 2000-07-02  Jim Meyering  <meyering@lucent.com>
80940
80941         * lib/quotearg.c (mbstate_t): Don't define here.
80942
80943 2000-07-02  Jim Meyering  <meyering@lucent.com>
80944
80945         * lib/nanosleep.c (SIGCONT): Define if not already defined.
80946
80947 2000-07-01  Jim Meyering  <meyering@lucent.com>
80948
80949         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
80950
80951 2000-07-01  Jim Meyering  <meyering@lucent.com>
80952
80953         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
80954         problem.
80955
80956 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
80957
80958         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
80959         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
80960
80961 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
80962
80963         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
80964         per change in ../m4/ls-mntd-fs.m4.
80965         (read_filesystem_list): Ignore symbolic links.
80966
80967 2000-06-29  Jim Meyering  <meyering@lucent.com>
80968
80969         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
80970         for declaration of strcmp.
80971
80972         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
80973
80974         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
80975         Avoid warning by casting result to `char *' to remove `const'.
80976
80977 2000-06-28  Jim Meyering  <meyering@lucent.com>
80978
80979         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
80980         included by quotearg.c, for which we perform this test.  From
80981         Bruno Haible.
80982
80983 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
80984
80985         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
80986         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
80987         <utmpx.h> exists, put readutmp.o into LIBOBJS.
80988
80989 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
80990
80991         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
80992
80993 2000-06-26  Paul Eggert  <eggert@twinsun.com>
80994
80995         savedir now sets errno on failure and invokes xmalloc to get memory.
80996         Fix a couple of other minor bugs while we're at it.
80997
80998         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
80999         (NAMLEN): Remove macro.
81000         (malloc, realloc): Remove decls.
81001         (stpcpy): Likewise.
81002         ("xalloc.h"): Include.
81003         (NAME_SIZE_DEFAULT): New macro.
81004         (savedir): Use xmalloc / xrealloc to allocate memory.
81005         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
81006         Skip "" directory entries.
81007         Use strlen to calculate directory entry length, since the old method
81008         is rarely used these days and isn't worth supporting.
81009         Don't use a pointer after freeing it.
81010         Check for integer overflow when calculating allocation size.
81011         Use memcpy to copy entries, instead of stpcpy.
81012         Set errno properly when returning NULL.
81013         Check for readdir error.
81014
81015 2000-06-26  Jim Meyering  <meyering@lucent.com>
81016
81017         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
81018
81019 2000-06-25  Jim Meyering  <meyering@lucent.com>
81020
81021         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
81022         Linux header bug when _XOPEN_SOURCE is defined to 500.
81023
81024 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
81025
81026         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
81027         deficiency.
81028
81029 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
81030
81031         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
81032         Include xalloc.h.
81033         Don't include <stdlib.h>.  Don't declare malloc, realloc.
81034
81035 2000-06-24  Jim Meyering  <meyering@lucent.com>
81036
81037         * m4/strerror_r.m4: Revive this file -- to try out an experimental
81038         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
81039         for which strerror does return char*, but which lacks a conveniently
81040         accessible declaration of the function.  If the compile-test says
81041         strerror_r doesn't work, then resort to a `run'-test that works on
81042         BeOS and segfaults on DEC Unix.
81043
81044 2000-06-24  Jim Meyering  <meyering@lucent.com>
81045
81046         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
81047
81048 2000-06-23  Paul Eggert  <eggert@twinsun.com>
81049
81050         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
81051         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
81052
81053 2000-06-23  Paul Eggert  <eggert@twinsun.com>
81054
81055         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
81056         (mbrtowc, mbstate_t): Define substitutes if
81057         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
81058         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
81059         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
81060
81061 2000-06-23  Jim Meyering  <meyering@lucent.com>
81062
81063         * m4/afs.m4: Add missing AC_MSG_RESULT.
81064         Reported by Bruno Haible.
81065
81066         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
81067         Suggestion from Bruno Haible.
81068
81069 2000-06-23  Jim Meyering  <meyering@lucent.com>
81070
81071         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
81072
81073 2000-06-21  Jim Meyering  <meyering@lucent.com>
81074
81075         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
81076
81077 2000-06-21  Jim Meyering  <meyering@lucent.com>
81078
81079         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
81080         (noinst_HEADERS): Add getstr.h.
81081
81082         * lib/getline.c (getstr): Move into a separate file.
81083         * lib/getstr.c (getstr): New file, extracted from getline.c, with
81084         the following changes: new parameter, delim2; both delim[12]
81085         parameters have type `int', not `char'.  The latter would lose
81086         with 8-bit delimiters.
81087         * lib/getstr.h: New file.
81088
81089 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
81090
81091         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
81092         than 1024, return a memory chunk of least possible size, instead
81093         of size PATH_MAX + 2. In the loop, increment the size proportionally.
81094         Use free/xmalloc instead of xrealloc to avoid copying for very long
81095         paths.
81096
81097 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
81098
81099         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
81100         the empty string.
81101
81102 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
81103
81104         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
81105         address, not strdup.  Include <stdlib.h> and don't declare free().
81106
81107 2000-06-19  Jim Meyering  <meyering@lucent.com>
81108
81109         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
81110
81111 2000-06-18  Jim Meyering  <meyering@lucent.com>
81112
81113         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
81114
81115         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
81116         `checking whether...' message to be consistent with that of the
81117         lstat test.
81118
81119 2000-06-18  Jim Meyering  <meyering@lucent.com>
81120
81121         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
81122         Besides, these days every porting target provides a mkdir function.
81123
81124         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
81125         needed. (this snippet comes from src/system.h).
81126
81127 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
81128
81129         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
81130
81131 2000-06-15  Paul Eggert  <eggert@twinsun.com>
81132
81133         * lib/human.c (adjust_value): New function.
81134         (human_readable_inexact): Apply rounding style even when
81135         printing approximate values.
81136
81137 2000-06-14  Paul Eggert  <eggert@twinsun.com>
81138
81139         * lib/human.c (human_readable_inexact): Allow an input block
81140         size that is not a multiple of the output block size, and vice versa.
81141         Reported by Piergiorgio Sartor.
81142
81143 2000-06-14  Paul Eggert  <eggert@twinsun.com>
81144
81145         * lib/getdate.y (get_date): Apply relative times after time
81146         zone indicator, not before.  Reported by Todd A. Jacobs.
81147
81148 2000-06-13  Jim Meyering  <meyering@lucent.com>
81149
81150         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
81151
81152         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
81153
81154 2000-06-12  Paul Eggert  <eggert@twinsun.com>
81155
81156         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
81157
81158 2000-06-12  Jim Meyering  <meyering@lucent.com>
81159
81160         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
81161         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
81162         optional argument.
81163         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
81164         the optional argument, `lib'.
81165
81166 2000-06-08  Jim Meyering  <meyering@lucent.com>
81167
81168         * m4/largefile.m4: Remove file (now that it's part of autoconf).
81169
81170 2000-06-04  Paul Eggert  <eggert@twinsun.com>
81171
81172         Rewrite largefile configuration so that we don't need to run
81173         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
81174         AC_CANONICAL_HOST in configure.in -- jmm]
81175
81176         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
81177         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
81178         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
81179         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
81180         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
81181         All uses changed.
81182         Instead of inspecting the output of getconf, try to compile the
81183         test program without and with the macro definition.
81184         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
81185         for getconf.  Instead, check for the needed flags by compiling
81186         test programs.
81187
81188 2000-06-04  Paul Eggert  <eggert@twinsun.com>
81189
81190         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
81191
81192 2000-06-04  Jim Meyering  <meyering@lucent.com>
81193
81194         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
81195         SunOS 4.1.4 for which gid_t is an unsigned type.
81196
81197 2000-06-03  Jim Meyering  <meyering@lucent.com>
81198
81199         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
81200         now that autoconf requires that.
81201
81202         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
81203         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
81204         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
81205
81206 2000-06-03  Jim Meyering  <meyering@lucent.com>
81207
81208         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
81209
81210 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
81211
81212         * m4/glibc21.m4: New file.
81213         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
81214
81215 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
81216
81217         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
81218         newer, don't install charset.alias.
81219         * lib/config.charset: Change the Linux/glibc rules so they become empty
81220         on glibc-2.1 or newer.
81221
81222 2000-06-02  Jim Meyering  <meyering@lucent.com>
81223
81224         * lib/mountlist.c: Back out last change.  Instead, do this...
81225         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
81226         me_dummy member using the same `ignore'-testing code.
81227         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
81228         fs_type strings.
81229         From Mark D. Roth.
81230
81231 2000-05-29  Jim Meyering  <meyering@lucent.com>
81232
81233         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
81234         mounts with the `ignore' attribute.  Based on a patch from
81235         Mark D. Roth.
81236
81237 2000-05-28  Jim Meyering  <meyering@lucent.com>
81238
81239         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
81240         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
81241         * m4/stat.m4: Likewise.
81242         * m4/lstat.m4: Likewise.
81243         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
81244
81245         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
81246         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
81247
81248 2000-05-26  Jim Meyering  <meyering@lucent.com>
81249
81250         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
81251
81252 2000-05-24  Jim Meyering  <meyering@lucent.com>
81253
81254         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
81255         autoconf requires that.
81256         * m4/lib-check.m4: Likewise.
81257         * m4/jm-macros.m4: Likewise.
81258         * m4/strftime.m4: Likewise.
81259
81260         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
81261         AC_CHECK_DECLS, now that autoconf requires that.
81262
81263 2000-05-22  Jim Meyering  <meyering@lucent.com>
81264
81265         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
81266         * m4/lstat.m4: Likewise.
81267
81268 2000-05-22  Jim Meyering  <meyering@lucent.com>
81269
81270         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
81271
81272 2000-05-20  Jim Meyering  <meyering@lucent.com>
81273
81274         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
81275         (jm_PREREQ): Use it.
81276
81277 2000-05-18  Jim Meyering  <meyering@lucent.com>
81278
81279         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
81280         back, too, since it may have been modified by allocate_entry.
81281         (hash_delete): Rewrite to use neither the assignment operator
81282         nor the comma operator in an if-expression.
81283
81284 2000-05-15  Paul Eggert  <eggert@twinsun.com>
81285
81286         * lib/closeout.c:
81287         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
81288         Remove; no longer needed.
81289         "quotearg.h": Add include.
81290         (file_name): Do not bother to explicitly initialize to NULL; it's less
81291         efficient on some hosts.
81292         (close_stdout_status): Remove test as to whether stdout was already
81293         closed; it breaks for the case "echo x | sort >&-".
81294         Quote file name colons.
81295         Do not assume that _("write error") lacks format strings.
81296
81297 2000-05-15  Jim Meyering  <meyering@lucent.com>
81298
81299         * lib/version-etc.c (version_etc_copyright): Update the copyright
81300         string used in all --version output.
81301
81302 2000-05-14  Jim Meyering  <meyering@lucent.com>
81303
81304         * lib/closeout.c (close_stdout_set_file_name): New function.
81305         (close_stdout_status): Use new file-scoped global.
81306         Return right away if fstat says the stdout file descriptor is invalid.
81307         * lib/closeout.h (close_stdout_set_file_name): Declare.
81308
81309 2000-05-10  Jim Meyering  <meyering@lucent.com>
81310
81311         * lib/closeout.c [default_exit_status]: New file-scoped variable.
81312         (close_stdout_set_status): New function.
81313         * lib/closeout.h (close_stdout_set_status): Declare.
81314
81315 2000-05-09  Jim Meyering  <meyering@lucent.com>
81316
81317         * m4/gettext.m4: Rename this...
81318         * m4/libintl.m4: ...to this.
81319
81320 2000-05-08  Jim Meyering  <meyering@lucent.com>
81321
81322         * lib/long-options.c: Don't include closeout.h.
81323         (parse_long_options): Don't call close_stdout for --version.
81324
81325 2000-05-06  Paul Eggert  <eggert@twinsun.com>
81326
81327         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
81328         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
81329         2.1.3 bug.  This avoids a clash when files like regex.c define
81330         _GNU_SOURCE.
81331
81332 2000-05-06  Jim Meyering  <meyering@lucent.com>
81333
81334         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
81335         (AC_REPLACE_FUNCS): Add strnlen.
81336
81337         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
81338         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
81339
81340         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
81341         AC_SEARCH_LIBS call for nanosleep.
81342         (LIB_NANOSLEEP): Set and AC_SUBST.
81343
81344 2000-05-06  Jim Meyering  <meyering@lucent.com>
81345
81346         * lib/strnlen.c: Undefine __strnlen and strnlen.
81347         [!weak_alias]: Define __strnlen to strnlen.
81348
81349         * lib/atexit.c: New file, from libiberty.
81350
81351 2000-05-06  Jim Meyering  <meyering@lucent.com>
81352
81353         * lib/closeout.c (close_stdout_status): Also check for errors on the
81354         stderr stream.
81355
81356 2000-05-05  Jim Meyering  <meyering@lucent.com>
81357
81358         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
81359         AC_SEARCH_LIBS call for clock_gettime.
81360         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
81361
81362         * m4/search-libs.m4: Update from autoconf.
81363
81364         su doesn't work on Solaris 2.6.
81365         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
81366         <shadow.h>.  Reported by Dragos Harabor.
81367
81368 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
81369
81370         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
81371         memcpy instead of xmalloc, xrealloc, path_concat.
81372         (locale_charset): Treat empty environment variables as absent.
81373         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
81374
81375 2000-05-04  Jim Meyering  <meyering@lucent.com>
81376
81377         * lib/getopt.c: Update from glibc.
81378         * lib/obstack.c: Likewise.
81379         * lib/obstack.h: Likewise.
81380         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
81381         file
81382
81383         * lib/regex.h: Likewise.
81384         * lib/strndup.c: Likewise.
81385         * lib/strnlen.c: New file, from glibc.
81386
81387 2000-05-03  Jim Meyering  <meyering@lucent.com>
81388
81389         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
81390
81391 2000-05-02  Paul Eggert  <eggert@twinsun.com>
81392
81393         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
81394         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
81395         compile-time test, rather than inspecting host and OS, to
81396         decide whether to define _LARGEFILE_SOURCE.
81397
81398 2000-05-01  Jim Meyering  <meyering@lucent.com>
81399
81400         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
81401
81402         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
81403         Based on a patch from Bruno Haible.
81404
81405 2000-05-01  Jim Meyering  <meyering@lucent.com>
81406
81407         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
81408
81409 2000-04-29  Jim Meyering  <meyering@lucent.com>
81410
81411         * lib/path-concat.c: Declare strdup only if it's not defined.
81412         * lib/canon-host.c: Likewise.
81413
81414 2000-04-28  Jim Meyering  <meyering@lucent.com>
81415
81416         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
81417         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
81418         is included first, then limits.h is included by locale.h by libintl.h.
81419         From John David Anglin.
81420
81421 2000-04-25  Jim Meyering  <meyering@lucent.com>
81422
81423         * lib/makepath.c (S_IRWXUGO): Define.
81424         (make_path): Always perform explicit chmod if MODE specifies any
81425         of the `special' permission bits.  Prompted by a bug report against
81426         install from Mate Wierdl and Joost van Baal.
81427
81428 2000-04-18  Jim Meyering  <meyering@lucent.com>
81429
81430         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
81431         (jm_PREREQ): Use it.
81432
81433 2000-04-18  Jim Meyering  <meyering@lucent.com>
81434
81435         * lib/README: New file.
81436
81437         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
81438         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
81439
81440 2000-04-17  Jim Meyering  <meyering@lucent.com>
81441
81442         Get it right :-)
81443         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
81444         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
81445         Suggestion from Akim Demaille.
81446
81447 2000-04-17  Jim Meyering  <meyering@lucent.com>
81448
81449         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
81450         the definition of it to rpl_strftime also defined-away the system's
81451         declaration.
81452
81453 2000-04-15  Jim Meyering  <meyering@lucent.com>
81454
81455         Use `C' to denote so-called `contiguous' files, the same way
81456         that tar does.
81457         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
81458         (ftypelet): Use S_ISCTG.
81459         From Michael Deutschmann.
81460
81461 2000-04-14  Jim Meyering  <meyering@lucent.com>
81462
81463         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
81464         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
81465         clobbered.
81466
81467 2000-04-14  Jim Meyering  <meyering@lucent.com>
81468
81469         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
81470
81471 2000-04-13  Jim Meyering  <meyering@lucent.com>
81472
81473         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
81474         AH_VERBATIM to insert required #ifndef into config.h.in.
81475         Suggestion from Akim Demaille.
81476
81477 2000-04-12  Jim Meyering  <meyering@lucent.com>
81478
81479         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
81480         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
81481         Christian Krackowizer.
81482
81483         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
81484         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
81485         (AC_SYS_LARGEFILE): Require.
81486         (AM_C_PROTOTYPES): Require.
81487
81488 2000-04-08  Jim Meyering  <meyering@lucent.com>
81489
81490         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
81491         names don't conflict.  Reported by Eli Zaretskii.
81492
81493 2000-04-07  Jim Meyering  <meyering@lucent.com>
81494
81495         * lib/putenv.c: Move inclusion of errno.h so it follows that of
81496         sys/types.h, to work around system header problems on AIX 3.2.5.
81497         From Bruno Haible.
81498
81499 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
81500
81501         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
81502         bug.  Deal with the different error behavior of Irix iconv.
81503
81504 2000-04-05  Paul Eggert  <eggert@twinsun.com>
81505
81506         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
81507         IRIX if the installer said otherwise.
81508
81509 2000-04-05  Jim Meyering  <meyering@lucent.com>
81510
81511         Portability tweaks required for ultrix4.3.
81512         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
81513         (jm_CHECK_DECLS): Add getutent to the list of functions.
81514         (_jm_DECL_HEADERS): Add utmpx.h.
81515         From John David Anglin.
81516
81517         * m4/strftime.m4: Back out the 2000-04-02 change.
81518         Instead of that change, simply undefine putenv in the test program.
81519
81520 2000-04-05  Jim Meyering  <meyering@lucent.com>
81521
81522         Portability tweaks required for ultrix4.3.
81523         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
81524         getutent.
81525         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
81526         * lib/canon-host.c: Declare strdup.
81527         * lib/path-concat.c: Likewise.
81528         From John David Anglin.
81529
81530 2000-04-04  Jim Meyering  <meyering@lucent.com>
81531
81532         Be more DOS 8.3-friendly.
81533         * lib/ref-add.sin: Renamed from ref-add.sed.in.
81534         * lib/ref-del.sin: Renamed from ref-del.sed.in.
81535         * lib/Makefile.am: Reflect renaming.
81536         Reported by Eli Zaretskii.
81537
81538         Use a temporary file name that won't clash with `charset.alias'
81539         in the DOS 8.3 name space.
81540         * lib/Makefile.am (charset_tmp): Define.
81541         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
81542         (uninstall-local): Likewise.
81543         Reported by Eli Zaretskii.
81544
81545 2000-04-03  Jim Meyering  <meyering@lucent.com>
81546
81547         * m4/gettext.m4: Fix typo in comment.
81548
81549         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
81550         textutils/configure.in).  Suggestion from Paul Eggert.
81551         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
81552
81553 2000-04-02  Paul Eggert  <eggert@twinsun.com>
81554
81555         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
81556         variable in the shell rather than using putenv, which isn't
81557         portable.  This avoids the configure-time inter-test dependency
81558         on the potentially-renamed putenv function.
81559
81560 2000-03-30  Paul Eggert  <eggert@twinsun.com>
81561
81562         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
81563         before checking struct stat.st_blksize, so that
81564         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
81565
81566 2000-03-29  Paul Eggert  <eggert@twinsun.com>
81567
81568         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
81569         since strftime.c uses HAVE_STRFTIME to decide whether to use
81570         the underlying strftime.
81571
81572 2000-03-29  Paul Eggert  <eggert@twinsun.com>
81573
81574         * lib/time/strftime.c (my_strftime): Make sure we call the system
81575         strftime, not ourselves, when invoking the underlying strftime.
81576
81577 2000-03-24  Jim Meyering  <meyering@lucent.com>
81578
81579         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
81580         (charset_alias): Define.
81581         (install-exec-local): Factor out common code.
81582         (uninstall-local): Split lines longer than 80.
81583         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
81584         (SUFFIXES): Define.
81585         (.sed.in.sed): New rule.  Don't redirect directly to $@.
81586         (CLEANFILES): Add ref-add.sed and ref-del.sed.
81587
81588 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
81589
81590         * lib/config.charset: Output a line containing "Packages using this
81591         file".
81592         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
81593         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
81594         ref-del.sed): New rules.
81595
81596 2000-03-17  Jim Meyering  <meyering@lucent.com>
81597
81598         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
81599         Otherwise, include <strings.h>
81600
81601 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
81602
81603         * lib/unicodeio.c (utf8_wctomb): New function.
81604         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
81605         format instead of in UCS-4 with platform dependent endianness.
81606
81607 2000-03-10  Jim Meyering  <meyering@lucent.com>
81608
81609         * m4/lib-check.m4: Look for getspnam in -lgen, too.
81610         From Marco Franzen.
81611
81612 2000-03-07  Paul Eggert  <eggert@twinsun.com>
81613
81614         * lib/savedir.c (savedir): Work even if directory size is
81615         negative; this can happen with some screwy NFS configurations.
81616
81617 2000-03-06  Jim Meyering  <meyering@lucent.com>
81618
81619         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
81620         if it's NULL (because we ran out of memory).  From Bruno Haible.
81621
81622 2000-03-05  Jim Meyering  <meyering@lucent.com>
81623
81624         * lib/localcharset.c ("path-concat.h"): Include.
81625         (get_charset_aliases): Use path_concat instead of ANSI string
81626         concatenation.
81627
81628         * lib/unicodeio.h (PARAMS): Define.
81629         Use it to guard prototype.
81630
81631 2000-03-04  Jim Meyering  <meyering@lucent.com>
81632
81633         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
81634         for lib/localcharset.c.
81635
81636 2000-03-04  Jim Meyering  <meyering@lucent.com>
81637
81638         * lib/Makefile.am (install-exec-local): Create $(libdir) before
81639         installing into it.
81640         (uninstall-local): Uncomment this rule so `make distcheck' works
81641         once again.
81642
81643         * lib/unicodeio.c (<errno.h>): Include it.
81644         (errno): Declare if not defined.
81645
81646         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
81647
81648         * lib/config.charset: New version, incorporating remarks from a linux
81649         i18n mailing list.  From Bruno Haible.
81650
81651 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
81652
81653         * m4/codeset.m4: New file.
81654         * m4/iconv.m4: New file.
81655         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
81656
81657 2000-03-03  Jim Meyering  <meyering@lucent.com>
81658
81659         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
81660
81661 2000-03-02  Jim Meyering  <meyering@lucent.com>
81662
81663         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
81664         the messages come out on separate lines.
81665
81666         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
81667         rather than jm_CHECK_DECLARATIONS.
81668         * m4/decl.m4: Remove now-unused file.
81669
81670         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
81671         geteuid.
81672
81673 2000-03-02  Jim Meyering  <meyering@lucent.com>
81674
81675         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
81676
81677 2000-03-01  Jim Meyering  <meyering@lucent.com>
81678
81679         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
81680         * lib/unicodeio.c: Likewise.
81681
81682 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
81683
81684         * lib/config.charset: New file.
81685         * lib/localcharset.c: New file.
81686         * lib/unicodeio.h, lib/unicodeio.c: New files.
81687         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
81688         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
81689         (noinst_HEADERS): Add unicodeio.h.
81690         (all-local, install-exec-local, charset.alias): New targets.
81691
81692 2000-02-28  Paul Eggert  <eggert@twinsun.com>
81693
81694         * lib/quotearg.c (ALERT_CHAR): New macro.
81695         (quotearg_buffer_restyled): Use it.
81696
81697 2000-02-27  Jim Meyering  <meyering@lucent.com>
81698
81699         * m4/check-decl.m4: Add getenv to the list.
81700
81701 2000-02-27  Jim Meyering  <meyering@lucent.com>
81702
81703         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
81704         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
81705
81706         * lib/backupfile.c: Guard inclusion of stdlib.h with
81707         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
81708         Declare malloc if needed.
81709
81710         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
81711         `#ifndef HAVE_DECL..'
81712         now that autoconf always defines the HAVE_DECL_ symbols.
81713         * lib/human.c: Likewise.
81714         * lib/same.c: Likewise.
81715         * lib/strtoumax.c: Likewise.
81716
81717         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
81718         declaration check was not run.
81719         * lib/hash.c: Likewise.
81720         * lib/human.c: Likewise.
81721         * lib/same.c: Likewise.
81722         * lib/strtoumax.c: Likewise.
81723
81724         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
81725         `.', then first look up the entire `.'-containing string as a login
81726         name.
81727
81728 2000-02-23  Jim Meyering  <meyering@lucent.com>
81729
81730         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
81731         in place of my hack.
81732
81733 2000-02-18  Paul Eggert  <eggert@twinsun.com>
81734
81735         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
81736         (textint): New typedef.
81737         (parser_control): Member year changed from int to textint.
81738         All uses changed.
81739         (YYSTYPE): Removed; replaced by %union with int and textint members.
81740         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
81741         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
81742         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
81743         (tSNUMBER, tUNUMBER): Now of type <textintval>.
81744         (date, number, to_year): Use width of number in digits, not its value,
81745         to determine whether it's a 2-digit year, or a 2-digit time.
81746         (yylex): Store number of digits of numeric tokens.
81747         Reported by John Kendall.
81748
81749         (parser_control): Changed from struct parser_control to typedef (for
81750         consistency).  All uses changed.
81751
81752         (tID): Removed; not used.
81753         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
81754
81755 2000-02-14  Paul Eggert  <eggert@twinsun.com>
81756
81757         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
81758         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
81759
81760 2000-02-12  Jim Meyering  <meyering@lucent.com>
81761
81762         * lib/userspec.c (ISDIGIT): Define it.
81763         (isdigit): Remove definition.
81764         (is_number): Use ISDIGIT, not isdigit.
81765         <libintl.h>: Include.
81766         (_ and N_): Define.
81767         (parse_user_spec): Mark translatable strings.
81768
81769 2000-02-10  Jim Meyering  <meyering@lucent.com>
81770
81771         With these changes, nanosleep.[ch] are finally enough like the other
81772         lib/* replacement files to compile on a few more losing systems.
81773
81774         * lib/nanosleep.h: Don't include config.h.
81775         Remove prototype from declaration of nanosleep.
81776         (PARAMS): Remove now-unneeded definition.
81777         * lib/nanosleep.c: #undef nanosleep.
81778         (rpl_nanosleep): Rename from nanosleep.
81779
81780 2000-02-10  Jim Meyering  <meyering@lucent.com>
81781
81782         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
81783         gnu_nanosleep to rpl_nanosleep.
81784
81785 2000-02-09  Jim Meyering  <meyering@lucent.com>
81786
81787         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
81788         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
81789
81790 2000-02-08  Akim Demaille  <akim@epita.fr>
81791
81792         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
81793         `[' and `]' and remove uses of `changequote'.
81794         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
81795         (AC_SYS_LARGEFILE): Likewise.
81796         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
81797         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
81798         of changequote.
81799         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
81800         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
81801         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
81802         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
81803
81804 2000-02-05  Jim Meyering  <meyering@lucent.com>
81805
81806         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
81807         Remove explicit use of AC_HEADER_TIME.  It is required by
81808         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
81809         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
81810         in autoconf whereby the expansion of the latter ended up preceding
81811         the expansion of its prerequisite, AC_HEADER_TIME.
81812         Reported by Volker Borchert.
81813
81814 2000-02-03  Jim Meyering  <meyering@lucent.com>
81815
81816         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
81817
81818 2000-02-03  Jim Meyering  <meyering@lucent.com>
81819
81820         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
81821         rather than with `#if HAVE_UTMPNAME'.
81822
81823 2000-02-02  Jim Meyering  <meyering@lucent.com>
81824
81825         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
81826         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
81827         Reported by Eli Zaretskii.
81828
81829 2000-02-01  Jim Meyering  <meyering@lucent.com>
81830
81831         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
81832
81833 2000-01-31  Jim Meyering  <meyering@lucent.com>
81834
81835         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
81836         functions.  Add the time.h and sys/time.h headers along with the
81837         AC_REQUIRE'ment of AC_HEADER_TIME.
81838
81839 2000-01-31  Jim Meyering  <meyering@lucent.com>
81840
81841         * lib/nanosleep.h (nanosleep): Guard declaration with
81842         `#if ! HAVE_DECL_NANOSLEEP'.
81843         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
81844         the declaration in that vendor's sys/timers.h.
81845         Reported by Christian Krackowizer.
81846
81847         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
81848         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
81849         (ISPRINT): Likewise.
81850         Reported by Tom Tromey.
81851
81852 2000-01-30  Jim Meyering  <meyering@lucent.com>
81853
81854         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
81855
81856         * m4/prereq.m4 (utmp_includes): Define.
81857         Check for ut_user and ut_name members in both struct utmpx
81858         and struct utmp.
81859
81860 2000-01-30  Jim Meyering  <meyering@lucent.com>
81861
81862         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
81863         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
81864         header files where only utmpx.ut_user is declared.
81865
81866         * lib/readutmp.h (UT_USER): Define.
81867
81868 2000-01-29  Jim Meyering  <meyering@lucent.com>
81869
81870         * m4/lib-check.m4: New file containing library-related checks from
81871         fileutils and sh-utils (textutils had none).
81872
81873 2000-01-28  Jim Meyering  <meyering@lucent.com>
81874
81875         * m4/perl.m4: Change format of warning message to look more like that
81876         from the missing script.  Suggestion from François Pinard.
81877
81878 2000-01-25  Jim Meyering  <meyering@lucent.com>
81879
81880         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
81881         well as time.h in the compile check.
81882         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
81883         Fix typo in cross-compiling case: s/yes/no/.
81884
81885 2000-01-23  Jim Meyering  <meyering@lucent.com>
81886
81887         * m4/jm-macros.m4: Move df-related tests here from
81888         fileutils/configure.in
81889
81890         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
81891         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
81892
81893         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
81894         s/space/ac_fsusage_space/.
81895         (jm_FILE_SYSTEM_USAGE): Take two parameters.
81896
81897         * m4/ftruncate.m4: New file (derived from part of
81898         fileutils/configure.in).
81899         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
81900         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
81901
81902         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
81903         AC_SUBST these here, rather than just in sh-util/configure.in, so
81904         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
81905         all the same.
81906         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
81907         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
81908         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
81909         (AC_SUBST(POW_LIBM)): Likewise.
81910         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
81911
81912 2000-01-23  Jim Meyering  <meyering@lucent.com>
81913
81914         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
81915         obstack.c.
81916
81917 2000-01-22  Jim Meyering  <meyering@lucent.com>
81918
81919         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
81920
81921         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
81922
81923         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
81924         configure.in
81925         (AC_CHECK_HEADERS): Likewise for sh-utils.
81926         (AC_CHECK_HEADERS): Likewise for textutils.
81927         Merge the three lists of headers.
81928
81929         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
81930         from fileutils' configure.in.
81931
81932         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
81933         code. Moved tests into their own function (_jm_DECL_HEADERS) in
81934         check-decl.m4.
81935
81936         * m4/check-decl.m4: Use #if rather than #ifdef.
81937         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
81938         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
81939         (_jm_DECL_HEADERS): Define new function.
81940         (jm_CHECK_DECLARATIONS): Require it.
81941
81942 2000-01-22  Jim Meyering  <meyering@lucent.com>
81943
81944         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
81945         [! HAVE_DECL_STRTOULL]: Declare strtoull.
81946         Required for some AIX systems.  Reported by Christian Krackowizer.
81947         [TESTING] (main): New function.
81948
81949         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
81950         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
81951         letters.
81952
81953         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
81954         iswprint.
81955
81956         * lib/strverscmp.c (ISDIGIT): Define.
81957         (strverscmp): Use ISDIGIT, not isdigit.
81958
81959 2000-01-19  Jim Meyering  <meyering@lucent.com>
81960
81961         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
81962         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
81963         defines `struct timespec' in <sys/time.h>
81964
81965         * m4/c-bs-a.m4: Remove uses of changequote altogether.
81966         Thanks to Akim for explaining.
81967
81968 2000-01-17  Paul Eggert  <eggert@twinsun.com>
81969
81970         * lib/nanosleep.c (nanosleep):
81971         Don't use SA_INTERRUPT to decide whether to call sigaction, as
81972         POSIX.1 doesn't require SA_INTERRUPT and some systems
81973         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
81974         it's been part of POSIX.1 since day 1 (in 1988).
81975
81976 2000-01-17  Jim Meyering  <meyering@lucent.com>
81977
81978         * lib/interlock: Remove unused file.  Reported by François Pinard.
81979
81980 2000-01-16  Paul Eggert  <eggert@twinsun.com>
81981
81982         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
81983         alert, backslash, formfeed, and vertical tab unnecessarily in
81984         shell quoting style.
81985
81986 2000-01-16  Jim Meyering  <meyering@lucent.com>
81987
81988         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
81989         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
81990         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
81991         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
81992
81993 2000-01-16  Jim Meyering  <meyering@lucent.com>
81994
81995         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
81996         because the latter didn't work.
81997
81998 2000-01-15  Jim Meyering  <meyering@lucent.com>
81999
82000         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
82001         (AC_REPLACE_FUNCS): Add memcpy and memset.
82002         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
82003         Add strpbrk.
82004         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
82005
82006 2000-01-12  Jim Meyering  <meyering@lucent.com>
82007
82008         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
82009         (jm_PREREQ): Use it.
82010         (jm_PREREQ_READUTMP): New macro.
82011         (jm_PREREQ): Use it.
82012
82013 2000-01-11  Paul Eggert  <eggert@twinsun.com>
82014
82015         Quote multibyte characters correctly.
82016         * m4/c-bs-a.m4: New file.
82017         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
82018         (jm_PREREQ): Use it.
82019
82020 2000-01-11  Paul Eggert  <eggert@twinsun.com>
82021
82022         * m4/uintmax_t.m4: Port to autoconf 2.13.
82023
82024 2000-01-08  Jim Meyering  <meyering@ascend.com>
82025
82026         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
82027         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
82028
82029 2000-01-04  Jim Meyering  <meyering@ascend.com>
82030
82031         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
82032         jm_STRUCT_DIRENT_D_TYPE.
82033         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
82034         jm_STRUCT_DIRENT_D_INO.
82035         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
82036         jm_STRUCT_UTIMBUF.
82037         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
82038         renamings.
82039         * m4/utime.m4: Likewise.
82040
82041         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
82042         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
82043
82044 2000-01-03  Paul Eggert  <eggert@twinsun.com>
82045
82046         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
82047         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
82048
82049 2000-01-02  Jim Meyering  <meyering@ascend.com>
82050
82051         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
82052         remember if this is necessary.
82053
82054 1999-12-26  Jim Meyering  <meyering@ascend.com>
82055
82056         * m4/jm-macros.m4: Use it here.
82057         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
82058
82059 1999-12-23  Jim Meyering  <meyering@ascend.com>
82060
82061         * m4/jm-macros.m4: Check for clock_gettime (moved from
82062         fileutils/configure.in)
82063         Check for gettimeofday.
82064
82065 1999-12-20  Jim Meyering  <meyering@ascend.com>
82066
82067         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
82068         autoconf-2.14a-1999-12-20.
82069
82070 1999-12-19  Jim Meyering  <meyering@ascend.com>
82071
82072         * m4/lstat-slash.m4: New file.
82073         * m4/jm-macros.m4: Use the new macro:
82074         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
82075
82076 1999-12-07  Jim Meyering  <meyering@ascend.com>
82077
82078         * m4/perl.m4: Require that File::Compare be available, too.
82079         Too many systems seem to lack it.
82080
82081         * m4/strftime.m4: Add checks for most of the cpp macros tested in
82082         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
82083
82084 1999-11-18  Paul Eggert  <eggert@twinsun.com>
82085
82086         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
82087         problem with the QNX 4.25 shell, which doesn't propagate exit
82088         status of failed commands inside shell assignments.
82089
82090 1999-11-17  Jim Meyering  <meyering@ascend.com>
82091
82092         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
82093
82094 1999-11-07  Jim Meyering  <meyering@ascend.com>
82095
82096         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
82097
82098 1999-11-06  Jim Meyering  <meyering@ascend.com>
82099
82100         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
82101         * m4/jm-macros.m4 (jm_MACROS): Use it here.
82102
82103 1999-11-05  Jim Meyering  <meyering@ascend.com>
82104
82105         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
82106         configure.in of textutils, fileutils, and sh-utils into this one
82107         (shared between those packages) file.
82108         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
82109         AC_STRUCT_ST_BLKSIZE.
82110
82111 1999-11-03  Jim Meyering  <meyering@ascend.com>
82112
82113         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
82114         of AC_CHECK_TYPE checks includes unistd.h.
82115         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
82116         Suggestion from Akim Demaille.
82117
82118 1999-10-30  Jim Meyering  <meyering@ascend.com>
82119
82120         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
82121         m4-quoted string.
82122         * m4/ls-mntd-fs.m4: Likewise.
82123         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
82124         * m4/jm-winsz1.m4: Likewise.
82125
82126         * m4/const.m4: Remove file, since the fix made it into the experimental
82127         version of autoconf.
82128         * m4/mktime.m4: Likewise.
82129
82130         * m4/check-type.m4: Remove file, now that the latest version of
82131         AC_CHECK_TYPE takes a third arg to specify additional #includes.
82132
82133         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
82134         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
82135         AC_CHECK_TYPE.
82136
82137 1999-10-04  Jim Meyering  <meyering@ascend.com>
82138
82139         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
82140
82141 1999-09-22  Paul Eggert  <eggert@twinsun.com>
82142
82143         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
82144         2.95.1 bug with HP-UX 10.20.
82145
82146 1999-09-17  Jim Meyering  <meyering@ascend.com>
82147
82148         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
82149         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
82150         due to missing strdup (against sh-utils-2.0).
82151
82152 1999-08-29  Jim Meyering  <meyering@ascend.com>
82153
82154         * m4/jm-macros.m4: Require jm_BISON.
82155         * m4/bison.m4: New file.
82156
82157 1999-08-17  Paul Eggert  <eggert@twinsun.com>
82158
82159         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
82160         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
82161
82162 1999-08-05  Jim Meyering  <meyering@ascend.com>
82163
82164         * m4/getline.m4: Rename test file from conftestdata to conftest.data
82165         to avoid conflicts with `conftest' on 8+3 filesystems.
82166         Suggestion from Eli Zaretskii.
82167
82168 1999-08-04  Jim Meyering  <meyering@ascend.com>
82169
82170         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
82171         fileutils and sh-utils (textutils's getline test was inadequate).
82172         (AM_FUNC_GETLINE): Run this test.
82173         (AC_CHECK_FUNCS): Check for getdelim.
82174         Reported by Bob Proulx.
82175
82176 1999-08-02  Jim Meyering  <meyering@ascend.com>
82177
82178         * m4/jm-macros.m4: Add a comment.
82179
82180 1999-08-01  Paul Eggert  <eggert@twinsun.com>
82181
82182         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
82183         <inttypes.h> defines strtoumax as a macro (and not as a
82184         function).
82185
82186 1999-08-01  Paul Eggert  <eggert@twinsun.com>
82187
82188         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
82189         that we can shift, multiply and divide unsigned long long
82190         values; Ultrix cc can't do it.
82191
82192 1999-08-01  Paul Eggert  <eggert@twinsun.com>
82193
82194         * m4/mktime.m4: New file, which is a preview of what should appear
82195         in the next public autoconf release.
82196
82197 1999-08-01  Paul Eggert  <eggert@twinsun.com>
82198
82199         * m4/lfs.m4: Remove this file.
82200         * m4/largefile.m4: New file.  It contains the old contents of
82201         lfs.m4, except that all names with prefix AC_LFS have been
82202         changed to use the prefix AC_SYS_LARGEFILE instead, to be
82203         compatible with future autoconf versions.  Also, some minor m4
82204         quoting problems have been fixed.
82205
82206 1999-08-01  Paul Eggert  <eggert@twinsun.com>
82207
82208         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
82209         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
82210         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
82211         and simplify the shell code.
82212
82213 1999-08-01  Jim Meyering  <meyering@ascend.com>
82214
82215         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
82216         m4.
82217
82218 1999-07-20  Jim Meyering  <meyering@ascend.com>
82219
82220         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
82221
82222 1999-07-15  Jim Meyering  <meyering@ascend.com>
82223
82224         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
82225
82226 1999-05-22  Jim Meyering  <meyering@ascend.com>
82227
82228         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
82229
82230 1999-05-20  Jim Meyering  <meyering@ascend.com>
82231
82232         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
82233         Add a colon after each `then' in case $4 is empty.
82234
82235 1999-05-16  Jim Meyering  <meyering@ascend.com>
82236
82237         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
82238
82239 1999-05-10  Jim Meyering  <meyering@ascend.com>
82240
82241         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
82242
82243         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
82244         AC_FUNC_MKTIME.
82245
82246 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
82247
82248         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
82249
82250 1999-05-04  Paul Eggert  <eggert@twinsun.com>
82251
82252         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
82253         not CPPFLAGS, so that linking works correctly in IRIX.
82254
82255 1999-04-30  Paul Eggert  <eggert@twinsun.com>
82256
82257         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
82258
82259 1999-04-20  Paul Eggert  <eggert@twinsun.com>
82260
82261         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
82262         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
82263         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
82264         jm_AC_TYPE_UNSIGNED_LONG_LONG.
82265         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
82266
82267         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
82268
82269 1999-04-20  Jim Meyering  <meyering@ascend.com>
82270
82271         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
82272         AC_REPLACE xstroull if necessary.  From Paul Eggert.
82273         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
82274
82275 1999-04-18  Jim Meyering  <meyering@ascend.com>
82276
82277         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
82278         * m4/jm-macros.m4: Use it.
82279
82280 1999-04-06  Jim Meyering  <meyering@ascend.com>
82281
82282         * m4/strftime.m4: Remove test for %f.
82283
82284 1999-03-29  Jim Meyering  <meyering@ascend.com>
82285
82286         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
82287         superset of the AC_TYPE_* checks in the textutils, fileutils,
82288         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
82289         AC_TYPE_PID_T.
82290
82291 1999-03-28  Jim Meyering  <meyering@ascend.com>
82292
82293         * m4/jm-macros.m4: Define GNU_PACKAGE here.
82294         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
82295         replaced e.g., in the *.sh files of the sh-utils.
82296
82297 1999-03-20  Jim Meyering  <meyering@ascend.com>
82298
82299         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
82300         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
82301         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
82302
82303 1999-03-19  Jim Meyering  <meyering@ascend.com>
82304
82305         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
82306
82307 1999-03-12  Jim Meyering  <meyering@ascend.com>
82308
82309         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
82310
82311 1999-03-07  Jim Meyering  <meyering@ascend.com>
82312
82313         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
82314         declared.
82315
82316 1999-02-17  Jim Meyering  <meyering@ascend.com>
82317
82318         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
82319         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
82320
82321 1999-02-07  Jim Meyering  <meyering@ascend.com>
82322
82323         * m4/group-member.m4: New file -- extracted from sh-utils'
82324         configure.in.
82325
82326         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
82327         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
82328
82329 1999-02-06  Jim Meyering  <meyering@ascend.com>
82330
82331         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
82332         * m4/fnmatch.m4: Likewise.
82333         * m4/getgroups.m4: Likewise.
82334         * m4/lstat.m4: Likewise.
82335         * m4/malloc.m4: Likewise.
82336         * m4/putenv.m4: Likewise.
82337         * m4/realloc.m4: Likewise.
82338         * m4/regex.m4: Likewise.
82339         * m4/stat.m4: Likewise.
82340         * m4/strftime.m4: Likewise.
82341         Suggestion from Alain Magloire.
82342
82343         * m4/chown.m4: Use `.$ac_objext', not `.o'.
82344         * m4/fnmatch.m4: Likewise.
82345         * m4/getgroups.m4: Likewise.
82346         * m4/getline.m4: Likewise.
82347         * m4/lstat.m4: Likewise.
82348         * m4/malloc.m4: Likewise.
82349         * m4/memcmp.m4: Likewise.
82350         * m4/putenv.m4: Likewise.
82351         * m4/realloc.m4: Likewise.
82352         * m4/regex.m4: Likewise.
82353         * m4/stat.m4: Likewise.
82354         * m4/strftime.m4: Likewise.
82355         Suggestion from Alain Magloire.
82356
82357         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
82358         an argument.
82359
82360         * m4/regex.m4: Add a run-time Test for proper operation of
82361         re_compile_pattern.
82362
82363 1999-01-31  Jim Meyering  <meyering@ascend.com>
82364
82365         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
82366
82367 1999-01-30  Jim Meyering  <meyering@ascend.com>
82368
82369         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
82370
82371         * m4/jm-mktime.m4: Make this a wrapper around the official
82372         AM_FUNC_MKTIME rather than my private copy, now that the official one
82373         is up to date.
82374         * m4/mktime.m4: Remove file.
82375
82376         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
82377         * m4/uptime.m4: Likewise.
82378         * m4/uintmax_t.m4: Likewise.
82379
82380 1999-01-28  Jim Meyering  <meyering@ascend.com>
82381
82382         * m4/jm-macros.m4: Use jm_AFS.
82383         * m4/afs.m4: New file (from fileutils' configure.in).
82384
82385         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
82386         * m4/chown.m4: Likewise.
82387         * m4/d-ino.m4: Likewise.
82388         * m4/d-type.m4: Likewise.
82389         * m4/fnmatch.m4: Likewise.
82390         * m4/getgroups.m4: Likewise.
82391         * m4/gettext.m4: Likewise.
82392         * m4/jm-mktime.m4: Likewise.
82393         * m4/jm-winsz2.m4: Likewise.
82394         * m4/lcmessage.m4: Likewise.
82395         * m4/ls-mntd-fs.m4: Likewise.
82396         * m4/malloc.m4: Likewise.
82397         * m4/memcmp.m4: Likewise.
82398         * m4/putenv.m4: Likewise.
82399         * m4/realloc.m4: Likewise.
82400         * m4/st_mtim.m4: Likewise.
82401         * m4/strftime.m4: Likewise.
82402
82403 1999-01-16  Jim Meyering  <meyering@ascend.com>
82404
82405         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
82406         (ARGMATCH_DIE_DECL): Define.
82407
82408 1999-01-12  Jim Meyering  <meyering@ascend.com>
82409
82410         * m4/Makefile.am.in: Rewrite to avoid using fmt.
82411         Reported by Lars Hecking.
82412
82413 1999-01-10  Jim Meyering  <meyering@ascend.com>
82414
82415         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
82416         gross kludge.
82417         * m4/inttypes_h.m4: Likewise.
82418         * m4/lstat.m4: Likewise.
82419         * m4/malloc.m4: Likewise.
82420         * m4/readdir.m4: Likewise.
82421         * m4/realloc.m4: Likewise.
82422         * m4/st_dm_mode.m4: Likewise.
82423         * m4/stat.m4: Likewise.
82424         * m4/utimbuf.m4: Likewise.
82425         * m4/utimes.m4: Likewise.
82426
82427         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
82428         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
82429         comments in config.h.in are meaningful.
82430
82431         * m4/jm-macros.m4: Require autoconf-2.13 here.
82432
82433         * m4/regex.m4: By default, don't use the included regex.c on systems
82434         with glibc 2.  Suggestion from Uli Drepper.
82435
82436 1999-01-02  Jim Meyering  <meyering@ascend.com>
82437
82438         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
82439
82440 1998-12-18  Jim Meyering  <meyering@ascend.com>
82441
82442         * m4/Makefile.am.in (Makefile.am): Simplify rule.
82443         Based on a suggestion from Lars Hecking.
82444
82445 1998-11-16  Paul Eggert  <eggert@twinsun.com>
82446
82447         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
82448
82449 1998-11-16  Jim Meyering  <meyering@ascend.com>
82450
82451         * m4/lfs.m4: Double-quote the `uname...` expression.
82452
82453 1998-11-14  Jim Meyering  <meyering@ascend.com>
82454
82455         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
82456         * m4/stat.m4: Likewise.
82457
82458 1998-11-03  Jim Meyering  <meyering@ascend.com>
82459
82460         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
82461         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
82462
82463 1998-10-18  Jim Meyering  <meyering@ascend.com>
82464
82465         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
82466
82467 1998-10-17  Jim Meyering  <meyering@ascend.com>
82468
82469         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
82470         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
82471         calls for those previously hard-coded headers.  Instead, take a new
82472         parameter.
82473         (jm_CHECK_DECLARATIONS): Reflect interface change.
82474         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
82475         (jm_CHECK_DECL_LOCALTIME_R): New macro.
82476
82477         * m4/mktime.m4: Test for spring-forward gap before long-running test.
82478
82479 1998-10-14  Jim Meyering  <meyering@ascend.com>
82480
82481         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
82482         instead of "TZ=America/Vancouver".  From Paul Eggert.
82483
82484 1998-10-11  Jim Meyering  <meyering@ascend.com>
82485
82486         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
82487         This adds a test for a recently added compatibility fix for mktime.c.
82488         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
82489
82490 1998-09-27  Jim Meyering  <meyering@ascend.com>
82491
82492         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
82493
82494         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
82495         ../configure.in, including a change from Gordon Matzigkeit to allow
82496         cross-compiling for the Hurd.
82497
82498         * m4/glibc.m4: New file/macro to test for the GNU C Library
82499         versions 1 and 2.  From Gordon Matzigkeit.
82500         Indent.
82501
82502 1998-09-21  Jim Meyering  <meyering@ascend.com>
82503
82504         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
82505
82506 1998-08-18  Paul Eggert  <eggert@twinsun.com>
82507
82508         Port nanosecond-resolution times to UnixWare 2.1.2 and
82509         pedantic Solaris 2.6.
82510
82511         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
82512         AC_STRUCT_ST_MTIM.
82513         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
82514         Generate name of ns member, instead of just 1 or undef.
82515         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
82516
82517 1998-08-15  Jim Meyering  <meyering@ascend.com>
82518
82519         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
82520         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
82521         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
82522         instead of jm_TYPE_SSIZE_T.
82523
82524 1998-08-12  Jim Meyering  <meyering@ascend.com>
82525
82526         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
82527
82528 1998-08-02  Jim Meyering  <meyering@ascend.com>
82529
82530         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
82531         in acconfig.h manually.
82532
82533 1998-07-31  Paul Eggert  <eggert@twinsun.com>
82534
82535         * m4/st_mtim.m4: New file.
82536
82537 1998-07-28  Jim Meyering  <meyering@ascend.com>
82538
82539         * m4/utimes.m4: Undef stat.
82540
82541 1998-07-25  Jim Meyering  <meyering@ascend.com>
82542
82543         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
82544         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
82545
82546 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
82547
82548         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
82549         uid and gid actually remain unchanged.
82550
82551 1998-07-07  Jim Meyering  <meyering@ascend.com>
82552
82553         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
82554
82555 1998-07-04  Jim Meyering  <meyering@ascend.com>
82556
82557         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
82558         to prove that this macro can be used in packages without regex.c.
82559
82560 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
82561
82562         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
82563         is to be used.
82564
82565 1998-07-03  Jim Meyering  <meyering@ascend.com>
82566
82567         * m4/gettext.m4: Add -lintl if it's found to be necessary.
82568
82569         * m4/gettext.m4: New file -- from gettext-0.10.35.
82570         * m4/lcmessage.m4: Likewise.
82571         * m4/progtest.m4: Likewise.
82572
82573         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
82574         * m4/jm-macros.m4: Require the new macro.
82575
82576 1998-06-29  Jim Meyering  <meyering@ascend.com>
82577
82578         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
82579         for the definition of NGROUPS (used in a system header included
82580         by sys/mount.h).
82581
82582 1998-06-28  Jim Meyering  <meyering@ascend.com>
82583
82584         * m4/ls-mntd-fs.m4: New file.
82585         * m4/fstypename.m4: New file.
82586
82587         * m4/jm-macros.m4: Require the new macro.
82588         * m4/jm-glibc-io.m4: New file.
82589
82590 1998-05-19  Jim Meyering  <meyering@ascend.com>
82591
82592         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
82593         * m4/lchown.m4: New file.
82594
82595         * m4/Makefile.am.in: New file.
82596         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
82597
82598 1998-05-14  Jim Meyering  <meyering@ascend.com>
82599
82600         * m4/Makefile.am (EXTRA_DIST): Add them.
82601         * m4/jm-macros.m4: New file.
82602         * m4/utimbuf.m4: New file.
82603
82604 1998-05-12  Jim Meyering  <meyering@ascend.com>
82605
82606         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
82607
82608 1998-05-11  Jim Meyering  <meyering@ascend.com>
82609
82610         * m4/isc-posix.m4: New file.
82611
82612 1998-05-10  Jim Meyering  <meyering@ascend.com>
82613
82614         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
82615
82616 1998-05-09  Jim Meyering  <meyering@ascend.com>
82617
82618         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
82619         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
82620         with automake.
82621
82622         * m4/ssize_t.m4: New file.
82623         * m4/mktime.m4: Remove file -- the new automake has this now.
82624
82625 1998-04-26  Jim Meyering  <meyering@ascend.com>
82626
82627         * m4/assert.m4: New file.
82628         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
82629
82630 1998-04-05  Jim Meyering  <meyering@ascend.com>
82631
82632         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
82633         (jm_PREREQ): Use it here.
82634
82635 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
82636
82637         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
82638         in acconfig.h.
82639
82640 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
82641
82642         * m4/prereq.m4: New file.
82643         * m4/error.m4: New file.
82644         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
82645
82646 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
82647
82648         * m4/getline.m4: Don't set am_cv_func_working_getline before the
82649         cache-check for the same variable -- that defeated the purpose of
82650         the test; the test program was never run.  This was a problem only
82651         on systems with losing getline functions -- HP-UX 10.20 is one.
82652         Reported by Bjorn Helgaas.
82653
82654 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
82655
82656         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
82657
82658 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
82659
82660         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
82661
82662         * m4/const.m4: New file.  Use an initializer in this declaration
82663         typedef int charset[2]; const charset x;
82664         Reported by Bob Glickstein.
82665
82666 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
82667
82668         * m4/chown.m4: Fix reversed types on -1 args to chown.
82669         From Kaveh Ghazi.
82670
82671 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
82672
82673         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
82674         Add lseek and memchr.
82675
82676         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
82677         T.E.Dickey <dickey@clark.net> said that some older preprocessors
82678         have a 20-character limit on names.
82679
82680 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
82681
82682         * m4/inttypes_h.m4: New file.
82683         * m4/uintmax_t.m4: New file.
82684         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
82685
82686
82687         -----
82688
82689         Local Variables:
82690         coding: utf-8
82691         End:
82692
82693         Copyright (C) 1997-2011 Free Software Foundation, Inc.
82694
82695         Copying and distribution of this file, with or without
82696         modification, are permitted provided the copyright notice
82697         and this notice are preserved.